ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.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, 2 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 .section .text.UART_EndRxTransfer,"ax",%progbits 20 .align 1 21 .p2align 2,,3 22 .syntax unified 23 .thumb 24 .thumb_func 26 UART_EndRxTransfer: 27 .LVL0: 28 .LFB180: 29 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c" 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: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 2 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). 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 3 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 **** 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 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 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 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 4 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. 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 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_EndRxTransfer(UART_HandleTypeDef *huart); 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTxTransfer(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); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 5 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); 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 6 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, 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); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 7 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 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 **** /* Perform advanced settings configuration */ 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */ 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared: 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/ 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart) 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL) 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 8 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check UART instance */ 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance)); 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */ 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart); 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart); 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */ 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */ 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared: 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 9 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length. 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values: 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength) 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL) 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the LIN UART instance */ 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength)); 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */ 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */ 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B) 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */ 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart); 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart); 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 10 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */ 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 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 **** /* Set the UART Communication parameters */ 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared: 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN); 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN); 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the USART LIN Break detection length. */ 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength); 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long). 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method. 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values: 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * is useless and ignored by the initialization function. 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_MultiProcessor_Init(). 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL) 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 11 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the wake up method parameter */ 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod)); 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware */ 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback(huart); 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspInit(huart); 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Perform advanced settings configuration */ 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART Communication parameters */ 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared: 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */ 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK) 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */ 596: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) 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 12 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod); 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DeInitialize the UART peripheral. 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart == NULL) 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR1 = 0x0U; 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL) 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DeInit the low level hardware */ 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback(huart); 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DeInit the low level hardware */ 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_MspDeInit(huart); 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 13 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the UART MSP. 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart) 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DeInitialize the UART MSP. 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart) 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Register a User UART Callback 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * To be used to override the weak predefined callback 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note The HAL_UART_RegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_In 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart uart handle 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values: 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pCallback pointer to the Callback function 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pUART_CallbackTypeDef pCallback) 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 14 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pCallback == NULL) 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID) 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = 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_TX_COMPLETE_CB_ID : 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = 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_RX_HALFCOMPLETE_CB_ID : 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = 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_RX_COMPLETE_CB_ID : 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = 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_ERROR_CB_ID : 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = 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_COMPLETE_CB_ID : 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = 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_ABORT_TRANSMIT_COMPLETE_CB_ID : 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = 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 **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback; 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = pCallback; 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = pCallback; 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 15 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default : 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET) 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID) 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = pCallback; 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default : 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 **** break; 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status; 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Unregister an UART Callback 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note The HAL_UART_UnRegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_ 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart uart handle 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This parameter can be one of the following values: 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 16 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState) 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID) 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa 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_TX_COMPLETE_CB_ID : 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl 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_RX_HALFCOMPLETE_CB_ID : 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal 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_RX_COMPLETE_CB_ID : 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl 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_ERROR_CB_ID : 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** AbortTransmitCplt 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** AbortReceiveCpltC 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_WAKEUP_CB_ID : 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu 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 **** case HAL_UART_MSPINIT_CB_ID : 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default : 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 17 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState) 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (CallbackID) 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default : 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 **** break; 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status; 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * To be used instead of the weak predefined callback 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Uart handle 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pCallback == NULL) 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = pCallback; 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 18 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status; 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Uart handle 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart) 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */ 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** status = HAL_ERROR; 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return status; 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 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 **** * @} 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 **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Transmit/Receive functions 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### IO operation functions ##### 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** and Half duplex data transfers. 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) There are two mode of transfer: 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode. 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL status of all data processing is returned by the same function 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** after finishing transfer. 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** or DMA, These API's return the HAL status. 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The end of the data processing will be indicated through the 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 19 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** using DMA mode. 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Blocking mode API's are : 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit() 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive() 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are : 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit_IT() 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive_IT() 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_IRQHandler() 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are : 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA() 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Receive_DMA() 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAPause() 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAResume() 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DMAStop() 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback() 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback() 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback() 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback() 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_ErrorCallback() 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's : 1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Abort() 1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmit() 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceive() 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_Abort_IT() 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT() 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT() 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1035: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 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback() 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback() 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback() 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** reception services: 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback() 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Errors are handled as follows : 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in Interrupt mode reception . 1049: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 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed. 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Transfer is kept ongoing on UART side. 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user. 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 20 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** user callback is executed. 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit 1059: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. 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in blocking mode. 1067: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- 1068: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 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData. 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration. 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint8_t *pdata8bits; 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint16_t *pdata16bits; 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */ 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick(); 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1099: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 */ 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = NULL; 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = pData; 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = NULL; 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while (huart->TxXferCount > 0U) 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 21 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pdata8bits == NULL) 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU); 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU); 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode. 1153: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- 1154: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 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData. 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration. 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint8_t *pdata8bits; 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *pdata16bits; 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask; 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 22 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */ 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick(); 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1191: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 */ 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = NULL; 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits = pData; 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = NULL; 1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* as long as data have to be received */ 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while (huart->RxXferCount > 0U) 1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pdata8bits == NULL) 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask); 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask); 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 23 1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode. 1238: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- 1239: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 1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData. 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1246: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 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */ 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT; 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT; 1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */ 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 24 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode. 1287: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- 1288: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 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData. 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size)); 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Send an amount of data in DMA mode. 1325: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- 1326: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 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 provided through pData. 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1333: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 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 25 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA error callback */ 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError; 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA abort callback */ 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART transmit DMA channel */ 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance-> 1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to ready */ 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the TC flag in the ICR register */ 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */ 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the parity bit (MSB position). 1395: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- 1396: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 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * of u16 available through pData. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 26 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size)); 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Pause the DMA Transfer. 1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart) 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request */ 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 27 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 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 **** /** 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Resume the DMA Transfer. 1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart) 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART DMA Tx request */ 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */ 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART DMA Rx request */ 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 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 **** /** 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Stop the DMA Transfer. 1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart) 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback() 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback: 1502: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 1503: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 1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the stream and the corresponding call back is executed. */ 1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 28 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel */ 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart); 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 **** /* Stop UART DMA Rx request if ongoing */ 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 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 **** return HAL_OK; 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 **** /** 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode). 1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 29 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart) 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1575: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 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(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 **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 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 **** /* Abort the UART DMA Rx channel if enabled */ 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(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 **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 30 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 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 **** /* Reset Tx and Rx transfer counters */ 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1641: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); 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode). 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart) 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(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 **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 31 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 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 **** /* Reset Tx transfer counter */ 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode). 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart) 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 32 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 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 **** /* Reset Rx transfer counter */ 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1764: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); 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode). 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1783: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) 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart) 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t abortcplt = 1U; 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */ 1795: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 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 33 1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1804: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 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** before any call to DMA Abort functions */ 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Tx Handle is valid */ 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, set it to NULL */ 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Rx Handle is valid */ 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Otherwise, set it to NULL */ 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable DMA Tx at UART level */ 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(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 **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised : 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA TX */ 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 34 1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 0U; 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(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 **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised : 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */ 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 1U; 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 0U; 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback * 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (abortcplt == 1U) 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear ISR function pointers */ 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */ 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1899: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 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 35 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */ 1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart); 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 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 **** /** 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode). 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1930: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) 1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart) 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */ 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(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 **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback : 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback; 1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA TX */ 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */ 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx); 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */ 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TxISR function pointers */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 36 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Tx transfer counter */ 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TxISR function pointers */ 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 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 **** /** 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode). 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * This procedure performs following operations : 2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2015: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) 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - Set handle State to READY 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart) 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 37 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(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 **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback; 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */ 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */ 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */ 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2063: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 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 38 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset Rx transfer counter */ 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */ 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2091: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 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 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 **** /** 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Handle UART interrupt request. 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t errorflags; 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t errorcode; 2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If no error occurs */ 2125: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 | 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (errorflags == 0U) 2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/ 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U) 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxISR != NULL) 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR(huart); 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 39 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If some errors occur */ 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((errorflags != 0U) 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U) 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/ 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/ 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U) 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE; 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/ 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO; 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/ 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U) 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxISR != NULL) 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 40 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR(huart); 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Error is to be considered as blocking : 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - Receiver Timeout error in Reception 2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - Overrun error in Reception 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** - any error occurs in DMA mode reception 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** errorcode = huart->ErrorCode; 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(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 **** /* Abort the UART DMA Rx channel */ 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Abort DMA RX */ 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user error callback */ 2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/ 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart); 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/ 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user error callback */ 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/ 2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 41 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/ 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Error is notified to user through user error callback */ 2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/ 2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart); 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/ 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } /* End if some error occurs */ 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode : 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */ 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA mode enabled */ 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing, 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (DMA cplt callback will be called). 2291: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 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx); 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reception is not complete */ 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data; 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/ 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR) 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */ 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 42 2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */ 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx); 2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/ 2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA mode not enabled */ 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing. 2338: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 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount; 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_rx_data > 0U)) 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */ 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/ 2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data); 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 43 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data); 2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/ 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U)) 2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing. 2380: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 2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Wakeup Callback */ 2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback(huart); 2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */ 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart); 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/ 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE) != 0U) 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxISR != NULL) 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR(huart); 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/ 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTransmit_IT(huart); 2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 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 **** * @brief Tx Transfer completed callback. 2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 44 2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Tx Half Transfer completed callback. 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart) 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file. 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Rx Transfer completed callback. 2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file. 2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Rx Half Transfer completed callback. 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) 2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file. 2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART error callback. 2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) 2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 45 2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file. 2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Complete callback. 2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) 2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file. 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Complete callback. 2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart) 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file. 2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Abort Receive Complete callback. 2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart) 2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file. 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception 2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * reception buffer until which, data are available) 2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 46 2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(huart); 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(Size); 2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file. 2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 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 **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART control functions 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim 2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Peripheral Control functions ##### 2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** =============================================================================== 2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART. 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature 2565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature 2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode 2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode 2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features 2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization 2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter 2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver 2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim 2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register. 2581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module. 2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF. 2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue) 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 47 2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module. 2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart) 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Locked */ 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the USART RTOEN bit */ 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */ 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; 2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature. 2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module. 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart) 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Locked */ 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the USART RTOEN bit */ 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */ 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_BUSY; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 48 2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode; 2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called). 2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart) 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */ 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_MME); 2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * as it may not have been in mute mode at this very moment). 2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart) 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */ 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME); 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode). 2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called. 2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart) 2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver. 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 49 2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart) 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TE and RE bits */ 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2719: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 */ 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TE); 2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter. 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status. 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart) 2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear TE and RE bits */ 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2742: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 */ 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RE); 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Transmit break characters. 2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart) 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 50 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Send break characters */ 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST); 2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 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 **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions 2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief UART Peripheral State functions 2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @verbatim 2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ============================================================================== 2786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ##### Peripheral State and Error functions ##### 2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ============================================================================== 2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** [..] 2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** This subsection provides functions allowing to : 2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Return the UART handle state. 2791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (+) Return the UART handle error code 2792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** @endverbatim 2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @{ 2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Return the UART handle state. 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART. 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL state 2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart) 2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp1; 2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp2; 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp1 = huart->gState; 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp2 = huart->RxState; 2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2); 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Return the UART handle error code. 2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART. 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval UART Error Code 2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart) 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return huart->ErrorCode; 2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 51 2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @} 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 **** /** @defgroup UART_Private_Functions UART Private Functions 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 **** 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Initialize the callbacks to their default values. 2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval none 2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart) 2842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init the UART Callback settings */ 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC 2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb 2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb 2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba 2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm 2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv 2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall 2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 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 **** * @brief Configure the UART peripheral. 2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart) 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tmpreg; 2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t brrtemp; 2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t usartdiv; 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t pclk; 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate)); 2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity)); 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 52 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/ 2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure 2885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling: 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value 2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */ 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/ 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.StopBits value */ 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits); 2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/ 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Configure 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according 2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.HwFlowCtl value 2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according 2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */ 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl; 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling; 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/ 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource); 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (clocksource) 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default: 2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = 0U; 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR; 2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 53 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pclk != 0U) 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate)); 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U); 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR; 2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** switch (clocksource) 2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** default: 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pclk = 0U; 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR; 2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (pclk != 0U) 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate)); 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)usartdiv; 2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ret = HAL_ERROR; 2990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 54 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear ISR function pointers */ 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return ret; 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features. 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart) 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit)); 3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX/TX pins swap */ 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT)) 3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap)); 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure TX pin active level inversion */ 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT)) 3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert)); 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX pin active level inversion */ 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT)) 3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert)); 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure data inversion */ 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT)) 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert)); 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */ 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT)) 3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable)); 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */ 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT)) 3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError)); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 55 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */ 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT)) 3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance)); 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE) 3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode)); 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* if required, configure MSB first on communication line */ 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT)) 3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst)); 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Check the UART Idle State. 3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart) 3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize the UART ErrorCode */ 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Init tickstart for timeout management */ 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tickstart = HAL_GetTick(); 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if the Transmitter is enabled */ 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until TEACK flag is set */ 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXE interrupt for the interrupt process */ 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE)); 3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Timeout occurred */ 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 56 3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if the Receiver is enabled */ 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) 3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until REACK flag is set */ 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) 3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** interrupts for the interrupt process */ 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Timeout occurred */ 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize the UART State */ 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * until a flag is no longer in the specified status. 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Flag Specifies the UART flag to check 3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET) 3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Tickstart Tick start value 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Timeout Timeout duration 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout) 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until flag is set */ 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check for the Timeout */ 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY) 3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 57 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) && (Flag != UART_FLAG_TXE) && (Flag 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) == SET) 3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear Overrun Error flag*/ 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted 3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts if ongoing */ 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_ORE; 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */ 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET) 3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear Receiver Timeout flag*/ 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Blocking error : transfer is aborted 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** Disable Rx Interrupts if ongoing */ 3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Process Unlocked */ 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UNLOCK(huart); 3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_TIMEOUT; 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 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 **** /** 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode. 3209: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 3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Handle is assumed as Locked. 3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 58 3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */ 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT; 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT; 3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */ 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE); 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE); 3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Start Receive operation in DMA mode. 3258: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. 3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * UART Handle is assumed as Locked. 3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval HAL status 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 59 3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt; 3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA error callback */ 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError; 3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set the DMA abort callback */ 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA channel */ 3290: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 3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set error code to DMA */ 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to ready */ 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_ERROR; 3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */ 3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */ 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return HAL_OK; 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl 3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart) 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 60 3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart) 3340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 30 .loc 1 3340 1 view -0 31 .cfi_startproc 32 @ args = 0, pretend = 0, frame = 0 33 @ frame_needed = 0, uses_anonymous_args = 0 34 @ link register save eliminated. 35 .loc 1 3340 1 is_stmt 0 view .LVU1 36 0000 0268 ldr r2, [r0] 37 .L2: 3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 38 .loc 1 3342 3 is_stmt 1 discriminator 1 view .LVU2 39 .LBB458: 40 .loc 1 3342 3 discriminator 1 view .LVU3 41 .loc 1 3342 3 discriminator 1 view .LVU4 42 .loc 1 3342 3 discriminator 1 view .LVU5 43 .LVL1: 44 .LBB459: 45 .LBI459: 46 .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 **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 61 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */ 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0) 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 38:Drivers/CMSIS/Include/cmsis_gcc.h **** 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */ 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__)) 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used)) 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak)) 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1))) 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1))) 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */ 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; }; 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) 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; }; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 62 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))- 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x))) 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 116:Drivers/CMSIS/Include/cmsis_gcc.h **** 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 63 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 **** /** 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 **** */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 64 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 **** */ 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 **** */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 65 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 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; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 66 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 **** { 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 **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 67 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 **** 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)) || \ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 68 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 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 69 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) 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) ); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 70 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 **** } 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 **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 71 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 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))) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 72 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. 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 73 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 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(); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 74 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 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 **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 75 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 **** /** 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) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 76 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) 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 **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 77 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; 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 **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 78 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)) || \ 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 **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 79 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) 47 .loc 2 1068 31 discriminator 1 view .LVU6 48 .LBB460: 1069:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 49 .loc 2 1070 5 discriminator 1 view .LVU7 1071:Drivers/CMSIS/Include/cmsis_gcc.h **** 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 50 .loc 2 1072 4 discriminator 1 view .LVU8 51 .syntax unified 52 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 53 0002 52E8003F ldrex r3, [r2] 54 @ 0 "" 2 55 .LVL2: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 56 .loc 2 1073 4 discriminator 1 view .LVU9 57 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU10 58 .thumb 59 .syntax unified 60 .LBE460: 61 .LBE459: 62 .loc 1 3342 3 discriminator 1 view .LVU11 63 0006 23F49073 bic r3, r3, #288 64 .LVL3: 65 .loc 1 3342 3 is_stmt 1 discriminator 1 view .LVU12 66 .LBB461: 67 .LBI461: 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) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 80 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 **** 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) 68 .loc 2 1119 31 discriminator 1 view .LVU13 69 .LBB462: 1120:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 70 .loc 2 1121 4 discriminator 1 view .LVU14 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) ); 71 .loc 2 1123 4 discriminator 1 view .LVU15 72 .syntax unified 73 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 74 000a 42E80031 strex r1, r3, [r2] 75 @ 0 "" 2 76 .LVL4: 1124:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 77 .loc 2 1124 4 discriminator 1 view .LVU16 78 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU17 79 .thumb 80 .syntax unified 81 .LBE462: 82 .LBE461: 83 .loc 1 3342 3 discriminator 1 view .LVU18 84 000e 0029 cmp r1, #0 85 0010 F7D1 bne .L2 86 .LVL5: 87 .L3: 88 .loc 1 3342 3 discriminator 1 view .LVU19 89 .LBE458: 90 .loc 1 3342 3 is_stmt 1 discriminator 1 view .LVU20 3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 91 .loc 1 3343 3 discriminator 1 view .LVU21 92 .LBB463: 93 .loc 1 3343 3 discriminator 1 view .LVU22 94 .loc 1 3343 3 discriminator 1 view .LVU23 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 81 95 .loc 1 3343 3 discriminator 1 view .LVU24 96 .LBB464: 97 .LBI464: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 98 .loc 2 1068 31 discriminator 1 view .LVU25 99 .LBB465: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 100 .loc 2 1070 5 discriminator 1 view .LVU26 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 101 .loc 2 1072 4 discriminator 1 view .LVU27 102 0012 02F10803 add r3, r2, #8 103 .LVL6: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 104 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU28 105 .syntax unified 106 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 107 0016 53E8003F ldrex r3, [r3] 108 @ 0 "" 2 109 .LVL7: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 110 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU29 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 111 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU30 112 .thumb 113 .syntax unified 114 .LBE465: 115 .LBE464: 116 .loc 1 3343 3 discriminator 1 view .LVU31 117 001a 23F00103 bic r3, r3, #1 118 .LVL8: 119 .loc 1 3343 3 is_stmt 1 discriminator 1 view .LVU32 120 .LBB466: 121 .LBI466: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 122 .loc 2 1119 31 discriminator 1 view .LVU33 123 .LBB467: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 124 .loc 2 1121 4 discriminator 1 view .LVU34 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 125 .loc 2 1123 4 discriminator 1 view .LVU35 126 001e 02F1080C add ip, r2, #8 127 .LVL9: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 128 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU36 129 .syntax unified 130 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 131 0022 4CE80031 strex r1, r3, [ip] 132 @ 0 "" 2 133 .LVL10: 134 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU37 135 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU38 136 .thumb 137 .syntax unified 138 .LBE467: 139 .LBE466: 140 .loc 1 3343 3 discriminator 1 view .LVU39 141 0026 0029 cmp r1, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 82 142 0028 F3D1 bne .L3 143 .LBE463: 144 .loc 1 3343 3 is_stmt 1 discriminator 2 view .LVU40 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ 3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 145 .loc 1 3346 3 discriminator 2 view .LVU41 146 .loc 1 3346 12 is_stmt 0 discriminator 2 view .LVU42 147 002a 036E ldr r3, [r0, #96] 148 .LVL11: 149 .loc 1 3346 6 discriminator 2 view .LVU43 150 002c 012B cmp r3, #1 151 002e 06D0 beq .L5 152 .L4: 3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 153 .loc 1 3348 5 is_stmt 1 view .LVU44 3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 154 .loc 1 3352 3 view .LVU45 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 155 .loc 1 3353 24 is_stmt 0 view .LVU46 156 0030 0023 movs r3, #0 3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 157 .loc 1 3352 18 view .LVU47 158 0032 2022 movs r2, #32 159 0034 C0F88020 str r2, [r0, #128] 160 .loc 1 3353 3 is_stmt 1 view .LVU48 3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset RxIsr function pointer */ 3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 161 .loc 1 3356 16 is_stmt 0 view .LVU49 162 0038 8366 str r3, [r0, #104] 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 163 .loc 1 3353 24 view .LVU50 164 003a 0366 str r3, [r0, #96] 165 .loc 1 3356 3 is_stmt 1 view .LVU51 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 166 .loc 1 3357 1 is_stmt 0 view .LVU52 167 003c 7047 bx lr 168 .L5: 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 169 .loc 1 3348 5 is_stmt 1 discriminator 1 view .LVU53 170 .LBB468: 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 171 .loc 1 3348 5 discriminator 1 view .LVU54 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 172 .loc 1 3348 5 discriminator 1 view .LVU55 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 173 .loc 1 3348 5 discriminator 1 view .LVU56 174 .LVL12: 175 .LBB469: 176 .LBI469: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 177 .loc 2 1068 31 discriminator 1 view .LVU57 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 83 178 .LBB470: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 179 .loc 2 1070 5 discriminator 1 view .LVU58 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 180 .loc 2 1072 4 discriminator 1 view .LVU59 181 .syntax unified 182 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 183 003e 52E8003F ldrex r3, [r2] 184 @ 0 "" 2 185 .LVL13: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 186 .loc 2 1073 4 discriminator 1 view .LVU60 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 187 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU61 188 .thumb 189 .syntax unified 190 .LBE470: 191 .LBE469: 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 192 .loc 1 3348 5 discriminator 1 view .LVU62 193 0042 23F01003 bic r3, r3, #16 194 .LVL14: 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 195 .loc 1 3348 5 is_stmt 1 discriminator 1 view .LVU63 196 .LBB472: 197 .LBI472: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 198 .loc 2 1119 31 discriminator 1 view .LVU64 199 .LBB473: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 200 .loc 2 1121 4 discriminator 1 view .LVU65 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 201 .loc 2 1123 4 discriminator 1 view .LVU66 202 .syntax unified 203 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 204 0046 42E80031 strex r1, r3, [r2] 205 @ 0 "" 2 206 .LVL15: 207 .loc 2 1124 4 discriminator 1 view .LVU67 208 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU68 209 .thumb 210 .syntax unified 211 .LBE473: 212 .LBE472: 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 213 .loc 1 3348 5 discriminator 1 view .LVU69 214 004a 0029 cmp r1, #0 215 004c F0D0 beq .L4 216 .LBE468: 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 217 .loc 1 3348 5 is_stmt 1 view .LVU70 218 .LBB477: 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 219 .loc 1 3348 5 view .LVU71 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 220 .loc 1 3348 5 view .LVU72 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 84 221 .loc 1 3348 5 view .LVU73 222 .LVL16: 223 .LBB475: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 224 .loc 2 1068 31 view .LVU74 225 .LBB471: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 226 .loc 2 1070 5 view .LVU75 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 227 .loc 2 1072 4 view .LVU76 228 .syntax unified 229 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 230 004e 52E8003F ldrex r3, [r2] 231 @ 0 "" 2 232 .LVL17: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 233 .loc 2 1073 4 view .LVU77 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 234 .loc 2 1073 4 is_stmt 0 view .LVU78 235 .thumb 236 .syntax unified 237 .LBE471: 238 .LBE475: 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 239 .loc 1 3348 5 view .LVU79 240 0052 23F01003 bic r3, r3, #16 241 .LVL18: 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 242 .loc 1 3348 5 is_stmt 1 view .LVU80 243 .LBB476: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 244 .loc 2 1119 31 view .LVU81 245 .LBB474: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 246 .loc 2 1121 4 view .LVU82 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 247 .loc 2 1123 4 view .LVU83 248 .syntax unified 249 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 250 0056 42E80031 strex r1, r3, [r2] 251 @ 0 "" 2 252 .LVL19: 253 .loc 2 1124 4 view .LVU84 254 .loc 2 1124 4 is_stmt 0 view .LVU85 255 .thumb 256 .syntax unified 257 .LBE474: 258 .LBE476: 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 259 .loc 1 3348 5 view .LVU86 260 005a 0029 cmp r1, #0 261 005c EFD1 bne .L5 262 005e E7E7 b .L4 263 .LBE477: 264 .cfi_endproc 265 .LFE180: 267 .section .text.UART_TxISR_16BIT,"ax",%progbits ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 85 268 .align 1 269 .p2align 2,,3 270 .syntax unified 271 .thumb 272 .thumb_func 274 UART_TxISR_16BIT: 275 .LVL20: 276 .LFB192: 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART transmit process complete callback. 3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma) 3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Normal mode */ 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR) 3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */ 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Circular mode */ 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback(huart); 3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback. 3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) 3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx Half complete callback*/ 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxHalfCpltCallback(huart); 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 86 3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/ 3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart); 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART receive process complete callback. 3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* DMA Normal mode */ 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR) 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** in the UART CR3 register */ 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */ 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Transfer Complete */ 3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode : 3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In other cases : use Rx Complete callback */ 3463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 87 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart); 3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART receive process half complete callback. 3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) 3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** In this case, Rx Event type is Half Transfer */ 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_HT; 3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode : 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U); 3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U); 3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */ 3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Half complete callback*/ 3503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxHalfCpltCallback(huart); 3504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/ 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart); 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART communication error callback. 3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma) 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 88 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart); 3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA; 3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/ 3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart); 3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/ 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence). 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) 3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered error callback*/ 3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCallback(huart); 3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak error callback*/ 3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user 3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request). 3574: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 3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle. 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 89 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) 3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx != NULL) 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL) 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */ 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3602: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); 3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */ 3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */ 3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user 3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request). 3624: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 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle. 3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 90 3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx != NULL) 3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL) 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return; 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Reset errorCode */ 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3652: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); 3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */ 3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort complete callback */ 3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to 3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer) 3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution). 3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->gState to Ready */ 3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 91 3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to 3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer) 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques 3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution). 3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param hdma DMA handle. 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3716: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); 3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Discard the received data */ 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call user Abort complete callback */ 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length . 3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once 3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart) 3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 92 3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF); 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 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 **** * @brief TX interrupt handler for 9 bits data word length. 3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once 3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart) 3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 277 .loc 1 3772 1 is_stmt 1 view -0 278 .cfi_startproc 279 @ args = 0, pretend = 0, frame = 0 280 @ frame_needed = 0, uses_anonymous_args = 0 281 @ link register save eliminated. 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint16_t *tmp; 282 .loc 1 3773 3 view .LVU88 3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 283 .loc 1 3776 3 view .LVU89 284 .loc 1 3776 12 is_stmt 0 view .LVU90 285 0000 C36F ldr r3, [r0, #124] 286 .loc 1 3776 6 view .LVU91 287 0002 212B cmp r3, #33 288 0004 00D0 beq .L20 3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr; 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 93 3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 289 .loc 1 3794 1 view .LVU92 290 0006 7047 bx lr 291 .L20: 3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 292 .loc 1 3778 5 is_stmt 1 view .LVU93 3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 293 .loc 1 3778 14 is_stmt 0 view .LVU94 294 0008 B0F85230 ldrh r3, [r0, #82] 295 000c 9BB2 uxth r3, r3 3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 296 .loc 1 3778 8 view .LVU95 297 000e 8BB9 cbnz r3, .L14 298 0010 0268 ldr r2, [r0] 299 .L15: 300 .LBB490: 301 .LBB491: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 302 .loc 1 3750 7 is_stmt 1 view .LVU96 303 .LBB492: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 304 .loc 1 3750 7 view .LVU97 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 305 .loc 1 3750 7 view .LVU98 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 306 .loc 1 3750 7 view .LVU99 307 .LVL21: 308 .LBB493: 309 .LBI493: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 310 .loc 2 1068 31 view .LVU100 311 .LBB494: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 312 .loc 2 1070 5 view .LVU101 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 313 .loc 2 1072 4 view .LVU102 314 .syntax unified 315 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 316 0012 52E8003F ldrex r3, [r2] 317 @ 0 "" 2 318 .LVL22: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 319 .loc 2 1073 4 view .LVU103 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 320 .loc 2 1073 4 is_stmt 0 view .LVU104 321 .thumb 322 .syntax unified 323 .LBE494: 324 .LBE493: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 325 .loc 1 3750 7 view .LVU105 326 0016 23F08003 bic r3, r3, #128 327 .LVL23: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 328 .loc 1 3750 7 is_stmt 1 view .LVU106 329 .LBB495: 330 .LBI495: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 94 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 331 .loc 2 1119 31 view .LVU107 332 .LBB496: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 333 .loc 2 1121 4 view .LVU108 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 334 .loc 2 1123 4 view .LVU109 335 .syntax unified 336 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 337 001a 42E80031 strex r1, r3, [r2] 338 @ 0 "" 2 339 .LVL24: 340 .loc 2 1124 4 view .LVU110 341 .loc 2 1124 4 is_stmt 0 view .LVU111 342 .thumb 343 .syntax unified 344 .LBE496: 345 .LBE495: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 346 .loc 1 3750 7 view .LVU112 347 001e 0029 cmp r1, #0 348 0020 F7D1 bne .L15 349 .LVL25: 350 .L16: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 351 .loc 1 3750 7 view .LVU113 352 .LBE492: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 353 .loc 1 3750 7 is_stmt 1 view .LVU114 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 354 .loc 1 3753 7 view .LVU115 355 .LBB497: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 356 .loc 1 3753 7 view .LVU116 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 357 .loc 1 3753 7 view .LVU117 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 358 .loc 1 3753 7 view .LVU118 359 .LBB498: 360 .LBI498: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 361 .loc 2 1068 31 view .LVU119 362 .LBB499: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 363 .loc 2 1070 5 view .LVU120 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 364 .loc 2 1072 4 view .LVU121 365 .syntax unified 366 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 367 0022 52E8003F ldrex r3, [r2] 368 @ 0 "" 2 369 .LVL26: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 370 .loc 2 1073 4 view .LVU122 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 371 .loc 2 1073 4 is_stmt 0 view .LVU123 372 .thumb ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 95 373 .syntax unified 374 .LBE499: 375 .LBE498: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 376 .loc 1 3753 7 view .LVU124 377 0026 43F04003 orr r3, r3, #64 378 .LVL27: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 379 .loc 1 3753 7 is_stmt 1 view .LVU125 380 .LBB500: 381 .LBI500: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 382 .loc 2 1119 31 view .LVU126 383 .LBB501: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 384 .loc 2 1121 4 view .LVU127 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 385 .loc 2 1123 4 view .LVU128 386 .syntax unified 387 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 388 002a 42E80031 strex r1, r3, [r2] 389 @ 0 "" 2 390 .LVL28: 391 .loc 2 1124 4 view .LVU129 392 .loc 2 1124 4 is_stmt 0 view .LVU130 393 .thumb 394 .syntax unified 395 .LBE501: 396 .LBE500: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 397 .loc 1 3753 7 view .LVU131 398 002e 0029 cmp r1, #0 399 0030 F7D1 bne .L16 400 0032 7047 bx lr 401 .LVL29: 402 .L14: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 403 .loc 1 3753 7 view .LVU132 404 .LBE497: 405 .LBE491: 406 .LBE490: 3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 407 .loc 1 3788 7 is_stmt 1 view .LVU133 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 408 .loc 1 3789 7 view .LVU134 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 409 .loc 1 3789 50 is_stmt 0 view .LVU135 410 0034 C26C ldr r2, [r0, #76] 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 411 .loc 1 3789 12 view .LVU136 412 0036 0168 ldr r1, [r0] 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 413 .loc 1 3789 50 view .LVU137 414 0038 32F8023B ldrh r3, [r2], #2 415 003c C3F30803 ubfx r3, r3, #0, #9 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 416 .loc 1 3789 28 view .LVU138 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 96 417 0040 0B85 strh r3, [r1, #40] @ movhi 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 418 .loc 1 3790 7 is_stmt 1 view .LVU139 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 419 .loc 1 3791 12 is_stmt 0 view .LVU140 420 0042 B0F85230 ldrh r3, [r0, #82] 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 421 .loc 1 3790 25 view .LVU141 422 0046 C264 str r2, [r0, #76] 423 .LVL30: 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 424 .loc 1 3791 7 is_stmt 1 view .LVU142 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 425 .loc 1 3791 25 is_stmt 0 view .LVU143 426 0048 013B subs r3, r3, #1 427 004a 9BB2 uxth r3, r3 428 004c A0F85230 strh r3, [r0, #82] @ movhi 429 .loc 1 3794 1 view .LVU144 430 0050 7047 bx lr 431 .cfi_endproc 432 .LFE192: 434 0052 00BF .section .text.UART_TxISR_8BIT,"ax",%progbits 435 .align 1 436 .p2align 2,,3 437 .syntax unified 438 .thumb 439 .thumb_func 441 UART_TxISR_8BIT: 442 .LVL31: 443 .LFB191: 3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 444 .loc 1 3743 1 is_stmt 1 view -0 445 .cfi_startproc 446 @ args = 0, pretend = 0, frame = 0 447 @ frame_needed = 0, uses_anonymous_args = 0 448 @ link register save eliminated. 3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 449 .loc 1 3745 3 view .LVU146 3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 450 .loc 1 3745 12 is_stmt 0 view .LVU147 451 0000 C36F ldr r3, [r0, #124] 3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 452 .loc 1 3745 6 view .LVU148 453 0002 212B cmp r3, #33 454 0004 00D0 beq .L30 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 455 .loc 1 3762 1 view .LVU149 456 0006 7047 bx lr 457 .L30: 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 458 .loc 1 3747 5 is_stmt 1 view .LVU150 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 459 .loc 1 3747 14 is_stmt 0 view .LVU151 460 0008 B0F85230 ldrh r3, [r0, #82] 461 000c 9BB2 uxth r3, r3 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 462 .loc 1 3747 8 view .LVU152 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 97 463 000e 8BB9 cbnz r3, .L24 464 0010 0268 ldr r2, [r0] 465 .L25: 466 .LBB514: 467 .LBB515: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 468 .loc 1 3750 7 is_stmt 1 view .LVU153 469 .LBB516: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 470 .loc 1 3750 7 view .LVU154 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 471 .loc 1 3750 7 view .LVU155 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 472 .loc 1 3750 7 view .LVU156 473 .LVL32: 474 .LBB517: 475 .LBI517: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 476 .loc 2 1068 31 view .LVU157 477 .LBB518: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 478 .loc 2 1070 5 view .LVU158 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 479 .loc 2 1072 4 view .LVU159 480 .syntax unified 481 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 482 0012 52E8003F ldrex r3, [r2] 483 @ 0 "" 2 484 .LVL33: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 485 .loc 2 1073 4 view .LVU160 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 486 .loc 2 1073 4 is_stmt 0 view .LVU161 487 .thumb 488 .syntax unified 489 .LBE518: 490 .LBE517: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 491 .loc 1 3750 7 view .LVU162 492 0016 23F08003 bic r3, r3, #128 493 .LVL34: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 494 .loc 1 3750 7 is_stmt 1 view .LVU163 495 .LBB519: 496 .LBI519: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 497 .loc 2 1119 31 view .LVU164 498 .LBB520: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 499 .loc 2 1121 4 view .LVU165 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 500 .loc 2 1123 4 view .LVU166 501 .syntax unified 502 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 503 001a 42E80031 strex r1, r3, [r2] 504 @ 0 "" 2 505 .LVL35: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 98 506 .loc 2 1124 4 view .LVU167 507 .loc 2 1124 4 is_stmt 0 view .LVU168 508 .thumb 509 .syntax unified 510 .LBE520: 511 .LBE519: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 512 .loc 1 3750 7 view .LVU169 513 001e 0029 cmp r1, #0 514 0020 F7D1 bne .L25 515 .LVL36: 516 .L26: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 517 .loc 1 3750 7 view .LVU170 518 .LBE516: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 519 .loc 1 3750 7 is_stmt 1 view .LVU171 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 520 .loc 1 3753 7 view .LVU172 521 .LBB521: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 522 .loc 1 3753 7 view .LVU173 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 523 .loc 1 3753 7 view .LVU174 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 524 .loc 1 3753 7 view .LVU175 525 .LBB522: 526 .LBI522: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 527 .loc 2 1068 31 view .LVU176 528 .LBB523: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 529 .loc 2 1070 5 view .LVU177 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 530 .loc 2 1072 4 view .LVU178 531 .syntax unified 532 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 533 0022 52E8003F ldrex r3, [r2] 534 @ 0 "" 2 535 .LVL37: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 536 .loc 2 1073 4 view .LVU179 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 537 .loc 2 1073 4 is_stmt 0 view .LVU180 538 .thumb 539 .syntax unified 540 .LBE523: 541 .LBE522: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 542 .loc 1 3753 7 view .LVU181 543 0026 43F04003 orr r3, r3, #64 544 .LVL38: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 545 .loc 1 3753 7 is_stmt 1 view .LVU182 546 .LBB524: 547 .LBI524: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 99 548 .loc 2 1119 31 view .LVU183 549 .LBB525: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 550 .loc 2 1121 4 view .LVU184 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 551 .loc 2 1123 4 view .LVU185 552 .syntax unified 553 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 554 002a 42E80031 strex r1, r3, [r2] 555 @ 0 "" 2 556 .LVL39: 557 .loc 2 1124 4 view .LVU186 558 .loc 2 1124 4 is_stmt 0 view .LVU187 559 .thumb 560 .syntax unified 561 .LBE525: 562 .LBE524: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 563 .loc 1 3753 7 view .LVU188 564 002e 0029 cmp r1, #0 565 0030 F7D1 bne .L26 566 0032 7047 bx lr 567 .LVL40: 568 .L24: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 569 .loc 1 3753 7 view .LVU189 570 .LBE521: 571 .LBE515: 572 .LBE514: 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 573 .loc 1 3757 7 is_stmt 1 view .LVU190 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 574 .loc 1 3757 30 is_stmt 0 view .LVU191 575 0034 C26C ldr r2, [r0, #76] 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 576 .loc 1 3757 12 view .LVU192 577 0036 0368 ldr r3, [r0] 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 578 .loc 1 3757 30 view .LVU193 579 0038 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pTxBuffPtr++; 580 .loc 1 3757 28 view .LVU194 581 003c 1985 strh r1, [r3, #40] @ movhi 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 582 .loc 1 3758 7 is_stmt 1 view .LVU195 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 583 .loc 1 3759 12 is_stmt 0 view .LVU196 584 003e B0F85230 ldrh r3, [r0, #82] 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount--; 585 .loc 1 3758 24 view .LVU197 586 0042 C264 str r2, [r0, #76] 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 587 .loc 1 3759 7 is_stmt 1 view .LVU198 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 588 .loc 1 3759 25 is_stmt 0 view .LVU199 589 0044 013B subs r3, r3, #1 590 0046 9BB2 uxth r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 100 591 0048 A0F85230 strh r3, [r0, #82] @ movhi 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 592 .loc 1 3762 1 view .LVU200 593 004c 7047 bx lr 594 .cfi_endproc 595 .LFE191: 597 004e 00BF .section .text.HAL_UART_MspInit,"ax",%progbits 598 .align 1 599 .p2align 2,,3 600 .weak HAL_UART_MspInit 601 .syntax unified 602 .thumb 603 .thumb_func 605 HAL_UART_MspInit: 606 .LVL41: 607 .LFB135: 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 608 .loc 1 662 1 is_stmt 1 view -0 609 .cfi_startproc 610 @ args = 0, pretend = 0, frame = 0 611 @ frame_needed = 0, uses_anonymous_args = 0 612 @ link register save eliminated. 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 613 .loc 1 664 3 view .LVU202 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 614 .loc 1 669 1 is_stmt 0 view .LVU203 615 0000 7047 bx lr 616 .cfi_endproc 617 .LFE135: 619 0002 00BF .section .text.HAL_UART_MspDeInit,"ax",%progbits 620 .align 1 621 .p2align 2,,3 622 .weak HAL_UART_MspDeInit 623 .syntax unified 624 .thumb 625 .thumb_func 627 HAL_UART_MspDeInit: 628 .LFB199: 629 .cfi_startproc 630 @ args = 0, pretend = 0, frame = 0 631 @ frame_needed = 0, uses_anonymous_args = 0 632 @ link register save eliminated. 633 0000 7047 bx lr 634 .cfi_endproc 635 .LFE199: 637 0002 00BF .section .rodata.HAL_UART_DeInit.str1.4,"aMS",%progbits,1 638 .align 2 639 .LC0: 640 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart" 640 6572732F 640 53544D33 640 32463378 640 785F4841 641 0033 2E6300 .ascii ".c\000" 642 .section .text.HAL_UART_DeInit,"ax",%progbits 643 .align 1 644 .p2align 2,,3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 101 645 .global HAL_UART_DeInit 646 .syntax unified 647 .thumb 648 .thumb_func 650 HAL_UART_DeInit: 651 .LVL42: 652 .LFB134: 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 653 .loc 1 615 1 is_stmt 1 view -0 654 .cfi_startproc 655 @ args = 0, pretend = 0, frame = 0 656 @ frame_needed = 0, uses_anonymous_args = 0 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 657 .loc 1 617 3 view .LVU205 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 658 .loc 1 617 6 is_stmt 0 view .LVU206 659 0000 0028 cmp r0, #0 660 0002 33D0 beq .L36 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 661 .loc 1 615 1 view .LVU207 662 0004 38B5 push {r3, r4, r5, lr} 663 .LCFI0: 664 .cfi_def_cfa_offset 16 665 .cfi_offset 3, -16 666 .cfi_offset 4, -12 667 .cfi_offset 5, -8 668 .cfi_offset 14, -4 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 669 .loc 1 623 3 view .LVU208 670 0006 1A4A ldr r2, .L41 671 0008 0368 ldr r3, [r0] 672 000a 9342 cmp r3, r2 673 000c 0446 mov r4, r0 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 674 .loc 1 623 3 is_stmt 1 view .LVU209 675 000e 15D0 beq .L35 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 676 .loc 1 623 3 is_stmt 0 discriminator 1 view .LVU210 677 0010 A2F57442 sub r2, r2, #62464 678 0014 9342 cmp r3, r2 679 0016 11D0 beq .L35 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 680 .loc 1 623 3 discriminator 2 view .LVU211 681 0018 02F58062 add r2, r2, #1024 682 001c 9342 cmp r3, r2 683 001e 0DD0 beq .L35 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 684 .loc 1 623 3 discriminator 3 view .LVU212 685 0020 02F58062 add r2, r2, #1024 686 0024 9342 cmp r3, r2 687 0026 09D0 beq .L35 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 688 .loc 1 623 3 discriminator 4 view .LVU213 689 0028 02F58062 add r2, r2, #1024 690 002c 9342 cmp r3, r2 691 002e 05D0 beq .L35 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 102 692 .loc 1 623 3 discriminator 5 view .LVU214 693 0030 1048 ldr r0, .L41+4 694 .LVL43: 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 695 .loc 1 623 3 discriminator 5 view .LVU215 696 0032 40F26F21 movw r1, #623 697 0036 FFF7FEFF bl assert_failed 698 .LVL44: 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 699 .loc 1 627 3 discriminator 5 view .LVU216 700 003a 2368 ldr r3, [r4] 701 .L35: 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 702 .loc 1 625 3 is_stmt 1 view .LVU217 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 703 .loc 1 625 17 is_stmt 0 view .LVU218 704 003c 2422 movs r2, #36 705 003e E267 str r2, [r4, #124] 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 706 .loc 1 627 3 is_stmt 1 view .LVU219 707 0040 1A68 ldr r2, [r3] 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 708 .loc 1 629 24 is_stmt 0 view .LVU220 709 0042 0025 movs r5, #0 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 710 .loc 1 627 3 view .LVU221 711 0044 22F00102 bic r2, r2, #1 712 0048 1A60 str r2, [r3] 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 713 .loc 1 629 3 is_stmt 1 view .LVU222 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 714 .loc 1 642 3 is_stmt 0 view .LVU223 715 004a 2046 mov r0, r4 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 716 .loc 1 629 24 view .LVU224 717 004c 1D60 str r5, [r3] 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 718 .loc 1 630 3 is_stmt 1 view .LVU225 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 719 .loc 1 630 24 is_stmt 0 view .LVU226 720 004e 5D60 str r5, [r3, #4] 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 721 .loc 1 631 3 is_stmt 1 view .LVU227 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 722 .loc 1 631 24 is_stmt 0 view .LVU228 723 0050 9D60 str r5, [r3, #8] 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 724 .loc 1 642 3 is_stmt 1 view .LVU229 725 0052 FFF7FEFF bl HAL_UART_MspDeInit 726 .LVL45: 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 727 .loc 1 645 3 view .LVU230 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 728 .loc 1 651 3 is_stmt 0 view .LVU231 729 0056 84F87850 strb r5, [r4, #120] 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 730 .loc 1 645 20 view .LVU232 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 103 731 005a C4F88450 str r5, [r4, #132] 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 732 .loc 1 646 3 is_stmt 1 view .LVU233 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 733 .loc 1 653 10 is_stmt 0 view .LVU234 734 005e 2846 mov r0, r5 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 735 .loc 1 646 17 view .LVU235 736 0060 E567 str r5, [r4, #124] 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 737 .loc 1 647 3 is_stmt 1 view .LVU236 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 738 .loc 1 647 18 is_stmt 0 view .LVU237 739 0062 C4F88050 str r5, [r4, #128] 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 740 .loc 1 648 3 is_stmt 1 view .LVU238 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 741 .loc 1 648 24 is_stmt 0 view .LVU239 742 0066 2566 str r5, [r4, #96] 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 743 .loc 1 649 3 is_stmt 1 view .LVU240 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 744 .loc 1 649 22 is_stmt 0 view .LVU241 745 0068 6566 str r5, [r4, #100] 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 746 .loc 1 651 3 is_stmt 1 view .LVU242 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 747 .loc 1 651 3 view .LVU243 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 748 .loc 1 651 3 view .LVU244 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 749 .loc 1 653 3 view .LVU245 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 750 .loc 1 654 1 is_stmt 0 view .LVU246 751 006a 38BD pop {r3, r4, r5, pc} 752 .LVL46: 753 .L36: 754 .LCFI1: 755 .cfi_def_cfa_offset 0 756 .cfi_restore 3 757 .cfi_restore 4 758 .cfi_restore 5 759 .cfi_restore 14 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 760 .loc 1 619 12 view .LVU247 761 006c 0120 movs r0, #1 762 .LVL47: 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 763 .loc 1 654 1 view .LVU248 764 006e 7047 bx lr 765 .L42: 766 .align 2 767 .L41: 768 0070 00380140 .word 1073821696 769 0074 00000000 .word .LC0 770 .cfi_endproc 771 .LFE134: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 104 773 .section .text.HAL_UART_Transmit,"ax",%progbits 774 .align 1 775 .p2align 2,,3 776 .global HAL_UART_Transmit 777 .syntax unified 778 .thumb 779 .thumb_func 781 HAL_UART_Transmit: 782 .LVL48: 783 .LFB137: 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint8_t *pdata8bits; 784 .loc 1 1077 1 is_stmt 1 view -0 785 .cfi_startproc 786 @ args = 0, pretend = 0, frame = 0 787 @ frame_needed = 0, uses_anonymous_args = 0 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint16_t *pdata16bits; 788 .loc 1 1078 3 view .LVU250 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 789 .loc 1 1079 3 view .LVU251 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 790 .loc 1 1080 3 view .LVU252 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 791 .loc 1 1083 3 view .LVU253 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint8_t *pdata8bits; 792 .loc 1 1077 1 is_stmt 0 view .LVU254 793 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 794 .LCFI2: 795 .cfi_def_cfa_offset 32 796 .cfi_offset 3, -32 797 .cfi_offset 4, -28 798 .cfi_offset 5, -24 799 .cfi_offset 6, -20 800 .cfi_offset 7, -16 801 .cfi_offset 8, -12 802 .cfi_offset 9, -8 803 .cfi_offset 14, -4 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const uint8_t *pdata8bits; 804 .loc 1 1077 1 view .LVU255 805 0004 0646 mov r6, r0 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 806 .loc 1 1083 12 view .LVU256 807 0006 C06F ldr r0, [r0, #124] 808 .LVL49: 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 809 .loc 1 1083 6 view .LVU257 810 0008 2028 cmp r0, #32 811 000a 4FD1 bne .L62 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 812 .loc 1 1085 5 is_stmt 1 view .LVU258 813 000c 8946 mov r9, r1 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 814 .loc 1 1085 8 is_stmt 0 view .LVU259 815 000e 09B1 cbz r1, .L64 816 0010 1446 mov r4, r2 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 817 .loc 1 1085 25 discriminator 1 view .LVU260 818 0012 12B9 cbnz r2, .L85 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 105 819 .L64: 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 820 .loc 1 1087 15 view .LVU261 821 0014 0120 movs r0, #1 822 .LVL50: 823 .L82: 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 824 .loc 1 1149 1 view .LVU262 825 0016 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 826 .LVL51: 827 .L85: 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 828 .loc 1 1149 1 view .LVU263 829 001a 1D46 mov r5, r3 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 830 .loc 1 1090 5 is_stmt 1 view .LVU264 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 831 .loc 1 1090 22 is_stmt 0 view .LVU265 832 001c 4FF00008 mov r8, #0 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 833 .loc 1 1091 19 view .LVU266 834 0020 2123 movs r3, #33 835 .LVL52: 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 836 .loc 1 1090 22 view .LVU267 837 0022 C6F88480 str r8, [r6, #132] 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 838 .loc 1 1091 5 is_stmt 1 view .LVU268 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 839 .loc 1 1091 19 is_stmt 0 view .LVU269 840 0026 F367 str r3, [r6, #124] 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 841 .loc 1 1094 5 is_stmt 1 view .LVU270 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 842 .loc 1 1094 17 is_stmt 0 view .LVU271 843 0028 FFF7FEFF bl HAL_GetTick 844 .LVL53: 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 845 .loc 1 1100 8 view .LVU272 846 002c B368 ldr r3, [r6, #8] 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 847 .loc 1 1096 24 view .LVU273 848 002e A6F85040 strh r4, [r6, #80] @ movhi 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 849 .loc 1 1100 8 view .LVU274 850 0032 B3F5805F cmp r3, #4096 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 851 .loc 1 1097 24 view .LVU275 852 0036 A6F85240 strh r4, [r6, #82] @ movhi 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 853 .loc 1 1094 17 view .LVU276 854 003a 0746 mov r7, r0 855 .LVL54: 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 856 .loc 1 1096 5 is_stmt 1 view .LVU277 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 857 .loc 1 1097 5 view .LVU278 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 106 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 858 .loc 1 1100 5 view .LVU279 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 859 .loc 1 1100 8 is_stmt 0 view .LVU280 860 003c 39D0 beq .L86 861 .LVL55: 862 .L45: 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 863 .loc 1 1111 11 is_stmt 1 view .LVU281 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 864 .loc 1 1111 17 is_stmt 0 view .LVU282 865 003e B6F85230 ldrh r3, [r6, #82] 866 .LBB530: 867 .LBB531: 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 868 .loc 1 3154 11 view .LVU283 869 0042 3468 ldr r4, [r6] 870 .LBE531: 871 .LBE530: 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 872 .loc 1 1111 17 view .LVU284 873 0044 9BB2 uxth r3, r3 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 874 .loc 1 1111 11 view .LVU285 875 0046 13B9 cbnz r3, .L48 876 0048 1AE0 b .L56 877 .LVL56: 878 .L50: 879 .LBB534: 880 .LBB532: 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 881 .loc 1 3157 5 is_stmt 1 view .LVU286 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 882 .loc 1 3157 8 is_stmt 0 view .LVU287 883 004a 681C adds r0, r5, #1 884 004c 1FD1 bne .L87 885 .L48: 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 886 .loc 1 3154 9 is_stmt 1 view .LVU288 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 887 .loc 1 3154 11 is_stmt 0 view .LVU289 888 004e E269 ldr r2, [r4, #28] 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 889 .loc 1 3154 9 view .LVU290 890 0050 1106 lsls r1, r2, #24 891 0052 FAD5 bpl .L50 892 .LBE532: 893 .LBE534: 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 894 .loc 1 1120 7 is_stmt 1 view .LVU291 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 895 .loc 1 1120 10 is_stmt 0 view .LVU292 896 0054 B9F1000F cmp r9, #0 897 0058 22D0 beq .L88 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 898 .loc 1 1127 9 is_stmt 1 view .LVU293 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 107 899 .loc 1 1127 32 is_stmt 0 view .LVU294 900 005a 19F8013B ldrb r3, [r9], #1 @ zero_extendqisi2 901 .LVL57: 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 902 .loc 1 1127 30 view .LVU295 903 005e 2385 strh r3, [r4, #40] @ movhi 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 904 .loc 1 1128 9 is_stmt 1 view .LVU296 905 .LVL58: 906 .L52: 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 907 .loc 1 1130 7 view .LVU297 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 908 .loc 1 1130 12 is_stmt 0 view .LVU298 909 0060 B6F85230 ldrh r3, [r6, #82] 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 910 .loc 1 1130 25 view .LVU299 911 0064 013B subs r3, r3, #1 912 0066 9BB2 uxth r3, r3 913 0068 A6F85230 strh r3, [r6, #82] @ movhi 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 914 .loc 1 1111 11 is_stmt 1 view .LVU300 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 915 .loc 1 1111 17 is_stmt 0 view .LVU301 916 006c B6F85230 ldrh r3, [r6, #82] 917 0070 9BB2 uxth r3, r3 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 918 .loc 1 1111 11 view .LVU302 919 0072 002B cmp r3, #0 920 0074 EBD1 bne .L48 921 .LBB535: 922 .LBB536: 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 923 .loc 1 3157 5 is_stmt 1 view .LVU303 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 924 .loc 1 3154 9 view .LVU304 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 925 .loc 1 3154 11 is_stmt 0 view .LVU305 926 0076 E369 ldr r3, [r4, #28] 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 927 .loc 1 3154 9 view .LVU306 928 0078 5B06 lsls r3, r3, #25 929 007a 04D4 bmi .L89 930 .L58: 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 931 .loc 1 3157 8 view .LVU307 932 007c 6A1C adds r2, r5, #1 933 007e 23D1 bne .L90 934 .L56: 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 935 .loc 1 3157 5 is_stmt 1 view .LVU308 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 936 .loc 1 3154 9 view .LVU309 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 937 .loc 1 3154 11 is_stmt 0 view .LVU310 938 0080 E369 ldr r3, [r4, #28] 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 108 939 .loc 1 3154 9 view .LVU311 940 0082 5B06 lsls r3, r3, #25 941 0084 FAD5 bpl .L58 942 .L89: 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 943 .loc 1 3154 9 view .LVU312 944 .LBE536: 945 .LBE535: 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 946 .loc 1 1141 5 is_stmt 1 view .LVU313 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 947 .loc 1 1141 19 is_stmt 0 view .LVU314 948 0086 2023 movs r3, #32 949 0088 F367 str r3, [r6, #124] 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 950 .loc 1 1143 5 is_stmt 1 view .LVU315 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 951 .loc 1 1143 12 is_stmt 0 view .LVU316 952 008a 0020 movs r0, #0 953 008c C3E7 b .L82 954 .L87: 955 .LBB538: 956 .LBB533: 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 957 .loc 1 3159 7 is_stmt 1 view .LVU317 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 958 .loc 1 3159 13 is_stmt 0 view .LVU318 959 008e FFF7FEFF bl HAL_GetTick 960 .LVL59: 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 961 .loc 1 3159 27 view .LVU319 962 0092 C01B subs r0, r0, r7 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 963 .loc 1 3159 10 view .LVU320 964 0094 8542 cmp r5, r0 965 0096 12D3 bcc .L57 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 966 .loc 1 3159 51 view .LVU321 967 0098 8DB1 cbz r5, .L57 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 968 .loc 1 3165 7 is_stmt 1 view .LVU322 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 969 .loc 1 3165 12 is_stmt 0 view .LVU323 970 009a 3468 ldr r4, [r6] 971 009c 2368 ldr r3, [r4] 972 009e D6E7 b .L48 973 .L88: 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 974 .loc 1 3165 12 view .LVU324 975 .LBE533: 976 .LBE538: 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 977 .loc 1 1122 9 is_stmt 1 view .LVU325 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 978 .loc 1 1122 32 is_stmt 0 view .LVU326 979 00a0 38F8023B ldrh r3, [r8], #2 980 .LVL60: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 109 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 981 .loc 1 1122 32 view .LVU327 982 00a4 C3F30803 ubfx r3, r3, #0, #9 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 983 .loc 1 1122 30 view .LVU328 984 00a8 2385 strh r3, [r4, #40] @ movhi 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 985 .loc 1 1123 9 is_stmt 1 view .LVU329 986 .LVL61: 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 987 .loc 1 1123 9 is_stmt 0 view .LVU330 988 00aa D9E7 b .L52 989 .LVL62: 990 .L62: 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 991 .loc 1 1147 12 view .LVU331 992 00ac 0220 movs r0, #2 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 993 .loc 1 1149 1 view .LVU332 994 00ae BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 995 .LVL63: 996 .L86: 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 997 .loc 1 1100 56 discriminator 1 view .LVU333 998 00b2 3369 ldr r3, [r6, #16] 999 00b4 002B cmp r3, #0 1000 00b6 C2D1 bne .L45 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1001 .loc 1 1100 56 view .LVU334 1002 00b8 C846 mov r8, r9 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 1003 .loc 1 1102 19 view .LVU335 1004 00ba 9946 mov r9, r3 1005 .LVL64: 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 1006 .loc 1 1102 19 view .LVU336 1007 00bc BFE7 b .L45 1008 .LVL65: 1009 .L57: 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1010 .loc 1 1135 7 is_stmt 1 view .LVU337 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1011 .loc 1 1135 21 is_stmt 0 view .LVU338 1012 00be 2023 movs r3, #32 1013 00c0 F367 str r3, [r6, #124] 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1014 .loc 1 1137 7 is_stmt 1 view .LVU339 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1015 .loc 1 1137 14 is_stmt 0 view .LVU340 1016 00c2 0320 movs r0, #3 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1017 .loc 1 1149 1 view .LVU341 1018 00c4 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 1019 .LVL66: 1020 .L90: 1021 .LBB539: 1022 .LBB537: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 110 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1023 .loc 1 3159 7 is_stmt 1 view .LVU342 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1024 .loc 1 3159 13 is_stmt 0 view .LVU343 1025 00c8 FFF7FEFF bl HAL_GetTick 1026 .LVL67: 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1027 .loc 1 3165 7 is_stmt 1 view .LVU344 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1028 .loc 1 3159 27 is_stmt 0 view .LVU345 1029 00cc C01B subs r0, r0, r7 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1030 .loc 1 3159 10 view .LVU346 1031 00ce 8542 cmp r5, r0 1032 00d0 F5D3 bcc .L57 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1033 .loc 1 3159 51 view .LVU347 1034 00d2 002D cmp r5, #0 1035 00d4 F3D0 beq .L57 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1036 .loc 1 3165 12 view .LVU348 1037 00d6 3468 ldr r4, [r6] 1038 00d8 2368 ldr r3, [r4] 1039 00da D1E7 b .L56 1040 .LBE537: 1041 .LBE539: 1042 .cfi_endproc 1043 .LFE137: 1045 .section .text.HAL_UART_Transmit_IT,"ax",%progbits 1046 .align 1 1047 .p2align 2,,3 1048 .global HAL_UART_Transmit_IT 1049 .syntax unified 1050 .thumb 1051 .thumb_func 1053 HAL_UART_Transmit_IT: 1054 .LVL68: 1055 .LFB139: 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1056 .loc 1 1247 1 is_stmt 1 view -0 1057 .cfi_startproc 1058 @ args = 0, pretend = 0, frame = 0 1059 @ frame_needed = 0, uses_anonymous_args = 0 1060 @ link register save eliminated. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1061 .loc 1 1249 3 view .LVU350 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1062 .loc 1 1249 12 is_stmt 0 view .LVU351 1063 0000 C36F ldr r3, [r0, #124] 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1064 .loc 1 1249 6 view .LVU352 1065 0002 202B cmp r3, #32 1066 0004 22D1 bne .L95 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1067 .loc 1 1251 5 is_stmt 1 view .LVU353 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1068 .loc 1 1251 8 is_stmt 0 view .LVU354 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 111 1069 0006 01B1 cbz r1, .L97 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1070 .loc 1 1251 25 discriminator 1 view .LVU355 1071 0008 0AB9 cbnz r2, .L105 1072 .L97: 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1073 .loc 1 1253 14 view .LVU356 1074 000a 0120 movs r0, #1 1075 .LVL69: 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1076 .loc 1 1283 1 view .LVU357 1077 000c 7047 bx lr 1078 .LVL70: 1079 .L105: 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 1080 .loc 1 1256 5 is_stmt 1 view .LVU358 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1081 .loc 1 1265 8 is_stmt 0 view .LVU359 1082 000e 8368 ldr r3, [r0, #8] 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1083 .loc 1 1247 1 view .LVU360 1084 0010 10B4 push {r4} 1085 .LCFI3: 1086 .cfi_def_cfa_offset 4 1087 .cfi_offset 4, -4 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1088 .loc 1 1265 8 view .LVU361 1089 0012 B3F5805F cmp r3, #4096 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1090 .loc 1 1261 22 view .LVU362 1091 0016 4FF00004 mov r4, #0 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 1092 .loc 1 1256 24 view .LVU363 1093 001a C164 str r1, [r0, #76] 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 1094 .loc 1 1257 5 is_stmt 1 view .LVU364 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1095 .loc 1 1262 19 is_stmt 0 view .LVU365 1096 001c 4FF02101 mov r1, #33 1097 .LVL71: 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 1098 .loc 1 1258 24 view .LVU366 1099 0020 A0F85220 strh r2, [r0, #82] @ movhi 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 1100 .loc 1 1257 24 view .LVU367 1101 0024 A0F85020 strh r2, [r0, #80] @ movhi 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 1102 .loc 1 1258 5 is_stmt 1 view .LVU368 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1103 .loc 1 1259 5 view .LVU369 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1104 .loc 1 1261 5 view .LVU370 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1105 .loc 1 1262 5 view .LVU371 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1106 .loc 1 1261 22 is_stmt 0 view .LVU372 1107 0028 C0F88440 str r4, [r0, #132] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 112 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1108 .loc 1 1262 19 view .LVU373 1109 002c C167 str r1, [r0, #124] 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1110 .loc 1 1265 5 is_stmt 1 view .LVU374 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1111 .loc 1 1265 8 is_stmt 0 view .LVU375 1112 002e 0FD0 beq .L106 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1113 .loc 1 1271 20 view .LVU376 1114 0030 0B4B ldr r3, .L107 1115 .LVL72: 1116 .L93: 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1117 .loc 1 1271 20 view .LVU377 1118 0032 0268 ldr r2, [r0] 1119 0034 C366 str r3, [r0, #108] 1120 .LVL73: 1121 .L94: 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1122 .loc 1 1275 5 is_stmt 1 discriminator 1 view .LVU378 1123 .LBB540: 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1124 .loc 1 1275 5 discriminator 1 view .LVU379 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1125 .loc 1 1275 5 discriminator 1 view .LVU380 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1126 .loc 1 1275 5 discriminator 1 view .LVU381 1127 .LBB541: 1128 .LBI541: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1129 .loc 2 1068 31 discriminator 1 view .LVU382 1130 .LBB542: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1131 .loc 2 1070 5 discriminator 1 view .LVU383 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1132 .loc 2 1072 4 discriminator 1 view .LVU384 1133 .syntax unified 1134 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1135 0036 52E8003F ldrex r3, [r2] 1136 @ 0 "" 2 1137 .LVL74: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1138 .loc 2 1073 4 discriminator 1 view .LVU385 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1139 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU386 1140 .thumb 1141 .syntax unified 1142 .LBE542: 1143 .LBE541: 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1144 .loc 1 1275 5 discriminator 1 view .LVU387 1145 003a 43F08003 orr r3, r3, #128 1146 .LVL75: 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1147 .loc 1 1275 5 is_stmt 1 discriminator 1 view .LVU388 1148 .LBB543: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 113 1149 .LBI543: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1150 .loc 2 1119 31 discriminator 1 view .LVU389 1151 .LBB544: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1152 .loc 2 1121 4 discriminator 1 view .LVU390 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1153 .loc 2 1123 4 discriminator 1 view .LVU391 1154 .syntax unified 1155 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1156 003e 42E80030 strex r0, r3, [r2] 1157 @ 0 "" 2 1158 .LVL76: 1159 .loc 2 1124 4 discriminator 1 view .LVU392 1160 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU393 1161 .thumb 1162 .syntax unified 1163 .LBE544: 1164 .LBE543: 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1165 .loc 1 1275 5 discriminator 1 view .LVU394 1166 0042 0028 cmp r0, #0 1167 0044 F7D1 bne .L94 1168 .LBE540: 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1169 .loc 1 1283 1 view .LVU395 1170 0046 5DF8044B ldr r4, [sp], #4 1171 .LCFI4: 1172 .cfi_restore 4 1173 .cfi_def_cfa_offset 0 1174 004a 7047 bx lr 1175 .LVL77: 1176 .L95: 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1177 .loc 1 1281 12 view .LVU396 1178 004c 0220 movs r0, #2 1179 .LVL78: 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1180 .loc 1 1281 12 view .LVU397 1181 004e 7047 bx lr 1182 .LVL79: 1183 .L106: 1184 .LCFI5: 1185 .cfi_def_cfa_offset 4 1186 .cfi_offset 4, -4 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1187 .loc 1 1265 56 discriminator 1 view .LVU398 1188 0050 0169 ldr r1, [r0, #16] 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1189 .loc 1 1267 20 discriminator 1 view .LVU399 1190 0052 034B ldr r3, .L107 1191 0054 034A ldr r2, .L107+4 1192 .LVL80: 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1193 .loc 1 1267 20 discriminator 1 view .LVU400 1194 0056 A142 cmp r1, r4 1195 0058 08BF it eq ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 114 1196 005a 1346 moveq r3, r2 1197 005c E9E7 b .L93 1198 .L108: 1199 005e 00BF .align 2 1200 .L107: 1201 0060 00000000 .word UART_TxISR_8BIT 1202 0064 00000000 .word UART_TxISR_16BIT 1203 .cfi_endproc 1204 .LFE139: 1206 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits 1207 .align 1 1208 .p2align 2,,3 1209 .global HAL_UART_Transmit_DMA 1210 .syntax unified 1211 .thumb 1212 .thumb_func 1214 HAL_UART_Transmit_DMA: 1215 .LVL81: 1216 .LFB141: 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1217 .loc 1 1334 1 is_stmt 1 view -0 1218 .cfi_startproc 1219 @ args = 0, pretend = 0, frame = 0 1220 @ frame_needed = 0, uses_anonymous_args = 0 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1221 .loc 1 1336 3 view .LVU402 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1222 .loc 1 1334 1 is_stmt 0 view .LVU403 1223 0000 70B5 push {r4, r5, r6, lr} 1224 .LCFI6: 1225 .cfi_def_cfa_offset 16 1226 .cfi_offset 4, -16 1227 .cfi_offset 5, -12 1228 .cfi_offset 6, -8 1229 .cfi_offset 14, -4 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1230 .loc 1 1336 12 view .LVU404 1231 0002 C56F ldr r5, [r0, #124] 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1232 .loc 1 1336 6 view .LVU405 1233 0004 202D cmp r5, #32 1234 0006 2DD1 bne .L113 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1235 .loc 1 1338 5 is_stmt 1 view .LVU406 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1236 .loc 1 1338 8 is_stmt 0 view .LVU407 1237 0008 51B3 cbz r1, .L115 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1238 .loc 1 1338 25 discriminator 1 view .LVU408 1239 000a 4AB3 cbz r2, .L115 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 1240 .loc 1 1343 5 is_stmt 1 view .LVU409 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1241 .loc 1 1347 22 is_stmt 0 view .LVU410 1242 000c 0023 movs r3, #0 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1243 .loc 1 1345 24 view .LVU411 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 115 1244 000e A0F85220 strh r2, [r0, #82] @ movhi 1245 0012 0446 mov r4, r0 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferSize = Size; 1246 .loc 1 1343 24 view .LVU412 1247 0014 C164 str r1, [r0, #76] 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 1248 .loc 1 1344 5 is_stmt 1 view .LVU413 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1249 .loc 1 1347 22 is_stmt 0 view .LVU414 1250 0016 C0F88430 str r3, [r0, #132] 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = Size; 1251 .loc 1 1344 24 view .LVU415 1252 001a A0F85020 strh r2, [r0, #80] @ movhi 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1253 .loc 1 1345 5 is_stmt 1 view .LVU416 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1254 .loc 1 1347 5 view .LVU417 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1255 .loc 1 1348 5 view .LVU418 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1256 .loc 1 1350 14 is_stmt 0 view .LVU419 1257 001e 006F ldr r0, [r0, #112] 1258 .LVL82: 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1259 .loc 1 1348 19 view .LVU420 1260 0020 2126 movs r6, #33 1261 0022 E667 str r6, [r4, #124] 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1262 .loc 1 1350 5 is_stmt 1 view .LVU421 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1263 .loc 1 1350 8 is_stmt 0 view .LVU422 1264 0024 60B1 cbz r0, .L111 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1265 .loc 1 1353 7 is_stmt 1 view .LVU423 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1266 .loc 1 1353 39 is_stmt 0 view .LVU424 1267 0026 134E ldr r6, .L125 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1268 .loc 1 1362 40 view .LVU425 1269 0028 4363 str r3, [r0, #52] 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1270 .loc 1 1365 11 view .LVU426 1271 002a 1346 mov r3, r2 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1272 .loc 1 1365 82 view .LVU427 1273 002c 2268 ldr r2, [r4] 1274 .LVL83: 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1275 .loc 1 1353 39 view .LVU428 1276 002e 8662 str r6, [r0, #40] 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1277 .loc 1 1356 7 is_stmt 1 view .LVU429 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1278 .loc 1 1356 43 is_stmt 0 view .LVU430 1279 0030 114E ldr r6, .L125+4 1280 0032 C662 str r6, [r0, #44] 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 116 1281 .loc 1 1359 7 is_stmt 1 view .LVU431 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1282 .loc 1 1359 40 is_stmt 0 view .LVU432 1283 0034 114E ldr r6, .L125+8 1284 0036 0663 str r6, [r0, #48] 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1285 .loc 1 1362 7 is_stmt 1 view .LVU433 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1286 .loc 1 1365 7 view .LVU434 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1287 .loc 1 1365 11 is_stmt 0 view .LVU435 1288 0038 2832 adds r2, r2, #40 1289 003a FFF7FEFF bl HAL_DMA_Start_IT 1290 .LVL84: 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1291 .loc 1 1365 10 view .LVU436 1292 003e 98B9 cbnz r0, .L124 1293 .L111: 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1294 .loc 1 1377 5 is_stmt 1 view .LVU437 1295 0040 2268 ldr r2, [r4] 1296 0042 4023 movs r3, #64 1297 0044 1362 str r3, [r2, #32] 1298 .L112: 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1299 .loc 1 1381 5 discriminator 1 view .LVU438 1300 .LBB545: 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1301 .loc 1 1381 5 discriminator 1 view .LVU439 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1302 .loc 1 1381 5 discriminator 1 view .LVU440 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1303 .loc 1 1381 5 discriminator 1 view .LVU441 1304 .LVL85: 1305 .LBB546: 1306 .LBI546: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1307 .loc 2 1068 31 discriminator 1 view .LVU442 1308 .LBB547: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1309 .loc 2 1070 5 discriminator 1 view .LVU443 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1310 .loc 2 1072 4 discriminator 1 view .LVU444 1311 0046 02F10803 add r3, r2, #8 1312 .LVL86: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1313 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU445 1314 .syntax unified 1315 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1316 004a 53E8003F ldrex r3, [r3] 1317 @ 0 "" 2 1318 .LVL87: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1319 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU446 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1320 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU447 1321 .thumb ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 117 1322 .syntax unified 1323 .LBE547: 1324 .LBE546: 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1325 .loc 1 1381 5 discriminator 1 view .LVU448 1326 004e 43F08003 orr r3, r3, #128 1327 .LVL88: 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1328 .loc 1 1381 5 is_stmt 1 discriminator 1 view .LVU449 1329 .LBB548: 1330 .LBI548: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1331 .loc 2 1119 31 discriminator 1 view .LVU450 1332 .LBB549: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1333 .loc 2 1121 4 discriminator 1 view .LVU451 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1334 .loc 2 1123 4 discriminator 1 view .LVU452 1335 0052 02F10801 add r1, r2, #8 1336 .LVL89: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1337 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU453 1338 .syntax unified 1339 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1340 0056 41E80030 strex r0, r3, [r1] 1341 @ 0 "" 2 1342 .LVL90: 1343 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU454 1344 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU455 1345 .thumb 1346 .syntax unified 1347 .LBE549: 1348 .LBE548: 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1349 .loc 1 1381 5 discriminator 1 view .LVU456 1350 005a 0028 cmp r0, #0 1351 005c F3D1 bne .L112 1352 .LBE545: 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1353 .loc 1 1389 1 view .LVU457 1354 005e 70BD pop {r4, r5, r6, pc} 1355 .LVL91: 1356 .L115: 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1357 .loc 1 1340 14 view .LVU458 1358 0060 0120 movs r0, #1 1359 .LVL92: 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1360 .loc 1 1389 1 view .LVU459 1361 0062 70BD pop {r4, r5, r6, pc} 1362 .LVL93: 1363 .L113: 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1364 .loc 1 1387 12 view .LVU460 1365 0064 0220 movs r0, #2 1366 .LVL94: 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 118 1367 .loc 1 1389 1 view .LVU461 1368 0066 70BD pop {r4, r5, r6, pc} 1369 .LVL95: 1370 .L124: 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1371 .loc 1 1368 9 is_stmt 1 view .LVU462 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1372 .loc 1 1368 26 is_stmt 0 view .LVU463 1373 0068 1023 movs r3, #16 1374 006a C4F88430 str r3, [r4, #132] 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1375 .loc 1 1371 9 is_stmt 1 view .LVU464 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1376 .loc 1 1373 16 is_stmt 0 view .LVU465 1377 006e 0120 movs r0, #1 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1378 .loc 1 1371 23 view .LVU466 1379 0070 E567 str r5, [r4, #124] 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1380 .loc 1 1373 9 is_stmt 1 view .LVU467 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1381 .loc 1 1389 1 is_stmt 0 view .LVU468 1382 0072 70BD pop {r4, r5, r6, pc} 1383 .LVL96: 1384 .L126: 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1385 .loc 1 1389 1 view .LVU469 1386 .align 2 1387 .L125: 1388 0074 00000000 .word UART_DMATransmitCplt 1389 0078 00000000 .word UART_DMATxHalfCplt 1390 007c 00000000 .word UART_DMAError 1391 .cfi_endproc 1392 .LFE141: 1394 .section .text.HAL_UART_DMAPause,"ax",%progbits 1395 .align 1 1396 .p2align 2,,3 1397 .global HAL_UART_DMAPause 1398 .syntax unified 1399 .thumb 1400 .thumb_func 1402 HAL_UART_DMAPause: 1403 .LVL97: 1404 .LFB143: 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1405 .loc 1 1437 1 is_stmt 1 view -0 1406 .cfi_startproc 1407 @ args = 0, pretend = 0, frame = 0 1408 @ frame_needed = 0, uses_anonymous_args = 0 1409 @ link register save eliminated. 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1410 .loc 1 1438 3 view .LVU471 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1411 .loc 1 1441 8 is_stmt 0 view .LVU472 1412 0000 0368 ldr r3, [r0] 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1413 .loc 1 1438 31 view .LVU473 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 119 1414 0002 C16F ldr r1, [r0, #124] 1415 .LVL98: 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1416 .loc 1 1439 3 is_stmt 1 view .LVU474 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1417 .loc 1 1439 31 is_stmt 0 view .LVU475 1418 0004 D0F88000 ldr r0, [r0, #128] 1419 .LVL99: 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1420 .loc 1 1441 3 is_stmt 1 view .LVU476 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1421 .loc 1 1441 8 is_stmt 0 view .LVU477 1422 0008 9A68 ldr r2, [r3, #8] 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1423 .loc 1 1441 6 view .LVU478 1424 000a 1206 lsls r2, r2, #24 1425 000c 01D5 bpl .L128 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1426 .loc 1 1441 62 discriminator 1 view .LVU479 1427 000e 2129 cmp r1, #33 1428 0010 06D0 beq .L130 1429 .LVL100: 1430 .L128: 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1431 .loc 1 1445 5 is_stmt 1 discriminator 2 view .LVU480 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1432 .loc 1 1447 3 discriminator 2 view .LVU481 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1433 .loc 1 1447 8 is_stmt 0 discriminator 2 view .LVU482 1434 0012 9A68 ldr r2, [r3, #8] 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1435 .loc 1 1447 6 discriminator 2 view .LVU483 1436 0014 5206 lsls r2, r2, #25 1437 0016 01D5 bpl .L139 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1438 .loc 1 1447 62 discriminator 1 view .LVU484 1439 0018 2228 cmp r0, #34 1440 001a 0ED0 beq .L134 1441 .LVL101: 1442 .L139: 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1443 .loc 1 1459 1 view .LVU485 1444 001c 0020 movs r0, #0 1445 001e 7047 bx lr 1446 .LVL102: 1447 .L130: 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1448 .loc 1 1445 5 is_stmt 1 discriminator 1 view .LVU486 1449 .LBB550: 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1450 .loc 1 1445 5 discriminator 1 view .LVU487 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1451 .loc 1 1445 5 discriminator 1 view .LVU488 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1452 .loc 1 1445 5 discriminator 1 view .LVU489 1453 .LBB551: 1454 .LBI551: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 120 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1455 .loc 2 1068 31 discriminator 1 view .LVU490 1456 .LBB552: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1457 .loc 2 1070 5 discriminator 1 view .LVU491 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1458 .loc 2 1072 4 discriminator 1 view .LVU492 1459 0020 03F10802 add r2, r3, #8 1460 .LVL103: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1461 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU493 1462 .syntax unified 1463 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1464 0024 52E8002F ldrex r2, [r2] 1465 @ 0 "" 2 1466 .LVL104: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1467 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU494 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1468 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU495 1469 .thumb 1470 .syntax unified 1471 .LBE552: 1472 .LBE551: 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1473 .loc 1 1445 5 discriminator 1 view .LVU496 1474 0028 22F08002 bic r2, r2, #128 1475 .LVL105: 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1476 .loc 1 1445 5 is_stmt 1 discriminator 1 view .LVU497 1477 .LBB553: 1478 .LBI553: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1479 .loc 2 1119 31 discriminator 1 view .LVU498 1480 .LBB554: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1481 .loc 2 1121 4 discriminator 1 view .LVU499 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1482 .loc 2 1123 4 discriminator 1 view .LVU500 1483 002c 03F1080C add ip, r3, #8 1484 .LVL106: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1485 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU501 1486 .syntax unified 1487 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1488 0030 4CE80021 strex r1, r2, [ip] 1489 @ 0 "" 2 1490 .LVL107: 1491 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU502 1492 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU503 1493 .thumb 1494 .syntax unified 1495 .LBE554: 1496 .LBE553: 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1497 .loc 1 1445 5 discriminator 1 view .LVU504 1498 0034 0029 cmp r1, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 121 1499 0036 F3D1 bne .L130 1500 0038 EBE7 b .L128 1501 .LVL108: 1502 .L134: 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1503 .loc 1 1445 5 discriminator 1 view .LVU505 1504 .LBE550: 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1505 .loc 1 1451 5 is_stmt 1 discriminator 1 view .LVU506 1506 .LBB555: 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1507 .loc 1 1451 5 discriminator 1 view .LVU507 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1508 .loc 1 1451 5 discriminator 1 view .LVU508 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1509 .loc 1 1451 5 discriminator 1 view .LVU509 1510 .LBB556: 1511 .LBI556: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1512 .loc 2 1068 31 discriminator 1 view .LVU510 1513 .LBB557: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1514 .loc 2 1070 5 discriminator 1 view .LVU511 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1515 .loc 2 1072 4 discriminator 1 view .LVU512 1516 .syntax unified 1517 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1518 003a 53E8002F ldrex r2, [r3] 1519 @ 0 "" 2 1520 .LVL109: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1521 .loc 2 1073 4 discriminator 1 view .LVU513 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1522 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU514 1523 .thumb 1524 .syntax unified 1525 .LBE557: 1526 .LBE556: 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1527 .loc 1 1451 5 discriminator 1 view .LVU515 1528 003e 22F48072 bic r2, r2, #256 1529 .LVL110: 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1530 .loc 1 1451 5 is_stmt 1 discriminator 1 view .LVU516 1531 .LBB558: 1532 .LBI558: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1533 .loc 2 1119 31 discriminator 1 view .LVU517 1534 .LBB559: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1535 .loc 2 1121 4 discriminator 1 view .LVU518 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1536 .loc 2 1123 4 discriminator 1 view .LVU519 1537 .syntax unified 1538 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1539 0042 43E80021 strex r1, r2, [r3] 1540 @ 0 "" 2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 122 1541 .LVL111: 1542 .loc 2 1124 4 discriminator 1 view .LVU520 1543 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU521 1544 .thumb 1545 .syntax unified 1546 .LBE559: 1547 .LBE558: 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1548 .loc 1 1451 5 discriminator 1 view .LVU522 1549 0046 0029 cmp r1, #0 1550 0048 F7D1 bne .L134 1551 .LVL112: 1552 .L133: 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1553 .loc 1 1451 5 discriminator 1 view .LVU523 1554 .LBE555: 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1555 .loc 1 1451 5 is_stmt 1 discriminator 1 view .LVU524 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1556 .loc 1 1452 5 discriminator 1 view .LVU525 1557 .LBB560: 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1558 .loc 1 1452 5 discriminator 1 view .LVU526 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1559 .loc 1 1452 5 discriminator 1 view .LVU527 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1560 .loc 1 1452 5 discriminator 1 view .LVU528 1561 .LBB561: 1562 .LBI561: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1563 .loc 2 1068 31 discriminator 1 view .LVU529 1564 .LBB562: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1565 .loc 2 1070 5 discriminator 1 view .LVU530 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1566 .loc 2 1072 4 discriminator 1 view .LVU531 1567 004a 03F10802 add r2, r3, #8 1568 .LVL113: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1569 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU532 1570 .syntax unified 1571 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1572 004e 52E8002F ldrex r2, [r2] 1573 @ 0 "" 2 1574 .LVL114: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1575 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU533 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1576 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU534 1577 .thumb 1578 .syntax unified 1579 .LBE562: 1580 .LBE561: 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1581 .loc 1 1452 5 discriminator 1 view .LVU535 1582 0052 22F00102 bic r2, r2, #1 1583 .LVL115: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 123 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1584 .loc 1 1452 5 is_stmt 1 discriminator 1 view .LVU536 1585 .LBB563: 1586 .LBI563: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1587 .loc 2 1119 31 discriminator 1 view .LVU537 1588 .LBB564: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1589 .loc 2 1121 4 discriminator 1 view .LVU538 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1590 .loc 2 1123 4 discriminator 1 view .LVU539 1591 0056 03F10800 add r0, r3, #8 1592 .LVL116: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1593 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU540 1594 .syntax unified 1595 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1596 005a 40E80021 strex r1, r2, [r0] 1597 @ 0 "" 2 1598 .LVL117: 1599 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU541 1600 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU542 1601 .thumb 1602 .syntax unified 1603 .LBE564: 1604 .LBE563: 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1605 .loc 1 1452 5 discriminator 1 view .LVU543 1606 005e 0029 cmp r1, #0 1607 0060 F3D1 bne .L133 1608 .LVL118: 1609 .L135: 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1610 .loc 1 1452 5 discriminator 1 view .LVU544 1611 .LBE560: 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1612 .loc 1 1452 5 is_stmt 1 discriminator 1 view .LVU545 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1613 .loc 1 1455 5 discriminator 1 view .LVU546 1614 .LBB565: 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1615 .loc 1 1455 5 discriminator 1 view .LVU547 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1616 .loc 1 1455 5 discriminator 1 view .LVU548 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1617 .loc 1 1455 5 discriminator 1 view .LVU549 1618 .LBB566: 1619 .LBI566: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1620 .loc 2 1068 31 discriminator 1 view .LVU550 1621 .LBB567: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1622 .loc 2 1070 5 discriminator 1 view .LVU551 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1623 .loc 2 1072 4 discriminator 1 view .LVU552 1624 0062 03F10802 add r2, r3, #8 1625 .LVL119: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 124 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1626 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU553 1627 .syntax unified 1628 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1629 0066 52E8002F ldrex r2, [r2] 1630 @ 0 "" 2 1631 .LVL120: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1632 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU554 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1633 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU555 1634 .thumb 1635 .syntax unified 1636 .LBE567: 1637 .LBE566: 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1638 .loc 1 1455 5 discriminator 1 view .LVU556 1639 006a 22F04002 bic r2, r2, #64 1640 .LVL121: 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1641 .loc 1 1455 5 is_stmt 1 discriminator 1 view .LVU557 1642 .LBB568: 1643 .LBI568: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1644 .loc 2 1119 31 discriminator 1 view .LVU558 1645 .LBB569: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1646 .loc 2 1121 4 discriminator 1 view .LVU559 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1647 .loc 2 1123 4 discriminator 1 view .LVU560 1648 006e 03F10800 add r0, r3, #8 1649 .LVL122: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1650 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU561 1651 .syntax unified 1652 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1653 0072 40E80021 strex r1, r2, [r0] 1654 @ 0 "" 2 1655 .LVL123: 1656 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU562 1657 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU563 1658 .thumb 1659 .syntax unified 1660 .LBE569: 1661 .LBE568: 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1662 .loc 1 1455 5 discriminator 1 view .LVU564 1663 0076 0029 cmp r1, #0 1664 0078 F3D1 bne .L135 1665 007a CFE7 b .L139 1666 .LBE565: 1667 .cfi_endproc 1668 .LFE143: 1670 .section .text.HAL_UART_DMAResume,"ax",%progbits 1671 .align 1 1672 .p2align 2,,3 1673 .global HAL_UART_DMAResume ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 125 1674 .syntax unified 1675 .thumb 1676 .thumb_func 1678 HAL_UART_DMAResume: 1679 .LVL124: 1680 .LFB144: 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1681 .loc 1 1467 1 is_stmt 1 view -0 1682 .cfi_startproc 1683 @ args = 0, pretend = 0, frame = 0 1684 @ frame_needed = 0, uses_anonymous_args = 0 1685 @ link register save eliminated. 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1686 .loc 1 1468 3 view .LVU566 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1687 .loc 1 1468 12 is_stmt 0 view .LVU567 1688 0000 C36F ldr r3, [r0, #124] 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1689 .loc 1 1468 6 view .LVU568 1690 0002 212B cmp r3, #33 1691 0004 05D0 beq .L163 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1692 .loc 1 1471 5 is_stmt 1 view .LVU569 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1693 .loc 1 1473 3 view .LVU570 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1694 .loc 1 1473 12 is_stmt 0 view .LVU571 1695 0006 D0F88030 ldr r3, [r0, #128] 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1696 .loc 1 1473 6 view .LVU572 1697 000a 222B cmp r3, #34 1698 000c 12D0 beq .L164 1699 .LVL125: 1700 .L162: 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1701 .loc 1 1490 1 view .LVU573 1702 000e 0020 movs r0, #0 1703 0010 7047 bx lr 1704 .LVL126: 1705 .L163: 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1706 .loc 1 1490 1 view .LVU574 1707 0012 0368 ldr r3, [r0] 1708 .L145: 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1709 .loc 1 1471 5 is_stmt 1 discriminator 1 view .LVU575 1710 .LBB570: 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1711 .loc 1 1471 5 discriminator 1 view .LVU576 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1712 .loc 1 1471 5 discriminator 1 view .LVU577 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1713 .loc 1 1471 5 discriminator 1 view .LVU578 1714 .LVL127: 1715 .LBB571: 1716 .LBI571: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 126 1717 .loc 2 1068 31 discriminator 1 view .LVU579 1718 .LBB572: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1719 .loc 2 1070 5 discriminator 1 view .LVU580 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1720 .loc 2 1072 4 discriminator 1 view .LVU581 1721 0014 03F10802 add r2, r3, #8 1722 .LVL128: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1723 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU582 1724 .syntax unified 1725 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1726 0018 52E8002F ldrex r2, [r2] 1727 @ 0 "" 2 1728 .LVL129: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1729 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU583 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1730 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU584 1731 .thumb 1732 .syntax unified 1733 .LBE572: 1734 .LBE571: 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1735 .loc 1 1471 5 discriminator 1 view .LVU585 1736 001c 42F08002 orr r2, r2, #128 1737 .LVL130: 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1738 .loc 1 1471 5 is_stmt 1 discriminator 1 view .LVU586 1739 .LBB573: 1740 .LBI573: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1741 .loc 2 1119 31 discriminator 1 view .LVU587 1742 .LBB574: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1743 .loc 2 1121 4 discriminator 1 view .LVU588 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1744 .loc 2 1123 4 discriminator 1 view .LVU589 1745 0020 03F1080C add ip, r3, #8 1746 .LVL131: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1747 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU590 1748 .syntax unified 1749 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1750 0024 4CE80021 strex r1, r2, [ip] 1751 @ 0 "" 2 1752 .LVL132: 1753 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU591 1754 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU592 1755 .thumb 1756 .syntax unified 1757 .LBE574: 1758 .LBE573: 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1759 .loc 1 1471 5 discriminator 1 view .LVU593 1760 0028 0029 cmp r1, #0 1761 002a F3D1 bne .L145 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 127 1762 .LBE570: 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1763 .loc 1 1471 5 is_stmt 1 view .LVU594 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1764 .loc 1 1473 3 view .LVU595 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1765 .loc 1 1473 12 is_stmt 0 view .LVU596 1766 002c D0F88030 ldr r3, [r0, #128] 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1767 .loc 1 1473 6 view .LVU597 1768 0030 222B cmp r3, #34 1769 0032 ECD1 bne .L162 1770 .LVL133: 1771 .L164: 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1772 .loc 1 1476 5 is_stmt 1 view .LVU598 1773 0034 0368 ldr r3, [r0] 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1774 .loc 1 1479 8 is_stmt 0 view .LVU599 1775 0036 0269 ldr r2, [r0, #16] 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1776 .loc 1 1476 5 view .LVU600 1777 0038 0821 movs r1, #8 1778 003a 1962 str r1, [r3, #32] 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1779 .loc 1 1479 5 is_stmt 1 view .LVU601 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 1780 .loc 1 1479 8 is_stmt 0 view .LVU602 1781 003c 3AB1 cbz r2, .L153 1782 .L151: 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1783 .loc 1 1481 7 is_stmt 1 discriminator 1 view .LVU603 1784 .LBB575: 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1785 .loc 1 1481 7 discriminator 1 view .LVU604 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1786 .loc 1 1481 7 discriminator 1 view .LVU605 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1787 .loc 1 1481 7 discriminator 1 view .LVU606 1788 .LVL134: 1789 .LBB576: 1790 .LBI576: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1791 .loc 2 1068 31 discriminator 1 view .LVU607 1792 .LBB577: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1793 .loc 2 1070 5 discriminator 1 view .LVU608 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1794 .loc 2 1072 4 discriminator 1 view .LVU609 1795 .syntax unified 1796 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1797 003e 53E8002F ldrex r2, [r3] 1798 @ 0 "" 2 1799 .LVL135: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1800 .loc 2 1073 4 discriminator 1 view .LVU610 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 128 1801 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU611 1802 .thumb 1803 .syntax unified 1804 .LBE577: 1805 .LBE576: 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1806 .loc 1 1481 7 discriminator 1 view .LVU612 1807 0042 42F48072 orr r2, r2, #256 1808 .LVL136: 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1809 .loc 1 1481 7 is_stmt 1 discriminator 1 view .LVU613 1810 .LBB578: 1811 .LBI578: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1812 .loc 2 1119 31 discriminator 1 view .LVU614 1813 .LBB579: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1814 .loc 2 1121 4 discriminator 1 view .LVU615 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1815 .loc 2 1123 4 discriminator 1 view .LVU616 1816 .syntax unified 1817 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1818 0046 43E80021 strex r1, r2, [r3] 1819 @ 0 "" 2 1820 .LVL137: 1821 .loc 2 1124 4 discriminator 1 view .LVU617 1822 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU618 1823 .thumb 1824 .syntax unified 1825 .LBE579: 1826 .LBE578: 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1827 .loc 1 1481 7 discriminator 1 view .LVU619 1828 004a 0029 cmp r1, #0 1829 004c F7D1 bne .L151 1830 .LVL138: 1831 .L153: 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1832 .loc 1 1481 7 discriminator 1 view .LVU620 1833 .LBE575: 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1834 .loc 1 1481 7 is_stmt 1 discriminator 1 view .LVU621 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1835 .loc 1 1483 5 discriminator 1 view .LVU622 1836 .LBB580: 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1837 .loc 1 1483 5 discriminator 1 view .LVU623 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1838 .loc 1 1483 5 discriminator 1 view .LVU624 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1839 .loc 1 1483 5 discriminator 1 view .LVU625 1840 .LBB581: 1841 .LBI581: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1842 .loc 2 1068 31 discriminator 1 view .LVU626 1843 .LBB582: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 129 1844 .loc 2 1070 5 discriminator 1 view .LVU627 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1845 .loc 2 1072 4 discriminator 1 view .LVU628 1846 004e 03F10802 add r2, r3, #8 1847 .LVL139: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1848 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU629 1849 .syntax unified 1850 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1851 0052 52E8002F ldrex r2, [r2] 1852 @ 0 "" 2 1853 .LVL140: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1854 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU630 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1855 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU631 1856 .thumb 1857 .syntax unified 1858 .LBE582: 1859 .LBE581: 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1860 .loc 1 1483 5 discriminator 1 view .LVU632 1861 0056 42F00102 orr r2, r2, #1 1862 .LVL141: 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1863 .loc 1 1483 5 is_stmt 1 discriminator 1 view .LVU633 1864 .LBB583: 1865 .LBI583: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1866 .loc 2 1119 31 discriminator 1 view .LVU634 1867 .LBB584: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1868 .loc 2 1121 4 discriminator 1 view .LVU635 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1869 .loc 2 1123 4 discriminator 1 view .LVU636 1870 005a 03F10800 add r0, r3, #8 1871 .LVL142: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1872 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU637 1873 .syntax unified 1874 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1875 005e 40E80021 strex r1, r2, [r0] 1876 @ 0 "" 2 1877 .LVL143: 1878 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU638 1879 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU639 1880 .thumb 1881 .syntax unified 1882 .LBE584: 1883 .LBE583: 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1884 .loc 1 1483 5 discriminator 1 view .LVU640 1885 0062 0029 cmp r1, #0 1886 0064 F3D1 bne .L153 1887 .LVL144: 1888 .L152: 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 130 1889 .loc 1 1483 5 discriminator 1 view .LVU641 1890 .LBE580: 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1891 .loc 1 1483 5 is_stmt 1 discriminator 1 view .LVU642 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1892 .loc 1 1486 5 discriminator 1 view .LVU643 1893 .LBB585: 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1894 .loc 1 1486 5 discriminator 1 view .LVU644 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1895 .loc 1 1486 5 discriminator 1 view .LVU645 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1896 .loc 1 1486 5 discriminator 1 view .LVU646 1897 .LBB586: 1898 .LBI586: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1899 .loc 2 1068 31 discriminator 1 view .LVU647 1900 .LBB587: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1901 .loc 2 1070 5 discriminator 1 view .LVU648 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1902 .loc 2 1072 4 discriminator 1 view .LVU649 1903 0066 03F10802 add r2, r3, #8 1904 .LVL145: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1905 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU650 1906 .syntax unified 1907 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1908 006a 52E8002F ldrex r2, [r2] 1909 @ 0 "" 2 1910 .LVL146: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1911 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU651 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1912 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU652 1913 .thumb 1914 .syntax unified 1915 .LBE587: 1916 .LBE586: 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1917 .loc 1 1486 5 discriminator 1 view .LVU653 1918 006e 42F04002 orr r2, r2, #64 1919 .LVL147: 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1920 .loc 1 1486 5 is_stmt 1 discriminator 1 view .LVU654 1921 .LBB588: 1922 .LBI588: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1923 .loc 2 1119 31 discriminator 1 view .LVU655 1924 .LBB589: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1925 .loc 2 1121 4 discriminator 1 view .LVU656 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1926 .loc 2 1123 4 discriminator 1 view .LVU657 1927 0072 03F10800 add r0, r3, #8 1928 .LVL148: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 131 1929 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU658 1930 .syntax unified 1931 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1932 0076 40E80021 strex r1, r2, [r0] 1933 @ 0 "" 2 1934 .LVL149: 1935 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU659 1936 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU660 1937 .thumb 1938 .syntax unified 1939 .LBE589: 1940 .LBE588: 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 1941 .loc 1 1486 5 discriminator 1 view .LVU661 1942 007a 0029 cmp r1, #0 1943 007c F3D1 bne .L152 1944 007e C6E7 b .L162 1945 .LBE585: 1946 .cfi_endproc 1947 .LFE144: 1949 .section .text.HAL_UART_DMAStop,"ax",%progbits 1950 .align 1 1951 .p2align 2,,3 1952 .global HAL_UART_DMAStop 1953 .syntax unified 1954 .thumb 1955 .thumb_func 1957 HAL_UART_DMAStop: 1958 .LVL150: 1959 .LFB145: 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1960 .loc 1 1498 1 is_stmt 1 view -0 1961 .cfi_startproc 1962 @ args = 0, pretend = 0, frame = 0 1963 @ frame_needed = 0, uses_anonymous_args = 0 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1964 .loc 1 1506 3 view .LVU663 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1965 .loc 1 1498 1 is_stmt 0 view .LVU664 1966 0000 38B5 push {r3, r4, r5, lr} 1967 .LCFI7: 1968 .cfi_def_cfa_offset 16 1969 .cfi_offset 3, -16 1970 .cfi_offset 4, -12 1971 .cfi_offset 5, -8 1972 .cfi_offset 14, -4 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1973 .loc 1 1510 8 view .LVU665 1974 0002 0368 ldr r3, [r0] 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1975 .loc 1 1506 31 view .LVU666 1976 0004 C16F ldr r1, [r0, #124] 1977 .LVL151: 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1978 .loc 1 1507 3 is_stmt 1 view .LVU667 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 1979 .loc 1 1507 31 is_stmt 0 view .LVU668 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 132 1980 0006 D0F88050 ldr r5, [r0, #128] 1981 .LVL152: 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1982 .loc 1 1510 3 is_stmt 1 view .LVU669 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1983 .loc 1 1510 8 is_stmt 0 view .LVU670 1984 000a 9A68 ldr r2, [r3, #8] 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1985 .loc 1 1510 6 view .LVU671 1986 000c 1206 lsls r2, r2, #24 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1987 .loc 1 1498 1 view .LVU672 1988 000e 0446 mov r4, r0 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1989 .loc 1 1510 6 view .LVU673 1990 0010 01D5 bpl .L166 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1991 .loc 1 1510 62 discriminator 1 view .LVU674 1992 0012 2129 cmp r1, #33 1993 0014 07D0 beq .L168 1994 .L166: 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1995 .loc 1 1534 3 is_stmt 1 view .LVU675 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1996 .loc 1 1534 8 is_stmt 0 view .LVU676 1997 0016 9868 ldr r0, [r3, #8] 1998 .LVL153: 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1999 .loc 1 1534 6 view .LVU677 2000 0018 10F04000 ands r0, r0, #64 2001 001c 02D0 beq .L172 2002 .LVL154: 2003 .L196: 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2004 .loc 1 1534 62 discriminator 1 view .LVU678 2005 001e 222D cmp r5, #34 2006 0020 22D0 beq .L174 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2007 .loc 1 1557 10 view .LVU679 2008 0022 0020 movs r0, #0 2009 .L172: 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2010 .loc 1 1558 1 view .LVU680 2011 0024 38BD pop {r3, r4, r5, pc} 2012 .LVL155: 2013 .L168: 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2014 .loc 1 1513 5 is_stmt 1 discriminator 1 view .LVU681 2015 .LBB590: 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2016 .loc 1 1513 5 discriminator 1 view .LVU682 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2017 .loc 1 1513 5 discriminator 1 view .LVU683 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2018 .loc 1 1513 5 discriminator 1 view .LVU684 2019 .LBB591: 2020 .LBI591: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 133 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2021 .loc 2 1068 31 discriminator 1 view .LVU685 2022 .LBB592: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2023 .loc 2 1070 5 discriminator 1 view .LVU686 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2024 .loc 2 1072 4 discriminator 1 view .LVU687 2025 0026 03F10802 add r2, r3, #8 2026 .LVL156: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2027 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU688 2028 .syntax unified 2029 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2030 002a 52E8002F ldrex r2, [r2] 2031 @ 0 "" 2 2032 .LVL157: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2033 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU689 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2034 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU690 2035 .thumb 2036 .syntax unified 2037 .LBE592: 2038 .LBE591: 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2039 .loc 1 1513 5 discriminator 1 view .LVU691 2040 002e 22F08002 bic r2, r2, #128 2041 .LVL158: 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2042 .loc 1 1513 5 is_stmt 1 discriminator 1 view .LVU692 2043 .LBB593: 2044 .LBI593: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2045 .loc 2 1119 31 discriminator 1 view .LVU693 2046 .LBB594: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2047 .loc 2 1121 4 discriminator 1 view .LVU694 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2048 .loc 2 1123 4 discriminator 1 view .LVU695 2049 0032 03F10800 add r0, r3, #8 2050 .LVL159: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2051 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU696 2052 .syntax unified 2053 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2054 0036 40E80021 strex r1, r2, [r0] 2055 @ 0 "" 2 2056 .LVL160: 2057 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU697 2058 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU698 2059 .thumb 2060 .syntax unified 2061 .LBE594: 2062 .LBE593: 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2063 .loc 1 1513 5 discriminator 1 view .LVU699 2064 003a 0029 cmp r1, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 134 2065 003c F3D1 bne .L168 2066 .LBE590: 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2067 .loc 1 1513 5 is_stmt 1 discriminator 2 view .LVU700 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2068 .loc 1 1516 5 discriminator 2 view .LVU701 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2069 .loc 1 1516 14 is_stmt 0 discriminator 2 view .LVU702 2070 003e 206F ldr r0, [r4, #112] 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2071 .loc 1 1516 8 discriminator 2 view .LVU703 2072 0040 18B1 cbz r0, .L170 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2073 .loc 1 1518 7 is_stmt 1 view .LVU704 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2074 .loc 1 1518 11 is_stmt 0 view .LVU705 2075 0042 FFF7FEFF bl HAL_DMA_Abort 2076 .LVL161: 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2077 .loc 1 1518 10 view .LVU706 2078 0046 78BB cbnz r0, .L191 2079 .L194: 2080 0048 2368 ldr r3, [r4] 2081 .L170: 2082 .LBB595: 2083 .LBB596: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2084 .loc 1 3327 3 is_stmt 1 view .LVU707 2085 .LBB597: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2086 .loc 1 3327 3 view .LVU708 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2087 .loc 1 3327 3 view .LVU709 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2088 .loc 1 3327 3 view .LVU710 2089 .LVL162: 2090 .LBB598: 2091 .LBI598: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2092 .loc 2 1068 31 view .LVU711 2093 .LBB599: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2094 .loc 2 1070 5 view .LVU712 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2095 .loc 2 1072 4 view .LVU713 2096 .syntax unified 2097 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2098 004a 53E8002F ldrex r2, [r3] 2099 @ 0 "" 2 2100 .LVL163: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2101 .loc 2 1073 4 view .LVU714 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2102 .loc 2 1073 4 is_stmt 0 view .LVU715 2103 .thumb 2104 .syntax unified 2105 .LBE599: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 135 2106 .LBE598: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2107 .loc 1 3327 3 view .LVU716 2108 004e 22F0C002 bic r2, r2, #192 2109 .LVL164: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2110 .loc 1 3327 3 is_stmt 1 view .LVU717 2111 .LBB600: 2112 .LBI600: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2113 .loc 2 1119 31 view .LVU718 2114 .LBB601: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2115 .loc 2 1121 4 view .LVU719 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2116 .loc 2 1123 4 view .LVU720 2117 .syntax unified 2118 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2119 0052 43E80021 strex r1, r2, [r3] 2120 @ 0 "" 2 2121 .LVL165: 2122 .loc 2 1124 4 view .LVU721 2123 .loc 2 1124 4 is_stmt 0 view .LVU722 2124 .thumb 2125 .syntax unified 2126 .LBE601: 2127 .LBE600: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2128 .loc 1 3327 3 view .LVU723 2129 0056 0029 cmp r1, #0 2130 0058 F7D1 bne .L170 2131 .LBE597: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2132 .loc 1 3327 3 is_stmt 1 view .LVU724 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2133 .loc 1 3330 3 view .LVU725 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2134 .loc 1 3330 17 is_stmt 0 view .LVU726 2135 005a 2022 movs r2, #32 2136 .LVL166: 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2137 .loc 1 3330 17 view .LVU727 2138 005c E267 str r2, [r4, #124] 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2139 .loc 1 3330 17 view .LVU728 2140 .LBE596: 2141 .LBE595: 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2142 .loc 1 1534 3 is_stmt 1 view .LVU729 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2143 .loc 1 1534 8 is_stmt 0 view .LVU730 2144 005e 9868 ldr r0, [r3, #8] 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 2145 .loc 1 1534 6 view .LVU731 2146 0060 10F04000 ands r0, r0, #64 2147 0064 DED0 beq .L172 2148 0066 DAE7 b .L196 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 136 2149 .L174: 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2150 .loc 1 1537 5 is_stmt 1 discriminator 1 view .LVU732 2151 .LBB602: 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2152 .loc 1 1537 5 discriminator 1 view .LVU733 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2153 .loc 1 1537 5 discriminator 1 view .LVU734 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2154 .loc 1 1537 5 discriminator 1 view .LVU735 2155 .LVL167: 2156 .LBB603: 2157 .LBI603: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2158 .loc 2 1068 31 discriminator 1 view .LVU736 2159 .LBB604: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2160 .loc 2 1070 5 discriminator 1 view .LVU737 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2161 .loc 2 1072 4 discriminator 1 view .LVU738 2162 0068 03F10802 add r2, r3, #8 2163 .LVL168: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2164 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU739 2165 .syntax unified 2166 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2167 006c 52E8002F ldrex r2, [r2] 2168 @ 0 "" 2 2169 .LVL169: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2170 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU740 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2171 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU741 2172 .thumb 2173 .syntax unified 2174 .LBE604: 2175 .LBE603: 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2176 .loc 1 1537 5 discriminator 1 view .LVU742 2177 0070 22F04002 bic r2, r2, #64 2178 .LVL170: 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2179 .loc 1 1537 5 is_stmt 1 discriminator 1 view .LVU743 2180 .LBB605: 2181 .LBI605: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2182 .loc 2 1119 31 discriminator 1 view .LVU744 2183 .LBB606: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2184 .loc 2 1121 4 discriminator 1 view .LVU745 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2185 .loc 2 1123 4 discriminator 1 view .LVU746 2186 0074 03F10800 add r0, r3, #8 2187 .LVL171: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2188 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU747 2189 .syntax unified ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 137 2190 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2191 0078 40E80021 strex r1, r2, [r0] 2192 @ 0 "" 2 2193 .LVL172: 2194 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU748 2195 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU749 2196 .thumb 2197 .syntax unified 2198 .LBE606: 2199 .LBE605: 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2200 .loc 1 1537 5 discriminator 1 view .LVU750 2201 007c 0029 cmp r1, #0 2202 007e F3D1 bne .L174 2203 .LBE602: 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2204 .loc 1 1537 5 is_stmt 1 discriminator 2 view .LVU751 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2205 .loc 1 1540 5 discriminator 2 view .LVU752 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2206 .loc 1 1540 14 is_stmt 0 discriminator 2 view .LVU753 2207 0080 606F ldr r0, [r4, #116] 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2208 .loc 1 1540 8 discriminator 2 view .LVU754 2209 0082 10B1 cbz r0, .L175 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2210 .loc 1 1542 7 is_stmt 1 view .LVU755 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2211 .loc 1 1542 11 is_stmt 0 view .LVU756 2212 0084 FFF7FEFF bl HAL_DMA_Abort 2213 .LVL173: 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2214 .loc 1 1542 10 view .LVU757 2215 0088 20B9 cbnz r0, .L197 2216 .L175: 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2217 .loc 1 1554 5 is_stmt 1 view .LVU758 2218 008a 2046 mov r0, r4 2219 008c FFF7FEFF bl UART_EndRxTransfer 2220 .LVL174: 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2221 .loc 1 1557 10 is_stmt 0 view .LVU759 2222 0090 0020 movs r0, #0 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2223 .loc 1 1558 1 view .LVU760 2224 0092 38BD pop {r3, r4, r5, pc} 2225 .LVL175: 2226 .L197: 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2227 .loc 1 1544 9 is_stmt 1 view .LVU761 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2228 .loc 1 1544 13 is_stmt 0 view .LVU762 2229 0094 606F ldr r0, [r4, #116] 2230 0096 FFF7FEFF bl HAL_DMA_GetError 2231 .LVL176: 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2232 .loc 1 1544 12 view .LVU763 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 138 2233 009a 2028 cmp r0, #32 2234 009c F5D1 bne .L175 2235 .L195: 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2236 .loc 1 1547 11 is_stmt 1 view .LVU764 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2237 .loc 1 1547 28 is_stmt 0 view .LVU765 2238 009e 1023 movs r3, #16 2239 00a0 C4F88430 str r3, [r4, #132] 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2240 .loc 1 1549 11 is_stmt 1 view .LVU766 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2241 .loc 1 1549 18 is_stmt 0 view .LVU767 2242 00a4 0320 movs r0, #3 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2243 .loc 1 1558 1 view .LVU768 2244 00a6 38BD pop {r3, r4, r5, pc} 2245 .LVL177: 2246 .L191: 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2247 .loc 1 1520 9 is_stmt 1 view .LVU769 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2248 .loc 1 1520 13 is_stmt 0 view .LVU770 2249 00a8 206F ldr r0, [r4, #112] 2250 00aa FFF7FEFF bl HAL_DMA_GetError 2251 .LVL178: 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2252 .loc 1 1520 12 view .LVU771 2253 00ae 2028 cmp r0, #32 2254 00b0 CAD1 bne .L194 2255 00b2 F4E7 b .L195 2256 .cfi_endproc 2257 .LFE145: 2259 .section .text.HAL_UART_Abort,"ax",%progbits 2260 .align 1 2261 .p2align 2,,3 2262 .global HAL_UART_Abort 2263 .syntax unified 2264 .thumb 2265 .thumb_func 2267 HAL_UART_Abort: 2268 .LVL179: 2269 .LFB146: 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2270 .loc 1 1573 1 is_stmt 1 view -0 2271 .cfi_startproc 2272 @ args = 0, pretend = 0, frame = 0 2273 @ frame_needed = 0, uses_anonymous_args = 0 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2274 .loc 1 1573 1 is_stmt 0 view .LVU773 2275 0000 38B5 push {r3, r4, r5, lr} 2276 .LCFI8: 2277 .cfi_def_cfa_offset 16 2278 .cfi_offset 3, -16 2279 .cfi_offset 4, -12 2280 .cfi_offset 5, -8 2281 .cfi_offset 14, -4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 139 2282 0002 0368 ldr r3, [r0] 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2283 .loc 1 1573 1 view .LVU774 2284 0004 0446 mov r4, r0 2285 .L199: 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2286 .loc 1 1575 3 is_stmt 1 discriminator 1 view .LVU775 2287 .LBB607: 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2288 .loc 1 1575 3 discriminator 1 view .LVU776 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2289 .loc 1 1575 3 discriminator 1 view .LVU777 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2290 .loc 1 1575 3 discriminator 1 view .LVU778 2291 .LVL180: 2292 .LBB608: 2293 .LBI608: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2294 .loc 2 1068 31 discriminator 1 view .LVU779 2295 .LBB609: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2296 .loc 2 1070 5 discriminator 1 view .LVU780 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2297 .loc 2 1072 4 discriminator 1 view .LVU781 2298 .syntax unified 2299 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2300 0006 53E8002F ldrex r2, [r3] 2301 @ 0 "" 2 2302 .LVL181: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2303 .loc 2 1073 4 discriminator 1 view .LVU782 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2304 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU783 2305 .thumb 2306 .syntax unified 2307 .LBE609: 2308 .LBE608: 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2309 .loc 1 1575 3 discriminator 1 view .LVU784 2310 000a 22F4F072 bic r2, r2, #480 2311 .LVL182: 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2312 .loc 1 1575 3 is_stmt 1 discriminator 1 view .LVU785 2313 .LBB610: 2314 .LBI610: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2315 .loc 2 1119 31 discriminator 1 view .LVU786 2316 .LBB611: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2317 .loc 2 1121 4 discriminator 1 view .LVU787 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2318 .loc 2 1123 4 discriminator 1 view .LVU788 2319 .syntax unified 2320 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2321 000e 43E80021 strex r1, r2, [r3] 2322 @ 0 "" 2 2323 .LVL183: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 140 2324 .loc 2 1124 4 discriminator 1 view .LVU789 2325 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU790 2326 .thumb 2327 .syntax unified 2328 .LBE611: 2329 .LBE610: 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2330 .loc 1 1575 3 discriminator 1 view .LVU791 2331 0012 0029 cmp r1, #0 2332 0014 F7D1 bne .L199 2333 .LVL184: 2334 .L200: 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2335 .loc 1 1575 3 discriminator 1 view .LVU792 2336 .LBE607: 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2337 .loc 1 1575 3 is_stmt 1 discriminator 1 view .LVU793 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2338 .loc 1 1576 3 discriminator 1 view .LVU794 2339 .LBB612: 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2340 .loc 1 1576 3 discriminator 1 view .LVU795 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2341 .loc 1 1576 3 discriminator 1 view .LVU796 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2342 .loc 1 1576 3 discriminator 1 view .LVU797 2343 .LBB613: 2344 .LBI613: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2345 .loc 2 1068 31 discriminator 1 view .LVU798 2346 .LBB614: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2347 .loc 2 1070 5 discriminator 1 view .LVU799 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2348 .loc 2 1072 4 discriminator 1 view .LVU800 2349 0016 03F10802 add r2, r3, #8 2350 .LVL185: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2351 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU801 2352 .syntax unified 2353 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2354 001a 52E8002F ldrex r2, [r2] 2355 @ 0 "" 2 2356 .LVL186: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2357 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU802 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2358 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU803 2359 .thumb 2360 .syntax unified 2361 .LBE614: 2362 .LBE613: 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2363 .loc 1 1576 3 discriminator 1 view .LVU804 2364 001e 22F00102 bic r2, r2, #1 2365 .LVL187: 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 141 2366 .loc 1 1576 3 is_stmt 1 discriminator 1 view .LVU805 2367 .LBB615: 2368 .LBI615: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2369 .loc 2 1119 31 discriminator 1 view .LVU806 2370 .LBB616: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2371 .loc 2 1121 4 discriminator 1 view .LVU807 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2372 .loc 2 1123 4 discriminator 1 view .LVU808 2373 0022 03F10800 add r0, r3, #8 2374 .LVL188: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2375 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU809 2376 .syntax unified 2377 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2378 0026 40E80021 strex r1, r2, [r0] 2379 @ 0 "" 2 2380 .LVL189: 2381 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU810 2382 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU811 2383 .thumb 2384 .syntax unified 2385 .LBE616: 2386 .LBE615: 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2387 .loc 1 1576 3 discriminator 1 view .LVU812 2388 002a 0029 cmp r1, #0 2389 002c F3D1 bne .L200 2390 .LBE612: 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2391 .loc 1 1576 3 is_stmt 1 discriminator 2 view .LVU813 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2392 .loc 1 1579 3 discriminator 2 view .LVU814 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2393 .loc 1 1579 12 is_stmt 0 discriminator 2 view .LVU815 2394 002e 226E ldr r2, [r4, #96] 2395 .LVL190: 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2396 .loc 1 1579 6 discriminator 2 view .LVU816 2397 0030 012A cmp r2, #1 2398 0032 44D0 beq .L201 2399 .L204: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2400 .loc 1 1581 5 is_stmt 1 view .LVU817 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2401 .loc 1 1585 3 view .LVU818 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2402 .loc 1 1585 7 is_stmt 0 view .LVU819 2403 0034 9968 ldr r1, [r3, #8] 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2404 .loc 1 1585 6 view .LVU820 2405 0036 0806 lsls r0, r1, #24 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2406 .loc 1 1585 7 view .LVU821 2407 0038 1A46 mov r2, r3 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 142 2408 .loc 1 1585 6 view .LVU822 2409 003a 2BD4 bmi .L202 2410 .L203: 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2411 .loc 1 1611 3 is_stmt 1 view .LVU823 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2412 .loc 1 1611 7 is_stmt 0 view .LVU824 2413 003c 9968 ldr r1, [r3, #8] 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2414 .loc 1 1611 6 view .LVU825 2415 003e 4906 lsls r1, r1, #25 2416 0040 14D5 bpl .L210 2417 .L212: 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2418 .loc 1 1614 5 is_stmt 1 discriminator 1 view .LVU826 2419 .LBB617: 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2420 .loc 1 1614 5 discriminator 1 view .LVU827 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2421 .loc 1 1614 5 discriminator 1 view .LVU828 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2422 .loc 1 1614 5 discriminator 1 view .LVU829 2423 .LVL191: 2424 .LBB618: 2425 .LBI618: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2426 .loc 2 1068 31 discriminator 1 view .LVU830 2427 .LBB619: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2428 .loc 2 1070 5 discriminator 1 view .LVU831 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2429 .loc 2 1072 4 discriminator 1 view .LVU832 2430 0042 03F10802 add r2, r3, #8 2431 .LVL192: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2432 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU833 2433 .syntax unified 2434 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2435 0046 52E8002F ldrex r2, [r2] 2436 @ 0 "" 2 2437 .LVL193: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2438 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU834 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2439 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU835 2440 .thumb 2441 .syntax unified 2442 .LBE619: 2443 .LBE618: 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2444 .loc 1 1614 5 discriminator 1 view .LVU836 2445 004a 22F04002 bic r2, r2, #64 2446 .LVL194: 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2447 .loc 1 1614 5 is_stmt 1 discriminator 1 view .LVU837 2448 .LBB620: 2449 .LBI620: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 143 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2450 .loc 2 1119 31 discriminator 1 view .LVU838 2451 .LBB621: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2452 .loc 2 1121 4 discriminator 1 view .LVU839 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2453 .loc 2 1123 4 discriminator 1 view .LVU840 2454 004e 03F10800 add r0, r3, #8 2455 .LVL195: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2456 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU841 2457 .syntax unified 2458 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2459 0052 40E80021 strex r1, r2, [r0] 2460 @ 0 "" 2 2461 .LVL196: 2462 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU842 2463 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU843 2464 .thumb 2465 .syntax unified 2466 .LBE621: 2467 .LBE620: 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2468 .loc 1 1614 5 discriminator 1 view .LVU844 2469 0056 0029 cmp r1, #0 2470 0058 F3D1 bne .L212 2471 .LBE617: 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2472 .loc 1 1614 5 is_stmt 1 discriminator 2 view .LVU845 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2473 .loc 1 1617 5 discriminator 2 view .LVU846 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2474 .loc 1 1617 14 is_stmt 0 discriminator 2 view .LVU847 2475 005a 606F ldr r0, [r4, #116] 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2476 .loc 1 1617 8 discriminator 2 view .LVU848 2477 005c 0028 cmp r0, #0 2478 005e 3FD0 beq .L230 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2479 .loc 1 1621 7 is_stmt 1 view .LVU849 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2480 .loc 1 1621 40 is_stmt 0 view .LVU850 2481 0060 4163 str r1, [r0, #52] 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2482 .loc 1 1623 7 is_stmt 1 view .LVU851 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2483 .loc 1 1623 11 is_stmt 0 view .LVU852 2484 0062 FFF7FEFF bl HAL_DMA_Abort 2485 .LVL197: 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2486 .loc 1 1623 10 view .LVU853 2487 0066 0028 cmp r0, #0 2488 0068 46D1 bne .L214 2489 .L228: 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2490 .loc 1 1641 3 view .LVU854 2491 006a 2268 ldr r2, [r4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 144 2492 .L210: 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 2493 .loc 1 1637 3 is_stmt 1 view .LVU855 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 2494 .loc 1 1637 22 is_stmt 0 view .LVU856 2495 006c 0023 movs r3, #0 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2496 .loc 1 1641 3 view .LVU857 2497 006e 0F21 movs r1, #15 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 2498 .loc 1 1637 22 view .LVU858 2499 0070 A4F85230 strh r3, [r4, #82] @ movhi 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2500 .loc 1 1638 3 is_stmt 1 view .LVU859 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2501 .loc 1 1638 22 is_stmt 0 view .LVU860 2502 0074 A4F85A30 strh r3, [r4, #90] @ movhi 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2503 .loc 1 1641 3 is_stmt 1 view .LVU861 2504 0078 1162 str r1, [r2, #32] 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2505 .loc 1 1645 3 view .LVU862 2506 007a 9169 ldr r1, [r2, #24] 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2507 .loc 1 1648 18 is_stmt 0 view .LVU863 2508 007c 2025 movs r5, #32 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2509 .loc 1 1645 3 view .LVU864 2510 007e 41F00801 orr r1, r1, #8 2511 0082 9161 str r1, [r2, #24] 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2512 .loc 1 1648 3 is_stmt 1 view .LVU865 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2513 .loc 1 1654 10 is_stmt 0 view .LVU866 2514 0084 1846 mov r0, r3 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2515 .loc 1 1648 18 view .LVU867 2516 0086 E567 str r5, [r4, #124] 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2517 .loc 1 1649 3 is_stmt 1 view .LVU868 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2518 .loc 1 1649 18 is_stmt 0 view .LVU869 2519 0088 C4F88050 str r5, [r4, #128] 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2520 .loc 1 1650 3 is_stmt 1 view .LVU870 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2521 .loc 1 1650 24 is_stmt 0 view .LVU871 2522 008c 2366 str r3, [r4, #96] 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2523 .loc 1 1652 3 is_stmt 1 view .LVU872 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2524 .loc 1 1652 20 is_stmt 0 view .LVU873 2525 008e C4F88430 str r3, [r4, #132] 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2526 .loc 1 1654 3 is_stmt 1 view .LVU874 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2527 .loc 1 1655 1 is_stmt 0 view .LVU875 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 145 2528 0092 38BD pop {r3, r4, r5, pc} 2529 .LVL198: 2530 .L202: 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2531 .loc 1 1588 5 is_stmt 1 discriminator 1 view .LVU876 2532 .LBB622: 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2533 .loc 1 1588 5 discriminator 1 view .LVU877 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2534 .loc 1 1588 5 discriminator 1 view .LVU878 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2535 .loc 1 1588 5 discriminator 1 view .LVU879 2536 .LBB623: 2537 .LBI623: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2538 .loc 2 1068 31 discriminator 1 view .LVU880 2539 .LBB624: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2540 .loc 2 1070 5 discriminator 1 view .LVU881 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2541 .loc 2 1072 4 discriminator 1 view .LVU882 2542 0094 03F10802 add r2, r3, #8 2543 .LVL199: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2544 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU883 2545 .syntax unified 2546 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2547 0098 52E8002F ldrex r2, [r2] 2548 @ 0 "" 2 2549 .LVL200: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2550 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU884 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2551 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU885 2552 .thumb 2553 .syntax unified 2554 .LBE624: 2555 .LBE623: 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2556 .loc 1 1588 5 discriminator 1 view .LVU886 2557 009c 22F08002 bic r2, r2, #128 2558 .LVL201: 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2559 .loc 1 1588 5 is_stmt 1 discriminator 1 view .LVU887 2560 .LBB625: 2561 .LBI625: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2562 .loc 2 1119 31 discriminator 1 view .LVU888 2563 .LBB626: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2564 .loc 2 1121 4 discriminator 1 view .LVU889 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2565 .loc 2 1123 4 discriminator 1 view .LVU890 2566 00a0 03F10800 add r0, r3, #8 2567 .LVL202: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2568 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU891 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 146 2569 .syntax unified 2570 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2571 00a4 40E80021 strex r1, r2, [r0] 2572 @ 0 "" 2 2573 .LVL203: 2574 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU892 2575 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU893 2576 .thumb 2577 .syntax unified 2578 .LBE626: 2579 .LBE625: 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2580 .loc 1 1588 5 discriminator 1 view .LVU894 2581 00a8 0029 cmp r1, #0 2582 00aa F3D1 bne .L202 2583 .LBE622: 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2584 .loc 1 1588 5 is_stmt 1 discriminator 2 view .LVU895 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2585 .loc 1 1591 5 discriminator 2 view .LVU896 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2586 .loc 1 1591 14 is_stmt 0 discriminator 2 view .LVU897 2587 00ac 206F ldr r0, [r4, #112] 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2588 .loc 1 1591 8 discriminator 2 view .LVU898 2589 00ae 20B1 cbz r0, .L226 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2590 .loc 1 1595 7 is_stmt 1 view .LVU899 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2591 .loc 1 1595 40 is_stmt 0 view .LVU900 2592 00b0 4163 str r1, [r0, #52] 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2593 .loc 1 1597 7 is_stmt 1 view .LVU901 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2594 .loc 1 1597 11 is_stmt 0 view .LVU902 2595 00b2 FFF7FEFF bl HAL_DMA_Abort 2596 .LVL204: 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2597 .loc 1 1597 10 view .LVU903 2598 00b6 A8B9 cbnz r0, .L207 2599 .L227: 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2600 .loc 1 1611 7 view .LVU904 2601 00b8 2368 ldr r3, [r4] 2602 .L226: 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2603 .loc 1 1611 7 view .LVU905 2604 00ba 1A46 mov r2, r3 2605 00bc BEE7 b .L203 2606 .L201: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2607 .loc 1 1581 5 is_stmt 1 discriminator 1 view .LVU906 2608 .LBB627: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2609 .loc 1 1581 5 discriminator 1 view .LVU907 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2610 .loc 1 1581 5 discriminator 1 view .LVU908 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 147 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2611 .loc 1 1581 5 discriminator 1 view .LVU909 2612 .LVL205: 2613 .LBB628: 2614 .LBI628: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2615 .loc 2 1068 31 discriminator 1 view .LVU910 2616 .LBB629: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2617 .loc 2 1070 5 discriminator 1 view .LVU911 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2618 .loc 2 1072 4 discriminator 1 view .LVU912 2619 .syntax unified 2620 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2621 00be 53E8002F ldrex r2, [r3] 2622 @ 0 "" 2 2623 .LVL206: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2624 .loc 2 1073 4 discriminator 1 view .LVU913 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2625 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU914 2626 .thumb 2627 .syntax unified 2628 .LBE629: 2629 .LBE628: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2630 .loc 1 1581 5 discriminator 1 view .LVU915 2631 00c2 22F01002 bic r2, r2, #16 2632 .LVL207: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2633 .loc 1 1581 5 is_stmt 1 discriminator 1 view .LVU916 2634 .LBB631: 2635 .LBI631: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2636 .loc 2 1119 31 discriminator 1 view .LVU917 2637 .LBB632: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2638 .loc 2 1121 4 discriminator 1 view .LVU918 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2639 .loc 2 1123 4 discriminator 1 view .LVU919 2640 .syntax unified 2641 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2642 00c6 43E80021 strex r1, r2, [r3] 2643 @ 0 "" 2 2644 .LVL208: 2645 .loc 2 1124 4 discriminator 1 view .LVU920 2646 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU921 2647 .thumb 2648 .syntax unified 2649 .LBE632: 2650 .LBE631: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2651 .loc 1 1581 5 discriminator 1 view .LVU922 2652 00ca 0029 cmp r1, #0 2653 00cc B2D0 beq .L204 2654 .LBE627: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 148 2655 .loc 1 1581 5 is_stmt 1 view .LVU923 2656 .LBB636: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2657 .loc 1 1581 5 view .LVU924 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2658 .loc 1 1581 5 view .LVU925 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2659 .loc 1 1581 5 view .LVU926 2660 .LVL209: 2661 .LBB634: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2662 .loc 2 1068 31 view .LVU927 2663 .LBB630: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2664 .loc 2 1070 5 view .LVU928 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2665 .loc 2 1072 4 view .LVU929 2666 .syntax unified 2667 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2668 00ce 53E8002F ldrex r2, [r3] 2669 @ 0 "" 2 2670 .LVL210: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2671 .loc 2 1073 4 view .LVU930 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2672 .loc 2 1073 4 is_stmt 0 view .LVU931 2673 .thumb 2674 .syntax unified 2675 .LBE630: 2676 .LBE634: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2677 .loc 1 1581 5 view .LVU932 2678 00d2 22F01002 bic r2, r2, #16 2679 .LVL211: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2680 .loc 1 1581 5 is_stmt 1 view .LVU933 2681 .LBB635: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2682 .loc 2 1119 31 view .LVU934 2683 .LBB633: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2684 .loc 2 1121 4 view .LVU935 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2685 .loc 2 1123 4 view .LVU936 2686 .syntax unified 2687 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2688 00d6 43E80021 strex r1, r2, [r3] 2689 @ 0 "" 2 2690 .LVL212: 2691 .loc 2 1124 4 view .LVU937 2692 .loc 2 1124 4 is_stmt 0 view .LVU938 2693 .thumb 2694 .syntax unified 2695 .LBE633: 2696 .LBE635: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2697 .loc 1 1581 5 view .LVU939 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 149 2698 00da 0029 cmp r1, #0 2699 00dc EFD1 bne .L201 2700 00de A9E7 b .L204 2701 .LVL213: 2702 .L230: 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2703 .loc 1 1581 5 view .LVU940 2704 .LBE636: 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2705 .loc 1 1641 3 view .LVU941 2706 00e0 1A46 mov r2, r3 2707 .LVL214: 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2708 .loc 1 1641 3 view .LVU942 2709 00e2 C3E7 b .L210 2710 .L207: 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2711 .loc 1 1599 9 is_stmt 1 view .LVU943 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2712 .loc 1 1599 13 is_stmt 0 view .LVU944 2713 00e4 206F ldr r0, [r4, #112] 2714 00e6 FFF7FEFF bl HAL_DMA_GetError 2715 .LVL215: 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2716 .loc 1 1599 12 view .LVU945 2717 00ea 2028 cmp r0, #32 2718 00ec E4D1 bne .L227 2719 .L215: 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2720 .loc 1 1628 11 is_stmt 1 view .LVU946 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2721 .loc 1 1628 28 is_stmt 0 view .LVU947 2722 00ee 1023 movs r3, #16 2723 00f0 C4F88430 str r3, [r4, #132] 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2724 .loc 1 1630 11 is_stmt 1 view .LVU948 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2725 .loc 1 1630 18 is_stmt 0 view .LVU949 2726 00f4 0320 movs r0, #3 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2727 .loc 1 1655 1 view .LVU950 2728 00f6 38BD pop {r3, r4, r5, pc} 2729 .LVL216: 2730 .L214: 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2731 .loc 1 1625 9 is_stmt 1 view .LVU951 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2732 .loc 1 1625 13 is_stmt 0 view .LVU952 2733 00f8 606F ldr r0, [r4, #116] 2734 00fa FFF7FEFF bl HAL_DMA_GetError 2735 .LVL217: 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2736 .loc 1 1625 12 view .LVU953 2737 00fe 2028 cmp r0, #32 2738 0100 B3D1 bne .L228 2739 0102 F4E7 b .L215 2740 .cfi_endproc ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 150 2741 .LFE146: 2743 .section .text.HAL_UART_AbortTransmit,"ax",%progbits 2744 .align 1 2745 .p2align 2,,3 2746 .global HAL_UART_AbortTransmit 2747 .syntax unified 2748 .thumb 2749 .thumb_func 2751 HAL_UART_AbortTransmit: 2752 .LVL218: 2753 .LFB147: 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 2754 .loc 1 1670 1 is_stmt 1 view -0 2755 .cfi_startproc 2756 @ args = 0, pretend = 0, frame = 0 2757 @ frame_needed = 0, uses_anonymous_args = 0 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 2758 .loc 1 1670 1 is_stmt 0 view .LVU955 2759 0000 0268 ldr r2, [r0] 2760 0002 10B5 push {r4, lr} 2761 .LCFI9: 2762 .cfi_def_cfa_offset 8 2763 .cfi_offset 4, -8 2764 .cfi_offset 14, -4 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 2765 .loc 1 1670 1 view .LVU956 2766 0004 0446 mov r4, r0 2767 .L232: 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2768 .loc 1 1672 3 is_stmt 1 discriminator 1 view .LVU957 2769 .LBB637: 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2770 .loc 1 1672 3 discriminator 1 view .LVU958 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2771 .loc 1 1672 3 discriminator 1 view .LVU959 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2772 .loc 1 1672 3 discriminator 1 view .LVU960 2773 .LVL219: 2774 .LBB638: 2775 .LBI638: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2776 .loc 2 1068 31 discriminator 1 view .LVU961 2777 .LBB639: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2778 .loc 2 1070 5 discriminator 1 view .LVU962 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2779 .loc 2 1072 4 discriminator 1 view .LVU963 2780 .syntax unified 2781 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2782 0006 52E8003F ldrex r3, [r2] 2783 @ 0 "" 2 2784 .LVL220: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2785 .loc 2 1073 4 discriminator 1 view .LVU964 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2786 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU965 2787 .thumb ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 151 2788 .syntax unified 2789 .LBE639: 2790 .LBE638: 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2791 .loc 1 1672 3 discriminator 1 view .LVU966 2792 000a 23F0C003 bic r3, r3, #192 2793 .LVL221: 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2794 .loc 1 1672 3 is_stmt 1 discriminator 1 view .LVU967 2795 .LBB640: 2796 .LBI640: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2797 .loc 2 1119 31 discriminator 1 view .LVU968 2798 .LBB641: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2799 .loc 2 1121 4 discriminator 1 view .LVU969 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2800 .loc 2 1123 4 discriminator 1 view .LVU970 2801 .syntax unified 2802 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2803 000e 42E80031 strex r1, r3, [r2] 2804 @ 0 "" 2 2805 .LVL222: 2806 .loc 2 1124 4 discriminator 1 view .LVU971 2807 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU972 2808 .thumb 2809 .syntax unified 2810 .LBE641: 2811 .LBE640: 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2812 .loc 1 1672 3 discriminator 1 view .LVU973 2813 0012 0029 cmp r1, #0 2814 0014 F7D1 bne .L232 2815 .LBE637: 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2816 .loc 1 1672 3 is_stmt 1 discriminator 2 view .LVU974 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2817 .loc 1 1675 3 discriminator 2 view .LVU975 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2818 .loc 1 1675 7 is_stmt 0 discriminator 2 view .LVU976 2819 0016 9368 ldr r3, [r2, #8] 2820 .LVL223: 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2821 .loc 1 1675 6 discriminator 2 view .LVU977 2822 0018 1B06 lsls r3, r3, #24 2823 001a 05D4 bmi .L235 2824 .LVL224: 2825 .L233: 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2826 .loc 1 1701 3 is_stmt 1 view .LVU978 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2827 .loc 1 1701 22 is_stmt 0 view .LVU979 2828 001c 0020 movs r0, #0 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2829 .loc 1 1705 17 view .LVU980 2830 001e 2023 movs r3, #32 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 152 2831 .loc 1 1701 22 view .LVU981 2832 0020 A4F85200 strh r0, [r4, #82] @ movhi 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2833 .loc 1 1705 3 is_stmt 1 view .LVU982 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2834 .loc 1 1705 17 is_stmt 0 view .LVU983 2835 0024 E367 str r3, [r4, #124] 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2836 .loc 1 1707 3 is_stmt 1 view .LVU984 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2837 .loc 1 1708 1 is_stmt 0 view .LVU985 2838 0026 10BD pop {r4, pc} 2839 .LVL225: 2840 .L235: 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2841 .loc 1 1678 5 is_stmt 1 discriminator 1 view .LVU986 2842 .LBB642: 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2843 .loc 1 1678 5 discriminator 1 view .LVU987 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2844 .loc 1 1678 5 discriminator 1 view .LVU988 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2845 .loc 1 1678 5 discriminator 1 view .LVU989 2846 .LBB643: 2847 .LBI643: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2848 .loc 2 1068 31 discriminator 1 view .LVU990 2849 .LBB644: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2850 .loc 2 1070 5 discriminator 1 view .LVU991 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2851 .loc 2 1072 4 discriminator 1 view .LVU992 2852 0028 02F10803 add r3, r2, #8 2853 .LVL226: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2854 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU993 2855 .syntax unified 2856 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2857 002c 53E8003F ldrex r3, [r3] 2858 @ 0 "" 2 2859 .LVL227: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2860 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU994 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2861 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU995 2862 .thumb 2863 .syntax unified 2864 .LBE644: 2865 .LBE643: 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2866 .loc 1 1678 5 discriminator 1 view .LVU996 2867 0030 23F08003 bic r3, r3, #128 2868 .LVL228: 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2869 .loc 1 1678 5 is_stmt 1 discriminator 1 view .LVU997 2870 .LBB645: 2871 .LBI645: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 153 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2872 .loc 2 1119 31 discriminator 1 view .LVU998 2873 .LBB646: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2874 .loc 2 1121 4 discriminator 1 view .LVU999 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2875 .loc 2 1123 4 discriminator 1 view .LVU1000 2876 0034 02F10800 add r0, r2, #8 2877 .LVL229: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2878 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1001 2879 .syntax unified 2880 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2881 0038 40E80031 strex r1, r3, [r0] 2882 @ 0 "" 2 2883 .LVL230: 2884 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1002 2885 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1003 2886 .thumb 2887 .syntax unified 2888 .LBE646: 2889 .LBE645: 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2890 .loc 1 1678 5 discriminator 1 view .LVU1004 2891 003c 0029 cmp r1, #0 2892 003e F3D1 bne .L235 2893 .LBE642: 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2894 .loc 1 1678 5 is_stmt 1 discriminator 2 view .LVU1005 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2895 .loc 1 1681 5 discriminator 2 view .LVU1006 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2896 .loc 1 1681 14 is_stmt 0 discriminator 2 view .LVU1007 2897 0040 206F ldr r0, [r4, #112] 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2898 .loc 1 1681 8 discriminator 2 view .LVU1008 2899 0042 0028 cmp r0, #0 2900 0044 EAD0 beq .L233 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2901 .loc 1 1685 7 is_stmt 1 view .LVU1009 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2902 .loc 1 1685 40 is_stmt 0 view .LVU1010 2903 0046 4163 str r1, [r0, #52] 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2904 .loc 1 1687 7 is_stmt 1 view .LVU1011 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2905 .loc 1 1687 11 is_stmt 0 view .LVU1012 2906 0048 FFF7FEFF bl HAL_DMA_Abort 2907 .LVL231: 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2908 .loc 1 1687 10 view .LVU1013 2909 004c 0028 cmp r0, #0 2910 004e E5D0 beq .L233 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2911 .loc 1 1689 9 is_stmt 1 view .LVU1014 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2912 .loc 1 1689 13 is_stmt 0 view .LVU1015 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 154 2913 0050 206F ldr r0, [r4, #112] 2914 0052 FFF7FEFF bl HAL_DMA_GetError 2915 .LVL232: 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 2916 .loc 1 1689 12 view .LVU1016 2917 0056 2028 cmp r0, #32 2918 0058 E0D1 bne .L233 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2919 .loc 1 1692 11 is_stmt 1 view .LVU1017 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2920 .loc 1 1692 28 is_stmt 0 view .LVU1018 2921 005a 1023 movs r3, #16 2922 005c C4F88430 str r3, [r4, #132] 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2923 .loc 1 1694 11 is_stmt 1 view .LVU1019 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 2924 .loc 1 1694 18 is_stmt 0 view .LVU1020 2925 0060 0320 movs r0, #3 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2926 .loc 1 1708 1 view .LVU1021 2927 0062 10BD pop {r4, pc} 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 2928 .loc 1 1708 1 view .LVU1022 2929 .cfi_endproc 2930 .LFE147: 2932 .section .text.HAL_UART_AbortReceive,"ax",%progbits 2933 .align 1 2934 .p2align 2,,3 2935 .global HAL_UART_AbortReceive 2936 .syntax unified 2937 .thumb 2938 .thumb_func 2940 HAL_UART_AbortReceive: 2941 .LVL233: 2942 .LFB148: 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2943 .loc 1 1723 1 is_stmt 1 view -0 2944 .cfi_startproc 2945 @ args = 0, pretend = 0, frame = 0 2946 @ frame_needed = 0, uses_anonymous_args = 0 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2947 .loc 1 1723 1 is_stmt 0 view .LVU1024 2948 0000 38B5 push {r3, r4, r5, lr} 2949 .LCFI10: 2950 .cfi_def_cfa_offset 16 2951 .cfi_offset 3, -16 2952 .cfi_offset 4, -12 2953 .cfi_offset 5, -8 2954 .cfi_offset 14, -4 2955 0002 0368 ldr r3, [r0] 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2956 .loc 1 1723 1 view .LVU1025 2957 0004 0446 mov r4, r0 2958 .L249: 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2959 .loc 1 1725 3 is_stmt 1 discriminator 1 view .LVU1026 2960 .LBB647: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 155 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2961 .loc 1 1725 3 discriminator 1 view .LVU1027 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2962 .loc 1 1725 3 discriminator 1 view .LVU1028 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2963 .loc 1 1725 3 discriminator 1 view .LVU1029 2964 .LVL234: 2965 .LBB648: 2966 .LBI648: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2967 .loc 2 1068 31 discriminator 1 view .LVU1030 2968 .LBB649: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2969 .loc 2 1070 5 discriminator 1 view .LVU1031 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2970 .loc 2 1072 4 discriminator 1 view .LVU1032 2971 .syntax unified 2972 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2973 0006 53E8002F ldrex r2, [r3] 2974 @ 0 "" 2 2975 .LVL235: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2976 .loc 2 1073 4 discriminator 1 view .LVU1033 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2977 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1034 2978 .thumb 2979 .syntax unified 2980 .LBE649: 2981 .LBE648: 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2982 .loc 1 1725 3 discriminator 1 view .LVU1035 2983 000a 22F49072 bic r2, r2, #288 2984 .LVL236: 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2985 .loc 1 1725 3 is_stmt 1 discriminator 1 view .LVU1036 2986 .LBB650: 2987 .LBI650: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2988 .loc 2 1119 31 discriminator 1 view .LVU1037 2989 .LBB651: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2990 .loc 2 1121 4 discriminator 1 view .LVU1038 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2991 .loc 2 1123 4 discriminator 1 view .LVU1039 2992 .syntax unified 2993 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2994 000e 43E80021 strex r1, r2, [r3] 2995 @ 0 "" 2 2996 .LVL237: 2997 .loc 2 1124 4 discriminator 1 view .LVU1040 2998 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1041 2999 .thumb 3000 .syntax unified 3001 .LBE651: 3002 .LBE650: 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3003 .loc 1 1725 3 discriminator 1 view .LVU1042 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 156 3004 0012 0029 cmp r1, #0 3005 0014 F7D1 bne .L249 3006 .LVL238: 3007 .L250: 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3008 .loc 1 1725 3 discriminator 1 view .LVU1043 3009 .LBE647: 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3010 .loc 1 1725 3 is_stmt 1 discriminator 1 view .LVU1044 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3011 .loc 1 1726 3 discriminator 1 view .LVU1045 3012 .LBB652: 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3013 .loc 1 1726 3 discriminator 1 view .LVU1046 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3014 .loc 1 1726 3 discriminator 1 view .LVU1047 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3015 .loc 1 1726 3 discriminator 1 view .LVU1048 3016 .LBB653: 3017 .LBI653: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3018 .loc 2 1068 31 discriminator 1 view .LVU1049 3019 .LBB654: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3020 .loc 2 1070 5 discriminator 1 view .LVU1050 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3021 .loc 2 1072 4 discriminator 1 view .LVU1051 3022 0016 03F10802 add r2, r3, #8 3023 .LVL239: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3024 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1052 3025 .syntax unified 3026 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3027 001a 52E8002F ldrex r2, [r2] 3028 @ 0 "" 2 3029 .LVL240: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3030 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1053 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3031 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1054 3032 .thumb 3033 .syntax unified 3034 .LBE654: 3035 .LBE653: 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3036 .loc 1 1726 3 discriminator 1 view .LVU1055 3037 001e 22F00102 bic r2, r2, #1 3038 .LVL241: 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3039 .loc 1 1726 3 is_stmt 1 discriminator 1 view .LVU1056 3040 .LBB655: 3041 .LBI655: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3042 .loc 2 1119 31 discriminator 1 view .LVU1057 3043 .LBB656: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3044 .loc 2 1121 4 discriminator 1 view .LVU1058 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 157 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3045 .loc 2 1123 4 discriminator 1 view .LVU1059 3046 0022 03F10800 add r0, r3, #8 3047 .LVL242: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3048 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1060 3049 .syntax unified 3050 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3051 0026 40E80021 strex r1, r2, [r0] 3052 @ 0 "" 2 3053 .LVL243: 3054 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1061 3055 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1062 3056 .thumb 3057 .syntax unified 3058 .LBE656: 3059 .LBE655: 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3060 .loc 1 1726 3 discriminator 1 view .LVU1063 3061 002a 0029 cmp r1, #0 3062 002c F3D1 bne .L250 3063 .LBE652: 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3064 .loc 1 1726 3 is_stmt 1 discriminator 2 view .LVU1064 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3065 .loc 1 1729 3 discriminator 2 view .LVU1065 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3066 .loc 1 1729 12 is_stmt 0 discriminator 2 view .LVU1066 3067 002e 226E ldr r2, [r4, #96] 3068 .LVL244: 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3069 .loc 1 1729 6 discriminator 2 view .LVU1067 3070 0030 012A cmp r2, #1 3071 0032 26D0 beq .L251 3072 .L254: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3073 .loc 1 1731 5 is_stmt 1 view .LVU1068 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3074 .loc 1 1735 3 view .LVU1069 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3075 .loc 1 1735 7 is_stmt 0 view .LVU1070 3076 0034 9968 ldr r1, [r3, #8] 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3077 .loc 1 1735 6 view .LVU1071 3078 0036 4906 lsls r1, r1, #25 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3079 .loc 1 1735 7 view .LVU1072 3080 0038 1A46 mov r2, r3 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3081 .loc 1 1735 6 view .LVU1073 3082 003a 0ED4 bmi .L252 3083 .L253: 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3084 .loc 1 1761 3 is_stmt 1 view .LVU1074 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3085 .loc 1 1761 22 is_stmt 0 view .LVU1075 3086 003c 0023 movs r3, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 158 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3087 .loc 1 1764 3 view .LVU1076 3088 003e 0F21 movs r1, #15 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3089 .loc 1 1761 22 view .LVU1077 3090 0040 A4F85A30 strh r3, [r4, #90] @ movhi 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3091 .loc 1 1764 3 is_stmt 1 view .LVU1078 3092 0044 1162 str r1, [r2, #32] 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3093 .loc 1 1767 3 view .LVU1079 3094 0046 9169 ldr r1, [r2, #24] 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3095 .loc 1 1770 18 is_stmt 0 view .LVU1080 3096 0048 2025 movs r5, #32 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3097 .loc 1 1767 3 view .LVU1081 3098 004a 41F00801 orr r1, r1, #8 3099 004e 9161 str r1, [r2, #24] 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3100 .loc 1 1770 3 is_stmt 1 view .LVU1082 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3101 .loc 1 1773 10 is_stmt 0 view .LVU1083 3102 0050 1846 mov r0, r3 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3103 .loc 1 1770 18 view .LVU1084 3104 0052 C4F88050 str r5, [r4, #128] 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3105 .loc 1 1771 3 is_stmt 1 view .LVU1085 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3106 .loc 1 1771 24 is_stmt 0 view .LVU1086 3107 0056 2366 str r3, [r4, #96] 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3108 .loc 1 1773 3 is_stmt 1 view .LVU1087 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3109 .loc 1 1774 1 is_stmt 0 view .LVU1088 3110 0058 38BD pop {r3, r4, r5, pc} 3111 .LVL245: 3112 .L252: 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3113 .loc 1 1738 5 is_stmt 1 discriminator 1 view .LVU1089 3114 .LBB657: 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3115 .loc 1 1738 5 discriminator 1 view .LVU1090 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3116 .loc 1 1738 5 discriminator 1 view .LVU1091 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3117 .loc 1 1738 5 discriminator 1 view .LVU1092 3118 .LBB658: 3119 .LBI658: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3120 .loc 2 1068 31 discriminator 1 view .LVU1093 3121 .LBB659: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3122 .loc 2 1070 5 discriminator 1 view .LVU1094 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3123 .loc 2 1072 4 discriminator 1 view .LVU1095 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 159 3124 005a 03F10802 add r2, r3, #8 3125 .LVL246: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3126 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1096 3127 .syntax unified 3128 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3129 005e 52E8002F ldrex r2, [r2] 3130 @ 0 "" 2 3131 .LVL247: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3132 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1097 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3133 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1098 3134 .thumb 3135 .syntax unified 3136 .LBE659: 3137 .LBE658: 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3138 .loc 1 1738 5 discriminator 1 view .LVU1099 3139 0062 22F04002 bic r2, r2, #64 3140 .LVL248: 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3141 .loc 1 1738 5 is_stmt 1 discriminator 1 view .LVU1100 3142 .LBB660: 3143 .LBI660: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3144 .loc 2 1119 31 discriminator 1 view .LVU1101 3145 .LBB661: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3146 .loc 2 1121 4 discriminator 1 view .LVU1102 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3147 .loc 2 1123 4 discriminator 1 view .LVU1103 3148 0066 03F10800 add r0, r3, #8 3149 .LVL249: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3150 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1104 3151 .syntax unified 3152 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3153 006a 40E80021 strex r1, r2, [r0] 3154 @ 0 "" 2 3155 .LVL250: 3156 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1105 3157 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1106 3158 .thumb 3159 .syntax unified 3160 .LBE661: 3161 .LBE660: 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3162 .loc 1 1738 5 discriminator 1 view .LVU1107 3163 006e 0029 cmp r1, #0 3164 0070 F3D1 bne .L252 3165 .LBE657: 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3166 .loc 1 1738 5 is_stmt 1 discriminator 2 view .LVU1108 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3167 .loc 1 1741 5 discriminator 2 view .LVU1109 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 160 3168 .loc 1 1741 14 is_stmt 0 discriminator 2 view .LVU1110 3169 0072 606F ldr r0, [r4, #116] 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3170 .loc 1 1741 8 discriminator 2 view .LVU1111 3171 0074 B0B1 cbz r0, .L269 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3172 .loc 1 1745 7 is_stmt 1 view .LVU1112 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3173 .loc 1 1745 40 is_stmt 0 view .LVU1113 3174 0076 4163 str r1, [r0, #52] 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3175 .loc 1 1747 7 is_stmt 1 view .LVU1114 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3176 .loc 1 1747 11 is_stmt 0 view .LVU1115 3177 0078 FFF7FEFF bl HAL_DMA_Abort 3178 .LVL251: 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3179 .loc 1 1747 10 view .LVU1116 3180 007c A0B9 cbnz r0, .L257 3181 .L267: 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3182 .loc 1 1764 3 view .LVU1117 3183 007e 2268 ldr r2, [r4] 3184 0080 DCE7 b .L253 3185 .L251: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3186 .loc 1 1731 5 is_stmt 1 discriminator 1 view .LVU1118 3187 .LBB662: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3188 .loc 1 1731 5 discriminator 1 view .LVU1119 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3189 .loc 1 1731 5 discriminator 1 view .LVU1120 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3190 .loc 1 1731 5 discriminator 1 view .LVU1121 3191 .LVL252: 3192 .LBB663: 3193 .LBI663: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3194 .loc 2 1068 31 discriminator 1 view .LVU1122 3195 .LBB664: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3196 .loc 2 1070 5 discriminator 1 view .LVU1123 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3197 .loc 2 1072 4 discriminator 1 view .LVU1124 3198 .syntax unified 3199 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3200 0082 53E8002F ldrex r2, [r3] 3201 @ 0 "" 2 3202 .LVL253: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3203 .loc 2 1073 4 discriminator 1 view .LVU1125 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3204 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1126 3205 .thumb 3206 .syntax unified 3207 .LBE664: 3208 .LBE663: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 161 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3209 .loc 1 1731 5 discriminator 1 view .LVU1127 3210 0086 22F01002 bic r2, r2, #16 3211 .LVL254: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3212 .loc 1 1731 5 is_stmt 1 discriminator 1 view .LVU1128 3213 .LBB666: 3214 .LBI666: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3215 .loc 2 1119 31 discriminator 1 view .LVU1129 3216 .LBB667: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3217 .loc 2 1121 4 discriminator 1 view .LVU1130 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3218 .loc 2 1123 4 discriminator 1 view .LVU1131 3219 .syntax unified 3220 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3221 008a 43E80021 strex r1, r2, [r3] 3222 @ 0 "" 2 3223 .LVL255: 3224 .loc 2 1124 4 discriminator 1 view .LVU1132 3225 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1133 3226 .thumb 3227 .syntax unified 3228 .LBE667: 3229 .LBE666: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3230 .loc 1 1731 5 discriminator 1 view .LVU1134 3231 008e 0029 cmp r1, #0 3232 0090 D0D0 beq .L254 3233 .LBE662: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3234 .loc 1 1731 5 is_stmt 1 view .LVU1135 3235 .LBB671: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3236 .loc 1 1731 5 view .LVU1136 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3237 .loc 1 1731 5 view .LVU1137 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3238 .loc 1 1731 5 view .LVU1138 3239 .LVL256: 3240 .LBB669: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3241 .loc 2 1068 31 view .LVU1139 3242 .LBB665: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3243 .loc 2 1070 5 view .LVU1140 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3244 .loc 2 1072 4 view .LVU1141 3245 .syntax unified 3246 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3247 0092 53E8002F ldrex r2, [r3] 3248 @ 0 "" 2 3249 .LVL257: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3250 .loc 2 1073 4 view .LVU1142 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 162 3251 .loc 2 1073 4 is_stmt 0 view .LVU1143 3252 .thumb 3253 .syntax unified 3254 .LBE665: 3255 .LBE669: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3256 .loc 1 1731 5 view .LVU1144 3257 0096 22F01002 bic r2, r2, #16 3258 .LVL258: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3259 .loc 1 1731 5 is_stmt 1 view .LVU1145 3260 .LBB670: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3261 .loc 2 1119 31 view .LVU1146 3262 .LBB668: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3263 .loc 2 1121 4 view .LVU1147 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3264 .loc 2 1123 4 view .LVU1148 3265 .syntax unified 3266 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3267 009a 43E80021 strex r1, r2, [r3] 3268 @ 0 "" 2 3269 .LVL259: 3270 .loc 2 1124 4 view .LVU1149 3271 .loc 2 1124 4 is_stmt 0 view .LVU1150 3272 .thumb 3273 .syntax unified 3274 .LBE668: 3275 .LBE670: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3276 .loc 1 1731 5 view .LVU1151 3277 009e 0029 cmp r1, #0 3278 00a0 EFD1 bne .L251 3279 00a2 C7E7 b .L254 3280 .LVL260: 3281 .L269: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3282 .loc 1 1731 5 view .LVU1152 3283 .LBE671: 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3284 .loc 1 1764 3 view .LVU1153 3285 00a4 1A46 mov r2, r3 3286 .LVL261: 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3287 .loc 1 1764 3 view .LVU1154 3288 00a6 C9E7 b .L253 3289 .L257: 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3290 .loc 1 1749 9 is_stmt 1 view .LVU1155 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3291 .loc 1 1749 13 is_stmt 0 view .LVU1156 3292 00a8 606F ldr r0, [r4, #116] 3293 00aa FFF7FEFF bl HAL_DMA_GetError 3294 .LVL262: 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3295 .loc 1 1749 12 view .LVU1157 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 163 3296 00ae 2028 cmp r0, #32 3297 00b0 E5D1 bne .L267 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3298 .loc 1 1752 11 is_stmt 1 view .LVU1158 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3299 .loc 1 1752 28 is_stmt 0 view .LVU1159 3300 00b2 1023 movs r3, #16 3301 00b4 C4F88430 str r3, [r4, #132] 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3302 .loc 1 1754 11 is_stmt 1 view .LVU1160 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3303 .loc 1 1754 18 is_stmt 0 view .LVU1161 3304 00b8 0320 movs r0, #3 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3305 .loc 1 1774 1 view .LVU1162 3306 00ba 38BD pop {r3, r4, r5, pc} 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3307 .loc 1 1774 1 view .LVU1163 3308 .cfi_endproc 3309 .LFE148: 3311 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits 3312 .align 1 3313 .p2align 2,,3 3314 .weak HAL_UART_TxCpltCallback 3315 .syntax unified 3316 .thumb 3317 .thumb_func 3319 HAL_UART_TxCpltCallback: 3320 .LFB203: 3321 .cfi_startproc 3322 @ args = 0, pretend = 0, frame = 0 3323 @ frame_needed = 0, uses_anonymous_args = 0 3324 @ link register save eliminated. 3325 0000 7047 bx lr 3326 .cfi_endproc 3327 .LFE203: 3329 0002 00BF .section .text.UART_DMATransmitCplt,"ax",%progbits 3330 .align 1 3331 .p2align 2,,3 3332 .syntax unified 3333 .thumb 3334 .thumb_func 3336 UART_DMATransmitCplt: 3337 .LVL263: 3338 .LFB181: 3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3339 .loc 1 3366 1 is_stmt 1 view -0 3340 .cfi_startproc 3341 @ args = 0, pretend = 0, frame = 0 3342 @ frame_needed = 0, uses_anonymous_args = 0 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3343 .loc 1 3367 3 view .LVU1165 3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3344 .loc 1 3366 1 is_stmt 0 view .LVU1166 3345 0000 08B5 push {r3, lr} 3346 .LCFI11: 3347 .cfi_def_cfa_offset 8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 164 3348 .cfi_offset 3, -8 3349 .cfi_offset 14, -4 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3350 .loc 1 3370 6 view .LVU1167 3351 0002 8369 ldr r3, [r0, #24] 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3352 .loc 1 3367 23 view .LVU1168 3353 0004 406A ldr r0, [r0, #36] 3354 .LVL264: 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3355 .loc 1 3370 3 is_stmt 1 view .LVU1169 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3356 .loc 1 3370 6 is_stmt 0 view .LVU1170 3357 0006 202B cmp r3, #32 3358 0008 18D0 beq .L272 3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3359 .loc 1 3372 5 is_stmt 1 view .LVU1171 3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3360 .loc 1 3372 24 is_stmt 0 view .LVU1172 3361 000a 0023 movs r3, #0 3362 000c 0268 ldr r2, [r0] 3363 000e A0F85230 strh r3, [r0, #82] @ movhi 3364 .LVL265: 3365 .L273: 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3366 .loc 1 3376 5 is_stmt 1 discriminator 1 view .LVU1173 3367 .LBB672: 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3368 .loc 1 3376 5 discriminator 1 view .LVU1174 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3369 .loc 1 3376 5 discriminator 1 view .LVU1175 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3370 .loc 1 3376 5 discriminator 1 view .LVU1176 3371 .LBB673: 3372 .LBI673: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3373 .loc 2 1068 31 discriminator 1 view .LVU1177 3374 .LBB674: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3375 .loc 2 1070 5 discriminator 1 view .LVU1178 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3376 .loc 2 1072 4 discriminator 1 view .LVU1179 3377 0012 02F10803 add r3, r2, #8 3378 .LVL266: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3379 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1180 3380 .syntax unified 3381 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3382 0016 53E8003F ldrex r3, [r3] 3383 @ 0 "" 2 3384 .LVL267: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3385 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1181 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3386 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1182 3387 .thumb 3388 .syntax unified ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 165 3389 .LBE674: 3390 .LBE673: 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3391 .loc 1 3376 5 discriminator 1 view .LVU1183 3392 001a 23F08003 bic r3, r3, #128 3393 .LVL268: 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3394 .loc 1 3376 5 is_stmt 1 discriminator 1 view .LVU1184 3395 .LBB675: 3396 .LBI675: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3397 .loc 2 1119 31 discriminator 1 view .LVU1185 3398 .LBB676: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3399 .loc 2 1121 4 discriminator 1 view .LVU1186 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3400 .loc 2 1123 4 discriminator 1 view .LVU1187 3401 001e 02F10800 add r0, r2, #8 3402 .LVL269: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3403 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1188 3404 .syntax unified 3405 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3406 0022 40E80031 strex r1, r3, [r0] 3407 @ 0 "" 2 3408 .LVL270: 3409 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1189 3410 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1190 3411 .thumb 3412 .syntax unified 3413 .LBE676: 3414 .LBE675: 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3415 .loc 1 3376 5 discriminator 1 view .LVU1191 3416 0026 0029 cmp r1, #0 3417 0028 F3D1 bne .L273 3418 .LVL271: 3419 .L274: 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3420 .loc 1 3376 5 discriminator 1 view .LVU1192 3421 .LBE672: 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3422 .loc 1 3376 5 is_stmt 1 discriminator 1 view .LVU1193 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3423 .loc 1 3379 5 discriminator 1 view .LVU1194 3424 .LBB677: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3425 .loc 1 3379 5 discriminator 1 view .LVU1195 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3426 .loc 1 3379 5 discriminator 1 view .LVU1196 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3427 .loc 1 3379 5 discriminator 1 view .LVU1197 3428 .LBB678: 3429 .LBI678: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3430 .loc 2 1068 31 discriminator 1 view .LVU1198 3431 .LBB679: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 166 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3432 .loc 2 1070 5 discriminator 1 view .LVU1199 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3433 .loc 2 1072 4 discriminator 1 view .LVU1200 3434 .syntax unified 3435 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3436 002a 52E8003F ldrex r3, [r2] 3437 @ 0 "" 2 3438 .LVL272: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3439 .loc 2 1073 4 discriminator 1 view .LVU1201 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3440 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1202 3441 .thumb 3442 .syntax unified 3443 .LBE679: 3444 .LBE678: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3445 .loc 1 3379 5 discriminator 1 view .LVU1203 3446 002e 43F04003 orr r3, r3, #64 3447 .LVL273: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3448 .loc 1 3379 5 is_stmt 1 discriminator 1 view .LVU1204 3449 .LBB680: 3450 .LBI680: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3451 .loc 2 1119 31 discriminator 1 view .LVU1205 3452 .LBB681: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3453 .loc 2 1121 4 discriminator 1 view .LVU1206 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3454 .loc 2 1123 4 discriminator 1 view .LVU1207 3455 .syntax unified 3456 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3457 0032 42E80031 strex r1, r3, [r2] 3458 @ 0 "" 2 3459 .LVL274: 3460 .loc 2 1124 4 discriminator 1 view .LVU1208 3461 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1209 3462 .thumb 3463 .syntax unified 3464 .LBE681: 3465 .LBE680: 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3466 .loc 1 3379 5 discriminator 1 view .LVU1210 3467 0036 0029 cmp r1, #0 3468 0038 F7D1 bne .L274 3469 .LBE677: 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3470 .loc 1 3392 1 view .LVU1211 3471 003a 08BD pop {r3, pc} 3472 .LVL275: 3473 .L272: 3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3474 .loc 1 3389 5 is_stmt 1 view .LVU1212 3475 003c FFF7FEFF bl HAL_UART_TxCpltCallback 3476 .LVL276: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 167 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3477 .loc 1 3392 1 is_stmt 0 view .LVU1213 3478 0040 08BD pop {r3, pc} 3479 .cfi_endproc 3480 .LFE181: 3482 0042 00BF .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits 3483 .align 1 3484 .p2align 2,,3 3485 .weak HAL_UART_TxHalfCpltCallback 3486 .syntax unified 3487 .thumb 3488 .thumb_func 3490 HAL_UART_TxHalfCpltCallback: 3491 .LFB201: 3492 .cfi_startproc 3493 @ args = 0, pretend = 0, frame = 0 3494 @ frame_needed = 0, uses_anonymous_args = 0 3495 @ link register save eliminated. 3496 0000 7047 bx lr 3497 .cfi_endproc 3498 .LFE201: 3500 0002 00BF .section .text.UART_DMATxHalfCplt,"ax",%progbits 3501 .align 1 3502 .p2align 2,,3 3503 .syntax unified 3504 .thumb 3505 .thumb_func 3507 UART_DMATxHalfCplt: 3508 .LVL277: 3509 .LFB182: 3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3510 .loc 1 3400 1 is_stmt 1 view -0 3511 .cfi_startproc 3512 @ args = 0, pretend = 0, frame = 0 3513 @ frame_needed = 0, uses_anonymous_args = 0 3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3514 .loc 1 3401 3 view .LVU1215 3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3515 .loc 1 3408 3 view .LVU1216 3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3516 .loc 1 3400 1 is_stmt 0 view .LVU1217 3517 0000 08B5 push {r3, lr} 3518 .LCFI12: 3519 .cfi_def_cfa_offset 8 3520 .cfi_offset 3, -8 3521 .cfi_offset 14, -4 3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3522 .loc 1 3408 3 view .LVU1218 3523 0002 406A ldr r0, [r0, #36] 3524 .LVL278: 3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3525 .loc 1 3408 3 view .LVU1219 3526 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback 3527 .LVL279: 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3528 .loc 1 3410 1 view .LVU1220 3529 0008 08BD pop {r3, pc} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 168 3530 .cfi_endproc 3531 .LFE182: 3533 000a 00BF .section .text.HAL_UART_RxCpltCallback,"ax",%progbits 3534 .align 1 3535 .p2align 2,,3 3536 .weak HAL_UART_RxCpltCallback 3537 .syntax unified 3538 .thumb 3539 .thumb_func 3541 HAL_UART_RxCpltCallback: 3542 .LFB207: 3543 .cfi_startproc 3544 @ args = 0, pretend = 0, frame = 0 3545 @ frame_needed = 0, uses_anonymous_args = 0 3546 @ link register save eliminated. 3547 0000 7047 bx lr 3548 .cfi_endproc 3549 .LFE207: 3551 0002 00BF .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits 3552 .align 1 3553 .p2align 2,,3 3554 .weak HAL_UART_RxHalfCpltCallback 3555 .syntax unified 3556 .thumb 3557 .thumb_func 3559 HAL_UART_RxHalfCpltCallback: 3560 .LFB205: 3561 .cfi_startproc 3562 @ args = 0, pretend = 0, frame = 0 3563 @ frame_needed = 0, uses_anonymous_args = 0 3564 @ link register save eliminated. 3565 0000 7047 bx lr 3566 .cfi_endproc 3567 .LFE205: 3569 0002 00BF .section .text.HAL_UART_ErrorCallback,"ax",%progbits 3570 .align 1 3571 .p2align 2,,3 3572 .weak HAL_UART_ErrorCallback 3573 .syntax unified 3574 .thumb 3575 .thumb_func 3577 HAL_UART_ErrorCallback: 3578 .LFB209: 3579 .cfi_startproc 3580 @ args = 0, pretend = 0, frame = 0 3581 @ frame_needed = 0, uses_anonymous_args = 0 3582 @ link register save eliminated. 3583 0000 7047 bx lr 3584 .cfi_endproc 3585 .LFE209: 3587 0002 00BF .section .text.UART_DMAError,"ax",%progbits 3588 .align 1 3589 .p2align 2,,3 3590 .syntax unified 3591 .thumb 3592 .thumb_func 3594 UART_DMAError: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 169 3595 .LVL280: 3596 .LFB185: 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3597 .loc 1 3517 1 is_stmt 1 view -0 3598 .cfi_startproc 3599 @ args = 0, pretend = 0, frame = 0 3600 @ frame_needed = 0, uses_anonymous_args = 0 3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3601 .loc 1 3518 3 view .LVU1222 3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3602 .loc 1 3518 23 is_stmt 0 view .LVU1223 3603 0000 406A ldr r0, [r0, #36] 3604 .LVL281: 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3605 .loc 1 3520 3 is_stmt 1 view .LVU1224 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3606 .loc 1 3524 8 is_stmt 0 view .LVU1225 3607 0002 0268 ldr r2, [r0] 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3608 .loc 1 3520 31 view .LVU1226 3609 0004 C16F ldr r1, [r0, #124] 3610 .LVL282: 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3611 .loc 1 3521 3 is_stmt 1 view .LVU1227 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3612 .loc 1 3517 1 is_stmt 0 view .LVU1228 3613 0006 10B5 push {r4, lr} 3614 .LCFI13: 3615 .cfi_def_cfa_offset 8 3616 .cfi_offset 4, -8 3617 .cfi_offset 14, -4 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3618 .loc 1 3521 31 view .LVU1229 3619 0008 D0F88040 ldr r4, [r0, #128] 3620 .LVL283: 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3621 .loc 1 3524 3 is_stmt 1 view .LVU1230 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3622 .loc 1 3524 8 is_stmt 0 view .LVU1231 3623 000c 9368 ldr r3, [r2, #8] 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3624 .loc 1 3524 6 view .LVU1232 3625 000e 1B06 lsls r3, r3, #24 3626 0010 01D5 bpl .L286 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3627 .loc 1 3524 62 discriminator 1 view .LVU1233 3628 0012 2129 cmp r1, #33 3629 0014 0DD0 beq .L297 3630 .LVL284: 3631 .L286: 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3632 .loc 1 3532 3 is_stmt 1 view .LVU1234 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3633 .loc 1 3532 8 is_stmt 0 view .LVU1235 3634 0016 9368 ldr r3, [r2, #8] 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3635 .loc 1 3532 6 view .LVU1236 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 170 3636 0018 5B06 lsls r3, r3, #25 3637 001a 01D5 bpl .L289 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3638 .loc 1 3532 62 discriminator 1 view .LVU1237 3639 001c 222C cmp r4, #34 3640 001e 16D0 beq .L298 3641 .L289: 3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3642 .loc 1 3539 3 is_stmt 1 view .LVU1238 3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3643 .loc 1 3539 20 is_stmt 0 view .LVU1239 3644 0020 D0F88430 ldr r3, [r0, #132] 3645 0024 43F01003 orr r3, r3, #16 3646 0028 C0F88430 str r3, [r0, #132] 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3647 .loc 1 3546 3 is_stmt 1 view .LVU1240 3648 002c FFF7FEFF bl HAL_UART_ErrorCallback 3649 .LVL285: 3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3650 .loc 1 3548 1 is_stmt 0 view .LVU1241 3651 0030 10BD pop {r4, pc} 3652 .LVL286: 3653 .L297: 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart); 3654 .loc 1 3527 5 is_stmt 1 view .LVU1242 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndTxTransfer(huart); 3655 .loc 1 3527 24 is_stmt 0 view .LVU1243 3656 0032 0023 movs r3, #0 3657 0034 A0F85230 strh r3, [r0, #82] @ movhi 3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3658 .loc 1 3528 5 is_stmt 1 view .LVU1244 3659 .LVL287: 3660 .LBB682: 3661 .LBI682: 3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3662 .loc 1 3324 13 view .LVU1245 3663 .L288: 3664 .LBB683: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3665 .loc 1 3327 3 view .LVU1246 3666 .LBB684: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3667 .loc 1 3327 3 view .LVU1247 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3668 .loc 1 3327 3 view .LVU1248 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3669 .loc 1 3327 3 view .LVU1249 3670 .LBB685: 3671 .LBI685: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3672 .loc 2 1068 31 view .LVU1250 3673 .LBB686: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3674 .loc 2 1070 5 view .LVU1251 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3675 .loc 2 1072 4 view .LVU1252 3676 .syntax unified ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 171 3677 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3678 0038 52E8003F ldrex r3, [r2] 3679 @ 0 "" 2 3680 .LVL288: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3681 .loc 2 1073 4 view .LVU1253 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3682 .loc 2 1073 4 is_stmt 0 view .LVU1254 3683 .thumb 3684 .syntax unified 3685 .LBE686: 3686 .LBE685: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3687 .loc 1 3327 3 view .LVU1255 3688 003c 23F0C003 bic r3, r3, #192 3689 .LVL289: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3690 .loc 1 3327 3 is_stmt 1 view .LVU1256 3691 .LBB687: 3692 .LBI687: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3693 .loc 2 1119 31 view .LVU1257 3694 .LBB688: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3695 .loc 2 1121 4 view .LVU1258 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3696 .loc 2 1123 4 view .LVU1259 3697 .syntax unified 3698 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3699 0040 42E80031 strex r1, r3, [r2] 3700 @ 0 "" 2 3701 .LVL290: 3702 .loc 2 1124 4 view .LVU1260 3703 .loc 2 1124 4 is_stmt 0 view .LVU1261 3704 .thumb 3705 .syntax unified 3706 .LBE688: 3707 .LBE687: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3708 .loc 1 3327 3 view .LVU1262 3709 0044 0029 cmp r1, #0 3710 0046 F7D1 bne .L288 3711 .LBE684: 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3712 .loc 1 3327 3 is_stmt 1 view .LVU1263 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3713 .loc 1 3330 3 view .LVU1264 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3714 .loc 1 3330 17 is_stmt 0 view .LVU1265 3715 0048 2023 movs r3, #32 3716 .LVL291: 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3717 .loc 1 3330 17 view .LVU1266 3718 004a C367 str r3, [r0, #124] 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3719 .loc 1 3331 1 view .LVU1267 3720 004c E3E7 b .L286 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 172 3721 .LVL292: 3722 .L298: 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3723 .loc 1 3331 1 view .LVU1268 3724 .LBE683: 3725 .LBE682: 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 3726 .loc 1 3535 5 is_stmt 1 view .LVU1269 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_EndRxTransfer(huart); 3727 .loc 1 3535 24 is_stmt 0 view .LVU1270 3728 004e 0023 movs r3, #0 3729 0050 A0F85A30 strh r3, [r0, #90] @ movhi 3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3730 .loc 1 3536 5 is_stmt 1 view .LVU1271 3731 0054 FFF7FEFF bl UART_EndRxTransfer 3732 .LVL293: 3733 0058 E2E7 b .L289 3734 .cfi_endproc 3735 .LFE185: 3737 005a 00BF .section .text.UART_DMAAbortOnError,"ax",%progbits 3738 .align 1 3739 .p2align 2,,3 3740 .syntax unified 3741 .thumb 3742 .thumb_func 3744 UART_DMAAbortOnError: 3745 .LVL294: 3746 .LFB186: 3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3747 .loc 1 3557 1 view -0 3748 .cfi_startproc 3749 @ args = 0, pretend = 0, frame = 0 3750 @ frame_needed = 0, uses_anonymous_args = 0 3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3751 .loc 1 3558 3 view .LVU1273 3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3752 .loc 1 3557 1 is_stmt 0 view .LVU1274 3753 0000 08B5 push {r3, lr} 3754 .LCFI14: 3755 .cfi_def_cfa_offset 8 3756 .cfi_offset 3, -8 3757 .cfi_offset 14, -4 3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 3758 .loc 1 3558 23 view .LVU1275 3759 0002 406A ldr r0, [r0, #36] 3760 .LVL295: 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3761 .loc 1 3559 3 is_stmt 1 view .LVU1276 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxXferCount = 0U; 3762 .loc 1 3559 22 is_stmt 0 view .LVU1277 3763 0004 0023 movs r3, #0 3764 0006 A0F85A30 strh r3, [r0, #90] @ movhi 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3765 .loc 1 3560 3 is_stmt 1 view .LVU1278 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3766 .loc 1 3560 22 is_stmt 0 view .LVU1279 3767 000a A0F85230 strh r3, [r0, #82] @ movhi ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 173 3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3768 .loc 1 3567 3 is_stmt 1 view .LVU1280 3769 000e FFF7FEFF bl HAL_UART_ErrorCallback 3770 .LVL296: 3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3771 .loc 1 3569 1 is_stmt 0 view .LVU1281 3772 0012 08BD pop {r3, pc} 3773 .cfi_endproc 3774 .LFE186: 3776 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits 3777 .align 1 3778 .p2align 2,,3 3779 .weak HAL_UART_AbortCpltCallback 3780 .syntax unified 3781 .thumb 3782 .thumb_func 3784 HAL_UART_AbortCpltCallback: 3785 .LFB211: 3786 .cfi_startproc 3787 @ args = 0, pretend = 0, frame = 0 3788 @ frame_needed = 0, uses_anonymous_args = 0 3789 @ link register save eliminated. 3790 0000 7047 bx lr 3791 .cfi_endproc 3792 .LFE211: 3794 0002 00BF .section .text.HAL_UART_Abort_IT,"ax",%progbits 3795 .align 1 3796 .p2align 2,,3 3797 .global HAL_UART_Abort_IT 3798 .syntax unified 3799 .thumb 3800 .thumb_func 3802 HAL_UART_Abort_IT: 3803 .LVL297: 3804 .LFB149: 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t abortcplt = 1U; 3805 .loc 1 1791 1 is_stmt 1 view -0 3806 .cfi_startproc 3807 @ args = 0, pretend = 0, frame = 0 3808 @ frame_needed = 0, uses_anonymous_args = 0 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3809 .loc 1 1792 3 view .LVU1283 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3810 .loc 1 1792 3 is_stmt 0 view .LVU1284 3811 0000 0368 ldr r3, [r0] 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t abortcplt = 1U; 3812 .loc 1 1791 1 view .LVU1285 3813 0002 70B5 push {r4, r5, r6, lr} 3814 .LCFI15: 3815 .cfi_def_cfa_offset 16 3816 .cfi_offset 4, -16 3817 .cfi_offset 5, -12 3818 .cfi_offset 6, -8 3819 .cfi_offset 14, -4 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t abortcplt = 1U; 3820 .loc 1 1791 1 view .LVU1286 3821 0004 0546 mov r5, r0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 174 3822 .L303: 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3823 .loc 1 1795 3 is_stmt 1 discriminator 1 view .LVU1287 3824 .LBB689: 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3825 .loc 1 1795 3 discriminator 1 view .LVU1288 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3826 .loc 1 1795 3 discriminator 1 view .LVU1289 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3827 .loc 1 1795 3 discriminator 1 view .LVU1290 3828 .LVL298: 3829 .LBB690: 3830 .LBI690: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3831 .loc 2 1068 31 discriminator 1 view .LVU1291 3832 .LBB691: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3833 .loc 2 1070 5 discriminator 1 view .LVU1292 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3834 .loc 2 1072 4 discriminator 1 view .LVU1293 3835 .syntax unified 3836 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3837 0006 53E8002F ldrex r2, [r3] 3838 @ 0 "" 2 3839 .LVL299: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3840 .loc 2 1073 4 discriminator 1 view .LVU1294 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3841 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1295 3842 .thumb 3843 .syntax unified 3844 .LBE691: 3845 .LBE690: 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3846 .loc 1 1795 3 discriminator 1 view .LVU1296 3847 000a 22F4F072 bic r2, r2, #480 3848 .LVL300: 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3849 .loc 1 1795 3 is_stmt 1 discriminator 1 view .LVU1297 3850 .LBB692: 3851 .LBI692: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3852 .loc 2 1119 31 discriminator 1 view .LVU1298 3853 .LBB693: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3854 .loc 2 1121 4 discriminator 1 view .LVU1299 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3855 .loc 2 1123 4 discriminator 1 view .LVU1300 3856 .syntax unified 3857 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3858 000e 43E80021 strex r1, r2, [r3] 3859 @ 0 "" 2 3860 .LVL301: 3861 .loc 2 1124 4 discriminator 1 view .LVU1301 3862 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1302 3863 .thumb 3864 .syntax unified ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 175 3865 .LBE693: 3866 .LBE692: 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3867 .loc 1 1795 3 discriminator 1 view .LVU1303 3868 0012 0029 cmp r1, #0 3869 0014 F7D1 bne .L303 3870 .LVL302: 3871 .L304: 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3872 .loc 1 1795 3 discriminator 1 view .LVU1304 3873 .LBE689: 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3874 .loc 1 1795 3 is_stmt 1 discriminator 1 view .LVU1305 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3875 .loc 1 1796 3 discriminator 1 view .LVU1306 3876 .LBB694: 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3877 .loc 1 1796 3 discriminator 1 view .LVU1307 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3878 .loc 1 1796 3 discriminator 1 view .LVU1308 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3879 .loc 1 1796 3 discriminator 1 view .LVU1309 3880 .LBB695: 3881 .LBI695: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3882 .loc 2 1068 31 discriminator 1 view .LVU1310 3883 .LBB696: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3884 .loc 2 1070 5 discriminator 1 view .LVU1311 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3885 .loc 2 1072 4 discriminator 1 view .LVU1312 3886 0016 03F10802 add r2, r3, #8 3887 .LVL303: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3888 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1313 3889 .syntax unified 3890 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3891 001a 52E8002F ldrex r2, [r2] 3892 @ 0 "" 2 3893 .LVL304: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3894 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1314 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3895 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1315 3896 .thumb 3897 .syntax unified 3898 .LBE696: 3899 .LBE695: 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3900 .loc 1 1796 3 discriminator 1 view .LVU1316 3901 001e 22F00102 bic r2, r2, #1 3902 .LVL305: 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3903 .loc 1 1796 3 is_stmt 1 discriminator 1 view .LVU1317 3904 .LBB697: 3905 .LBI697: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 176 3906 .loc 2 1119 31 discriminator 1 view .LVU1318 3907 .LBB698: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3908 .loc 2 1121 4 discriminator 1 view .LVU1319 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3909 .loc 2 1123 4 discriminator 1 view .LVU1320 3910 0022 03F10800 add r0, r3, #8 3911 .LVL306: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3912 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1321 3913 .syntax unified 3914 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3915 0026 40E80021 strex r1, r2, [r0] 3916 @ 0 "" 2 3917 .LVL307: 3918 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1322 3919 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1323 3920 .thumb 3921 .syntax unified 3922 .LBE698: 3923 .LBE697: 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3924 .loc 1 1796 3 discriminator 1 view .LVU1324 3925 002a 0029 cmp r1, #0 3926 002c F3D1 bne .L304 3927 .LBE694: 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3928 .loc 1 1796 3 is_stmt 1 discriminator 2 view .LVU1325 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3929 .loc 1 1799 3 discriminator 2 view .LVU1326 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3930 .loc 1 1799 12 is_stmt 0 discriminator 2 view .LVU1327 3931 002e 2A6E ldr r2, [r5, #96] 3932 .LVL308: 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3933 .loc 1 1799 6 discriminator 2 view .LVU1328 3934 0030 012A cmp r2, #1 3935 0032 5FD0 beq .L305 3936 .L308: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3937 .loc 1 1801 5 is_stmt 1 view .LVU1329 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3938 .loc 1 1807 3 view .LVU1330 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3939 .loc 1 1807 12 is_stmt 0 view .LVU1331 3940 0034 286F ldr r0, [r5, #112] 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3941 .loc 1 1807 6 view .LVU1332 3942 0036 0028 cmp r0, #0 3943 0038 72D0 beq .L346 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3944 .loc 1 1811 5 is_stmt 1 view .LVU1333 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3945 .loc 1 1811 9 is_stmt 0 view .LVU1334 3946 003a 9A68 ldr r2, [r3, #8] 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3947 .loc 1 1811 8 view .LVU1335 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 177 3948 003c 12F08002 ands r2, r2, #128 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3949 .loc 1 1813 7 is_stmt 1 view .LVU1336 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3950 .loc 1 1813 40 is_stmt 0 view .LVU1337 3951 0040 18BF it ne 3952 0042 3D4A ldrne r2, .L348 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3953 .loc 1 1817 7 is_stmt 1 view .LVU1338 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3954 .loc 1 1817 40 is_stmt 0 view .LVU1339 3955 0044 4263 str r2, [r0, #52] 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3956 .loc 1 1811 9 view .LVU1340 3957 0046 1C46 mov r4, r3 3958 .L309: 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3959 .loc 1 1821 3 is_stmt 1 view .LVU1341 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3960 .loc 1 1821 12 is_stmt 0 view .LVU1342 3961 0048 696F ldr r1, [r5, #116] 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3962 .loc 1 1821 6 view .LVU1343 3963 004a 29B1 cbz r1, .L311 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3964 .loc 1 1825 5 is_stmt 1 view .LVU1344 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3965 .loc 1 1825 9 is_stmt 0 view .LVU1345 3966 004c 9A68 ldr r2, [r3, #8] 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3967 .loc 1 1825 8 view .LVU1346 3968 004e 12F04002 ands r2, r2, #64 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3969 .loc 1 1827 7 is_stmt 1 view .LVU1347 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3970 .loc 1 1827 40 is_stmt 0 view .LVU1348 3971 0052 18BF it ne 3972 0054 394A ldrne r2, .L348+4 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3973 .loc 1 1831 7 is_stmt 1 view .LVU1349 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3974 .loc 1 1831 40 is_stmt 0 view .LVU1350 3975 0056 4A63 str r2, [r1, #52] 3976 .L311: 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3977 .loc 1 1836 3 is_stmt 1 view .LVU1351 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3978 .loc 1 1836 7 is_stmt 0 view .LVU1352 3979 0058 9A68 ldr r2, [r3, #8] 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3980 .loc 1 1836 6 view .LVU1353 3981 005a 1206 lsls r2, r2, #24 3982 005c 31D4 bmi .L313 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3983 .loc 1 1860 3 is_stmt 1 view .LVU1354 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3984 .loc 1 1860 7 is_stmt 0 view .LVU1355 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 178 3985 005e 9A68 ldr r2, [r3, #8] 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3986 .loc 1 1860 6 view .LVU1356 3987 0060 5606 lsls r6, r2, #25 3988 0062 15D5 bpl .L315 3989 .L344: 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3990 .loc 1 1792 12 view .LVU1357 3991 0064 0124 movs r4, #1 3992 .LVL309: 3993 .L321: 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3994 .loc 1 1863 5 is_stmt 1 discriminator 1 view .LVU1358 3995 .LBB699: 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3996 .loc 1 1863 5 discriminator 1 view .LVU1359 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3997 .loc 1 1863 5 discriminator 1 view .LVU1360 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3998 .loc 1 1863 5 discriminator 1 view .LVU1361 3999 .LBB700: 4000 .LBI700: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4001 .loc 2 1068 31 discriminator 1 view .LVU1362 4002 .LBB701: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4003 .loc 2 1070 5 discriminator 1 view .LVU1363 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4004 .loc 2 1072 4 discriminator 1 view .LVU1364 4005 0066 03F10802 add r2, r3, #8 4006 .LVL310: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4007 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1365 4008 .syntax unified 4009 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4010 006a 52E8002F ldrex r2, [r2] 4011 @ 0 "" 2 4012 .LVL311: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4013 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1366 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4014 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1367 4015 .thumb 4016 .syntax unified 4017 .LBE701: 4018 .LBE700: 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4019 .loc 1 1863 5 discriminator 1 view .LVU1368 4020 006e 22F04002 bic r2, r2, #64 4021 .LVL312: 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4022 .loc 1 1863 5 is_stmt 1 discriminator 1 view .LVU1369 4023 .LBB702: 4024 .LBI702: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4025 .loc 2 1119 31 discriminator 1 view .LVU1370 4026 .LBB703: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 179 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4027 .loc 2 1121 4 discriminator 1 view .LVU1371 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4028 .loc 2 1123 4 discriminator 1 view .LVU1372 4029 0072 03F10800 add r0, r3, #8 4030 .LVL313: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4031 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1373 4032 .syntax unified 4033 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4034 0076 40E80026 strex r6, r2, [r0] 4035 @ 0 "" 2 4036 .LVL314: 4037 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1374 4038 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1375 4039 .thumb 4040 .syntax unified 4041 .LBE703: 4042 .LBE702: 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4043 .loc 1 1863 5 discriminator 1 view .LVU1376 4044 007a 002E cmp r6, #0 4045 007c F3D1 bne .L321 4046 .LBE699: 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4047 .loc 1 1863 5 is_stmt 1 discriminator 2 view .LVU1377 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4048 .loc 1 1866 5 discriminator 2 view .LVU1378 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4049 .loc 1 1866 8 is_stmt 0 discriminator 2 view .LVU1379 4050 007e 0029 cmp r1, #0 4051 0080 50D0 beq .L322 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4052 .loc 1 1872 7 is_stmt 1 view .LVU1380 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4053 .loc 1 1872 11 is_stmt 0 view .LVU1381 4054 0082 0846 mov r0, r1 4055 0084 FFF7FEFF bl HAL_DMA_Abort_IT 4056 .LVL315: 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4057 .loc 1 1872 10 view .LVU1382 4058 0088 C8B1 cbz r0, .L319 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 1U; 4059 .loc 1 1874 9 is_stmt 1 view .LVU1383 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 1U; 4060 .loc 1 1874 42 is_stmt 0 view .LVU1384 4061 008a 6B6F ldr r3, [r5, #116] 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4062 .loc 1 1899 5 view .LVU1385 4063 008c 2C68 ldr r4, [r5] 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** abortcplt = 1U; 4064 .loc 1 1874 42 view .LVU1386 4065 008e 5E63 str r6, [r3, #52] 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4066 .loc 1 1875 9 is_stmt 1 view .LVU1387 4067 .LVL316: 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 180 4068 .loc 1 1885 3 view .LVU1388 4069 .L315: 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4070 .loc 1 1888 5 view .LVU1389 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4071 .loc 1 1888 24 is_stmt 0 view .LVU1390 4072 0090 0023 movs r3, #0 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4073 .loc 1 1899 5 view .LVU1391 4074 0092 0F22 movs r2, #15 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4075 .loc 1 1888 24 view .LVU1392 4076 0094 A5F85230 strh r3, [r5, #82] @ movhi 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4077 .loc 1 1889 5 is_stmt 1 view .LVU1393 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 4078 .loc 1 1892 18 is_stmt 0 view .LVU1394 4079 0098 AB66 str r3, [r5, #104] 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4080 .loc 1 1889 24 view .LVU1395 4081 009a A5F85A30 strh r3, [r5, #90] @ movhi 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 4082 .loc 1 1892 5 is_stmt 1 view .LVU1396 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4083 .loc 1 1893 5 view .LVU1397 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4084 .loc 1 1893 18 is_stmt 0 view .LVU1398 4085 009e EB66 str r3, [r5, #108] 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4086 .loc 1 1896 5 is_stmt 1 view .LVU1399 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4087 .loc 1 1896 22 is_stmt 0 view .LVU1400 4088 00a0 C5F88430 str r3, [r5, #132] 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4089 .loc 1 1899 5 is_stmt 1 view .LVU1401 4090 00a4 2262 str r2, [r4, #32] 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4091 .loc 1 1903 5 view .LVU1402 4092 00a6 A269 ldr r2, [r4, #24] 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4093 .loc 1 1906 20 is_stmt 0 view .LVU1403 4094 00a8 2021 movs r1, #32 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4095 .loc 1 1903 5 view .LVU1404 4096 00aa 42F00802 orr r2, r2, #8 4097 00ae A261 str r2, [r4, #24] 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4098 .loc 1 1906 5 is_stmt 1 view .LVU1405 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4099 .loc 1 1916 5 is_stmt 0 view .LVU1406 4100 00b0 2846 mov r0, r5 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4101 .loc 1 1906 20 view .LVU1407 4102 00b2 E967 str r1, [r5, #124] 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4103 .loc 1 1907 5 is_stmt 1 view .LVU1408 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 181 4104 .loc 1 1907 20 is_stmt 0 view .LVU1409 4105 00b4 C5F88010 str r1, [r5, #128] 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4106 .loc 1 1908 5 is_stmt 1 view .LVU1410 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4107 .loc 1 1908 26 is_stmt 0 view .LVU1411 4108 00b8 2B66 str r3, [r5, #96] 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4109 .loc 1 1916 5 is_stmt 1 view .LVU1412 4110 00ba FFF7FEFF bl HAL_UART_AbortCpltCallback 4111 .LVL317: 4112 .L319: 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4113 .loc 1 1920 3 view .LVU1413 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4114 .loc 1 1921 1 is_stmt 0 view .LVU1414 4115 00be 0020 movs r0, #0 4116 00c0 70BD pop {r4, r5, r6, pc} 4117 .LVL318: 4118 .L313: 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4119 .loc 1 1839 5 is_stmt 1 discriminator 1 view .LVU1415 4120 .LBB704: 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4121 .loc 1 1839 5 discriminator 1 view .LVU1416 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4122 .loc 1 1839 5 discriminator 1 view .LVU1417 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4123 .loc 1 1839 5 discriminator 1 view .LVU1418 4124 .LBB705: 4125 .LBI705: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4126 .loc 2 1068 31 discriminator 1 view .LVU1419 4127 .LBB706: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4128 .loc 2 1070 5 discriminator 1 view .LVU1420 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4129 .loc 2 1072 4 discriminator 1 view .LVU1421 4130 00c2 03F10802 add r2, r3, #8 4131 .LVL319: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4132 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1422 4133 .syntax unified 4134 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4135 00c6 52E8002F ldrex r2, [r2] 4136 @ 0 "" 2 4137 .LVL320: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4138 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1423 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4139 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1424 4140 .thumb 4141 .syntax unified 4142 .LBE706: 4143 .LBE705: 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4144 .loc 1 1839 5 discriminator 1 view .LVU1425 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 182 4145 00ca 22F08002 bic r2, r2, #128 4146 .LVL321: 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4147 .loc 1 1839 5 is_stmt 1 discriminator 1 view .LVU1426 4148 .LBB707: 4149 .LBI707: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4150 .loc 2 1119 31 discriminator 1 view .LVU1427 4151 .LBB708: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4152 .loc 2 1121 4 discriminator 1 view .LVU1428 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4153 .loc 2 1123 4 discriminator 1 view .LVU1429 4154 00ce 03F10806 add r6, r3, #8 4155 .LVL322: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4156 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1430 4157 .syntax unified 4158 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4159 00d2 46E80024 strex r4, r2, [r6] 4160 @ 0 "" 2 4161 .LVL323: 4162 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1431 4163 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1432 4164 .thumb 4165 .syntax unified 4166 .LBE708: 4167 .LBE707: 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4168 .loc 1 1839 5 discriminator 1 view .LVU1433 4169 00d6 002C cmp r4, #0 4170 00d8 F3D1 bne .L313 4171 .LBE704: 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4172 .loc 1 1839 5 is_stmt 1 discriminator 2 view .LVU1434 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4173 .loc 1 1842 5 discriminator 2 view .LVU1435 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4174 .loc 1 1842 8 is_stmt 0 discriminator 2 view .LVU1436 4175 00da E0B1 cbz r0, .L317 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4176 .loc 1 1848 7 is_stmt 1 view .LVU1437 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4177 .loc 1 1848 11 is_stmt 0 view .LVU1438 4178 00dc FFF7FEFF bl HAL_DMA_Abort_IT 4179 .LVL324: 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4180 .loc 1 1860 7 view .LVU1439 4181 00e0 2B68 ldr r3, [r5] 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4182 .loc 1 1848 10 view .LVU1440 4183 00e2 18B3 cbz r0, .L347 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4184 .loc 1 1850 9 is_stmt 1 view .LVU1441 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4185 .loc 1 1850 42 is_stmt 0 view .LVU1442 4186 00e4 296F ldr r1, [r5, #112] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 183 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4187 .loc 1 1860 7 view .LVU1443 4188 00e6 9A68 ldr r2, [r3, #8] 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4189 .loc 1 1850 42 view .LVU1444 4190 00e8 4C63 str r4, [r1, #52] 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4191 .loc 1 1860 3 is_stmt 1 view .LVU1445 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4192 .loc 1 1860 6 is_stmt 0 view .LVU1446 4193 00ea 5106 lsls r1, r2, #25 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4194 .loc 1 1860 7 view .LVU1447 4195 00ec 1C46 mov r4, r3 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4196 .loc 1 1860 6 view .LVU1448 4197 00ee CFD5 bpl .L315 4198 00f0 696F ldr r1, [r5, #116] 4199 00f2 B7E7 b .L344 4200 .L305: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4201 .loc 1 1801 5 is_stmt 1 discriminator 1 view .LVU1449 4202 .LBB709: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4203 .loc 1 1801 5 discriminator 1 view .LVU1450 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4204 .loc 1 1801 5 discriminator 1 view .LVU1451 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4205 .loc 1 1801 5 discriminator 1 view .LVU1452 4206 .LVL325: 4207 .LBB710: 4208 .LBI710: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4209 .loc 2 1068 31 discriminator 1 view .LVU1453 4210 .LBB711: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4211 .loc 2 1070 5 discriminator 1 view .LVU1454 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4212 .loc 2 1072 4 discriminator 1 view .LVU1455 4213 .syntax unified 4214 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4215 00f4 53E8002F ldrex r2, [r3] 4216 @ 0 "" 2 4217 .LVL326: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4218 .loc 2 1073 4 discriminator 1 view .LVU1456 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4219 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1457 4220 .thumb 4221 .syntax unified 4222 .LBE711: 4223 .LBE710: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4224 .loc 1 1801 5 discriminator 1 view .LVU1458 4225 00f8 22F01002 bic r2, r2, #16 4226 .LVL327: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 184 4227 .loc 1 1801 5 is_stmt 1 discriminator 1 view .LVU1459 4228 .LBB713: 4229 .LBI713: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4230 .loc 2 1119 31 discriminator 1 view .LVU1460 4231 .LBB714: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4232 .loc 2 1121 4 discriminator 1 view .LVU1461 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4233 .loc 2 1123 4 discriminator 1 view .LVU1462 4234 .syntax unified 4235 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4236 00fc 43E80021 strex r1, r2, [r3] 4237 @ 0 "" 2 4238 .LVL328: 4239 .loc 2 1124 4 discriminator 1 view .LVU1463 4240 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1464 4241 .thumb 4242 .syntax unified 4243 .LBE714: 4244 .LBE713: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4245 .loc 1 1801 5 discriminator 1 view .LVU1465 4246 0100 0029 cmp r1, #0 4247 0102 97D0 beq .L308 4248 .LBE709: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4249 .loc 1 1801 5 is_stmt 1 view .LVU1466 4250 .LBB718: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4251 .loc 1 1801 5 view .LVU1467 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4252 .loc 1 1801 5 view .LVU1468 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4253 .loc 1 1801 5 view .LVU1469 4254 .LVL329: 4255 .LBB716: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4256 .loc 2 1068 31 view .LVU1470 4257 .LBB712: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4258 .loc 2 1070 5 view .LVU1471 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4259 .loc 2 1072 4 view .LVU1472 4260 .syntax unified 4261 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4262 0104 53E8002F ldrex r2, [r3] 4263 @ 0 "" 2 4264 .LVL330: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4265 .loc 2 1073 4 view .LVU1473 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4266 .loc 2 1073 4 is_stmt 0 view .LVU1474 4267 .thumb 4268 .syntax unified 4269 .LBE712: 4270 .LBE716: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 185 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4271 .loc 1 1801 5 view .LVU1475 4272 0108 22F01002 bic r2, r2, #16 4273 .LVL331: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4274 .loc 1 1801 5 is_stmt 1 view .LVU1476 4275 .LBB717: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4276 .loc 2 1119 31 view .LVU1477 4277 .LBB715: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4278 .loc 2 1121 4 view .LVU1478 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4279 .loc 2 1123 4 view .LVU1479 4280 .syntax unified 4281 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4282 010c 43E80021 strex r1, r2, [r3] 4283 @ 0 "" 2 4284 .LVL332: 4285 .loc 2 1124 4 view .LVU1480 4286 .loc 2 1124 4 is_stmt 0 view .LVU1481 4287 .thumb 4288 .syntax unified 4289 .LBE715: 4290 .LBE717: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4291 .loc 1 1801 5 view .LVU1482 4292 0110 0029 cmp r1, #0 4293 0112 EFD1 bne .L305 4294 0114 8EE7 b .L308 4295 .LVL333: 4296 .L317: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4297 .loc 1 1801 5 view .LVU1483 4298 .LBE718: 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4299 .loc 1 1860 3 is_stmt 1 view .LVU1484 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4300 .loc 1 1860 7 is_stmt 0 view .LVU1485 4301 0116 9A68 ldr r2, [r3, #8] 4302 .LVL334: 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4303 .loc 1 1860 6 view .LVU1486 4304 0118 5206 lsls r2, r2, #25 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4305 .loc 1 1860 7 view .LVU1487 4306 011a 1C46 mov r4, r3 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4307 .loc 1 1860 6 view .LVU1488 4308 011c B8D5 bpl .L315 4309 011e A1E7 b .L344 4310 .L346: 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4311 .loc 1 1811 9 view .LVU1489 4312 0120 1C46 mov r4, r3 4313 0122 91E7 b .L309 4314 .LVL335: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 186 4315 .L322: 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4316 .loc 1 1885 3 is_stmt 1 view .LVU1490 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4317 .loc 1 1885 6 is_stmt 0 view .LVU1491 4318 0124 012C cmp r4, #1 4319 0126 CAD1 bne .L319 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4320 .loc 1 1899 5 view .LVU1492 4321 0128 1C46 mov r4, r3 4322 .LVL336: 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4323 .loc 1 1899 5 view .LVU1493 4324 012a B1E7 b .L315 4325 .LVL337: 4326 .L347: 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4327 .loc 1 1860 3 is_stmt 1 view .LVU1494 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4328 .loc 1 1860 7 is_stmt 0 view .LVU1495 4329 012c 9A68 ldr r2, [r3, #8] 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4330 .loc 1 1860 6 view .LVU1496 4331 012e 5006 lsls r0, r2, #25 4332 0130 C5D5 bpl .L319 4333 0132 696F ldr r1, [r5, #116] 4334 0134 97E7 b .L321 4335 .L349: 4336 0136 00BF .align 2 4337 .L348: 4338 0138 00000000 .word UART_DMATxAbortCallback 4339 013c 00000000 .word UART_DMARxAbortCallback 4340 .cfi_endproc 4341 .LFE149: 4343 .section .text.UART_DMARxAbortCallback,"ax",%progbits 4344 .align 1 4345 .p2align 2,,3 4346 .syntax unified 4347 .thumb 4348 .thumb_func 4350 UART_DMARxAbortCallback: 4351 .LVL338: 4352 .LFB188: 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4353 .loc 1 3630 1 is_stmt 1 view -0 4354 .cfi_startproc 4355 @ args = 0, pretend = 0, frame = 0 4356 @ frame_needed = 0, uses_anonymous_args = 0 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4357 .loc 1 3631 3 view .LVU1498 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4358 .loc 1 3631 23 is_stmt 0 view .LVU1499 4359 0000 406A ldr r0, [r0, #36] 4360 .LVL339: 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4361 .loc 1 3633 3 is_stmt 1 view .LVU1500 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 187 4362 .loc 1 3636 12 is_stmt 0 view .LVU1501 4363 0002 D0E91C32 ldrd r3, r2, [r0, #112] 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4364 .loc 1 3633 36 view .LVU1502 4365 0006 0021 movs r1, #0 4366 0008 5163 str r1, [r2, #52] 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4367 .loc 1 3636 3 is_stmt 1 view .LVU1503 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4368 .loc 1 3636 6 is_stmt 0 view .LVU1504 4369 000a 13B1 cbz r3, .L351 3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4370 .loc 1 3638 5 is_stmt 1 view .LVU1505 3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4371 .loc 1 3638 8 is_stmt 0 view .LVU1506 4372 000c 5B6B ldr r3, [r3, #52] 4373 000e 03B1 cbz r3, .L351 4374 0010 7047 bx lr 4375 .L351: 3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4376 .loc 1 3645 3 is_stmt 1 view .LVU1507 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4377 .loc 1 3652 3 is_stmt 0 view .LVU1508 4378 0012 0268 ldr r2, [r0] 3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4379 .loc 1 3645 22 view .LVU1509 4380 0014 0023 movs r3, #0 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4381 .loc 1 3652 3 view .LVU1510 4382 0016 0F21 movs r1, #15 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4383 .loc 1 3630 1 view .LVU1511 4384 0018 10B5 push {r4, lr} 4385 .LCFI16: 4386 .cfi_def_cfa_offset 8 4387 .cfi_offset 4, -8 4388 .cfi_offset 14, -4 3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4389 .loc 1 3645 22 view .LVU1512 4390 001a A0F85230 strh r3, [r0, #82] @ movhi 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4391 .loc 1 3646 3 is_stmt 1 view .LVU1513 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4392 .loc 1 3646 22 is_stmt 0 view .LVU1514 4393 001e A0F85A30 strh r3, [r0, #90] @ movhi 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4394 .loc 1 3649 3 is_stmt 1 view .LVU1515 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4395 .loc 1 3649 20 is_stmt 0 view .LVU1516 4396 0022 C0F88430 str r3, [r0, #132] 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4397 .loc 1 3652 3 is_stmt 1 view .LVU1517 4398 0026 1162 str r1, [r2, #32] 3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4399 .loc 1 3655 3 view .LVU1518 4400 0028 9169 ldr r1, [r2, #24] 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 188 4401 .loc 1 3658 18 is_stmt 0 view .LVU1519 4402 002a 2024 movs r4, #32 3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4403 .loc 1 3655 3 view .LVU1520 4404 002c 41F00801 orr r1, r1, #8 4405 0030 9161 str r1, [r2, #24] 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4406 .loc 1 3658 3 is_stmt 1 view .LVU1521 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4407 .loc 1 3658 18 is_stmt 0 view .LVU1522 4408 0032 C467 str r4, [r0, #124] 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4409 .loc 1 3659 3 is_stmt 1 view .LVU1523 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4410 .loc 1 3659 18 is_stmt 0 view .LVU1524 4411 0034 C0F88040 str r4, [r0, #128] 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4412 .loc 1 3660 3 is_stmt 1 view .LVU1525 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4413 .loc 1 3660 24 is_stmt 0 view .LVU1526 4414 0038 0366 str r3, [r0, #96] 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4415 .loc 1 3668 3 is_stmt 1 view .LVU1527 4416 003a FFF7FEFF bl HAL_UART_AbortCpltCallback 4417 .LVL340: 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4418 .loc 1 3670 1 is_stmt 0 view .LVU1528 4419 003e 10BD pop {r4, pc} 4420 .cfi_endproc 4421 .LFE188: 4423 .section .text.UART_DMATxAbortCallback,"ax",%progbits 4424 .align 1 4425 .p2align 2,,3 4426 .syntax unified 4427 .thumb 4428 .thumb_func 4430 UART_DMATxAbortCallback: 4431 .LVL341: 4432 .LFB187: 3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4433 .loc 1 3580 1 is_stmt 1 view -0 4434 .cfi_startproc 4435 @ args = 0, pretend = 0, frame = 0 4436 @ frame_needed = 0, uses_anonymous_args = 0 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4437 .loc 1 3581 3 view .LVU1530 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4438 .loc 1 3581 23 is_stmt 0 view .LVU1531 4439 0000 406A ldr r0, [r0, #36] 4440 .LVL342: 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4441 .loc 1 3583 3 is_stmt 1 view .LVU1532 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4442 .loc 1 3586 12 is_stmt 0 view .LVU1533 4443 0002 D0E91C23 ldrd r2, r3, [r0, #112] 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4444 .loc 1 3583 36 view .LVU1534 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 189 4445 0006 0021 movs r1, #0 4446 0008 5163 str r1, [r2, #52] 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4447 .loc 1 3586 3 is_stmt 1 view .LVU1535 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4448 .loc 1 3586 6 is_stmt 0 view .LVU1536 4449 000a 13B1 cbz r3, .L360 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4450 .loc 1 3588 5 is_stmt 1 view .LVU1537 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4451 .loc 1 3588 8 is_stmt 0 view .LVU1538 4452 000c 5B6B ldr r3, [r3, #52] 4453 000e 03B1 cbz r3, .L360 4454 0010 7047 bx lr 4455 .L360: 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4456 .loc 1 3595 3 is_stmt 1 view .LVU1539 3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4457 .loc 1 3580 1 is_stmt 0 view .LVU1540 4458 0012 10B5 push {r4, lr} 4459 .LCFI17: 4460 .cfi_def_cfa_offset 8 4461 .cfi_offset 4, -8 4462 .cfi_offset 14, -4 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4463 .loc 1 3602 3 view .LVU1541 4464 0014 0168 ldr r1, [r0] 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4465 .loc 1 3595 22 view .LVU1542 4466 0016 0023 movs r3, #0 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4467 .loc 1 3606 18 view .LVU1543 4468 0018 2022 movs r2, #32 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4469 .loc 1 3602 3 view .LVU1544 4470 001a 0F24 movs r4, #15 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = 0U; 4471 .loc 1 3595 22 view .LVU1545 4472 001c A0F85230 strh r3, [r0, #82] @ movhi 3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4473 .loc 1 3596 3 is_stmt 1 view .LVU1546 3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4474 .loc 1 3596 22 is_stmt 0 view .LVU1547 4475 0020 A0F85A30 strh r3, [r0, #90] @ movhi 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4476 .loc 1 3599 3 is_stmt 1 view .LVU1548 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4477 .loc 1 3599 20 is_stmt 0 view .LVU1549 4478 0024 C0F88430 str r3, [r0, #132] 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4479 .loc 1 3602 3 is_stmt 1 view .LVU1550 4480 0028 0C62 str r4, [r1, #32] 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4481 .loc 1 3606 3 view .LVU1551 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4482 .loc 1 3606 18 is_stmt 0 view .LVU1552 4483 002a C267 str r2, [r0, #124] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 190 3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4484 .loc 1 3607 3 is_stmt 1 view .LVU1553 3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4485 .loc 1 3607 18 is_stmt 0 view .LVU1554 4486 002c C0F88020 str r2, [r0, #128] 3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4487 .loc 1 3608 3 is_stmt 1 view .LVU1555 3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4488 .loc 1 3608 24 is_stmt 0 view .LVU1556 4489 0030 0366 str r3, [r0, #96] 3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4490 .loc 1 3616 3 is_stmt 1 view .LVU1557 4491 0032 FFF7FEFF bl HAL_UART_AbortCpltCallback 4492 .LVL343: 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4493 .loc 1 3618 1 is_stmt 0 view .LVU1558 4494 0036 10BD pop {r4, pc} 4495 .cfi_endproc 4496 .LFE187: 4498 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits 4499 .align 1 4500 .p2align 2,,3 4501 .weak HAL_UART_AbortTransmitCpltCallback 4502 .syntax unified 4503 .thumb 4504 .thumb_func 4506 HAL_UART_AbortTransmitCpltCallback: 4507 .LFB213: 4508 .cfi_startproc 4509 @ args = 0, pretend = 0, frame = 0 4510 @ frame_needed = 0, uses_anonymous_args = 0 4511 @ link register save eliminated. 4512 0000 7047 bx lr 4513 .cfi_endproc 4514 .LFE213: 4516 0002 00BF .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits 4517 .align 1 4518 .p2align 2,,3 4519 .global HAL_UART_AbortTransmit_IT 4520 .syntax unified 4521 .thumb 4522 .thumb_func 4524 HAL_UART_AbortTransmit_IT: 4525 .LVL344: 4526 .LFB150: 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */ 4527 .loc 1 1938 1 is_stmt 1 view -0 4528 .cfi_startproc 4529 @ args = 0, pretend = 0, frame = 0 4530 @ frame_needed = 0, uses_anonymous_args = 0 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */ 4531 .loc 1 1938 1 is_stmt 0 view .LVU1560 4532 0000 0268 ldr r2, [r0] 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */ 4533 .loc 1 1938 1 view .LVU1561 4534 0002 10B5 push {r4, lr} 4535 .LCFI18: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 191 4536 .cfi_def_cfa_offset 8 4537 .cfi_offset 4, -8 4538 .cfi_offset 14, -4 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable interrupts */ 4539 .loc 1 1938 1 view .LVU1562 4540 0004 0446 mov r4, r0 4541 .L370: 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4542 .loc 1 1940 3 is_stmt 1 discriminator 1 view .LVU1563 4543 .LBB719: 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4544 .loc 1 1940 3 discriminator 1 view .LVU1564 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4545 .loc 1 1940 3 discriminator 1 view .LVU1565 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4546 .loc 1 1940 3 discriminator 1 view .LVU1566 4547 .LVL345: 4548 .LBB720: 4549 .LBI720: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4550 .loc 2 1068 31 discriminator 1 view .LVU1567 4551 .LBB721: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4552 .loc 2 1070 5 discriminator 1 view .LVU1568 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4553 .loc 2 1072 4 discriminator 1 view .LVU1569 4554 .syntax unified 4555 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4556 0006 52E8003F ldrex r3, [r2] 4557 @ 0 "" 2 4558 .LVL346: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4559 .loc 2 1073 4 discriminator 1 view .LVU1570 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4560 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1571 4561 .thumb 4562 .syntax unified 4563 .LBE721: 4564 .LBE720: 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4565 .loc 1 1940 3 discriminator 1 view .LVU1572 4566 000a 23F0C003 bic r3, r3, #192 4567 .LVL347: 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4568 .loc 1 1940 3 is_stmt 1 discriminator 1 view .LVU1573 4569 .LBB722: 4570 .LBI722: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4571 .loc 2 1119 31 discriminator 1 view .LVU1574 4572 .LBB723: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4573 .loc 2 1121 4 discriminator 1 view .LVU1575 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4574 .loc 2 1123 4 discriminator 1 view .LVU1576 4575 .syntax unified 4576 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4577 000e 42E80031 strex r1, r3, [r2] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 192 4578 @ 0 "" 2 4579 .LVL348: 4580 .loc 2 1124 4 discriminator 1 view .LVU1577 4581 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1578 4582 .thumb 4583 .syntax unified 4584 .LBE723: 4585 .LBE722: 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4586 .loc 1 1940 3 discriminator 1 view .LVU1579 4587 0012 0029 cmp r1, #0 4588 0014 F7D1 bne .L370 4589 .LBE719: 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4590 .loc 1 1940 3 is_stmt 1 discriminator 2 view .LVU1580 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4591 .loc 1 1943 3 discriminator 2 view .LVU1581 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4592 .loc 1 1943 7 is_stmt 0 discriminator 2 view .LVU1582 4593 0016 9368 ldr r3, [r2, #8] 4594 .LVL349: 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4595 .loc 1 1943 6 discriminator 2 view .LVU1583 4596 0018 13F08003 ands r3, r3, #128 4597 001c 21D0 beq .L371 4598 .LVL350: 4599 .L373: 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4600 .loc 1 1946 5 is_stmt 1 discriminator 1 view .LVU1584 4601 .LBB724: 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4602 .loc 1 1946 5 discriminator 1 view .LVU1585 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4603 .loc 1 1946 5 discriminator 1 view .LVU1586 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4604 .loc 1 1946 5 discriminator 1 view .LVU1587 4605 .LBB725: 4606 .LBI725: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4607 .loc 2 1068 31 discriminator 1 view .LVU1588 4608 .LBB726: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4609 .loc 2 1070 5 discriminator 1 view .LVU1589 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4610 .loc 2 1072 4 discriminator 1 view .LVU1590 4611 001e 02F10803 add r3, r2, #8 4612 .LVL351: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4613 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1591 4614 .syntax unified 4615 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4616 0022 53E8003F ldrex r3, [r3] 4617 @ 0 "" 2 4618 .LVL352: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4619 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1592 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 193 4620 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1593 4621 .thumb 4622 .syntax unified 4623 .LBE726: 4624 .LBE725: 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4625 .loc 1 1946 5 discriminator 1 view .LVU1594 4626 0026 23F08003 bic r3, r3, #128 4627 .LVL353: 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4628 .loc 1 1946 5 is_stmt 1 discriminator 1 view .LVU1595 4629 .LBB727: 4630 .LBI727: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4631 .loc 2 1119 31 discriminator 1 view .LVU1596 4632 .LBB728: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4633 .loc 2 1121 4 discriminator 1 view .LVU1597 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4634 .loc 2 1123 4 discriminator 1 view .LVU1598 4635 002a 02F10800 add r0, r2, #8 4636 .LVL354: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4637 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1599 4638 .syntax unified 4639 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4640 002e 40E80031 strex r1, r3, [r0] 4641 @ 0 "" 2 4642 .LVL355: 4643 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1600 4644 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1601 4645 .thumb 4646 .syntax unified 4647 .LBE728: 4648 .LBE727: 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4649 .loc 1 1946 5 discriminator 1 view .LVU1602 4650 0032 0029 cmp r1, #0 4651 0034 F3D1 bne .L373 4652 .LBE724: 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4653 .loc 1 1946 5 is_stmt 1 discriminator 2 view .LVU1603 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4654 .loc 1 1949 5 discriminator 2 view .LVU1604 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4655 .loc 1 1949 14 is_stmt 0 discriminator 2 view .LVU1605 4656 0036 206F ldr r0, [r4, #112] 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4657 .loc 1 1949 8 discriminator 2 view .LVU1606 4658 0038 48B1 cbz r0, .L374 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4659 .loc 1 1953 7 is_stmt 1 view .LVU1607 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4660 .loc 1 1953 40 is_stmt 0 view .LVU1608 4661 003a 0F4B ldr r3, .L381 4662 .LVL356: 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 194 4663 .loc 1 1953 40 view .LVU1609 4664 003c 4363 str r3, [r0, #52] 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4665 .loc 1 1956 7 is_stmt 1 view .LVU1610 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4666 .loc 1 1956 11 is_stmt 0 view .LVU1611 4667 003e FFF7FEFF bl HAL_DMA_Abort_IT 4668 .LVL357: 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4669 .loc 1 1956 10 view .LVU1612 4670 0042 10B1 cbz r0, .L375 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4671 .loc 1 1959 9 is_stmt 1 view .LVU1613 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4672 .loc 1 1959 14 is_stmt 0 view .LVU1614 4673 0044 206F ldr r0, [r4, #112] 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4674 .loc 1 1959 9 view .LVU1615 4675 0046 436B ldr r3, [r0, #52] 4676 0048 9847 blx r3 4677 .LVL358: 4678 .L375: 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4679 .loc 1 2005 3 is_stmt 1 view .LVU1616 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4680 .loc 1 2006 1 is_stmt 0 view .LVU1617 4681 004a 0020 movs r0, #0 4682 004c 10BD pop {r4, pc} 4683 .LVL359: 4684 .L374: 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4685 .loc 1 1965 7 is_stmt 1 view .LVU1618 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4686 .loc 1 1971 21 is_stmt 0 view .LVU1619 4687 004e 2023 movs r3, #32 4688 .LVL360: 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4689 .loc 1 1965 26 view .LVU1620 4690 0050 A4F85200 strh r0, [r4, #82] @ movhi 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4691 .loc 1 1968 7 is_stmt 1 view .LVU1621 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4692 .loc 1 1968 20 is_stmt 0 view .LVU1622 4693 0054 E066 str r0, [r4, #108] 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4694 .loc 1 1971 7 is_stmt 1 view .LVU1623 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4695 .loc 1 1971 21 is_stmt 0 view .LVU1624 4696 0056 E367 str r3, [r4, #124] 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4697 .loc 1 1979 7 is_stmt 1 view .LVU1625 4698 0058 2046 mov r0, r4 4699 005a FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4700 .LVL361: 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4701 .loc 1 2005 3 view .LVU1626 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 195 4702 .loc 1 2006 1 is_stmt 0 view .LVU1627 4703 005e 0020 movs r0, #0 4704 0060 10BD pop {r4, pc} 4705 .LVL362: 4706 .L371: 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4707 .loc 1 1986 5 is_stmt 1 view .LVU1628 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4708 .loc 1 1993 19 is_stmt 0 view .LVU1629 4709 0062 2022 movs r2, #32 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4710 .loc 1 1986 24 view .LVU1630 4711 0064 A4F85230 strh r3, [r4, #82] @ movhi 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4712 .loc 1 1989 5 is_stmt 1 view .LVU1631 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4713 .loc 1 2001 5 is_stmt 0 view .LVU1632 4714 0068 2046 mov r0, r4 4715 .LVL363: 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4716 .loc 1 1989 18 view .LVU1633 4717 006a E366 str r3, [r4, #108] 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4718 .loc 1 1993 5 is_stmt 1 view .LVU1634 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4719 .loc 1 1993 19 is_stmt 0 view .LVU1635 4720 006c E267 str r2, [r4, #124] 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4721 .loc 1 2001 5 is_stmt 1 view .LVU1636 4722 006e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4723 .LVL364: 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4724 .loc 1 2005 3 view .LVU1637 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4725 .loc 1 2006 1 is_stmt 0 view .LVU1638 4726 0072 0020 movs r0, #0 4727 0074 10BD pop {r4, pc} 4728 .LVL365: 4729 .L382: 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4730 .loc 1 2006 1 view .LVU1639 4731 0076 00BF .align 2 4732 .L381: 4733 0078 00000000 .word UART_DMATxOnlyAbortCallback 4734 .cfi_endproc 4735 .LFE150: 4737 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits 4738 .align 1 4739 .p2align 2,,3 4740 .syntax unified 4741 .thumb 4742 .thumb_func 4744 UART_DMATxOnlyAbortCallback: 4745 .LVL366: 4746 .LFB189: 3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4747 .loc 1 3682 1 is_stmt 1 view -0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 196 4748 .cfi_startproc 4749 @ args = 0, pretend = 0, frame = 0 4750 @ frame_needed = 0, uses_anonymous_args = 0 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4751 .loc 1 3683 3 view .LVU1641 3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4752 .loc 1 3682 1 is_stmt 0 view .LVU1642 4753 0000 08B5 push {r3, lr} 4754 .LCFI19: 4755 .cfi_def_cfa_offset 8 4756 .cfi_offset 3, -8 4757 .cfi_offset 14, -4 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4758 .loc 1 3683 23 view .LVU1643 4759 0002 406A ldr r0, [r0, #36] 4760 .LVL367: 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4761 .loc 1 3685 3 is_stmt 1 view .LVU1644 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4762 .loc 1 3685 22 is_stmt 0 view .LVU1645 4763 0004 0022 movs r2, #0 3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4764 .loc 1 3689 17 view .LVU1646 4765 0006 2023 movs r3, #32 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4766 .loc 1 3685 22 view .LVU1647 4767 0008 A0F85220 strh r2, [r0, #82] @ movhi 3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4768 .loc 1 3689 3 is_stmt 1 view .LVU1648 3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4769 .loc 1 3689 17 is_stmt 0 view .LVU1649 4770 000c C367 str r3, [r0, #124] 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4771 .loc 1 3697 3 is_stmt 1 view .LVU1650 4772 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4773 .LVL368: 3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4774 .loc 1 3699 1 is_stmt 0 view .LVU1651 4775 0012 08BD pop {r3, pc} 4776 .cfi_endproc 4777 .LFE189: 4779 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits 4780 .align 1 4781 .p2align 2,,3 4782 .weak HAL_UART_AbortReceiveCpltCallback 4783 .syntax unified 4784 .thumb 4785 .thumb_func 4787 HAL_UART_AbortReceiveCpltCallback: 4788 .LFB215: 4789 .cfi_startproc 4790 @ args = 0, pretend = 0, frame = 0 4791 @ frame_needed = 0, uses_anonymous_args = 0 4792 @ link register save eliminated. 4793 0000 7047 bx lr 4794 .cfi_endproc 4795 .LFE215: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 197 4797 0002 00BF .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits 4798 .align 1 4799 .p2align 2,,3 4800 .global HAL_UART_AbortReceive_IT 4801 .syntax unified 4802 .thumb 4803 .thumb_func 4805 HAL_UART_AbortReceive_IT: 4806 .LVL369: 4807 .LFB151: 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 4808 .loc 1 2023 1 is_stmt 1 view -0 4809 .cfi_startproc 4810 @ args = 0, pretend = 0, frame = 0 4811 @ frame_needed = 0, uses_anonymous_args = 0 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 4812 .loc 1 2023 1 is_stmt 0 view .LVU1653 4813 0000 38B5 push {r3, r4, r5, lr} 4814 .LCFI20: 4815 .cfi_def_cfa_offset 16 4816 .cfi_offset 3, -16 4817 .cfi_offset 4, -12 4818 .cfi_offset 5, -8 4819 .cfi_offset 14, -4 4820 0002 0368 ldr r3, [r0] 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 4821 .loc 1 2023 1 view .LVU1654 4822 0004 0446 mov r4, r0 4823 .L387: 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4824 .loc 1 2025 3 is_stmt 1 discriminator 1 view .LVU1655 4825 .LBB729: 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4826 .loc 1 2025 3 discriminator 1 view .LVU1656 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4827 .loc 1 2025 3 discriminator 1 view .LVU1657 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4828 .loc 1 2025 3 discriminator 1 view .LVU1658 4829 .LVL370: 4830 .LBB730: 4831 .LBI730: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4832 .loc 2 1068 31 discriminator 1 view .LVU1659 4833 .LBB731: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4834 .loc 2 1070 5 discriminator 1 view .LVU1660 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4835 .loc 2 1072 4 discriminator 1 view .LVU1661 4836 .syntax unified 4837 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4838 0006 53E8002F ldrex r2, [r3] 4839 @ 0 "" 2 4840 .LVL371: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4841 .loc 2 1073 4 discriminator 1 view .LVU1662 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4842 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1663 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 198 4843 .thumb 4844 .syntax unified 4845 .LBE731: 4846 .LBE730: 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4847 .loc 1 2025 3 discriminator 1 view .LVU1664 4848 000a 22F49072 bic r2, r2, #288 4849 .LVL372: 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4850 .loc 1 2025 3 is_stmt 1 discriminator 1 view .LVU1665 4851 .LBB732: 4852 .LBI732: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4853 .loc 2 1119 31 discriminator 1 view .LVU1666 4854 .LBB733: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4855 .loc 2 1121 4 discriminator 1 view .LVU1667 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4856 .loc 2 1123 4 discriminator 1 view .LVU1668 4857 .syntax unified 4858 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4859 000e 43E80021 strex r1, r2, [r3] 4860 @ 0 "" 2 4861 .LVL373: 4862 .loc 2 1124 4 discriminator 1 view .LVU1669 4863 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1670 4864 .thumb 4865 .syntax unified 4866 .LBE733: 4867 .LBE732: 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4868 .loc 1 2025 3 discriminator 1 view .LVU1671 4869 0012 0029 cmp r1, #0 4870 0014 F7D1 bne .L387 4871 .LVL374: 4872 .L388: 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4873 .loc 1 2025 3 discriminator 1 view .LVU1672 4874 .LBE729: 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4875 .loc 1 2025 3 is_stmt 1 discriminator 1 view .LVU1673 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4876 .loc 1 2026 3 discriminator 1 view .LVU1674 4877 .LBB734: 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4878 .loc 1 2026 3 discriminator 1 view .LVU1675 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4879 .loc 1 2026 3 discriminator 1 view .LVU1676 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4880 .loc 1 2026 3 discriminator 1 view .LVU1677 4881 .LBB735: 4882 .LBI735: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4883 .loc 2 1068 31 discriminator 1 view .LVU1678 4884 .LBB736: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4885 .loc 2 1070 5 discriminator 1 view .LVU1679 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 199 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4886 .loc 2 1072 4 discriminator 1 view .LVU1680 4887 0016 03F10802 add r2, r3, #8 4888 .LVL375: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4889 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1681 4890 .syntax unified 4891 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4892 001a 52E8002F ldrex r2, [r2] 4893 @ 0 "" 2 4894 .LVL376: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4895 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1682 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4896 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1683 4897 .thumb 4898 .syntax unified 4899 .LBE736: 4900 .LBE735: 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4901 .loc 1 2026 3 discriminator 1 view .LVU1684 4902 001e 22F00102 bic r2, r2, #1 4903 .LVL377: 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4904 .loc 1 2026 3 is_stmt 1 discriminator 1 view .LVU1685 4905 .LBB737: 4906 .LBI737: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4907 .loc 2 1119 31 discriminator 1 view .LVU1686 4908 .LBB738: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4909 .loc 2 1121 4 discriminator 1 view .LVU1687 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4910 .loc 2 1123 4 discriminator 1 view .LVU1688 4911 0022 03F10800 add r0, r3, #8 4912 .LVL378: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4913 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1689 4914 .syntax unified 4915 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4916 0026 40E80021 strex r1, r2, [r0] 4917 @ 0 "" 2 4918 .LVL379: 4919 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1690 4920 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1691 4921 .thumb 4922 .syntax unified 4923 .LBE738: 4924 .LBE737: 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4925 .loc 1 2026 3 discriminator 1 view .LVU1692 4926 002a 0029 cmp r1, #0 4927 002c F3D1 bne .L388 4928 .LBE734: 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4929 .loc 1 2026 3 is_stmt 1 discriminator 2 view .LVU1693 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 200 4930 .loc 1 2029 3 discriminator 2 view .LVU1694 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4931 .loc 1 2029 12 is_stmt 0 discriminator 2 view .LVU1695 4932 002e 226E ldr r2, [r4, #96] 4933 .LVL380: 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4934 .loc 1 2029 6 discriminator 2 view .LVU1696 4935 0030 012A cmp r2, #1 4936 0032 1CD0 beq .L389 4937 .L392: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 4938 .loc 1 2031 5 is_stmt 1 view .LVU1697 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4939 .loc 1 2035 3 view .LVU1698 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4940 .loc 1 2035 7 is_stmt 0 view .LVU1699 4941 0034 9A68 ldr r2, [r3, #8] 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 4942 .loc 1 2035 6 view .LVU1700 4943 0036 12F04002 ands r2, r2, #64 4944 003a 3BD0 beq .L408 4945 .L390: 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4946 .loc 1 2038 5 is_stmt 1 discriminator 1 view .LVU1701 4947 .LBB739: 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4948 .loc 1 2038 5 discriminator 1 view .LVU1702 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4949 .loc 1 2038 5 discriminator 1 view .LVU1703 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4950 .loc 1 2038 5 discriminator 1 view .LVU1704 4951 .LVL381: 4952 .LBB740: 4953 .LBI740: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4954 .loc 2 1068 31 discriminator 1 view .LVU1705 4955 .LBB741: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4956 .loc 2 1070 5 discriminator 1 view .LVU1706 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4957 .loc 2 1072 4 discriminator 1 view .LVU1707 4958 003c 03F10802 add r2, r3, #8 4959 .LVL382: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4960 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1708 4961 .syntax unified 4962 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4963 0040 52E8002F ldrex r2, [r2] 4964 @ 0 "" 2 4965 .LVL383: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4966 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1709 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4967 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1710 4968 .thumb 4969 .syntax unified 4970 .LBE741: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 201 4971 .LBE740: 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4972 .loc 1 2038 5 discriminator 1 view .LVU1711 4973 0044 22F04002 bic r2, r2, #64 4974 .LVL384: 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4975 .loc 1 2038 5 is_stmt 1 discriminator 1 view .LVU1712 4976 .LBB742: 4977 .LBI742: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4978 .loc 2 1119 31 discriminator 1 view .LVU1713 4979 .LBB743: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4980 .loc 2 1121 4 discriminator 1 view .LVU1714 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4981 .loc 2 1123 4 discriminator 1 view .LVU1715 4982 0048 03F10800 add r0, r3, #8 4983 .LVL385: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4984 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1716 4985 .syntax unified 4986 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4987 004c 40E80021 strex r1, r2, [r0] 4988 @ 0 "" 2 4989 .LVL386: 4990 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1717 4991 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1718 4992 .thumb 4993 .syntax unified 4994 .LBE743: 4995 .LBE742: 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 4996 .loc 1 2038 5 discriminator 1 view .LVU1719 4997 0050 0029 cmp r1, #0 4998 0052 F3D1 bne .L390 4999 .LBE739: 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5000 .loc 1 2038 5 is_stmt 1 discriminator 2 view .LVU1720 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5001 .loc 1 2041 5 discriminator 2 view .LVU1721 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5002 .loc 1 2041 14 is_stmt 0 discriminator 2 view .LVU1722 5003 0054 626F ldr r2, [r4, #116] 5004 .LVL387: 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5005 .loc 1 2041 8 discriminator 2 view .LVU1723 5006 0056 DAB1 cbz r2, .L394 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5007 .loc 1 2045 7 is_stmt 1 view .LVU1724 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5008 .loc 1 2045 40 is_stmt 0 view .LVU1725 5009 0058 1D4B ldr r3, .L409 5010 005a 5363 str r3, [r2, #52] 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5011 .loc 1 2048 7 is_stmt 1 view .LVU1726 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5012 .loc 1 2048 11 is_stmt 0 view .LVU1727 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 202 5013 005c 1046 mov r0, r2 5014 005e FFF7FEFF bl HAL_DMA_Abort_IT 5015 .LVL388: 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5016 .loc 1 2048 10 view .LVU1728 5017 0062 10B1 cbz r0, .L395 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5018 .loc 1 2051 9 is_stmt 1 view .LVU1729 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5019 .loc 1 2051 14 is_stmt 0 view .LVU1730 5020 0064 606F ldr r0, [r4, #116] 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5021 .loc 1 2051 9 view .LVU1731 5022 0066 436B ldr r3, [r0, #52] 5023 0068 9847 blx r3 5024 .LVL389: 5025 .L395: 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5026 .loc 1 2107 3 is_stmt 1 view .LVU1732 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5027 .loc 1 2108 1 is_stmt 0 view .LVU1733 5028 006a 0020 movs r0, #0 5029 006c 38BD pop {r3, r4, r5, pc} 5030 .LVL390: 5031 .L389: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5032 .loc 1 2031 5 is_stmt 1 discriminator 1 view .LVU1734 5033 .LBB744: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5034 .loc 1 2031 5 discriminator 1 view .LVU1735 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5035 .loc 1 2031 5 discriminator 1 view .LVU1736 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5036 .loc 1 2031 5 discriminator 1 view .LVU1737 5037 .LBB745: 5038 .LBI745: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5039 .loc 2 1068 31 discriminator 1 view .LVU1738 5040 .LBB746: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5041 .loc 2 1070 5 discriminator 1 view .LVU1739 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5042 .loc 2 1072 4 discriminator 1 view .LVU1740 5043 .syntax unified 5044 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5045 006e 53E8002F ldrex r2, [r3] 5046 @ 0 "" 2 5047 .LVL391: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5048 .loc 2 1073 4 discriminator 1 view .LVU1741 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5049 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1742 5050 .thumb 5051 .syntax unified 5052 .LBE746: 5053 .LBE745: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 203 5054 .loc 1 2031 5 discriminator 1 view .LVU1743 5055 0072 22F01002 bic r2, r2, #16 5056 .LVL392: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5057 .loc 1 2031 5 is_stmt 1 discriminator 1 view .LVU1744 5058 .LBB748: 5059 .LBI748: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5060 .loc 2 1119 31 discriminator 1 view .LVU1745 5061 .LBB749: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5062 .loc 2 1121 4 discriminator 1 view .LVU1746 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5063 .loc 2 1123 4 discriminator 1 view .LVU1747 5064 .syntax unified 5065 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5066 0076 43E80021 strex r1, r2, [r3] 5067 @ 0 "" 2 5068 .LVL393: 5069 .loc 2 1124 4 discriminator 1 view .LVU1748 5070 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1749 5071 .thumb 5072 .syntax unified 5073 .LBE749: 5074 .LBE748: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5075 .loc 1 2031 5 discriminator 1 view .LVU1750 5076 007a 0029 cmp r1, #0 5077 007c DAD0 beq .L392 5078 .LBE744: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5079 .loc 1 2031 5 is_stmt 1 view .LVU1751 5080 .LBB753: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5081 .loc 1 2031 5 view .LVU1752 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5082 .loc 1 2031 5 view .LVU1753 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5083 .loc 1 2031 5 view .LVU1754 5084 .LVL394: 5085 .LBB751: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5086 .loc 2 1068 31 view .LVU1755 5087 .LBB747: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5088 .loc 2 1070 5 view .LVU1756 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5089 .loc 2 1072 4 view .LVU1757 5090 .syntax unified 5091 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5092 007e 53E8002F ldrex r2, [r3] 5093 @ 0 "" 2 5094 .LVL395: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5095 .loc 2 1073 4 view .LVU1758 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5096 .loc 2 1073 4 is_stmt 0 view .LVU1759 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 204 5097 .thumb 5098 .syntax unified 5099 .LBE747: 5100 .LBE751: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5101 .loc 1 2031 5 view .LVU1760 5102 0082 22F01002 bic r2, r2, #16 5103 .LVL396: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5104 .loc 1 2031 5 is_stmt 1 view .LVU1761 5105 .LBB752: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5106 .loc 2 1119 31 view .LVU1762 5107 .LBB750: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5108 .loc 2 1121 4 view .LVU1763 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5109 .loc 2 1123 4 view .LVU1764 5110 .syntax unified 5111 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5112 0086 43E80021 strex r1, r2, [r3] 5113 @ 0 "" 2 5114 .LVL397: 5115 .loc 2 1124 4 view .LVU1765 5116 .loc 2 1124 4 is_stmt 0 view .LVU1766 5117 .thumb 5118 .syntax unified 5119 .LBE750: 5120 .LBE752: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5121 .loc 1 2031 5 view .LVU1767 5122 008a 0029 cmp r1, #0 5123 008c EFD1 bne .L389 5124 008e D1E7 b .L392 5125 .LVL398: 5126 .L394: 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5127 .loc 1 2031 5 view .LVU1768 5128 .LBE753: 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5129 .loc 1 2057 7 is_stmt 1 view .LVU1769 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5130 .loc 1 2063 7 is_stmt 0 view .LVU1770 5131 0090 0F21 movs r1, #15 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5132 .loc 1 2057 26 view .LVU1771 5133 0092 A4F85A20 strh r2, [r4, #90] @ movhi 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5134 .loc 1 2060 7 is_stmt 1 view .LVU1772 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5135 .loc 1 2060 25 is_stmt 0 view .LVU1773 5136 0096 6265 str r2, [r4, #84] 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5137 .loc 1 2063 7 is_stmt 1 view .LVU1774 5138 0098 1962 str r1, [r3, #32] 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5139 .loc 1 2066 7 view .LVU1775 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 205 5140 009a 9969 ldr r1, [r3, #24] 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5141 .loc 1 2069 22 is_stmt 0 view .LVU1776 5142 009c 2025 movs r5, #32 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5143 .loc 1 2066 7 view .LVU1777 5144 009e 41F00801 orr r1, r1, #8 5145 00a2 9961 str r1, [r3, #24] 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5146 .loc 1 2069 7 is_stmt 1 view .LVU1778 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5147 .loc 1 2078 7 is_stmt 0 view .LVU1779 5148 00a4 2046 mov r0, r4 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5149 .loc 1 2069 22 view .LVU1780 5150 00a6 C4F88050 str r5, [r4, #128] 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5151 .loc 1 2070 7 is_stmt 1 view .LVU1781 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5152 .loc 1 2070 28 is_stmt 0 view .LVU1782 5153 00aa 2266 str r2, [r4, #96] 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5154 .loc 1 2078 7 is_stmt 1 view .LVU1783 5155 00ac FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5156 .LVL399: 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5157 .loc 1 2107 3 view .LVU1784 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5158 .loc 1 2108 1 is_stmt 0 view .LVU1785 5159 00b0 0020 movs r0, #0 5160 00b2 38BD pop {r3, r4, r5, pc} 5161 .LVL400: 5162 .L408: 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5163 .loc 1 2085 5 is_stmt 1 view .LVU1786 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5164 .loc 1 2094 20 is_stmt 0 view .LVU1787 5165 00b4 2021 movs r1, #32 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5166 .loc 1 2091 5 view .LVU1788 5167 00b6 0F20 movs r0, #15 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5168 .loc 1 2085 24 view .LVU1789 5169 00b8 A4F85A20 strh r2, [r4, #90] @ movhi 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5170 .loc 1 2088 5 is_stmt 1 view .LVU1790 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5171 .loc 1 2088 23 is_stmt 0 view .LVU1791 5172 00bc 6265 str r2, [r4, #84] 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5173 .loc 1 2091 5 is_stmt 1 view .LVU1792 5174 00be 1862 str r0, [r3, #32] 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5175 .loc 1 2094 5 view .LVU1793 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5176 .loc 1 2103 5 is_stmt 0 view .LVU1794 5177 00c0 2046 mov r0, r4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 206 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5178 .loc 1 2094 20 view .LVU1795 5179 00c2 C4F88010 str r1, [r4, #128] 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5180 .loc 1 2095 5 is_stmt 1 view .LVU1796 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5181 .loc 1 2095 26 is_stmt 0 view .LVU1797 5182 00c6 2266 str r2, [r4, #96] 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5183 .loc 1 2103 5 is_stmt 1 view .LVU1798 5184 00c8 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5185 .LVL401: 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5186 .loc 1 2107 3 view .LVU1799 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5187 .loc 1 2108 1 is_stmt 0 view .LVU1800 5188 00cc 0020 movs r0, #0 5189 00ce 38BD pop {r3, r4, r5, pc} 5190 .LVL402: 5191 .L410: 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5192 .loc 1 2108 1 view .LVU1801 5193 .align 2 5194 .L409: 5195 00d0 00000000 .word UART_DMARxOnlyAbortCallback 5196 .cfi_endproc 5197 .LFE151: 5199 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits 5200 .align 1 5201 .p2align 2,,3 5202 .syntax unified 5203 .thumb 5204 .thumb_func 5206 UART_DMARxOnlyAbortCallback: 5207 .LVL403: 5208 .LFB190: 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5209 .loc 1 3710 1 is_stmt 1 view -0 5210 .cfi_startproc 5211 @ args = 0, pretend = 0, frame = 0 5212 @ frame_needed = 0, uses_anonymous_args = 0 3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5213 .loc 1 3711 3 view .LVU1803 3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5214 .loc 1 3711 23 is_stmt 0 view .LVU1804 5215 0000 406A ldr r0, [r0, #36] 5216 .LVL404: 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5217 .loc 1 3713 3 is_stmt 1 view .LVU1805 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5218 .loc 1 3716 3 is_stmt 0 view .LVU1806 5219 0002 0368 ldr r3, [r0] 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5220 .loc 1 3713 22 view .LVU1807 5221 0004 0021 movs r1, #0 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5222 .loc 1 3716 3 view .LVU1808 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 207 5223 0006 0F22 movs r2, #15 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 5224 .loc 1 3710 1 view .LVU1809 5225 0008 10B5 push {r4, lr} 5226 .LCFI21: 5227 .cfi_def_cfa_offset 8 5228 .cfi_offset 4, -8 5229 .cfi_offset 14, -4 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5230 .loc 1 3713 22 view .LVU1810 5231 000a A0F85A10 strh r1, [r0, #90] @ movhi 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5232 .loc 1 3716 3 is_stmt 1 view .LVU1811 5233 000e 1A62 str r2, [r3, #32] 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5234 .loc 1 3719 3 view .LVU1812 5235 0010 9A69 ldr r2, [r3, #24] 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5236 .loc 1 3722 18 is_stmt 0 view .LVU1813 5237 0012 2024 movs r4, #32 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5238 .loc 1 3719 3 view .LVU1814 5239 0014 42F00802 orr r2, r2, #8 5240 0018 9A61 str r2, [r3, #24] 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5241 .loc 1 3722 3 is_stmt 1 view .LVU1815 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5242 .loc 1 3722 18 is_stmt 0 view .LVU1816 5243 001a C0F88040 str r4, [r0, #128] 3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5244 .loc 1 3723 3 is_stmt 1 view .LVU1817 3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5245 .loc 1 3723 24 is_stmt 0 view .LVU1818 5246 001e 0166 str r1, [r0, #96] 3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5247 .loc 1 3731 3 is_stmt 1 view .LVU1819 5248 0020 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 5249 .LVL405: 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5250 .loc 1 3733 1 is_stmt 0 view .LVU1820 5251 0024 10BD pop {r4, pc} 5252 .cfi_endproc 5253 .LFE190: 5255 0026 00BF .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits 5256 .align 1 5257 .p2align 2,,3 5258 .weak HAL_UARTEx_RxEventCallback 5259 .syntax unified 5260 .thumb 5261 .thumb_func 5263 HAL_UARTEx_RxEventCallback: 5264 .LVL406: 5265 .LFB161: 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 5266 .loc 1 2540 1 is_stmt 1 view -0 5267 .cfi_startproc 5268 @ args = 0, pretend = 0, frame = 0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 208 5269 @ frame_needed = 0, uses_anonymous_args = 0 5270 @ link register save eliminated. 2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UNUSED(Size); 5271 .loc 1 2542 3 view .LVU1822 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5272 .loc 1 2543 3 view .LVU1823 2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5273 .loc 1 2548 1 is_stmt 0 view .LVU1824 5274 0000 7047 bx lr 5275 .cfi_endproc 5276 .LFE161: 5278 .section .text.HAL_UART_IRQHandler,"ax",%progbits 5279 .align 1 5280 .p2align 2,,3 5281 .global HAL_UART_IRQHandler 5282 .syntax unified 5283 .thumb 5284 .thumb_func 5286 HAL_UART_IRQHandler: 5287 .LVL407: 5288 .LFB152: 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5289 .loc 1 2116 1 is_stmt 1 view -0 5290 .cfi_startproc 5291 @ args = 0, pretend = 0, frame = 0 5292 @ frame_needed = 0, uses_anonymous_args = 0 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5293 .loc 1 2117 3 view .LVU1826 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5294 .loc 1 2117 25 is_stmt 0 view .LVU1827 5295 0000 0368 ldr r3, [r0] 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5296 .loc 1 2117 12 view .LVU1828 5297 0002 DA69 ldr r2, [r3, #28] 5298 .LVL408: 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 5299 .loc 1 2118 3 is_stmt 1 view .LVU1829 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 5300 .loc 1 2118 12 is_stmt 0 view .LVU1830 5301 0004 1968 ldr r1, [r3] 5302 .LVL409: 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5303 .loc 1 2119 3 is_stmt 1 view .LVU1831 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (errorflags == 0U) 5304 .loc 1 2125 14 is_stmt 0 view .LVU1832 5305 0006 40F60F0C movw ip, #2063 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5306 .loc 1 2126 6 view .LVU1833 5307 000a 12EA0C0F tst r2, ip 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5308 .loc 1 2116 1 view .LVU1834 5309 000e 2DE9F041 push {r4, r5, r6, r7, r8, lr} 5310 .LCFI22: 5311 .cfi_def_cfa_offset 24 5312 .cfi_offset 4, -24 5313 .cfi_offset 5, -20 5314 .cfi_offset 6, -16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 209 5315 .cfi_offset 7, -12 5316 .cfi_offset 8, -8 5317 .cfi_offset 14, -4 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5318 .loc 1 2119 12 view .LVU1835 5319 0012 9D68 ldr r5, [r3, #8] 5320 .LVL410: 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t errorcode; 5321 .loc 1 2121 3 is_stmt 1 view .LVU1836 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5322 .loc 1 2122 3 view .LVU1837 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (errorflags == 0U) 5323 .loc 1 2125 3 view .LVU1838 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5324 .loc 1 2126 3 view .LVU1839 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5325 .loc 1 2116 1 is_stmt 0 view .LVU1840 5326 0014 0446 mov r4, r0 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5327 .loc 1 2126 6 view .LVU1841 5328 0016 7FD1 bne .L415 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5329 .loc 1 2129 5 is_stmt 1 view .LVU1842 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5330 .loc 1 2129 8 is_stmt 0 view .LVU1843 5331 0018 9706 lsls r7, r2, #26 5332 001a 02D5 bpl .L416 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5333 .loc 1 2130 9 view .LVU1844 5334 001c 8E06 lsls r6, r1, #26 5335 001e 00F1F780 bmi .L551 5336 .LVL411: 5337 .L416: 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5338 .loc 1 2279 3 is_stmt 1 view .LVU1845 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5339 .loc 1 2279 13 is_stmt 0 view .LVU1846 5340 0022 206E ldr r0, [r4, #96] 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5341 .loc 1 2279 6 view .LVU1847 5342 0024 0128 cmp r0, #1 5343 0026 24D0 beq .L552 5344 .L433: 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5345 .loc 1 2375 3 is_stmt 1 view .LVU1848 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5346 .loc 1 2375 6 is_stmt 0 view .LVU1849 5347 0028 D002 lsls r0, r2, #11 5348 002a 02D5 bpl .L443 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5349 .loc 1 2375 42 discriminator 1 view .LVU1850 5350 002c 6F02 lsls r7, r5, #9 5351 002e 00F1F480 bmi .L553 5352 .L443: 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 5353 .loc 1 2393 3 is_stmt 1 view .LVU1851 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 210 5354 .loc 1 2393 6 is_stmt 0 view .LVU1852 5355 0032 1606 lsls r6, r2, #24 5356 0034 14D4 bmi .L554 5357 .LVL412: 5358 .L444: 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5359 .loc 1 2404 3 is_stmt 1 view .LVU1853 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5360 .loc 1 2404 6 is_stmt 0 view .LVU1854 5361 0036 5006 lsls r0, r2, #25 5362 0038 01D5 bpl .L414 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5363 .loc 1 2404 41 discriminator 1 view .LVU1855 5364 003a 4A06 lsls r2, r1, #25 5365 .LVL413: 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5366 .loc 1 2404 41 discriminator 1 view .LVU1856 5367 003c 01D4 bmi .L446 5368 .LVL414: 5369 .L414: 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5370 .loc 1 2410 1 view .LVU1857 5371 003e BDE8F081 pop {r4, r5, r6, r7, r8, pc} 5372 .LVL415: 5373 .L446: 5374 .LBB803: 5375 .LBB804: 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 **** /** 3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode. 3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * the configuration information for the specified UART module. 3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart) 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */ 3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 5376 .loc 1 3806 3 is_stmt 1 view .LVU1858 5377 .LBB805: 5378 .loc 1 3806 3 view .LVU1859 5379 .loc 1 3806 3 view .LVU1860 5380 .loc 1 3806 3 view .LVU1861 5381 .LBB806: 5382 .LBI806: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5383 .loc 2 1068 31 view .LVU1862 5384 .LBB807: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5385 .loc 2 1070 5 view .LVU1863 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5386 .loc 2 1072 4 view .LVU1864 5387 .syntax unified 5388 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5389 0042 53E8002F ldrex r2, [r3] 5390 @ 0 "" 2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 211 5391 .LVL416: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5392 .loc 2 1073 4 view .LVU1865 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5393 .loc 2 1073 4 is_stmt 0 view .LVU1866 5394 .thumb 5395 .syntax unified 5396 .LBE807: 5397 .LBE806: 5398 .loc 1 3806 3 view .LVU1867 5399 0046 22F04002 bic r2, r2, #64 5400 .LVL417: 5401 .loc 1 3806 3 is_stmt 1 view .LVU1868 5402 .LBB808: 5403 .LBI808: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5404 .loc 2 1119 31 view .LVU1869 5405 .LBB809: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5406 .loc 2 1121 4 view .LVU1870 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5407 .loc 2 1123 4 view .LVU1871 5408 .syntax unified 5409 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5410 004a 43E80021 strex r1, r2, [r3] 5411 @ 0 "" 2 5412 .LVL418: 5413 .loc 2 1124 4 view .LVU1872 5414 .loc 2 1124 4 is_stmt 0 view .LVU1873 5415 .thumb 5416 .syntax unified 5417 .LBE809: 5418 .LBE808: 5419 .loc 1 3806 3 view .LVU1874 5420 004e 0029 cmp r1, #0 5421 0050 F7D1 bne .L446 5422 .LBE805: 5423 .loc 1 3806 3 is_stmt 1 view .LVU1875 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */ 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 5424 .loc 1 3809 3 view .LVU1876 5425 .loc 1 3809 17 is_stmt 0 view .LVU1877 5426 0052 2023 movs r3, #32 5427 0054 E367 str r3, [r4, #124] 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Cleat TxISR function pointer */ 3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 5428 .loc 1 3812 3 is_stmt 1 view .LVU1878 5429 .loc 1 3812 16 is_stmt 0 view .LVU1879 5430 0056 E166 str r1, [r4, #108] 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxCpltCallback(huart); 3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 212 3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 5431 .loc 1 3819 3 is_stmt 1 view .LVU1880 5432 0058 2046 mov r0, r4 5433 005a FFF7FEFF bl HAL_UART_TxCpltCallback 5434 .LVL419: 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5435 .loc 1 3821 1 is_stmt 0 view .LVU1881 5436 005e EEE7 b .L414 5437 .LVL420: 5438 .L554: 5439 .loc 1 3821 1 view .LVU1882 5440 .LBE804: 5441 .LBE803: 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5442 .loc 1 2394 7 view .LVU1883 5443 0060 0D06 lsls r5, r1, #24 5444 .LVL421: 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5445 .loc 1 2394 7 view .LVU1884 5446 0062 E8D5 bpl .L444 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5447 .loc 1 2396 5 is_stmt 1 view .LVU1885 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5448 .loc 1 2396 14 is_stmt 0 view .LVU1886 5449 0064 E36E ldr r3, [r4, #108] 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5450 .loc 1 2396 8 view .LVU1887 5451 0066 002B cmp r3, #0 5452 0068 E9D0 beq .L414 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5453 .loc 1 2398 7 is_stmt 1 view .LVU1888 5454 006a 2046 mov r0, r4 5455 .LVL422: 5456 .L550: 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5457 .loc 1 2410 1 is_stmt 0 view .LVU1889 5458 006c BDE8F041 pop {r4, r5, r6, r7, r8, lr} 5459 .LCFI23: 5460 .cfi_remember_state 5461 .cfi_restore 14 5462 .cfi_restore 8 5463 .cfi_restore 7 5464 .cfi_restore 6 5465 .cfi_restore 5 5466 .cfi_restore 4 5467 .cfi_def_cfa_offset 0 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5468 .loc 1 2398 7 view .LVU1890 5469 0070 1847 bx r3 @ indirect register sibling call 5470 .LVL423: 5471 .L552: 5472 .LCFI24: 5473 .cfi_restore_state 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 5474 .loc 1 2280 7 view .LVU1891 5475 0072 D706 lsls r7, r2, #27 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 213 5476 0074 D8D5 bpl .L433 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5477 .loc 1 2281 7 view .LVU1892 5478 0076 CE06 lsls r6, r1, #27 5479 0078 D6D5 bpl .L433 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5480 .loc 1 2283 5 is_stmt 1 view .LVU1893 5481 007a 1022 movs r2, #16 5482 .LVL424: 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5483 .loc 1 2283 5 is_stmt 0 view .LVU1894 5484 007c 1A62 str r2, [r3, #32] 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5485 .loc 1 2286 5 is_stmt 1 view .LVU1895 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5486 .loc 1 2286 9 is_stmt 0 view .LVU1896 5487 007e 9A68 ldr r2, [r3, #8] 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5488 .loc 1 2286 8 view .LVU1897 5489 0080 5506 lsls r5, r2, #25 5490 .LVL425: 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5491 .loc 1 2286 8 view .LVU1898 5492 0082 40F1DD80 bpl .L434 5493 .LBB810: 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 5494 .loc 1 2292 7 is_stmt 1 view .LVU1899 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 5495 .loc 1 2292 50 is_stmt 0 view .LVU1900 5496 0086 606F ldr r0, [r4, #116] 5497 0088 0268 ldr r2, [r0] 5498 008a 5268 ldr r2, [r2, #4] 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 5499 .loc 1 2292 16 view .LVU1901 5500 008c 92B2 uxth r2, r2 5501 .LVL426: 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 5502 .loc 1 2293 7 is_stmt 1 view .LVU1902 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 5503 .loc 1 2293 10 is_stmt 0 view .LVU1903 5504 008e 002A cmp r2, #0 5505 0090 D5D0 beq .L414 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5506 .loc 1 2294 43 view .LVU1904 5507 0092 B4F85810 ldrh r1, [r4, #88] 5508 .LVL427: 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5509 .loc 1 2294 11 view .LVU1905 5510 0096 9142 cmp r1, r2 5511 0098 D1D9 bls .L414 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5512 .loc 1 2297 9 is_stmt 1 view .LVU1906 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5513 .loc 1 2297 28 is_stmt 0 view .LVU1907 5514 009a A4F85A20 strh r2, [r4, #90] @ movhi 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5515 .loc 1 2300 9 is_stmt 1 view .LVU1908 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 214 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5516 .loc 1 2300 12 is_stmt 0 view .LVU1909 5517 009e 8269 ldr r2, [r0, #24] 5518 .LVL428: 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5519 .loc 1 2300 12 view .LVU1910 5520 00a0 202A cmp r2, #32 5521 00a2 2FD0 beq .L435 5522 .L437: 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5523 .loc 1 2303 11 is_stmt 1 discriminator 1 view .LVU1911 5524 .LBB811: 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5525 .loc 1 2303 11 discriminator 1 view .LVU1912 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5526 .loc 1 2303 11 discriminator 1 view .LVU1913 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5527 .loc 1 2303 11 discriminator 1 view .LVU1914 5528 .LVL429: 5529 .LBB812: 5530 .LBI812: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5531 .loc 2 1068 31 discriminator 1 view .LVU1915 5532 .LBB813: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5533 .loc 2 1070 5 discriminator 1 view .LVU1916 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5534 .loc 2 1072 4 discriminator 1 view .LVU1917 5535 .syntax unified 5536 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5537 00a4 53E8002F ldrex r2, [r3] 5538 @ 0 "" 2 5539 .LVL430: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5540 .loc 2 1073 4 discriminator 1 view .LVU1918 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5541 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1919 5542 .thumb 5543 .syntax unified 5544 .LBE813: 5545 .LBE812: 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5546 .loc 1 2303 11 discriminator 1 view .LVU1920 5547 00a8 22F48072 bic r2, r2, #256 5548 .LVL431: 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5549 .loc 1 2303 11 is_stmt 1 discriminator 1 view .LVU1921 5550 .LBB814: 5551 .LBI814: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5552 .loc 2 1119 31 discriminator 1 view .LVU1922 5553 .LBB815: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5554 .loc 2 1121 4 discriminator 1 view .LVU1923 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5555 .loc 2 1123 4 discriminator 1 view .LVU1924 5556 .syntax unified ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 215 5557 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5558 00ac 43E80021 strex r1, r2, [r3] 5559 @ 0 "" 2 5560 .LVL432: 5561 .loc 2 1124 4 discriminator 1 view .LVU1925 5562 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1926 5563 .thumb 5564 .syntax unified 5565 .LBE815: 5566 .LBE814: 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5567 .loc 1 2303 11 discriminator 1 view .LVU1927 5568 00b0 0029 cmp r1, #0 5569 00b2 F7D1 bne .L437 5570 .LVL433: 5571 .L436: 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5572 .loc 1 2303 11 discriminator 1 view .LVU1928 5573 .LBE811: 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5574 .loc 1 2303 11 is_stmt 1 discriminator 1 view .LVU1929 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5575 .loc 1 2304 11 discriminator 1 view .LVU1930 5576 .LBB816: 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5577 .loc 1 2304 11 discriminator 1 view .LVU1931 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5578 .loc 1 2304 11 discriminator 1 view .LVU1932 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5579 .loc 1 2304 11 discriminator 1 view .LVU1933 5580 .LBB817: 5581 .LBI817: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5582 .loc 2 1068 31 discriminator 1 view .LVU1934 5583 .LBB818: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5584 .loc 2 1070 5 discriminator 1 view .LVU1935 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5585 .loc 2 1072 4 discriminator 1 view .LVU1936 5586 00b4 03F10802 add r2, r3, #8 5587 .LVL434: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5588 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1937 5589 .syntax unified 5590 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5591 00b8 52E8002F ldrex r2, [r2] 5592 @ 0 "" 2 5593 .LVL435: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5594 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1938 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5595 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1939 5596 .thumb 5597 .syntax unified 5598 .LBE818: 5599 .LBE817: 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 216 5600 .loc 1 2304 11 discriminator 1 view .LVU1940 5601 00bc 22F00102 bic r2, r2, #1 5602 .LVL436: 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5603 .loc 1 2304 11 is_stmt 1 discriminator 1 view .LVU1941 5604 .LBB819: 5605 .LBI819: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5606 .loc 2 1119 31 discriminator 1 view .LVU1942 5607 .LBB820: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5608 .loc 2 1121 4 discriminator 1 view .LVU1943 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5609 .loc 2 1123 4 discriminator 1 view .LVU1944 5610 00c0 03F10805 add r5, r3, #8 5611 .LVL437: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5612 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1945 5613 .syntax unified 5614 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5615 00c4 45E80021 strex r1, r2, [r5] 5616 @ 0 "" 2 5617 .LVL438: 5618 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1946 5619 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1947 5620 .thumb 5621 .syntax unified 5622 .LBE820: 5623 .LBE819: 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5624 .loc 1 2304 11 discriminator 1 view .LVU1948 5625 00c8 0029 cmp r1, #0 5626 00ca F3D1 bne .L436 5627 .LVL439: 5628 .L438: 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5629 .loc 1 2304 11 discriminator 1 view .LVU1949 5630 .LBE816: 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5631 .loc 1 2304 11 is_stmt 1 discriminator 1 view .LVU1950 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5632 .loc 1 2308 11 discriminator 1 view .LVU1951 5633 .LBB821: 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5634 .loc 1 2308 11 discriminator 1 view .LVU1952 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5635 .loc 1 2308 11 discriminator 1 view .LVU1953 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5636 .loc 1 2308 11 discriminator 1 view .LVU1954 5637 .LBB822: 5638 .LBI822: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5639 .loc 2 1068 31 discriminator 1 view .LVU1955 5640 .LBB823: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5641 .loc 2 1070 5 discriminator 1 view .LVU1956 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 217 5642 .loc 2 1072 4 discriminator 1 view .LVU1957 5643 00cc 03F10802 add r2, r3, #8 5644 .LVL440: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5645 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU1958 5646 .syntax unified 5647 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5648 00d0 52E8002F ldrex r2, [r2] 5649 @ 0 "" 2 5650 .LVL441: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5651 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU1959 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5652 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1960 5653 .thumb 5654 .syntax unified 5655 .LBE823: 5656 .LBE822: 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5657 .loc 1 2308 11 discriminator 1 view .LVU1961 5658 00d4 22F04002 bic r2, r2, #64 5659 .LVL442: 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5660 .loc 1 2308 11 is_stmt 1 discriminator 1 view .LVU1962 5661 .LBB824: 5662 .LBI824: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5663 .loc 2 1119 31 discriminator 1 view .LVU1963 5664 .LBB825: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5665 .loc 2 1121 4 discriminator 1 view .LVU1964 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5666 .loc 2 1123 4 discriminator 1 view .LVU1965 5667 00d8 03F10805 add r5, r3, #8 5668 .LVL443: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5669 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU1966 5670 .syntax unified 5671 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5672 00dc 45E80021 strex r1, r2, [r5] 5673 @ 0 "" 2 5674 .LVL444: 5675 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU1967 5676 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1968 5677 .thumb 5678 .syntax unified 5679 .LBE825: 5680 .LBE824: 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5681 .loc 1 2308 11 discriminator 1 view .LVU1969 5682 00e0 0029 cmp r1, #0 5683 00e2 F3D1 bne .L438 5684 .LBE821: 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5685 .loc 1 2308 11 is_stmt 1 discriminator 2 view .LVU1970 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5686 .loc 1 2311 11 discriminator 2 view .LVU1971 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 218 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5687 .loc 1 2311 26 is_stmt 0 discriminator 2 view .LVU1972 5688 00e4 2022 movs r2, #32 5689 .LVL445: 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 5690 .loc 1 2311 26 discriminator 2 view .LVU1973 5691 00e6 C4F88020 str r2, [r4, #128] 5692 .LVL446: 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5693 .loc 1 2312 11 is_stmt 1 discriminator 2 view .LVU1974 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5694 .loc 1 2312 32 is_stmt 0 discriminator 2 view .LVU1975 5695 00ea 2166 str r1, [r4, #96] 5696 .L439: 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5697 .loc 1 2314 11 is_stmt 1 discriminator 1 view .LVU1976 5698 .LBB826: 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5699 .loc 1 2314 11 discriminator 1 view .LVU1977 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5700 .loc 1 2314 11 discriminator 1 view .LVU1978 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5701 .loc 1 2314 11 discriminator 1 view .LVU1979 5702 .LVL447: 5703 .LBB827: 5704 .LBI827: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5705 .loc 2 1068 31 discriminator 1 view .LVU1980 5706 .LBB828: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5707 .loc 2 1070 5 discriminator 1 view .LVU1981 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5708 .loc 2 1072 4 discriminator 1 view .LVU1982 5709 .syntax unified 5710 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5711 00ec 53E8002F ldrex r2, [r3] 5712 @ 0 "" 2 5713 .LVL448: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5714 .loc 2 1073 4 discriminator 1 view .LVU1983 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5715 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU1984 5716 .thumb 5717 .syntax unified 5718 .LBE828: 5719 .LBE827: 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5720 .loc 1 2314 11 discriminator 1 view .LVU1985 5721 00f0 22F01002 bic r2, r2, #16 5722 .LVL449: 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5723 .loc 1 2314 11 is_stmt 1 discriminator 1 view .LVU1986 5724 .LBB829: 5725 .LBI829: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5726 .loc 2 1119 31 discriminator 1 view .LVU1987 5727 .LBB830: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 219 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5728 .loc 2 1121 4 discriminator 1 view .LVU1988 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5729 .loc 2 1123 4 discriminator 1 view .LVU1989 5730 .syntax unified 5731 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5732 00f4 43E80021 strex r1, r2, [r3] 5733 @ 0 "" 2 5734 .LVL450: 5735 .loc 2 1124 4 discriminator 1 view .LVU1990 5736 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU1991 5737 .thumb 5738 .syntax unified 5739 .LBE830: 5740 .LBE829: 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5741 .loc 1 2314 11 discriminator 1 view .LVU1992 5742 00f8 0029 cmp r1, #0 5743 00fa F7D1 bne .L439 5744 .LBE826: 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5745 .loc 1 2314 11 is_stmt 1 discriminator 2 view .LVU1993 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5746 .loc 1 2317 11 discriminator 2 view .LVU1994 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5747 .loc 1 2317 17 is_stmt 0 discriminator 2 view .LVU1995 5748 00fc FFF7FEFF bl HAL_DMA_Abort 5749 .LVL451: 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5750 .loc 1 2329 49 discriminator 2 view .LVU1996 5751 0100 B4F85810 ldrh r1, [r4, #88] 5752 .L435: 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5753 .loc 1 2322 9 is_stmt 1 view .LVU1997 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5754 .loc 1 2322 28 is_stmt 0 view .LVU1998 5755 0104 0223 movs r3, #2 5756 0106 6366 str r3, [r4, #100] 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5757 .loc 1 2329 9 is_stmt 1 view .LVU1999 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5758 .loc 1 2329 69 is_stmt 0 view .LVU2000 5759 0108 B4F85A30 ldrh r3, [r4, #90] 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5760 .loc 1 2329 9 view .LVU2001 5761 010c C91A subs r1, r1, r3 5762 010e 2046 mov r0, r4 5763 0110 89B2 uxth r1, r1 5764 0112 FFF7FEFF bl HAL_UARTEx_RxEventCallback 5765 .LVL452: 5766 0116 92E7 b .L414 5767 .LVL453: 5768 .L415: 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5769 .loc 1 2329 9 view .LVU2002 5770 .LBE810: 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 220 5771 .loc 1 2141 3 is_stmt 1 view .LVU2003 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5772 .loc 1 2143 23 is_stmt 0 view .LVU2004 5773 0118 6748 ldr r0, .L556 5774 .LVL454: 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 5775 .loc 1 2142 20 view .LVU2005 5776 011a 05F00106 and r6, r5, #1 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5777 .loc 1 2143 23 view .LVU2006 5778 011e 0840 ands r0, r0, r1 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5779 .loc 1 2143 11 view .LVU2007 5780 0120 3043 orrs r0, r0, r6 5781 0122 3FF47EAF beq .L416 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5782 .loc 1 2146 5 is_stmt 1 view .LVU2008 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5783 .loc 1 2146 8 is_stmt 0 view .LVU2009 5784 0126 D507 lsls r5, r2, #31 5785 .LVL455: 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5786 .loc 1 2146 8 view .LVU2010 5787 0128 1F46 mov r7, r3 5788 012a 09D5 bpl .L419 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5789 .loc 1 2146 43 discriminator 1 view .LVU2011 5790 012c C805 lsls r0, r1, #23 5791 012e 07D5 bpl .L419 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5792 .loc 1 2148 7 is_stmt 1 view .LVU2012 5793 0130 0120 movs r0, #1 5794 0132 1862 str r0, [r3, #32] 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5795 .loc 1 2150 7 view .LVU2013 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5796 .loc 1 2150 24 is_stmt 0 view .LVU2014 5797 0134 D4F88400 ldr r0, [r4, #132] 5798 0138 40F00100 orr r0, r0, #1 5799 013c C4F88400 str r0, [r4, #132] 5800 .L419: 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5801 .loc 1 2154 5 is_stmt 1 view .LVU2015 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5802 .loc 1 2154 8 is_stmt 0 view .LVU2016 5803 0140 9507 lsls r5, r2, #30 5804 0142 60D5 bpl .L420 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5805 .loc 1 2154 43 discriminator 1 view .LVU2017 5806 0144 8EB1 cbz r6, .L422 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5807 .loc 1 2156 7 is_stmt 1 view .LVU2018 5808 0146 0220 movs r0, #2 5809 0148 1862 str r0, [r3, #32] 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5810 .loc 1 2158 7 view .LVU2019 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 221 5811 .loc 1 2158 24 is_stmt 0 view .LVU2020 5812 014a D4F88400 ldr r0, [r4, #132] 5813 014e 40F00400 orr r0, r0, #4 5814 0152 C4F88400 str r0, [r4, #132] 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5815 .loc 1 2162 5 is_stmt 1 view .LVU2021 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5816 .loc 1 2162 8 is_stmt 0 view .LVU2022 5817 0156 5007 lsls r0, r2, #29 5818 0158 07D5 bpl .L422 5819 .L424: 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5820 .loc 1 2164 7 is_stmt 1 view .LVU2023 5821 015a 0420 movs r0, #4 5822 015c 1862 str r0, [r3, #32] 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5823 .loc 1 2166 7 view .LVU2024 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5824 .loc 1 2166 24 is_stmt 0 view .LVU2025 5825 015e D4F88400 ldr r0, [r4, #132] 5826 0162 40F00200 orr r0, r0, #2 5827 0166 C4F88400 str r0, [r4, #132] 5828 .L422: 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 5829 .loc 1 2170 5 is_stmt 1 view .LVU2026 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 5830 .loc 1 2170 8 is_stmt 0 view .LVU2027 5831 016a 1007 lsls r0, r2, #28 5832 016c 0BD5 bpl .L425 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 5833 .loc 1 2171 22 view .LVU2028 5834 016e 01F02000 and r0, r1, #32 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 5835 .loc 1 2171 9 view .LVU2029 5836 0172 3043 orrs r0, r0, r6 5837 0174 07D0 beq .L425 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5838 .loc 1 2174 7 is_stmt 1 view .LVU2030 5839 0176 0820 movs r0, #8 5840 0178 1862 str r0, [r3, #32] 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5841 .loc 1 2176 7 view .LVU2031 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5842 .loc 1 2176 24 is_stmt 0 view .LVU2032 5843 017a D4F88400 ldr r0, [r4, #132] 5844 017e 40F00800 orr r0, r0, #8 5845 0182 C4F88400 str r0, [r4, #132] 5846 .L425: 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5847 .loc 1 2180 5 is_stmt 1 view .LVU2033 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5848 .loc 1 2180 8 is_stmt 0 view .LVU2034 5849 0186 1605 lsls r6, r2, #20 5850 0188 0AD5 bpl .L426 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5851 .loc 1 2180 45 discriminator 1 view .LVU2035 5852 018a 4D01 lsls r5, r1, #5 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 222 5853 018c 08D5 bpl .L426 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5854 .loc 1 2182 7 is_stmt 1 view .LVU2036 5855 018e 4FF40060 mov r0, #2048 5856 0192 1862 str r0, [r3, #32] 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5857 .loc 1 2184 7 view .LVU2037 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5858 .loc 1 2184 24 is_stmt 0 view .LVU2038 5859 0194 D4F88430 ldr r3, [r4, #132] 5860 0198 43F02003 orr r3, r3, #32 5861 019c C4F88430 str r3, [r4, #132] 5862 .L426: 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5863 .loc 1 2188 5 is_stmt 1 view .LVU2039 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5864 .loc 1 2188 14 is_stmt 0 view .LVU2040 5865 01a0 D4F88430 ldr r3, [r4, #132] 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5866 .loc 1 2188 8 view .LVU2041 5867 01a4 002B cmp r3, #0 5868 01a6 3FF44AAF beq .L414 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5869 .loc 1 2191 7 is_stmt 1 view .LVU2042 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5870 .loc 1 2191 10 is_stmt 0 view .LVU2043 5871 01aa 9006 lsls r0, r2, #26 5872 01ac 01D5 bpl .L428 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5873 .loc 1 2192 11 view .LVU2044 5874 01ae 8906 lsls r1, r1, #26 5875 .LVL456: 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5876 .loc 1 2192 11 view .LVU2045 5877 01b0 3FD4 bmi .L555 5878 .LVL457: 5879 .L428: 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 5880 .loc 1 2205 7 is_stmt 1 view .LVU2046 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 5881 .loc 1 2205 17 is_stmt 0 view .LVU2047 5882 01b2 D4F88450 ldr r5, [r4, #132] 5883 .LVL458: 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5884 .loc 1 2206 7 is_stmt 1 view .LVU2048 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5885 .loc 1 2206 12 is_stmt 0 view .LVU2049 5886 01b6 BB68 ldr r3, [r7, #8] 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5887 .loc 1 2207 23 view .LVU2050 5888 01b8 05F02805 and r5, r5, #40 5889 .LVL459: 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5890 .loc 1 2206 12 view .LVU2051 5891 01bc 03F04003 and r3, r3, #64 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5892 .loc 1 2206 66 view .LVU2052 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 223 5893 01c0 1D43 orrs r5, r5, r3 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5894 .loc 1 2212 9 view .LVU2053 5895 01c2 2046 mov r0, r4 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 5896 .loc 1 2206 66 view .LVU2054 5897 01c4 73D0 beq .L429 5898 .LVL460: 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5899 .loc 1 2212 9 is_stmt 1 view .LVU2055 5900 01c6 FFF7FEFF bl UART_EndRxTransfer 5901 .LVL461: 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5902 .loc 1 2215 9 view .LVU2056 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5903 .loc 1 2215 13 is_stmt 0 view .LVU2057 5904 01ca 2368 ldr r3, [r4] 5905 01cc 9A68 ldr r2, [r3, #8] 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5906 .loc 1 2215 12 view .LVU2058 5907 01ce 5206 lsls r2, r2, #25 5908 01d0 2BD5 bpl .L430 5909 .LVL462: 5910 .L432: 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5911 .loc 1 2218 11 is_stmt 1 discriminator 1 view .LVU2059 5912 .LBB831: 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5913 .loc 1 2218 11 discriminator 1 view .LVU2060 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5914 .loc 1 2218 11 discriminator 1 view .LVU2061 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5915 .loc 1 2218 11 discriminator 1 view .LVU2062 5916 .LBB832: 5917 .LBI832: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5918 .loc 2 1068 31 discriminator 1 view .LVU2063 5919 .LBB833: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5920 .loc 2 1070 5 discriminator 1 view .LVU2064 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5921 .loc 2 1072 4 discriminator 1 view .LVU2065 5922 01d2 03F10802 add r2, r3, #8 5923 .LVL463: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5924 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU2066 5925 .syntax unified 5926 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5927 01d6 52E8002F ldrex r2, [r2] 5928 @ 0 "" 2 5929 .LVL464: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5930 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU2067 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5931 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2068 5932 .thumb 5933 .syntax unified ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 224 5934 .LBE833: 5935 .LBE832: 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5936 .loc 1 2218 11 discriminator 1 view .LVU2069 5937 01da 22F04002 bic r2, r2, #64 5938 .LVL465: 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5939 .loc 1 2218 11 is_stmt 1 discriminator 1 view .LVU2070 5940 .LBB834: 5941 .LBI834: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5942 .loc 2 1119 31 discriminator 1 view .LVU2071 5943 .LBB835: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5944 .loc 2 1121 4 discriminator 1 view .LVU2072 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5945 .loc 2 1123 4 discriminator 1 view .LVU2073 5946 01de 03F10800 add r0, r3, #8 5947 .LVL466: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5948 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2074 5949 .syntax unified 5950 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5951 01e2 40E80021 strex r1, r2, [r0] 5952 @ 0 "" 2 5953 .LVL467: 5954 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2075 5955 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2076 5956 .thumb 5957 .syntax unified 5958 .LBE835: 5959 .LBE834: 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5960 .loc 1 2218 11 discriminator 1 view .LVU2077 5961 01e6 0029 cmp r1, #0 5962 01e8 F3D1 bne .L432 5963 .LBE831: 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5964 .loc 1 2218 11 is_stmt 1 discriminator 2 view .LVU2078 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5965 .loc 1 2221 11 discriminator 2 view .LVU2079 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5966 .loc 1 2221 20 is_stmt 0 discriminator 2 view .LVU2080 5967 01ea 606F ldr r0, [r4, #116] 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5968 .loc 1 2221 14 discriminator 2 view .LVU2081 5969 01ec E8B1 cbz r0, .L430 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5970 .loc 1 2225 13 is_stmt 1 view .LVU2082 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5971 .loc 1 2225 46 is_stmt 0 view .LVU2083 5972 01ee 334B ldr r3, .L556+4 5973 01f0 4363 str r3, [r0, #52] 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5974 .loc 1 2228 13 is_stmt 1 view .LVU2084 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5975 .loc 1 2228 17 is_stmt 0 view .LVU2085 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 225 5976 01f2 FFF7FEFF bl HAL_DMA_Abort_IT 5977 .LVL468: 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 5978 .loc 1 2228 16 view .LVU2086 5979 01f6 0028 cmp r0, #0 5980 01f8 3FF421AF beq .L414 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5981 .loc 1 2231 15 is_stmt 1 view .LVU2087 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5982 .loc 1 2231 20 is_stmt 0 view .LVU2088 5983 01fc 606F ldr r0, [r4, #116] 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 5984 .loc 1 2410 1 view .LVU2089 5985 01fe BDE8F041 pop {r4, r5, r6, r7, r8, lr} 5986 .LCFI25: 5987 .cfi_remember_state 5988 .cfi_restore 14 5989 .cfi_restore 8 5990 .cfi_restore 7 5991 .cfi_restore 6 5992 .cfi_restore 5 5993 .cfi_restore 4 5994 .cfi_def_cfa_offset 0 5995 .LVL469: 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 5996 .loc 1 2231 15 view .LVU2090 5997 0202 436B ldr r3, [r0, #52] 5998 0204 1847 bx r3 @ indirect register sibling call 5999 .LVL470: 6000 .L420: 6001 .LCFI26: 6002 .cfi_restore_state 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6003 .loc 1 2162 5 is_stmt 1 view .LVU2091 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6004 .loc 1 2162 8 is_stmt 0 view .LVU2092 6005 0206 5507 lsls r5, r2, #29 6006 0208 AFD5 bpl .L422 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6007 .loc 1 2162 43 discriminator 1 view .LVU2093 6008 020a 002E cmp r6, #0 6009 020c A5D1 bne .L424 6010 020e ACE7 b .L422 6011 .LVL471: 6012 .L551: 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6013 .loc 1 2132 7 is_stmt 1 view .LVU2094 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6014 .loc 1 2132 16 is_stmt 0 view .LVU2095 6015 0210 836E ldr r3, [r0, #104] 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6016 .loc 1 2132 10 view .LVU2096 6017 0212 002B cmp r3, #0 6018 0214 7FF42AAF bne .L550 6019 0218 11E7 b .L414 6020 .LVL472: 6021 .L553: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 226 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6022 .loc 1 2377 5 is_stmt 1 view .LVU2097 6023 021a 4FF48012 mov r2, #1048576 6024 .LVL473: 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6025 .loc 1 2387 5 is_stmt 0 view .LVU2098 6026 021e 2046 mov r0, r4 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6027 .loc 1 2377 5 view .LVU2099 6028 0220 1A62 str r2, [r3, #32] 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6029 .loc 1 2387 5 is_stmt 1 view .LVU2100 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6030 .loc 1 2410 1 is_stmt 0 view .LVU2101 6031 0222 BDE8F041 pop {r4, r5, r6, r7, r8, lr} 6032 .LCFI27: 6033 .cfi_remember_state 6034 .cfi_restore 14 6035 .cfi_restore 8 6036 .cfi_restore 7 6037 .cfi_restore 6 6038 .cfi_restore 5 6039 .cfi_restore 4 6040 .cfi_def_cfa_offset 0 6041 .LVL474: 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6042 .loc 1 2387 5 view .LVU2102 6043 0226 FFF7FEBF b HAL_UARTEx_WakeupCallback 6044 .LVL475: 6045 .L430: 6046 .LCFI28: 6047 .cfi_restore_state 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6048 .loc 1 2242 13 is_stmt 1 view .LVU2103 6049 022a 2046 mov r0, r4 6050 022c FFF7FEFF bl HAL_UART_ErrorCallback 6051 .LVL476: 6052 0230 05E7 b .L414 6053 .LVL477: 6054 .L555: 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6055 .loc 1 2194 9 view .LVU2104 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6056 .loc 1 2194 18 is_stmt 0 view .LVU2105 6057 0232 A36E ldr r3, [r4, #104] 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6058 .loc 1 2194 12 view .LVU2106 6059 0234 002B cmp r3, #0 6060 0236 BCD0 beq .L428 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6061 .loc 1 2196 11 is_stmt 1 view .LVU2107 6062 0238 2046 mov r0, r4 6063 023a 9847 blx r3 6064 .LVL478: 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 6065 .loc 1 2206 12 is_stmt 0 view .LVU2108 6066 023c 2768 ldr r7, [r4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 227 6067 023e B8E7 b .L428 6068 .LVL479: 6069 .L434: 6070 .LBB836: 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6071 .loc 1 2339 7 is_stmt 1 view .LVU2109 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6072 .loc 1 2339 54 is_stmt 0 view .LVU2110 6073 0240 B4F85A10 ldrh r1, [r4, #90] 6074 .LVL480: 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_rx_data > 0U)) 6075 .loc 1 2340 17 view .LVU2111 6076 0244 B4F85A20 ldrh r2, [r4, #90] 6077 0248 92B2 uxth r2, r2 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6078 .loc 1 2339 54 view .LVU2112 6079 024a 89B2 uxth r1, r1 6080 .LVL481: 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_rx_data > 0U)) 6081 .loc 1 2340 7 is_stmt 1 view .LVU2113 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** && (nb_rx_data > 0U)) 6082 .loc 1 2340 10 is_stmt 0 view .LVU2114 6083 024c 002A cmp r2, #0 6084 024e 3FF4F6AE beq .L414 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6085 .loc 1 2339 16 view .LVU2115 6086 0252 B4F85820 ldrh r2, [r4, #88] 6087 0256 511A subs r1, r2, r1 6088 .LVL482: 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6089 .loc 1 2339 16 view .LVU2116 6090 0258 89B2 uxth r1, r1 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6091 .loc 1 2341 11 view .LVU2117 6092 025a 0029 cmp r1, #0 6093 025c 3FF4EFAE beq .L414 6094 .L441: 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6095 .loc 1 2344 9 is_stmt 1 discriminator 1 view .LVU2118 6096 .LBB837: 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6097 .loc 1 2344 9 discriminator 1 view .LVU2119 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6098 .loc 1 2344 9 discriminator 1 view .LVU2120 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6099 .loc 1 2344 9 discriminator 1 view .LVU2121 6100 .LVL483: 6101 .LBB838: 6102 .LBI838: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6103 .loc 2 1068 31 discriminator 1 view .LVU2122 6104 .LBB839: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6105 .loc 2 1070 5 discriminator 1 view .LVU2123 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6106 .loc 2 1072 4 discriminator 1 view .LVU2124 6107 .syntax unified ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 228 6108 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6109 0260 53E8002F ldrex r2, [r3] 6110 @ 0 "" 2 6111 .LVL484: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6112 .loc 2 1073 4 discriminator 1 view .LVU2125 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6113 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2126 6114 .thumb 6115 .syntax unified 6116 .LBE839: 6117 .LBE838: 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6118 .loc 1 2344 9 discriminator 1 view .LVU2127 6119 0264 22F49072 bic r2, r2, #288 6120 .LVL485: 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6121 .loc 1 2344 9 is_stmt 1 discriminator 1 view .LVU2128 6122 .LBB840: 6123 .LBI840: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6124 .loc 2 1119 31 discriminator 1 view .LVU2129 6125 .LBB841: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6126 .loc 2 1121 4 discriminator 1 view .LVU2130 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6127 .loc 2 1123 4 discriminator 1 view .LVU2131 6128 .syntax unified 6129 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6130 0268 43E80020 strex r0, r2, [r3] 6131 @ 0 "" 2 6132 .LVL486: 6133 .loc 2 1124 4 discriminator 1 view .LVU2132 6134 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2133 6135 .thumb 6136 .syntax unified 6137 .LBE841: 6138 .LBE840: 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6139 .loc 1 2344 9 discriminator 1 view .LVU2134 6140 026c 0028 cmp r0, #0 6141 026e F7D1 bne .L441 6142 .LVL487: 6143 .L440: 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6144 .loc 1 2344 9 discriminator 1 view .LVU2135 6145 .LBE837: 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6146 .loc 1 2344 9 is_stmt 1 discriminator 1 view .LVU2136 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6147 .loc 1 2347 9 discriminator 1 view .LVU2137 6148 .LBB842: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6149 .loc 1 2347 9 discriminator 1 view .LVU2138 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6150 .loc 1 2347 9 discriminator 1 view .LVU2139 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 229 6151 .loc 1 2347 9 discriminator 1 view .LVU2140 6152 .LBB843: 6153 .LBI843: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6154 .loc 2 1068 31 discriminator 1 view .LVU2141 6155 .LBB844: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6156 .loc 2 1070 5 discriminator 1 view .LVU2142 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6157 .loc 2 1072 4 discriminator 1 view .LVU2143 6158 0270 03F10802 add r2, r3, #8 6159 .LVL488: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6160 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU2144 6161 .syntax unified 6162 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6163 0274 52E8002F ldrex r2, [r2] 6164 @ 0 "" 2 6165 .LVL489: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6166 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU2145 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6167 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2146 6168 .thumb 6169 .syntax unified 6170 .LBE844: 6171 .LBE843: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6172 .loc 1 2347 9 discriminator 1 view .LVU2147 6173 0278 22F00102 bic r2, r2, #1 6174 .LVL490: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6175 .loc 1 2347 9 is_stmt 1 discriminator 1 view .LVU2148 6176 .LBB845: 6177 .LBI845: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6178 .loc 2 1119 31 discriminator 1 view .LVU2149 6179 .LBB846: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6180 .loc 2 1121 4 discriminator 1 view .LVU2150 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6181 .loc 2 1123 4 discriminator 1 view .LVU2151 6182 027c 03F10805 add r5, r3, #8 6183 .LVL491: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6184 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2152 6185 .syntax unified 6186 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6187 0280 45E80020 strex r0, r2, [r5] 6188 @ 0 "" 2 6189 .LVL492: 6190 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2153 6191 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2154 6192 .thumb 6193 .syntax unified 6194 .LBE846: 6195 .LBE845: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 230 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6196 .loc 1 2347 9 discriminator 1 view .LVU2155 6197 0284 0028 cmp r0, #0 6198 0286 F3D1 bne .L440 6199 .LBE842: 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6200 .loc 1 2347 9 is_stmt 1 discriminator 2 view .LVU2156 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6201 .loc 1 2350 9 discriminator 2 view .LVU2157 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6202 .loc 1 2350 24 is_stmt 0 discriminator 2 view .LVU2158 6203 0288 2022 movs r2, #32 6204 .LVL493: 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6205 .loc 1 2350 24 discriminator 2 view .LVU2159 6206 028a C4F88020 str r2, [r4, #128] 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6207 .loc 1 2351 9 is_stmt 1 discriminator 2 view .LVU2160 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6208 .loc 1 2354 22 is_stmt 0 discriminator 2 view .LVU2161 6209 028e A066 str r0, [r4, #104] 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6210 .loc 1 2351 30 discriminator 2 view .LVU2162 6211 0290 2066 str r0, [r4, #96] 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6212 .loc 1 2354 9 is_stmt 1 discriminator 2 view .LVU2163 6213 .L442: 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6214 .loc 1 2356 9 discriminator 1 view .LVU2164 6215 .LBB847: 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6216 .loc 1 2356 9 discriminator 1 view .LVU2165 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6217 .loc 1 2356 9 discriminator 1 view .LVU2166 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6218 .loc 1 2356 9 discriminator 1 view .LVU2167 6219 .LVL494: 6220 .LBB848: 6221 .LBI848: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6222 .loc 2 1068 31 discriminator 1 view .LVU2168 6223 .LBB849: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6224 .loc 2 1070 5 discriminator 1 view .LVU2169 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6225 .loc 2 1072 4 discriminator 1 view .LVU2170 6226 .syntax unified 6227 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6228 0292 53E8002F ldrex r2, [r3] 6229 @ 0 "" 2 6230 .LVL495: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6231 .loc 2 1073 4 discriminator 1 view .LVU2171 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6232 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2172 6233 .thumb 6234 .syntax unified ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 231 6235 .LBE849: 6236 .LBE848: 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6237 .loc 1 2356 9 discriminator 1 view .LVU2173 6238 0296 22F01002 bic r2, r2, #16 6239 .LVL496: 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6240 .loc 1 2356 9 is_stmt 1 discriminator 1 view .LVU2174 6241 .LBB850: 6242 .LBI850: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6243 .loc 2 1119 31 discriminator 1 view .LVU2175 6244 .LBB851: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6245 .loc 2 1121 4 discriminator 1 view .LVU2176 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6246 .loc 2 1123 4 discriminator 1 view .LVU2177 6247 .syntax unified 6248 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6249 029a 43E80020 strex r0, r2, [r3] 6250 @ 0 "" 2 6251 .LVL497: 6252 .loc 2 1124 4 discriminator 1 view .LVU2178 6253 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2179 6254 .thumb 6255 .syntax unified 6256 .LBE851: 6257 .LBE850: 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6258 .loc 1 2356 9 discriminator 1 view .LVU2180 6259 029e 0028 cmp r0, #0 6260 02a0 F7D1 bne .L442 6261 .LBE847: 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6262 .loc 1 2356 9 is_stmt 1 discriminator 2 view .LVU2181 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6263 .loc 1 2360 9 discriminator 2 view .LVU2182 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6264 .loc 1 2360 28 is_stmt 0 discriminator 2 view .LVU2183 6265 02a2 0223 movs r3, #2 6266 02a4 6366 str r3, [r4, #100] 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6267 .loc 1 2367 9 is_stmt 1 discriminator 2 view .LVU2184 6268 02a6 2046 mov r0, r4 6269 02a8 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6270 .LVL498: 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6271 .loc 1 2367 9 is_stmt 0 discriminator 2 view .LVU2185 6272 02ac C7E6 b .L414 6273 .LVL499: 6274 .L429: 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6275 .loc 1 2367 9 discriminator 2 view .LVU2186 6276 .LBE836: 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6277 .loc 1 2268 9 is_stmt 1 view .LVU2187 6278 02ae FFF7FEFF bl HAL_UART_ErrorCallback ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 232 6279 .LVL500: 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6280 .loc 1 2270 9 view .LVU2188 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6281 .loc 1 2270 26 is_stmt 0 view .LVU2189 6282 02b2 C4F88450 str r5, [r4, #132] 6283 02b6 C2E6 b .L414 6284 .L557: 6285 .align 2 6286 .L556: 6287 02b8 20010004 .word 67109152 6288 02bc 00000000 .word UART_DMAAbortOnError 6289 .cfi_endproc 6290 .LFE152: 6292 .section .text.UART_RxISR_8BIT,"ax",%progbits 6293 .align 1 6294 .p2align 2,,3 6295 .syntax unified 6296 .thumb 6297 .thumb_func 6299 UART_RxISR_8BIT: 6300 .LVL501: 6301 .LFB194: 3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length . 3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart) 3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6302 .loc 1 3829 1 is_stmt 1 view -0 6303 .cfi_startproc 6304 @ args = 0, pretend = 0, frame = 0 6305 @ frame_needed = 0, uses_anonymous_args = 0 3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 6306 .loc 1 3830 3 view .LVU2191 3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhdata; 6307 .loc 1 3831 3 view .LVU2192 3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 6308 .loc 1 3834 3 view .LVU2193 3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 6309 .loc 1 3829 1 is_stmt 0 view .LVU2194 6310 0000 08B5 push {r3, lr} 6311 .LCFI29: 6312 .cfi_def_cfa_offset 8 6313 .cfi_offset 3, -8 6314 .cfi_offset 14, -4 6315 .loc 1 3834 12 view .LVU2195 6316 0002 D0F88030 ldr r3, [r0, #128] 6317 .loc 1 3834 6 view .LVU2196 6318 0006 222B cmp r3, #34 6319 0008 05D0 beq .L582 3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 233 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxXferCount == 0U) 3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */ 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode : 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set reception type to Standard */ 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable IDLE interrupt */ 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear IDLE Flag */ 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Standard reception API called */ 3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 234 3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart); 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 6320 .loc 1 3905 5 is_stmt 1 view .LVU2197 6321 000a 0268 ldr r2, [r0] 6322 000c 9369 ldr r3, [r2, #24] 6323 000e 43F00803 orr r3, r3, #8 6324 0012 9361 str r3, [r2, #24] 6325 .LVL502: 6326 .L558: 3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6327 .loc 1 3907 1 is_stmt 0 view .LVU2198 6328 0014 08BD pop {r3, pc} 6329 .LVL503: 6330 .L582: 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 6331 .loc 1 3836 5 is_stmt 1 view .LVU2199 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 6332 .loc 1 3836 25 is_stmt 0 view .LVU2200 6333 0016 0368 ldr r3, [r0] 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 6334 .loc 1 3837 45 view .LVU2201 6335 0018 B0F85C10 ldrh r1, [r0, #92] 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 6336 .loc 1 3836 12 view .LVU2202 6337 001c 9B8C ldrh r3, [r3, #36] 6338 .LVL504: 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 6339 .loc 1 3837 5 is_stmt 1 view .LVU2203 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 6340 .loc 1 3837 11 is_stmt 0 view .LVU2204 6341 001e 426D ldr r2, [r0, #84] 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 6342 .loc 1 3837 26 view .LVU2205 6343 0020 0B40 ands r3, r3, r1 6344 .LVL505: 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr++; 6345 .loc 1 3837 24 view .LVU2206 6346 0022 1370 strb r3, [r2] 6347 .LVL506: 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 6348 .loc 1 3838 5 is_stmt 1 view .LVU2207 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6349 .loc 1 3839 10 is_stmt 0 view .LVU2208 6350 0024 B0F85A30 ldrh r3, [r0, #90] 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 6351 .loc 1 3838 22 view .LVU2209 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 235 6352 0028 426D ldr r2, [r0, #84] 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6353 .loc 1 3839 23 view .LVU2210 6354 002a 013B subs r3, r3, #1 6355 002c 9BB2 uxth r3, r3 6356 002e A0F85A30 strh r3, [r0, #90] @ movhi 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6357 .loc 1 3841 14 view .LVU2211 6358 0032 B0F85A30 ldrh r3, [r0, #90] 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 6359 .loc 1 3838 22 view .LVU2212 6360 0036 0132 adds r2, r2, #1 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6361 .loc 1 3841 14 view .LVU2213 6362 0038 9BB2 uxth r3, r3 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 6363 .loc 1 3838 22 view .LVU2214 6364 003a 4265 str r2, [r0, #84] 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6365 .loc 1 3839 5 is_stmt 1 view .LVU2215 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6366 .loc 1 3841 5 view .LVU2216 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6367 .loc 1 3841 8 is_stmt 0 view .LVU2217 6368 003c 002B cmp r3, #0 6369 003e E9D1 bne .L558 6370 0040 0368 ldr r3, [r0] 6371 .L561: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6372 .loc 1 3844 7 is_stmt 1 discriminator 1 view .LVU2218 6373 .LBB852: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6374 .loc 1 3844 7 discriminator 1 view .LVU2219 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6375 .loc 1 3844 7 discriminator 1 view .LVU2220 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6376 .loc 1 3844 7 discriminator 1 view .LVU2221 6377 .LVL507: 6378 .LBB853: 6379 .LBI853: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6380 .loc 2 1068 31 discriminator 1 view .LVU2222 6381 .LBB854: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6382 .loc 2 1070 5 discriminator 1 view .LVU2223 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6383 .loc 2 1072 4 discriminator 1 view .LVU2224 6384 .syntax unified 6385 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6386 0042 53E8002F ldrex r2, [r3] 6387 @ 0 "" 2 6388 .LVL508: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6389 .loc 2 1073 4 discriminator 1 view .LVU2225 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6390 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2226 6391 .thumb ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 236 6392 .syntax unified 6393 .LBE854: 6394 .LBE853: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6395 .loc 1 3844 7 discriminator 1 view .LVU2227 6396 0046 22F49072 bic r2, r2, #288 6397 .LVL509: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6398 .loc 1 3844 7 is_stmt 1 discriminator 1 view .LVU2228 6399 .LBB855: 6400 .LBI855: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6401 .loc 2 1119 31 discriminator 1 view .LVU2229 6402 .LBB856: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6403 .loc 2 1121 4 discriminator 1 view .LVU2230 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6404 .loc 2 1123 4 discriminator 1 view .LVU2231 6405 .syntax unified 6406 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6407 004a 43E80021 strex r1, r2, [r3] 6408 @ 0 "" 2 6409 .LVL510: 6410 .loc 2 1124 4 discriminator 1 view .LVU2232 6411 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2233 6412 .thumb 6413 .syntax unified 6414 .LBE856: 6415 .LBE855: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6416 .loc 1 3844 7 discriminator 1 view .LVU2234 6417 004e 0029 cmp r1, #0 6418 0050 F7D1 bne .L561 6419 .LVL511: 6420 .L562: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6421 .loc 1 3844 7 discriminator 1 view .LVU2235 6422 .LBE852: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6423 .loc 1 3844 7 is_stmt 1 discriminator 1 view .LVU2236 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6424 .loc 1 3847 7 discriminator 1 view .LVU2237 6425 .LBB857: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6426 .loc 1 3847 7 discriminator 1 view .LVU2238 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6427 .loc 1 3847 7 discriminator 1 view .LVU2239 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6428 .loc 1 3847 7 discriminator 1 view .LVU2240 6429 .LBB858: 6430 .LBI858: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6431 .loc 2 1068 31 discriminator 1 view .LVU2241 6432 .LBB859: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6433 .loc 2 1070 5 discriminator 1 view .LVU2242 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 237 6434 .loc 2 1072 4 discriminator 1 view .LVU2243 6435 0052 03F10802 add r2, r3, #8 6436 .LVL512: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6437 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU2244 6438 .syntax unified 6439 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6440 0056 52E8002F ldrex r2, [r2] 6441 @ 0 "" 2 6442 .LVL513: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6443 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU2245 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6444 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2246 6445 .thumb 6446 .syntax unified 6447 .LBE859: 6448 .LBE858: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6449 .loc 1 3847 7 discriminator 1 view .LVU2247 6450 005a 22F00102 bic r2, r2, #1 6451 .LVL514: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6452 .loc 1 3847 7 is_stmt 1 discriminator 1 view .LVU2248 6453 .LBB860: 6454 .LBI860: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6455 .loc 2 1119 31 discriminator 1 view .LVU2249 6456 .LBB861: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6457 .loc 2 1121 4 discriminator 1 view .LVU2250 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6458 .loc 2 1123 4 discriminator 1 view .LVU2251 6459 005e 03F1080C add ip, r3, #8 6460 .LVL515: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6461 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2252 6462 .syntax unified 6463 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6464 0062 4CE80021 strex r1, r2, [ip] 6465 @ 0 "" 2 6466 .LVL516: 6467 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2253 6468 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2254 6469 .thumb 6470 .syntax unified 6471 .LBE861: 6472 .LBE860: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6473 .loc 1 3847 7 discriminator 1 view .LVU2255 6474 0066 0029 cmp r1, #0 6475 0068 F3D1 bne .L562 6476 .LBE857: 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6477 .loc 1 3847 7 is_stmt 1 discriminator 2 view .LVU2256 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6478 .loc 1 3850 7 discriminator 2 view .LVU2257 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 238 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6479 .loc 1 3850 22 is_stmt 0 discriminator 2 view .LVU2258 6480 006a 2022 movs r2, #32 6481 .LVL517: 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6482 .loc 1 3850 22 discriminator 2 view .LVU2259 6483 006c C0F88020 str r2, [r0, #128] 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6484 .loc 1 3853 7 is_stmt 1 discriminator 2 view .LVU2260 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6485 .loc 1 3856 26 is_stmt 0 discriminator 2 view .LVU2261 6486 0070 4166 str r1, [r0, #100] 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6487 .loc 1 3859 11 discriminator 2 view .LVU2262 6488 0072 5A68 ldr r2, [r3, #4] 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6489 .loc 1 3853 20 discriminator 2 view .LVU2263 6490 0074 8166 str r1, [r0, #104] 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6491 .loc 1 3856 7 is_stmt 1 discriminator 2 view .LVU2264 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6492 .loc 1 3859 7 discriminator 2 view .LVU2265 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6493 .loc 1 3859 10 is_stmt 0 discriminator 2 view .LVU2266 6494 0076 1102 lsls r1, r2, #8 6495 0078 16D4 bmi .L564 6496 .L563: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6497 .loc 1 3862 9 is_stmt 1 view .LVU2267 3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6498 .loc 1 3867 7 view .LVU2268 3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6499 .loc 1 3867 16 is_stmt 0 view .LVU2269 6500 007a 026E ldr r2, [r0, #96] 3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6501 .loc 1 3867 10 view .LVU2270 6502 007c 012A cmp r2, #1 6503 007e 24D1 bne .L565 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6504 .loc 1 3870 9 is_stmt 1 view .LVU2271 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6505 .loc 1 3870 30 is_stmt 0 view .LVU2272 6506 0080 0022 movs r2, #0 6507 0082 0266 str r2, [r0, #96] 6508 .L566: 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6509 .loc 1 3873 9 is_stmt 1 discriminator 1 view .LVU2273 6510 .LBB862: 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6511 .loc 1 3873 9 discriminator 1 view .LVU2274 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6512 .loc 1 3873 9 discriminator 1 view .LVU2275 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6513 .loc 1 3873 9 discriminator 1 view .LVU2276 6514 .LVL518: 6515 .LBB863: 6516 .LBI863: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 239 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6517 .loc 2 1068 31 discriminator 1 view .LVU2277 6518 .LBB864: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6519 .loc 2 1070 5 discriminator 1 view .LVU2278 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6520 .loc 2 1072 4 discriminator 1 view .LVU2279 6521 .syntax unified 6522 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6523 0084 53E8002F ldrex r2, [r3] 6524 @ 0 "" 2 6525 .LVL519: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6526 .loc 2 1073 4 discriminator 1 view .LVU2280 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6527 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2281 6528 .thumb 6529 .syntax unified 6530 .LBE864: 6531 .LBE863: 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6532 .loc 1 3873 9 discriminator 1 view .LVU2282 6533 0088 22F01002 bic r2, r2, #16 6534 .LVL520: 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6535 .loc 1 3873 9 is_stmt 1 discriminator 1 view .LVU2283 6536 .LBB865: 6537 .LBI865: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6538 .loc 2 1119 31 discriminator 1 view .LVU2284 6539 .LBB866: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6540 .loc 2 1121 4 discriminator 1 view .LVU2285 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6541 .loc 2 1123 4 discriminator 1 view .LVU2286 6542 .syntax unified 6543 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6544 008c 43E80021 strex r1, r2, [r3] 6545 @ 0 "" 2 6546 .LVL521: 6547 .loc 2 1124 4 discriminator 1 view .LVU2287 6548 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2288 6549 .thumb 6550 .syntax unified 6551 .LBE866: 6552 .LBE865: 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6553 .loc 1 3873 9 discriminator 1 view .LVU2289 6554 0090 0029 cmp r1, #0 6555 0092 F7D1 bne .L566 6556 .LBE862: 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6557 .loc 1 3873 9 is_stmt 1 discriminator 2 view .LVU2290 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6558 .loc 1 3875 9 discriminator 2 view .LVU2291 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6559 .loc 1 3875 13 is_stmt 0 discriminator 2 view .LVU2292 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 240 6560 0094 DA69 ldr r2, [r3, #28] 6561 .LVL522: 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6562 .loc 1 3886 9 discriminator 2 view .LVU2293 6563 0096 B0F85810 ldrh r1, [r0, #88] 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6564 .loc 1 3875 12 discriminator 2 view .LVU2294 6565 009a D206 lsls r2, r2, #27 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6566 .loc 1 3878 11 is_stmt 1 discriminator 2 view .LVU2295 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6567 .loc 1 3886 9 discriminator 2 view .LVU2296 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6568 .loc 1 3878 11 is_stmt 0 discriminator 2 view .LVU2297 6569 009c 44BF itt mi 6570 009e 1022 movmi r2, #16 6571 00a0 1A62 strmi r2, [r3, #32] 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6572 .loc 1 3886 9 discriminator 2 view .LVU2298 6573 00a2 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6574 .LVL523: 6575 .loc 1 3907 1 discriminator 2 view .LVU2299 6576 00a6 08BD pop {r3, pc} 6577 .LVL524: 6578 .L564: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6579 .loc 1 3862 9 is_stmt 1 discriminator 1 view .LVU2300 6580 .LBB867: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6581 .loc 1 3862 9 discriminator 1 view .LVU2301 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6582 .loc 1 3862 9 discriminator 1 view .LVU2302 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6583 .loc 1 3862 9 discriminator 1 view .LVU2303 6584 .LBB868: 6585 .LBI868: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6586 .loc 2 1068 31 discriminator 1 view .LVU2304 6587 .LBB869: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6588 .loc 2 1070 5 discriminator 1 view .LVU2305 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6589 .loc 2 1072 4 discriminator 1 view .LVU2306 6590 .syntax unified 6591 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6592 00a8 53E8002F ldrex r2, [r3] 6593 @ 0 "" 2 6594 .LVL525: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6595 .loc 2 1073 4 discriminator 1 view .LVU2307 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6596 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2308 6597 .thumb 6598 .syntax unified 6599 .LBE869: 6600 .LBE868: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 241 6601 .loc 1 3862 9 discriminator 1 view .LVU2309 6602 00ac 22F08062 bic r2, r2, #67108864 6603 .LVL526: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6604 .loc 1 3862 9 is_stmt 1 discriminator 1 view .LVU2310 6605 .LBB871: 6606 .LBI871: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6607 .loc 2 1119 31 discriminator 1 view .LVU2311 6608 .LBB872: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6609 .loc 2 1121 4 discriminator 1 view .LVU2312 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6610 .loc 2 1123 4 discriminator 1 view .LVU2313 6611 .syntax unified 6612 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6613 00b0 43E80021 strex r1, r2, [r3] 6614 @ 0 "" 2 6615 .LVL527: 6616 .loc 2 1124 4 discriminator 1 view .LVU2314 6617 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2315 6618 .thumb 6619 .syntax unified 6620 .LBE872: 6621 .LBE871: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6622 .loc 1 3862 9 discriminator 1 view .LVU2316 6623 00b4 0029 cmp r1, #0 6624 00b6 E0D0 beq .L563 6625 .LBE867: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6626 .loc 1 3862 9 is_stmt 1 view .LVU2317 6627 .LBB876: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6628 .loc 1 3862 9 view .LVU2318 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6629 .loc 1 3862 9 view .LVU2319 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6630 .loc 1 3862 9 view .LVU2320 6631 .LVL528: 6632 .LBB874: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6633 .loc 2 1068 31 view .LVU2321 6634 .LBB870: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6635 .loc 2 1070 5 view .LVU2322 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6636 .loc 2 1072 4 view .LVU2323 6637 .syntax unified 6638 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6639 00b8 53E8002F ldrex r2, [r3] 6640 @ 0 "" 2 6641 .LVL529: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6642 .loc 2 1073 4 view .LVU2324 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6643 .loc 2 1073 4 is_stmt 0 view .LVU2325 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 242 6644 .thumb 6645 .syntax unified 6646 .LBE870: 6647 .LBE874: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6648 .loc 1 3862 9 view .LVU2326 6649 00bc 22F08062 bic r2, r2, #67108864 6650 .LVL530: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6651 .loc 1 3862 9 is_stmt 1 view .LVU2327 6652 .LBB875: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6653 .loc 2 1119 31 view .LVU2328 6654 .LBB873: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6655 .loc 2 1121 4 view .LVU2329 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6656 .loc 2 1123 4 view .LVU2330 6657 .syntax unified 6658 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6659 00c0 43E80021 strex r1, r2, [r3] 6660 @ 0 "" 2 6661 .LVL531: 6662 .loc 2 1124 4 view .LVU2331 6663 .loc 2 1124 4 is_stmt 0 view .LVU2332 6664 .thumb 6665 .syntax unified 6666 .LBE873: 6667 .LBE875: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6668 .loc 1 3862 9 view .LVU2333 6669 00c4 0029 cmp r1, #0 6670 00c6 EFD1 bne .L564 6671 00c8 D7E7 b .L563 6672 .LVL532: 6673 .L565: 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6674 .loc 1 3862 9 view .LVU2334 6675 .LBE876: 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6676 .loc 1 3897 9 is_stmt 1 view .LVU2335 6677 00ca FFF7FEFF bl HAL_UART_RxCpltCallback 6678 .LVL533: 6679 .loc 1 3907 1 is_stmt 0 view .LVU2336 6680 00ce 08BD pop {r3, pc} 6681 .cfi_endproc 6682 .LFE194: 6684 .section .text.UART_RxISR_16BIT,"ax",%progbits 6685 .align 1 6686 .p2align 2,,3 6687 .syntax unified 6688 .thumb 6689 .thumb_func 6691 UART_RxISR_16BIT: 6692 .LVL534: 6693 .LFB195: 3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 243 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** 3910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length . 3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @note Function is called under interruption only, once 3912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @param huart UART handle. 3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** * @retval None 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** */ 3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart) 3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6694 .loc 1 3917 1 is_stmt 1 view -0 6695 .cfi_startproc 6696 @ args = 0, pretend = 0, frame = 0 6697 @ frame_needed = 0, uses_anonymous_args = 0 3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *tmp; 6698 .loc 1 3918 3 view .LVU2338 3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 6699 .loc 1 3919 3 view .LVU2339 3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhdata; 6700 .loc 1 3920 3 view .LVU2340 3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 6701 .loc 1 3923 3 view .LVU2341 3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *tmp; 6702 .loc 1 3917 1 is_stmt 0 view .LVU2342 6703 0000 08B5 push {r3, lr} 6704 .LCFI30: 6705 .cfi_def_cfa_offset 8 6706 .cfi_offset 3, -8 6707 .cfi_offset 14, -4 6708 .loc 1 3923 12 view .LVU2343 6709 0002 D0F88030 ldr r3, [r0, #128] 6710 .loc 1 3923 6 view .LVU2344 6711 0006 222B cmp r3, #34 6712 0008 05D0 beq .L608 3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->RxXferCount == 0U) 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/ 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RxISR function pointer */ 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 3944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 244 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 3953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check current reception Mode : 3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Set reception type to Standard */ 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Disable IDLE interrupt */ 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear IDLE Flag */ 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Standard reception API called */ 3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxCpltCallback(huart); 3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #else 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** else 3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 6713 .loc 1 3995 5 is_stmt 1 view .LVU2345 6714 000a 0268 ldr r2, [r0] 6715 000c 9369 ldr r3, [r2, #24] 6716 000e 43F00803 orr r3, r3, #8 6717 0012 9361 str r3, [r2, #24] 6718 .LVL535: 6719 .L583: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 245 3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6720 .loc 1 3997 1 is_stmt 0 view .LVU2346 6721 0014 08BD pop {r3, pc} 6722 .LVL536: 6723 .L608: 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 6724 .loc 1 3925 5 is_stmt 1 view .LVU2347 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 6725 .loc 1 3925 25 is_stmt 0 view .LVU2348 6726 0016 0368 ldr r3, [r0] 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6727 .loc 1 3927 12 view .LVU2349 6728 0018 B0F85CC0 ldrh ip, [r0, #92] 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 6729 .loc 1 3925 12 view .LVU2350 6730 001c 9A8C ldrh r2, [r3, #36] 6731 .LVL537: 3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 6732 .loc 1 3926 5 is_stmt 1 view .LVU2351 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6733 .loc 1 3927 5 view .LVU2352 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6734 .loc 1 3927 10 is_stmt 0 view .LVU2353 6735 001e 416D ldr r1, [r0, #84] 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6736 .loc 1 3927 12 view .LVU2354 6737 0020 02EA0C02 and r2, r2, ip 6738 .LVL538: 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 6739 .loc 1 3927 10 view .LVU2355 6740 0024 21F8022B strh r2, [r1], #2 @ movhi 6741 .LVL539: 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 6742 .loc 1 3928 5 is_stmt 1 view .LVU2356 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6743 .loc 1 3929 10 is_stmt 0 view .LVU2357 6744 0028 B0F85A20 ldrh r2, [r0, #90] 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount--; 6745 .loc 1 3928 23 view .LVU2358 6746 002c 4165 str r1, [r0, #84] 6747 .LVL540: 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6748 .loc 1 3929 5 is_stmt 1 view .LVU2359 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6749 .loc 1 3929 23 is_stmt 0 view .LVU2360 6750 002e 013A subs r2, r2, #1 6751 0030 92B2 uxth r2, r2 6752 0032 A0F85A20 strh r2, [r0, #90] @ movhi 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6753 .loc 1 3931 5 is_stmt 1 view .LVU2361 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6754 .loc 1 3931 14 is_stmt 0 view .LVU2362 6755 0036 B0F85A20 ldrh r2, [r0, #90] 6756 003a 92B2 uxth r2, r2 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6757 .loc 1 3931 8 view .LVU2363 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 246 6758 003c 002A cmp r2, #0 6759 003e E9D1 bne .L583 6760 .LVL541: 6761 .L587: 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6762 .loc 1 3934 7 is_stmt 1 discriminator 1 view .LVU2364 6763 .LBB877: 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6764 .loc 1 3934 7 discriminator 1 view .LVU2365 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6765 .loc 1 3934 7 discriminator 1 view .LVU2366 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6766 .loc 1 3934 7 discriminator 1 view .LVU2367 6767 .LBB878: 6768 .LBI878: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6769 .loc 2 1068 31 discriminator 1 view .LVU2368 6770 .LBB879: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6771 .loc 2 1070 5 discriminator 1 view .LVU2369 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6772 .loc 2 1072 4 discriminator 1 view .LVU2370 6773 .syntax unified 6774 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6775 0040 53E8002F ldrex r2, [r3] 6776 @ 0 "" 2 6777 .LVL542: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6778 .loc 2 1073 4 discriminator 1 view .LVU2371 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6779 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2372 6780 .thumb 6781 .syntax unified 6782 .LBE879: 6783 .LBE878: 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6784 .loc 1 3934 7 discriminator 1 view .LVU2373 6785 0044 22F49072 bic r2, r2, #288 6786 .LVL543: 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6787 .loc 1 3934 7 is_stmt 1 discriminator 1 view .LVU2374 6788 .LBB880: 6789 .LBI880: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6790 .loc 2 1119 31 discriminator 1 view .LVU2375 6791 .LBB881: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6792 .loc 2 1121 4 discriminator 1 view .LVU2376 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6793 .loc 2 1123 4 discriminator 1 view .LVU2377 6794 .syntax unified 6795 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6796 0048 43E80021 strex r1, r2, [r3] 6797 @ 0 "" 2 6798 .LVL544: 6799 .loc 2 1124 4 discriminator 1 view .LVU2378 6800 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2379 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 247 6801 .thumb 6802 .syntax unified 6803 .LBE881: 6804 .LBE880: 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6805 .loc 1 3934 7 discriminator 1 view .LVU2380 6806 004c 0029 cmp r1, #0 6807 004e F7D1 bne .L587 6808 .LVL545: 6809 .L586: 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6810 .loc 1 3934 7 discriminator 1 view .LVU2381 6811 .LBE877: 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6812 .loc 1 3934 7 is_stmt 1 discriminator 1 view .LVU2382 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6813 .loc 1 3937 7 discriminator 1 view .LVU2383 6814 .LBB882: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6815 .loc 1 3937 7 discriminator 1 view .LVU2384 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6816 .loc 1 3937 7 discriminator 1 view .LVU2385 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6817 .loc 1 3937 7 discriminator 1 view .LVU2386 6818 .LBB883: 6819 .LBI883: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6820 .loc 2 1068 31 discriminator 1 view .LVU2387 6821 .LBB884: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6822 .loc 2 1070 5 discriminator 1 view .LVU2388 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6823 .loc 2 1072 4 discriminator 1 view .LVU2389 6824 0050 03F10802 add r2, r3, #8 6825 .LVL546: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6826 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU2390 6827 .syntax unified 6828 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6829 0054 52E8002F ldrex r2, [r2] 6830 @ 0 "" 2 6831 .LVL547: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6832 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU2391 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6833 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2392 6834 .thumb 6835 .syntax unified 6836 .LBE884: 6837 .LBE883: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6838 .loc 1 3937 7 discriminator 1 view .LVU2393 6839 0058 22F00102 bic r2, r2, #1 6840 .LVL548: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6841 .loc 1 3937 7 is_stmt 1 discriminator 1 view .LVU2394 6842 .LBB885: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 248 6843 .LBI885: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6844 .loc 2 1119 31 discriminator 1 view .LVU2395 6845 .LBB886: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6846 .loc 2 1121 4 discriminator 1 view .LVU2396 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6847 .loc 2 1123 4 discriminator 1 view .LVU2397 6848 005c 03F1080C add ip, r3, #8 6849 .LVL549: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6850 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2398 6851 .syntax unified 6852 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6853 0060 4CE80021 strex r1, r2, [ip] 6854 @ 0 "" 2 6855 .LVL550: 6856 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2399 6857 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2400 6858 .thumb 6859 .syntax unified 6860 .LBE886: 6861 .LBE885: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6862 .loc 1 3937 7 discriminator 1 view .LVU2401 6863 0064 0029 cmp r1, #0 6864 0066 F3D1 bne .L586 6865 .LBE882: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6866 .loc 1 3937 7 is_stmt 1 discriminator 2 view .LVU2402 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6867 .loc 1 3940 7 discriminator 2 view .LVU2403 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6868 .loc 1 3940 22 is_stmt 0 discriminator 2 view .LVU2404 6869 0068 2022 movs r2, #32 6870 .LVL551: 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6871 .loc 1 3940 22 discriminator 2 view .LVU2405 6872 006a C0F88020 str r2, [r0, #128] 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6873 .loc 1 3943 7 is_stmt 1 discriminator 2 view .LVU2406 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6874 .loc 1 3946 26 is_stmt 0 discriminator 2 view .LVU2407 6875 006e 4166 str r1, [r0, #100] 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6876 .loc 1 3949 11 discriminator 2 view .LVU2408 6877 0070 5A68 ldr r2, [r3, #4] 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6878 .loc 1 3943 20 discriminator 2 view .LVU2409 6879 0072 8166 str r1, [r0, #104] 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6880 .loc 1 3946 7 is_stmt 1 discriminator 2 view .LVU2410 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6881 .loc 1 3949 7 discriminator 2 view .LVU2411 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6882 .loc 1 3949 10 is_stmt 0 discriminator 2 view .LVU2412 6883 0074 1102 lsls r1, r2, #8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 249 6884 0076 16D4 bmi .L589 6885 .L588: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6886 .loc 1 3952 9 is_stmt 1 view .LVU2413 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6887 .loc 1 3957 7 view .LVU2414 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6888 .loc 1 3957 16 is_stmt 0 view .LVU2415 6889 0078 026E ldr r2, [r0, #96] 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6890 .loc 1 3957 10 view .LVU2416 6891 007a 012A cmp r2, #1 6892 007c 24D1 bne .L590 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6893 .loc 1 3960 9 is_stmt 1 view .LVU2417 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6894 .loc 1 3960 30 is_stmt 0 view .LVU2418 6895 007e 0022 movs r2, #0 6896 0080 0266 str r2, [r0, #96] 6897 .L591: 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6898 .loc 1 3963 9 is_stmt 1 discriminator 1 view .LVU2419 6899 .LBB887: 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6900 .loc 1 3963 9 discriminator 1 view .LVU2420 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6901 .loc 1 3963 9 discriminator 1 view .LVU2421 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6902 .loc 1 3963 9 discriminator 1 view .LVU2422 6903 .LVL552: 6904 .LBB888: 6905 .LBI888: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6906 .loc 2 1068 31 discriminator 1 view .LVU2423 6907 .LBB889: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6908 .loc 2 1070 5 discriminator 1 view .LVU2424 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6909 .loc 2 1072 4 discriminator 1 view .LVU2425 6910 .syntax unified 6911 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6912 0082 53E8002F ldrex r2, [r3] 6913 @ 0 "" 2 6914 .LVL553: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6915 .loc 2 1073 4 discriminator 1 view .LVU2426 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6916 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2427 6917 .thumb 6918 .syntax unified 6919 .LBE889: 6920 .LBE888: 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6921 .loc 1 3963 9 discriminator 1 view .LVU2428 6922 0086 22F01002 bic r2, r2, #16 6923 .LVL554: 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 250 6924 .loc 1 3963 9 is_stmt 1 discriminator 1 view .LVU2429 6925 .LBB890: 6926 .LBI890: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6927 .loc 2 1119 31 discriminator 1 view .LVU2430 6928 .LBB891: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6929 .loc 2 1121 4 discriminator 1 view .LVU2431 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6930 .loc 2 1123 4 discriminator 1 view .LVU2432 6931 .syntax unified 6932 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6933 008a 43E80021 strex r1, r2, [r3] 6934 @ 0 "" 2 6935 .LVL555: 6936 .loc 2 1124 4 discriminator 1 view .LVU2433 6937 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2434 6938 .thumb 6939 .syntax unified 6940 .LBE891: 6941 .LBE890: 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6942 .loc 1 3963 9 discriminator 1 view .LVU2435 6943 008e 0029 cmp r1, #0 6944 0090 F7D1 bne .L591 6945 .LBE887: 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 6946 .loc 1 3963 9 is_stmt 1 discriminator 2 view .LVU2436 3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6947 .loc 1 3965 9 discriminator 2 view .LVU2437 3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6948 .loc 1 3965 13 is_stmt 0 discriminator 2 view .LVU2438 6949 0092 DA69 ldr r2, [r3, #28] 6950 .LVL556: 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6951 .loc 1 3976 9 discriminator 2 view .LVU2439 6952 0094 B0F85810 ldrh r1, [r0, #88] 3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 6953 .loc 1 3965 12 discriminator 2 view .LVU2440 6954 0098 D206 lsls r2, r2, #27 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6955 .loc 1 3968 11 is_stmt 1 discriminator 2 view .LVU2441 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6956 .loc 1 3976 9 discriminator 2 view .LVU2442 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6957 .loc 1 3968 11 is_stmt 0 discriminator 2 view .LVU2443 6958 009a 44BF itt mi 6959 009c 1022 movmi r2, #16 6960 009e 1A62 strmi r2, [r3, #32] 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6961 .loc 1 3976 9 discriminator 2 view .LVU2444 6962 00a0 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6963 .LVL557: 6964 .loc 1 3997 1 discriminator 2 view .LVU2445 6965 00a4 08BD pop {r3, pc} 6966 .LVL558: 6967 .L589: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 251 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6968 .loc 1 3952 9 is_stmt 1 discriminator 1 view .LVU2446 6969 .LBB892: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6970 .loc 1 3952 9 discriminator 1 view .LVU2447 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6971 .loc 1 3952 9 discriminator 1 view .LVU2448 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6972 .loc 1 3952 9 discriminator 1 view .LVU2449 6973 .LBB893: 6974 .LBI893: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6975 .loc 2 1068 31 discriminator 1 view .LVU2450 6976 .LBB894: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6977 .loc 2 1070 5 discriminator 1 view .LVU2451 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6978 .loc 2 1072 4 discriminator 1 view .LVU2452 6979 .syntax unified 6980 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6981 00a6 53E8002F ldrex r2, [r3] 6982 @ 0 "" 2 6983 .LVL559: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6984 .loc 2 1073 4 discriminator 1 view .LVU2453 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6985 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2454 6986 .thumb 6987 .syntax unified 6988 .LBE894: 6989 .LBE893: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6990 .loc 1 3952 9 discriminator 1 view .LVU2455 6991 00aa 22F08062 bic r2, r2, #67108864 6992 .LVL560: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 6993 .loc 1 3952 9 is_stmt 1 discriminator 1 view .LVU2456 6994 .LBB896: 6995 .LBI896: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6996 .loc 2 1119 31 discriminator 1 view .LVU2457 6997 .LBB897: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6998 .loc 2 1121 4 discriminator 1 view .LVU2458 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6999 .loc 2 1123 4 discriminator 1 view .LVU2459 7000 .syntax unified 7001 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7002 00ae 43E80021 strex r1, r2, [r3] 7003 @ 0 "" 2 7004 .LVL561: 7005 .loc 2 1124 4 discriminator 1 view .LVU2460 7006 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2461 7007 .thumb 7008 .syntax unified 7009 .LBE897: 7010 .LBE896: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 252 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7011 .loc 1 3952 9 discriminator 1 view .LVU2462 7012 00b2 0029 cmp r1, #0 7013 00b4 E0D0 beq .L588 7014 .LBE892: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7015 .loc 1 3952 9 is_stmt 1 view .LVU2463 7016 .LBB901: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7017 .loc 1 3952 9 view .LVU2464 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7018 .loc 1 3952 9 view .LVU2465 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7019 .loc 1 3952 9 view .LVU2466 7020 .LVL562: 7021 .LBB899: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7022 .loc 2 1068 31 view .LVU2467 7023 .LBB895: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7024 .loc 2 1070 5 view .LVU2468 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7025 .loc 2 1072 4 view .LVU2469 7026 .syntax unified 7027 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7028 00b6 53E8002F ldrex r2, [r3] 7029 @ 0 "" 2 7030 .LVL563: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7031 .loc 2 1073 4 view .LVU2470 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7032 .loc 2 1073 4 is_stmt 0 view .LVU2471 7033 .thumb 7034 .syntax unified 7035 .LBE895: 7036 .LBE899: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7037 .loc 1 3952 9 view .LVU2472 7038 00ba 22F08062 bic r2, r2, #67108864 7039 .LVL564: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7040 .loc 1 3952 9 is_stmt 1 view .LVU2473 7041 .LBB900: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7042 .loc 2 1119 31 view .LVU2474 7043 .LBB898: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7044 .loc 2 1121 4 view .LVU2475 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7045 .loc 2 1123 4 view .LVU2476 7046 .syntax unified 7047 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7048 00be 43E80021 strex r1, r2, [r3] 7049 @ 0 "" 2 7050 .LVL565: 7051 .loc 2 1124 4 view .LVU2477 7052 .loc 2 1124 4 is_stmt 0 view .LVU2478 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 253 7053 .thumb 7054 .syntax unified 7055 .LBE898: 7056 .LBE900: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7057 .loc 1 3952 9 view .LVU2479 7058 00c2 0029 cmp r1, #0 7059 00c4 EFD1 bne .L589 7060 00c6 D7E7 b .L588 7061 .LVL566: 7062 .L590: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7063 .loc 1 3952 9 view .LVU2480 7064 .LBE901: 3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7065 .loc 1 3987 9 is_stmt 1 view .LVU2481 7066 00c8 FFF7FEFF bl HAL_UART_RxCpltCallback 7067 .LVL567: 7068 .loc 1 3997 1 is_stmt 0 view .LVU2482 7069 00cc 08BD pop {r3, pc} 7070 .cfi_endproc 7071 .LFE195: 7073 00ce 00BF .section .text.UART_DMARxHalfCplt,"ax",%progbits 7074 .align 1 7075 .p2align 2,,3 7076 .syntax unified 7077 .thumb 7078 .thumb_func 7080 UART_DMARxHalfCplt: 7081 .LVL568: 7082 .LFB184: 3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 7083 .loc 1 3479 1 is_stmt 1 view -0 7084 .cfi_startproc 7085 @ args = 0, pretend = 0, frame = 0 7086 @ frame_needed = 0, uses_anonymous_args = 0 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7087 .loc 1 3480 3 view .LVU2484 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7088 .loc 1 3480 23 is_stmt 0 view .LVU2485 7089 0000 406A ldr r0, [r0, #36] 7090 .LVL569: 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7091 .loc 1 3484 3 is_stmt 1 view .LVU2486 3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 7092 .loc 1 3479 1 is_stmt 0 view .LVU2487 7093 0002 08B5 push {r3, lr} 7094 .LCFI31: 7095 .cfi_def_cfa_offset 8 7096 .cfi_offset 3, -8 7097 .cfi_offset 14, -4 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7098 .loc 1 3484 22 view .LVU2488 7099 0004 0123 movs r3, #1 7100 0006 4366 str r3, [r0, #100] 3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7101 .loc 1 3488 3 is_stmt 1 view .LVU2489 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 254 3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7102 .loc 1 3488 12 is_stmt 0 view .LVU2490 7103 0008 036E ldr r3, [r0, #96] 3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7104 .loc 1 3488 6 view .LVU2491 7105 000a 012B cmp r3, #1 7106 000c 02D0 beq .L613 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7107 .loc 1 3506 5 is_stmt 1 view .LVU2492 7108 000e FFF7FEFF bl HAL_UART_RxHalfCpltCallback 7109 .LVL570: 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7110 .loc 1 3509 1 is_stmt 0 view .LVU2493 7111 0012 08BD pop {r3, pc} 7112 .LVL571: 7113 .L613: 3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7114 .loc 1 3495 5 is_stmt 1 view .LVU2494 7115 0014 B0F85810 ldrh r1, [r0, #88] 7116 0018 4908 lsrs r1, r1, #1 7117 001a FFF7FEFF bl HAL_UARTEx_RxEventCallback 7118 .LVL572: 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7119 .loc 1 3509 1 is_stmt 0 view .LVU2495 7120 001e 08BD pop {r3, pc} 7121 .cfi_endproc 7122 .LFE184: 7124 .section .text.UART_DMAReceiveCplt,"ax",%progbits 7125 .align 1 7126 .p2align 2,,3 7127 .syntax unified 7128 .thumb 7129 .thumb_func 7131 UART_DMAReceiveCplt: 7132 .LVL573: 7133 .LFB183: 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 7134 .loc 1 3418 1 is_stmt 1 view -0 7135 .cfi_startproc 7136 @ args = 0, pretend = 0, frame = 0 7137 @ frame_needed = 0, uses_anonymous_args = 0 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7138 .loc 1 3419 3 view .LVU2497 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 7139 .loc 1 3418 1 is_stmt 0 view .LVU2498 7140 0000 08B5 push {r3, lr} 7141 .LCFI32: 7142 .cfi_def_cfa_offset 8 7143 .cfi_offset 3, -8 7144 .cfi_offset 14, -4 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7145 .loc 1 3422 6 view .LVU2499 7146 0002 8369 ldr r3, [r0, #24] 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7147 .loc 1 3419 23 view .LVU2500 7148 0004 406A ldr r0, [r0, #36] 7149 .LVL574: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 255 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7150 .loc 1 3422 3 is_stmt 1 view .LVU2501 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7151 .loc 1 3422 6 is_stmt 0 view .LVU2502 7152 0006 202B cmp r3, #32 7153 0008 29D0 beq .L615 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7154 .loc 1 3424 5 is_stmt 1 view .LVU2503 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7155 .loc 1 3424 24 is_stmt 0 view .LVU2504 7156 000a 0022 movs r2, #0 7157 000c 0368 ldr r3, [r0] 7158 000e A0F85A20 strh r2, [r0, #90] @ movhi 7159 .L616: 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7160 .loc 1 3427 5 is_stmt 1 discriminator 1 view .LVU2505 7161 .LBB902: 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7162 .loc 1 3427 5 discriminator 1 view .LVU2506 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7163 .loc 1 3427 5 discriminator 1 view .LVU2507 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7164 .loc 1 3427 5 discriminator 1 view .LVU2508 7165 .LVL575: 7166 .LBB903: 7167 .LBI903: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7168 .loc 2 1068 31 discriminator 1 view .LVU2509 7169 .LBB904: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7170 .loc 2 1070 5 discriminator 1 view .LVU2510 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7171 .loc 2 1072 4 discriminator 1 view .LVU2511 7172 .syntax unified 7173 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7174 0012 53E8002F ldrex r2, [r3] 7175 @ 0 "" 2 7176 .LVL576: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7177 .loc 2 1073 4 discriminator 1 view .LVU2512 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7178 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2513 7179 .thumb 7180 .syntax unified 7181 .LBE904: 7182 .LBE903: 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7183 .loc 1 3427 5 discriminator 1 view .LVU2514 7184 0016 22F48072 bic r2, r2, #256 7185 .LVL577: 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7186 .loc 1 3427 5 is_stmt 1 discriminator 1 view .LVU2515 7187 .LBB905: 7188 .LBI905: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7189 .loc 2 1119 31 discriminator 1 view .LVU2516 7190 .LBB906: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 256 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7191 .loc 2 1121 4 discriminator 1 view .LVU2517 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7192 .loc 2 1123 4 discriminator 1 view .LVU2518 7193 .syntax unified 7194 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7195 001a 43E80021 strex r1, r2, [r3] 7196 @ 0 "" 2 7197 .LVL578: 7198 .loc 2 1124 4 discriminator 1 view .LVU2519 7199 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2520 7200 .thumb 7201 .syntax unified 7202 .LBE906: 7203 .LBE905: 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7204 .loc 1 3427 5 discriminator 1 view .LVU2521 7205 001e 0029 cmp r1, #0 7206 0020 F7D1 bne .L616 7207 .LVL579: 7208 .L617: 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7209 .loc 1 3427 5 discriminator 1 view .LVU2522 7210 .LBE902: 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 7211 .loc 1 3427 5 is_stmt 1 discriminator 1 view .LVU2523 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7212 .loc 1 3428 5 discriminator 1 view .LVU2524 7213 .LBB907: 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7214 .loc 1 3428 5 discriminator 1 view .LVU2525 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7215 .loc 1 3428 5 discriminator 1 view .LVU2526 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7216 .loc 1 3428 5 discriminator 1 view .LVU2527 7217 .LBB908: 7218 .LBI908: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7219 .loc 2 1068 31 discriminator 1 view .LVU2528 7220 .LBB909: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7221 .loc 2 1070 5 discriminator 1 view .LVU2529 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7222 .loc 2 1072 4 discriminator 1 view .LVU2530 7223 0022 03F10802 add r2, r3, #8 7224 .LVL580: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7225 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU2531 7226 .syntax unified 7227 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7228 0026 52E8002F ldrex r2, [r2] 7229 @ 0 "" 2 7230 .LVL581: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7231 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU2532 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7232 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2533 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 257 7233 .thumb 7234 .syntax unified 7235 .LBE909: 7236 .LBE908: 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7237 .loc 1 3428 5 discriminator 1 view .LVU2534 7238 002a 22F00102 bic r2, r2, #1 7239 .LVL582: 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7240 .loc 1 3428 5 is_stmt 1 discriminator 1 view .LVU2535 7241 .LBB910: 7242 .LBI910: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7243 .loc 2 1119 31 discriminator 1 view .LVU2536 7244 .LBB911: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7245 .loc 2 1121 4 discriminator 1 view .LVU2537 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7246 .loc 2 1123 4 discriminator 1 view .LVU2538 7247 002e 03F1080C add ip, r3, #8 7248 .LVL583: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7249 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2539 7250 .syntax unified 7251 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7252 0032 4CE80021 strex r1, r2, [ip] 7253 @ 0 "" 2 7254 .LVL584: 7255 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2540 7256 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2541 7257 .thumb 7258 .syntax unified 7259 .LBE911: 7260 .LBE910: 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7261 .loc 1 3428 5 discriminator 1 view .LVU2542 7262 0036 0029 cmp r1, #0 7263 0038 F3D1 bne .L617 7264 .LVL585: 7265 .L618: 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7266 .loc 1 3428 5 discriminator 1 view .LVU2543 7267 .LBE907: 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7268 .loc 1 3428 5 is_stmt 1 discriminator 1 view .LVU2544 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7269 .loc 1 3432 5 discriminator 1 view .LVU2545 7270 .LBB912: 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7271 .loc 1 3432 5 discriminator 1 view .LVU2546 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7272 .loc 1 3432 5 discriminator 1 view .LVU2547 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7273 .loc 1 3432 5 discriminator 1 view .LVU2548 7274 .LBB913: 7275 .LBI913: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 258 7276 .loc 2 1068 31 discriminator 1 view .LVU2549 7277 .LBB914: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7278 .loc 2 1070 5 discriminator 1 view .LVU2550 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7279 .loc 2 1072 4 discriminator 1 view .LVU2551 7280 003a 03F10802 add r2, r3, #8 7281 .LVL586: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7282 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU2552 7283 .syntax unified 7284 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7285 003e 52E8002F ldrex r2, [r2] 7286 @ 0 "" 2 7287 .LVL587: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7288 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU2553 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7289 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2554 7290 .thumb 7291 .syntax unified 7292 .LBE914: 7293 .LBE913: 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7294 .loc 1 3432 5 discriminator 1 view .LVU2555 7295 0042 22F04002 bic r2, r2, #64 7296 .LVL588: 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7297 .loc 1 3432 5 is_stmt 1 discriminator 1 view .LVU2556 7298 .LBB915: 7299 .LBI915: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7300 .loc 2 1119 31 discriminator 1 view .LVU2557 7301 .LBB916: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7302 .loc 2 1121 4 discriminator 1 view .LVU2558 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7303 .loc 2 1123 4 discriminator 1 view .LVU2559 7304 0046 03F1080C add ip, r3, #8 7305 .LVL589: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7306 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU2560 7307 .syntax unified 7308 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7309 004a 4CE80021 strex r1, r2, [ip] 7310 @ 0 "" 2 7311 .LVL590: 7312 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU2561 7313 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2562 7314 .thumb 7315 .syntax unified 7316 .LBE916: 7317 .LBE915: 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7318 .loc 1 3432 5 discriminator 1 view .LVU2563 7319 004e 0029 cmp r1, #0 7320 0050 F3D1 bne .L618 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 259 7321 .LBE912: 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7322 .loc 1 3432 5 is_stmt 1 discriminator 2 view .LVU2564 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7323 .loc 1 3435 5 discriminator 2 view .LVU2565 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7324 .loc 1 3435 20 is_stmt 0 discriminator 2 view .LVU2566 7325 0052 2022 movs r2, #32 7326 .LVL591: 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7327 .loc 1 3435 20 discriminator 2 view .LVU2567 7328 0054 C0F88020 str r2, [r0, #128] 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7329 .loc 1 3438 5 is_stmt 1 discriminator 2 view .LVU2568 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7330 .loc 1 3438 14 is_stmt 0 discriminator 2 view .LVU2569 7331 0058 026E ldr r2, [r0, #96] 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7332 .loc 1 3438 8 discriminator 2 view .LVU2570 7333 005a 012A cmp r2, #1 7334 005c 07D0 beq .L619 7335 .L615: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7336 .loc 1 3440 7 is_stmt 1 view .LVU2571 3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7337 .loc 1 3446 3 view .LVU2572 3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7338 .loc 1 3446 22 is_stmt 0 view .LVU2573 7339 005e 0023 movs r3, #0 7340 0060 4366 str r3, [r0, #100] 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7341 .loc 1 3450 3 is_stmt 1 view .LVU2574 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7342 .loc 1 3450 12 is_stmt 0 view .LVU2575 7343 0062 036E ldr r3, [r0, #96] 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7344 .loc 1 3450 6 view .LVU2576 7345 0064 012B cmp r3, #1 7346 0066 13D0 beq .L631 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7347 .loc 1 3468 5 is_stmt 1 view .LVU2577 7348 0068 FFF7FEFF bl HAL_UART_RxCpltCallback 7349 .LVL592: 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7350 .loc 1 3471 1 is_stmt 0 view .LVU2578 7351 006c 08BD pop {r3, pc} 7352 .LVL593: 7353 .L619: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7354 .loc 1 3440 7 is_stmt 1 discriminator 1 view .LVU2579 7355 .LBB917: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7356 .loc 1 3440 7 discriminator 1 view .LVU2580 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7357 .loc 1 3440 7 discriminator 1 view .LVU2581 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7358 .loc 1 3440 7 discriminator 1 view .LVU2582 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 260 7359 .LBB918: 7360 .LBI918: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7361 .loc 2 1068 31 discriminator 1 view .LVU2583 7362 .LBB919: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7363 .loc 2 1070 5 discriminator 1 view .LVU2584 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7364 .loc 2 1072 4 discriminator 1 view .LVU2585 7365 .syntax unified 7366 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7367 006e 53E8002F ldrex r2, [r3] 7368 @ 0 "" 2 7369 .LVL594: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7370 .loc 2 1073 4 discriminator 1 view .LVU2586 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7371 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2587 7372 .thumb 7373 .syntax unified 7374 .LBE919: 7375 .LBE918: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7376 .loc 1 3440 7 discriminator 1 view .LVU2588 7377 0072 22F01002 bic r2, r2, #16 7378 .LVL595: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7379 .loc 1 3440 7 is_stmt 1 discriminator 1 view .LVU2589 7380 .LBB921: 7381 .LBI921: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7382 .loc 2 1119 31 discriminator 1 view .LVU2590 7383 .LBB922: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7384 .loc 2 1121 4 discriminator 1 view .LVU2591 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7385 .loc 2 1123 4 discriminator 1 view .LVU2592 7386 .syntax unified 7387 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7388 0076 43E80021 strex r1, r2, [r3] 7389 @ 0 "" 2 7390 .LVL596: 7391 .loc 2 1124 4 discriminator 1 view .LVU2593 7392 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2594 7393 .thumb 7394 .syntax unified 7395 .LBE922: 7396 .LBE921: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7397 .loc 1 3440 7 discriminator 1 view .LVU2595 7398 007a 0029 cmp r1, #0 7399 007c EFD0 beq .L615 7400 .LBE917: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7401 .loc 1 3440 7 is_stmt 1 view .LVU2596 7402 .LBB926: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 261 7403 .loc 1 3440 7 view .LVU2597 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7404 .loc 1 3440 7 view .LVU2598 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7405 .loc 1 3440 7 view .LVU2599 7406 .LVL597: 7407 .LBB924: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7408 .loc 2 1068 31 view .LVU2600 7409 .LBB920: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7410 .loc 2 1070 5 view .LVU2601 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7411 .loc 2 1072 4 view .LVU2602 7412 .syntax unified 7413 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7414 007e 53E8002F ldrex r2, [r3] 7415 @ 0 "" 2 7416 .LVL598: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7417 .loc 2 1073 4 view .LVU2603 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7418 .loc 2 1073 4 is_stmt 0 view .LVU2604 7419 .thumb 7420 .syntax unified 7421 .LBE920: 7422 .LBE924: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7423 .loc 1 3440 7 view .LVU2605 7424 0082 22F01002 bic r2, r2, #16 7425 .LVL599: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7426 .loc 1 3440 7 is_stmt 1 view .LVU2606 7427 .LBB925: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7428 .loc 2 1119 31 view .LVU2607 7429 .LBB923: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7430 .loc 2 1121 4 view .LVU2608 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7431 .loc 2 1123 4 view .LVU2609 7432 .syntax unified 7433 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7434 0086 43E80021 strex r1, r2, [r3] 7435 @ 0 "" 2 7436 .LVL600: 7437 .loc 2 1124 4 view .LVU2610 7438 .loc 2 1124 4 is_stmt 0 view .LVU2611 7439 .thumb 7440 .syntax unified 7441 .LBE923: 7442 .LBE925: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7443 .loc 1 3440 7 view .LVU2612 7444 008a 0029 cmp r1, #0 7445 008c EFD1 bne .L619 7446 008e E6E7 b .L615 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 262 7447 .LVL601: 7448 .L631: 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7449 .loc 1 3440 7 view .LVU2613 7450 .LBE926: 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 7451 .loc 1 3457 5 is_stmt 1 view .LVU2614 7452 0090 B0F85810 ldrh r1, [r0, #88] 7453 0094 FFF7FEFF bl HAL_UARTEx_RxEventCallback 7454 .LVL602: 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7455 .loc 1 3471 1 is_stmt 0 view .LVU2615 7456 0098 08BD pop {r3, pc} 7457 .cfi_endproc 7458 .LFE183: 7460 009a 00BF .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits 7461 .align 1 7462 .p2align 2,,3 7463 .global HAL_UART_ReceiverTimeout_Config 7464 .syntax unified 7465 .thumb 7466 .thumb_func 7468 HAL_UART_ReceiverTimeout_Config: 7469 .LVL603: 7470 .LFB162: 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 7471 .loc 1 2588 1 is_stmt 1 view -0 7472 .cfi_startproc 7473 @ args = 0, pretend = 0, frame = 0 7474 @ frame_needed = 0, uses_anonymous_args = 0 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 7475 .loc 1 2589 3 view .LVU2617 7476 0000 B1F1807F cmp r1, #16777216 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 7477 .loc 1 2588 1 is_stmt 0 view .LVU2618 7478 0004 38B5 push {r3, r4, r5, lr} 7479 .LCFI33: 7480 .cfi_def_cfa_offset 16 7481 .cfi_offset 3, -16 7482 .cfi_offset 4, -12 7483 .cfi_offset 5, -8 7484 .cfi_offset 14, -4 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 7485 .loc 1 2588 1 view .LVU2619 7486 0006 0C46 mov r4, r1 7487 0008 0546 mov r5, r0 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 7488 .loc 1 2589 3 view .LVU2620 7489 000a 06D2 bcs .L635 7490 .LVL604: 7491 .L633: 2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7492 .loc 1 2590 3 is_stmt 1 view .LVU2621 7493 000c 2A68 ldr r2, [r5] 7494 000e 5369 ldr r3, [r2, #20] 7495 0010 03F07F43 and r3, r3, #-16777216 7496 0014 2343 orrs r3, r3, r4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 263 7497 0016 5361 str r3, [r2, #20] 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7498 .loc 1 2591 1 is_stmt 0 view .LVU2622 7499 0018 38BD pop {r3, r4, r5, pc} 7500 .LVL605: 7501 .L635: 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 7502 .loc 1 2589 3 discriminator 1 view .LVU2623 7503 001a 0348 ldr r0, .L636 7504 .LVL606: 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 7505 .loc 1 2589 3 discriminator 1 view .LVU2624 7506 001c 40F61D21 movw r1, #2589 7507 .LVL607: 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 7508 .loc 1 2589 3 discriminator 1 view .LVU2625 7509 0020 FFF7FEFF bl assert_failed 7510 .LVL608: 7511 0024 F2E7 b .L633 7512 .L637: 7513 0026 00BF .align 2 7514 .L636: 7515 0028 00000000 .word .LC0 7516 .cfi_endproc 7517 .LFE162: 7519 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits 7520 .align 1 7521 .p2align 2,,3 7522 .global HAL_UART_EnableReceiverTimeout 7523 .syntax unified 7524 .thumb 7525 .thumb_func 7527 HAL_UART_EnableReceiverTimeout: 7528 .LVL609: 7529 .LFB163: 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 7530 .loc 1 2600 1 is_stmt 1 view -0 7531 .cfi_startproc 7532 @ args = 0, pretend = 0, frame = 0 7533 @ frame_needed = 0, uses_anonymous_args = 0 7534 @ link register save eliminated. 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7535 .loc 1 2601 3 view .LVU2627 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7536 .loc 1 2601 12 is_stmt 0 view .LVU2628 7537 0000 C26F ldr r2, [r0, #124] 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7538 .loc 1 2601 6 view .LVU2629 7539 0002 202A cmp r2, #32 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 7540 .loc 1 2600 1 view .LVU2630 7541 0004 0346 mov r3, r0 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7542 .loc 1 2601 6 view .LVU2631 7543 0006 11D1 bne .L641 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7544 .loc 1 2604 5 is_stmt 1 view .LVU2632 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 264 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7545 .loc 1 2604 5 view .LVU2633 7546 0008 90F87810 ldrb r1, [r0, #120] @ zero_extendqisi2 7547 000c 0129 cmp r1, #1 7548 000e 0DD0 beq .L641 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7549 .loc 1 2604 5 discriminator 2 view .LVU2634 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7550 .loc 1 2604 5 discriminator 2 view .LVU2635 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7551 .loc 1 2606 5 discriminator 2 view .LVU2636 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7552 .loc 1 2609 5 is_stmt 0 discriminator 2 view .LVU2637 7553 0010 0068 ldr r0, [r0] 7554 .LVL610: 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7555 .loc 1 2606 19 discriminator 2 view .LVU2638 7556 0012 2421 movs r1, #36 7557 0014 D967 str r1, [r3, #124] 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7558 .loc 1 2609 5 is_stmt 1 discriminator 2 view .LVU2639 7559 0016 4168 ldr r1, [r0, #4] 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7560 .loc 1 2614 5 is_stmt 0 discriminator 2 view .LVU2640 7561 0018 4FF0000C mov ip, #0 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7562 .loc 1 2609 5 discriminator 2 view .LVU2641 7563 001c 41F40001 orr r1, r1, #8388608 7564 0020 4160 str r1, [r0, #4] 2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7565 .loc 1 2611 5 is_stmt 1 discriminator 2 view .LVU2642 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7566 .loc 1 2616 12 is_stmt 0 discriminator 2 view .LVU2643 7567 0022 6046 mov r0, ip 2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7568 .loc 1 2611 19 discriminator 2 view .LVU2644 7569 0024 DA67 str r2, [r3, #124] 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7570 .loc 1 2614 5 is_stmt 1 discriminator 2 view .LVU2645 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7571 .loc 1 2614 5 discriminator 2 view .LVU2646 7572 0026 83F878C0 strb ip, [r3, #120] 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7573 .loc 1 2614 5 discriminator 2 view .LVU2647 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7574 .loc 1 2616 5 discriminator 2 view .LVU2648 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7575 .loc 1 2616 12 is_stmt 0 discriminator 2 view .LVU2649 7576 002a 7047 bx lr 7577 .LVL611: 7578 .L641: 2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7579 .loc 1 2620 12 view .LVU2650 7580 002c 0220 movs r0, #2 7581 .LVL612: 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7582 .loc 1 2622 1 view .LVU2651 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 265 7583 002e 7047 bx lr 7584 .cfi_endproc 7585 .LFE163: 7587 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits 7588 .align 1 7589 .p2align 2,,3 7590 .global HAL_UART_DisableReceiverTimeout 7591 .syntax unified 7592 .thumb 7593 .thumb_func 7595 HAL_UART_DisableReceiverTimeout: 7596 .LVL613: 7597 .LFB164: 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 7598 .loc 1 2631 1 is_stmt 1 view -0 7599 .cfi_startproc 7600 @ args = 0, pretend = 0, frame = 0 7601 @ frame_needed = 0, uses_anonymous_args = 0 7602 @ link register save eliminated. 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7603 .loc 1 2632 3 view .LVU2653 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7604 .loc 1 2632 12 is_stmt 0 view .LVU2654 7605 0000 C26F ldr r2, [r0, #124] 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7606 .loc 1 2632 6 view .LVU2655 7607 0002 202A cmp r2, #32 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 7608 .loc 1 2631 1 view .LVU2656 7609 0004 0346 mov r3, r0 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 7610 .loc 1 2632 6 view .LVU2657 7611 0006 11D1 bne .L645 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7612 .loc 1 2635 5 is_stmt 1 view .LVU2658 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7613 .loc 1 2635 5 view .LVU2659 7614 0008 90F87810 ldrb r1, [r0, #120] @ zero_extendqisi2 7615 000c 0129 cmp r1, #1 7616 000e 0DD0 beq .L645 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7617 .loc 1 2635 5 discriminator 2 view .LVU2660 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7618 .loc 1 2635 5 discriminator 2 view .LVU2661 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7619 .loc 1 2637 5 discriminator 2 view .LVU2662 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7620 .loc 1 2640 5 is_stmt 0 discriminator 2 view .LVU2663 7621 0010 0068 ldr r0, [r0] 7622 .LVL614: 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7623 .loc 1 2637 19 discriminator 2 view .LVU2664 7624 0012 2421 movs r1, #36 7625 0014 D967 str r1, [r3, #124] 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7626 .loc 1 2640 5 is_stmt 1 discriminator 2 view .LVU2665 7627 0016 4168 ldr r1, [r0, #4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 266 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7628 .loc 1 2645 5 is_stmt 0 discriminator 2 view .LVU2666 7629 0018 4FF0000C mov ip, #0 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7630 .loc 1 2640 5 discriminator 2 view .LVU2667 7631 001c 21F40001 bic r1, r1, #8388608 7632 0020 4160 str r1, [r0, #4] 2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7633 .loc 1 2642 5 is_stmt 1 discriminator 2 view .LVU2668 2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7634 .loc 1 2647 12 is_stmt 0 discriminator 2 view .LVU2669 7635 0022 6046 mov r0, ip 2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7636 .loc 1 2642 19 discriminator 2 view .LVU2670 7637 0024 DA67 str r2, [r3, #124] 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7638 .loc 1 2645 5 is_stmt 1 discriminator 2 view .LVU2671 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7639 .loc 1 2645 5 discriminator 2 view .LVU2672 7640 0026 83F878C0 strb ip, [r3, #120] 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7641 .loc 1 2645 5 discriminator 2 view .LVU2673 2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7642 .loc 1 2647 5 discriminator 2 view .LVU2674 2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7643 .loc 1 2647 12 is_stmt 0 discriminator 2 view .LVU2675 7644 002a 7047 bx lr 7645 .LVL615: 7646 .L645: 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7647 .loc 1 2651 12 view .LVU2676 7648 002c 0220 movs r0, #2 7649 .LVL616: 2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7650 .loc 1 2653 1 view .LVU2677 7651 002e 7047 bx lr 7652 .cfi_endproc 7653 .LFE164: 7655 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits 7656 .align 1 7657 .p2align 2,,3 7658 .global HAL_MultiProcessor_EnterMuteMode 7659 .syntax unified 7660 .thumb 7661 .thumb_func 7663 HAL_MultiProcessor_EnterMuteMode: 7664 .LVL617: 7665 .LFB167: 2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 7666 .loc 1 2702 1 is_stmt 1 view -0 7667 .cfi_startproc 7668 @ args = 0, pretend = 0, frame = 0 7669 @ frame_needed = 0, uses_anonymous_args = 0 7670 @ link register save eliminated. 2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7671 .loc 1 2703 3 view .LVU2679 7672 0000 0268 ldr r2, [r0] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 267 7673 0002 9369 ldr r3, [r2, #24] 7674 0004 43F00403 orr r3, r3, #4 7675 0008 9361 str r3, [r2, #24] 2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7676 .loc 1 2704 1 is_stmt 0 view .LVU2680 7677 000a 7047 bx lr 7678 .cfi_endproc 7679 .LFE167: 7681 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits 7682 .align 1 7683 .p2align 2,,3 7684 .global HAL_HalfDuplex_EnableTransmitter 7685 .syntax unified 7686 .thumb 7687 .thumb_func 7689 HAL_HalfDuplex_EnableTransmitter: 7690 .LVL618: 7691 .LFB168: 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 7692 .loc 1 2712 1 is_stmt 1 view -0 7693 .cfi_startproc 7694 @ args = 0, pretend = 0, frame = 0 7695 @ frame_needed = 0, uses_anonymous_args = 0 7696 @ link register save eliminated. 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7697 .loc 1 2713 3 view .LVU2682 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7698 .loc 1 2713 3 view .LVU2683 7699 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 7700 0004 012B cmp r3, #1 7701 0006 1BD0 beq .L651 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7702 .loc 1 2713 3 discriminator 2 view .LVU2684 7703 0008 0121 movs r1, #1 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7704 .loc 1 2714 17 is_stmt 0 discriminator 2 view .LVU2685 7705 000a 2423 movs r3, #36 7706 000c 0268 ldr r2, [r0] 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7707 .loc 1 2713 3 discriminator 2 view .LVU2686 7708 000e 80F87810 strb r1, [r0, #120] 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7709 .loc 1 2713 3 is_stmt 1 discriminator 2 view .LVU2687 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7710 .loc 1 2714 3 discriminator 2 view .LVU2688 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7711 .loc 1 2714 17 is_stmt 0 discriminator 2 view .LVU2689 7712 0012 C367 str r3, [r0, #124] 7713 .L649: 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7714 .loc 1 2717 3 is_stmt 1 discriminator 1 view .LVU2690 7715 .LBB927: 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7716 .loc 1 2717 3 discriminator 1 view .LVU2691 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7717 .loc 1 2717 3 discriminator 1 view .LVU2692 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 268 7718 .loc 1 2717 3 discriminator 1 view .LVU2693 7719 .LVL619: 7720 .LBB928: 7721 .LBI928: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7722 .loc 2 1068 31 discriminator 1 view .LVU2694 7723 .LBB929: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7724 .loc 2 1070 5 discriminator 1 view .LVU2695 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7725 .loc 2 1072 4 discriminator 1 view .LVU2696 7726 .syntax unified 7727 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7728 0014 52E8003F ldrex r3, [r2] 7729 @ 0 "" 2 7730 .LVL620: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7731 .loc 2 1073 4 discriminator 1 view .LVU2697 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7732 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2698 7733 .thumb 7734 .syntax unified 7735 .LBE929: 7736 .LBE928: 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7737 .loc 1 2717 3 discriminator 1 view .LVU2699 7738 0018 23F00C03 bic r3, r3, #12 7739 .LVL621: 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7740 .loc 1 2717 3 is_stmt 1 discriminator 1 view .LVU2700 7741 .LBB930: 7742 .LBI930: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7743 .loc 2 1119 31 discriminator 1 view .LVU2701 7744 .LBB931: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7745 .loc 2 1121 4 discriminator 1 view .LVU2702 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7746 .loc 2 1123 4 discriminator 1 view .LVU2703 7747 .syntax unified 7748 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7749 001c 42E80031 strex r1, r3, [r2] 7750 @ 0 "" 2 7751 .LVL622: 7752 .loc 2 1124 4 discriminator 1 view .LVU2704 7753 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2705 7754 .thumb 7755 .syntax unified 7756 .LBE931: 7757 .LBE930: 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7758 .loc 1 2717 3 discriminator 1 view .LVU2706 7759 0020 0029 cmp r1, #0 7760 0022 F7D1 bne .L649 7761 .LVL623: 7762 .L650: 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 269 7763 .loc 1 2717 3 discriminator 1 view .LVU2707 7764 .LBE927: 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7765 .loc 1 2717 3 is_stmt 1 discriminator 1 view .LVU2708 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7766 .loc 1 2720 3 discriminator 1 view .LVU2709 7767 .LBB932: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7768 .loc 1 2720 3 discriminator 1 view .LVU2710 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7769 .loc 1 2720 3 discriminator 1 view .LVU2711 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7770 .loc 1 2720 3 discriminator 1 view .LVU2712 7771 .LBB933: 7772 .LBI933: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7773 .loc 2 1068 31 discriminator 1 view .LVU2713 7774 .LBB934: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7775 .loc 2 1070 5 discriminator 1 view .LVU2714 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7776 .loc 2 1072 4 discriminator 1 view .LVU2715 7777 .syntax unified 7778 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7779 0024 52E8003F ldrex r3, [r2] 7780 @ 0 "" 2 7781 .LVL624: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7782 .loc 2 1073 4 discriminator 1 view .LVU2716 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7783 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2717 7784 .thumb 7785 .syntax unified 7786 .LBE934: 7787 .LBE933: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7788 .loc 1 2720 3 discriminator 1 view .LVU2718 7789 0028 43F00803 orr r3, r3, #8 7790 .LVL625: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7791 .loc 1 2720 3 is_stmt 1 discriminator 1 view .LVU2719 7792 .LBB935: 7793 .LBI935: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7794 .loc 2 1119 31 discriminator 1 view .LVU2720 7795 .LBB936: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7796 .loc 2 1121 4 discriminator 1 view .LVU2721 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7797 .loc 2 1123 4 discriminator 1 view .LVU2722 7798 .syntax unified 7799 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7800 002c 42E80031 strex r1, r3, [r2] 7801 @ 0 "" 2 7802 .LVL626: 7803 .loc 2 1124 4 discriminator 1 view .LVU2723 7804 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2724 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 270 7805 .thumb 7806 .syntax unified 7807 .LBE936: 7808 .LBE935: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7809 .loc 1 2720 3 discriminator 1 view .LVU2725 7810 0030 0029 cmp r1, #0 7811 0032 F7D1 bne .L650 7812 .LBE932: 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7813 .loc 1 2720 3 is_stmt 1 discriminator 2 view .LVU2726 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7814 .loc 1 2722 3 discriminator 2 view .LVU2727 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7815 .loc 1 2722 17 is_stmt 0 discriminator 2 view .LVU2728 7816 0034 2023 movs r3, #32 7817 .LVL627: 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7818 .loc 1 2722 17 discriminator 2 view .LVU2729 7819 0036 C367 str r3, [r0, #124] 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7820 .loc 1 2724 3 is_stmt 1 discriminator 2 view .LVU2730 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7821 .loc 1 2724 3 discriminator 2 view .LVU2731 7822 0038 80F87810 strb r1, [r0, #120] 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7823 .loc 1 2724 3 discriminator 2 view .LVU2732 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7824 .loc 1 2726 3 discriminator 2 view .LVU2733 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7825 .loc 1 2726 10 is_stmt 0 discriminator 2 view .LVU2734 7826 003c 0846 mov r0, r1 7827 .LVL628: 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7828 .loc 1 2726 10 discriminator 2 view .LVU2735 7829 003e 7047 bx lr 7830 .LVL629: 7831 .L651: 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7832 .loc 1 2713 3 view .LVU2736 7833 0040 0220 movs r0, #2 7834 .LVL630: 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7835 .loc 1 2727 1 view .LVU2737 7836 0042 7047 bx lr 7837 .cfi_endproc 7838 .LFE168: 7840 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits 7841 .align 1 7842 .p2align 2,,3 7843 .global HAL_HalfDuplex_EnableReceiver 7844 .syntax unified 7845 .thumb 7846 .thumb_func 7848 HAL_HalfDuplex_EnableReceiver: 7849 .LVL631: 7850 .LFB169: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 271 2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 7851 .loc 1 2735 1 is_stmt 1 view -0 7852 .cfi_startproc 7853 @ args = 0, pretend = 0, frame = 0 7854 @ frame_needed = 0, uses_anonymous_args = 0 7855 @ link register save eliminated. 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7856 .loc 1 2736 3 view .LVU2739 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7857 .loc 1 2736 3 view .LVU2740 7858 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 7859 0004 012B cmp r3, #1 7860 0006 1BD0 beq .L658 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7861 .loc 1 2736 3 discriminator 2 view .LVU2741 7862 0008 0121 movs r1, #1 2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7863 .loc 1 2737 17 is_stmt 0 discriminator 2 view .LVU2742 7864 000a 2423 movs r3, #36 7865 000c 0268 ldr r2, [r0] 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7866 .loc 1 2736 3 discriminator 2 view .LVU2743 7867 000e 80F87810 strb r1, [r0, #120] 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7868 .loc 1 2736 3 is_stmt 1 discriminator 2 view .LVU2744 2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7869 .loc 1 2737 3 discriminator 2 view .LVU2745 2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7870 .loc 1 2737 17 is_stmt 0 discriminator 2 view .LVU2746 7871 0012 C367 str r3, [r0, #124] 7872 .L656: 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7873 .loc 1 2740 3 is_stmt 1 discriminator 1 view .LVU2747 7874 .LBB937: 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7875 .loc 1 2740 3 discriminator 1 view .LVU2748 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7876 .loc 1 2740 3 discriminator 1 view .LVU2749 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7877 .loc 1 2740 3 discriminator 1 view .LVU2750 7878 .LVL632: 7879 .LBB938: 7880 .LBI938: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7881 .loc 2 1068 31 discriminator 1 view .LVU2751 7882 .LBB939: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7883 .loc 2 1070 5 discriminator 1 view .LVU2752 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7884 .loc 2 1072 4 discriminator 1 view .LVU2753 7885 .syntax unified 7886 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7887 0014 52E8003F ldrex r3, [r2] 7888 @ 0 "" 2 7889 .LVL633: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7890 .loc 2 1073 4 discriminator 1 view .LVU2754 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 272 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7891 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2755 7892 .thumb 7893 .syntax unified 7894 .LBE939: 7895 .LBE938: 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7896 .loc 1 2740 3 discriminator 1 view .LVU2756 7897 0018 23F00C03 bic r3, r3, #12 7898 .LVL634: 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7899 .loc 1 2740 3 is_stmt 1 discriminator 1 view .LVU2757 7900 .LBB940: 7901 .LBI940: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7902 .loc 2 1119 31 discriminator 1 view .LVU2758 7903 .LBB941: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7904 .loc 2 1121 4 discriminator 1 view .LVU2759 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7905 .loc 2 1123 4 discriminator 1 view .LVU2760 7906 .syntax unified 7907 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7908 001c 42E80031 strex r1, r3, [r2] 7909 @ 0 "" 2 7910 .LVL635: 7911 .loc 2 1124 4 discriminator 1 view .LVU2761 7912 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2762 7913 .thumb 7914 .syntax unified 7915 .LBE941: 7916 .LBE940: 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7917 .loc 1 2740 3 discriminator 1 view .LVU2763 7918 0020 0029 cmp r1, #0 7919 0022 F7D1 bne .L656 7920 .LVL636: 7921 .L657: 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7922 .loc 1 2740 3 discriminator 1 view .LVU2764 7923 .LBE937: 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7924 .loc 1 2740 3 is_stmt 1 discriminator 1 view .LVU2765 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7925 .loc 1 2743 3 discriminator 1 view .LVU2766 7926 .LBB942: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7927 .loc 1 2743 3 discriminator 1 view .LVU2767 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7928 .loc 1 2743 3 discriminator 1 view .LVU2768 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7929 .loc 1 2743 3 discriminator 1 view .LVU2769 7930 .LBB943: 7931 .LBI943: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7932 .loc 2 1068 31 discriminator 1 view .LVU2770 7933 .LBB944: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 273 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7934 .loc 2 1070 5 discriminator 1 view .LVU2771 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7935 .loc 2 1072 4 discriminator 1 view .LVU2772 7936 .syntax unified 7937 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7938 0024 52E8003F ldrex r3, [r2] 7939 @ 0 "" 2 7940 .LVL637: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7941 .loc 2 1073 4 discriminator 1 view .LVU2773 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7942 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU2774 7943 .thumb 7944 .syntax unified 7945 .LBE944: 7946 .LBE943: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7947 .loc 1 2743 3 discriminator 1 view .LVU2775 7948 0028 43F00403 orr r3, r3, #4 7949 .LVL638: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7950 .loc 1 2743 3 is_stmt 1 discriminator 1 view .LVU2776 7951 .LBB945: 7952 .LBI945: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7953 .loc 2 1119 31 discriminator 1 view .LVU2777 7954 .LBB946: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7955 .loc 2 1121 4 discriminator 1 view .LVU2778 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7956 .loc 2 1123 4 discriminator 1 view .LVU2779 7957 .syntax unified 7958 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7959 002c 42E80031 strex r1, r3, [r2] 7960 @ 0 "" 2 7961 .LVL639: 7962 .loc 2 1124 4 discriminator 1 view .LVU2780 7963 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU2781 7964 .thumb 7965 .syntax unified 7966 .LBE946: 7967 .LBE945: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7968 .loc 1 2743 3 discriminator 1 view .LVU2782 7969 0030 0029 cmp r1, #0 7970 0032 F7D1 bne .L657 7971 .LBE942: 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7972 .loc 1 2743 3 is_stmt 1 discriminator 2 view .LVU2783 2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7973 .loc 1 2745 3 discriminator 2 view .LVU2784 2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7974 .loc 1 2745 17 is_stmt 0 discriminator 2 view .LVU2785 7975 0034 2023 movs r3, #32 7976 .LVL640: 2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 274 7977 .loc 1 2745 17 discriminator 2 view .LVU2786 7978 0036 C367 str r3, [r0, #124] 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7979 .loc 1 2747 3 is_stmt 1 discriminator 2 view .LVU2787 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7980 .loc 1 2747 3 discriminator 2 view .LVU2788 7981 0038 80F87810 strb r1, [r0, #120] 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7982 .loc 1 2747 3 discriminator 2 view .LVU2789 2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7983 .loc 1 2749 3 discriminator 2 view .LVU2790 2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7984 .loc 1 2749 10 is_stmt 0 discriminator 2 view .LVU2791 7985 003c 0846 mov r0, r1 7986 .LVL641: 2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 7987 .loc 1 2749 10 discriminator 2 view .LVU2792 7988 003e 7047 bx lr 7989 .LVL642: 7990 .L658: 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7991 .loc 1 2736 3 view .LVU2793 7992 0040 0220 movs r0, #2 7993 .LVL643: 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 7994 .loc 1 2750 1 view .LVU2794 7995 0042 7047 bx lr 7996 .cfi_endproc 7997 .LFE169: 7999 .section .text.HAL_LIN_SendBreak,"ax",%progbits 8000 .align 1 8001 .p2align 2,,3 8002 .global HAL_LIN_SendBreak 8003 .syntax unified 8004 .thumb 8005 .thumb_func 8007 HAL_LIN_SendBreak: 8008 .LVL644: 8009 .LFB170: 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 8010 .loc 1 2759 1 is_stmt 1 view -0 8011 .cfi_startproc 8012 @ args = 0, pretend = 0, frame = 0 8013 @ frame_needed = 0, uses_anonymous_args = 0 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8014 .loc 1 2761 3 view .LVU2796 8015 0000 164A ldr r2, .L666 8016 0002 0368 ldr r3, [r0] 8017 0004 9342 cmp r3, r2 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ 8018 .loc 1 2759 1 is_stmt 0 view .LVU2797 8019 0006 10B5 push {r4, lr} 8020 .LCFI34: 8021 .cfi_def_cfa_offset 8 8022 .cfi_offset 4, -8 8023 .cfi_offset 14, -4 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the parameters */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 275 8024 .loc 1 2759 1 view .LVU2798 8025 0008 0446 mov r4, r0 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8026 .loc 1 2761 3 view .LVU2799 8027 000a 14D0 beq .L662 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8028 .loc 1 2761 3 discriminator 1 view .LVU2800 8029 000c A2F57442 sub r2, r2, #62464 8030 0010 9342 cmp r3, r2 8031 0012 10D0 beq .L662 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8032 .loc 1 2761 3 discriminator 2 view .LVU2801 8033 0014 02F58062 add r2, r2, #1024 8034 0018 9342 cmp r3, r2 8035 001a 0CD0 beq .L662 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8036 .loc 1 2761 3 discriminator 3 view .LVU2802 8037 001c 02F58062 add r2, r2, #1024 8038 0020 9342 cmp r3, r2 8039 0022 08D0 beq .L662 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8040 .loc 1 2761 3 discriminator 4 view .LVU2803 8041 0024 02F58062 add r2, r2, #1024 8042 0028 9342 cmp r3, r2 8043 002a 04D0 beq .L662 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8044 .loc 1 2761 3 discriminator 5 view .LVU2804 8045 002c 0C48 ldr r0, .L666+4 8046 .LVL645: 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8047 .loc 1 2761 3 discriminator 5 view .LVU2805 8048 002e 40F6C921 movw r1, #2761 8049 0032 FFF7FEFF bl assert_failed 8050 .LVL646: 8051 .L662: 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8052 .loc 1 2763 3 is_stmt 1 view .LVU2806 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8053 .loc 1 2763 3 view .LVU2807 8054 0036 94F87830 ldrb r3, [r4, #120] @ zero_extendqisi2 8055 003a 012B cmp r3, #1 8056 003c 0CD0 beq .L664 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8057 .loc 1 2763 3 discriminator 2 view .LVU2808 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8058 .loc 1 2763 3 discriminator 2 view .LVU2809 2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8059 .loc 1 2765 3 discriminator 2 view .LVU2810 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8060 .loc 1 2768 3 is_stmt 0 discriminator 2 view .LVU2811 8061 003e 2268 ldr r2, [r4] 2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8062 .loc 1 2765 17 discriminator 2 view .LVU2812 8063 0040 2423 movs r3, #36 8064 0042 E367 str r3, [r4, #124] 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8065 .loc 1 2768 3 is_stmt 1 discriminator 2 view .LVU2813 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 276 8066 0044 9369 ldr r3, [r2, #24] 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8067 .loc 1 2772 3 is_stmt 0 discriminator 2 view .LVU2814 8068 0046 0020 movs r0, #0 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8069 .loc 1 2768 3 discriminator 2 view .LVU2815 8070 0048 43F00203 orr r3, r3, #2 8071 004c 9361 str r3, [r2, #24] 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8072 .loc 1 2770 3 is_stmt 1 discriminator 2 view .LVU2816 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8073 .loc 1 2770 17 is_stmt 0 discriminator 2 view .LVU2817 8074 004e 2021 movs r1, #32 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8075 .loc 1 2772 3 discriminator 2 view .LVU2818 8076 0050 84F87800 strb r0, [r4, #120] 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8077 .loc 1 2770 17 discriminator 2 view .LVU2819 8078 0054 E167 str r1, [r4, #124] 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8079 .loc 1 2772 3 is_stmt 1 discriminator 2 view .LVU2820 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8080 .loc 1 2772 3 discriminator 2 view .LVU2821 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8081 .loc 1 2772 3 discriminator 2 view .LVU2822 2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8082 .loc 1 2774 3 discriminator 2 view .LVU2823 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8083 .loc 1 2775 1 is_stmt 0 discriminator 2 view .LVU2824 8084 0056 10BD pop {r4, pc} 8085 .LVL647: 8086 .L664: 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8087 .loc 1 2763 3 view .LVU2825 8088 0058 0220 movs r0, #2 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8089 .loc 1 2775 1 view .LVU2826 8090 005a 10BD pop {r4, pc} 8091 .LVL648: 8092 .L667: 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8093 .loc 1 2775 1 view .LVU2827 8094 .align 2 8095 .L666: 8096 005c 00380140 .word 1073821696 8097 0060 00000000 .word .LC0 8098 .cfi_endproc 8099 .LFE170: 8101 .section .text.HAL_UART_GetState,"ax",%progbits 8102 .align 1 8103 .p2align 2,,3 8104 .global HAL_UART_GetState 8105 .syntax unified 8106 .thumb 8107 .thumb_func 8109 HAL_UART_GetState: 8110 .LVL649: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 277 8111 .LFB171: 2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp1; 8112 .loc 1 2804 1 is_stmt 1 view -0 8113 .cfi_startproc 8114 @ args = 0, pretend = 0, frame = 0 8115 @ frame_needed = 0, uses_anonymous_args = 0 8116 @ link register save eliminated. 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t temp2; 8117 .loc 1 2805 3 view .LVU2829 2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp1 = huart->gState; 8118 .loc 1 2806 3 view .LVU2830 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp2 = huart->RxState; 8119 .loc 1 2807 3 view .LVU2831 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** temp2 = huart->RxState; 8120 .loc 1 2807 9 is_stmt 0 view .LVU2832 8121 0000 C26F ldr r2, [r0, #124] 8122 .LVL650: 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8123 .loc 1 2808 3 is_stmt 1 view .LVU2833 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8124 .loc 1 2808 9 is_stmt 0 view .LVU2834 8125 0002 D0F88000 ldr r0, [r0, #128] 8126 .LVL651: 2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8127 .loc 1 2810 3 is_stmt 1 view .LVU2835 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8128 .loc 1 2811 1 is_stmt 0 view .LVU2836 8129 0006 1043 orrs r0, r0, r2 8130 .LVL652: 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8131 .loc 1 2811 1 view .LVU2837 8132 0008 7047 bx lr 8133 .cfi_endproc 8134 .LFE171: 8136 000a 00BF .section .text.HAL_UART_GetError,"ax",%progbits 8137 .align 1 8138 .p2align 2,,3 8139 .global HAL_UART_GetError 8140 .syntax unified 8141 .thumb 8142 .thumb_func 8144 HAL_UART_GetError: 8145 .LVL653: 8146 .LFB172: 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** return huart->ErrorCode; 8147 .loc 1 2820 1 is_stmt 1 view -0 8148 .cfi_startproc 8149 @ args = 0, pretend = 0, frame = 0 8150 @ frame_needed = 0, uses_anonymous_args = 0 8151 @ link register save eliminated. 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8152 .loc 1 2821 3 view .LVU2839 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8153 .loc 1 2821 15 is_stmt 0 view .LVU2840 8154 0000 D0F88400 ldr r0, [r0, #132] 8155 .LVL654: 2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 278 8156 .loc 1 2822 1 view .LVU2841 8157 0004 7047 bx lr 8158 .cfi_endproc 8159 .LFE172: 8161 0006 00BF .section .text.UART_SetConfig,"ax",%progbits 8162 .align 1 8163 .p2align 2,,3 8164 .global UART_SetConfig 8165 .syntax unified 8166 .thumb 8167 .thumb_func 8169 UART_SetConfig: 8170 .LVL655: 8171 .LFB173: 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tmpreg; 8172 .loc 1 2864 1 is_stmt 1 view -0 8173 .cfi_startproc 8174 @ args = 0, pretend = 0, frame = 0 8175 @ frame_needed = 0, uses_anonymous_args = 0 2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t brrtemp; 8176 .loc 1 2865 3 view .LVU2843 2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 8177 .loc 1 2866 3 view .LVU2844 2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t usartdiv; 8178 .loc 1 2867 3 view .LVU2845 2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 8179 .loc 1 2868 3 view .LVU2846 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t pclk; 8180 .loc 1 2869 3 view .LVU2847 2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8181 .loc 1 2870 3 view .LVU2848 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 8182 .loc 1 2873 3 view .LVU2849 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tmpreg; 8183 .loc 1 2864 1 is_stmt 0 view .LVU2850 8184 0000 38B5 push {r3, r4, r5, lr} 8185 .LCFI35: 8186 .cfi_def_cfa_offset 16 8187 .cfi_offset 3, -16 8188 .cfi_offset 4, -12 8189 .cfi_offset 5, -8 8190 .cfi_offset 14, -4 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 8191 .loc 1 2873 3 view .LVU2851 8192 0002 4268 ldr r2, [r0, #4] 8193 0004 A54B ldr r3, .L806 8194 0006 9A42 cmp r2, r3 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tmpreg; 8195 .loc 1 2864 1 view .LVU2852 8196 0008 0446 mov r4, r0 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 8197 .loc 1 2873 3 view .LVU2853 8198 000a 00F2A780 bhi .L798 8199 .LVL656: 8200 .L671: 2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 8201 .loc 1 2874 3 is_stmt 1 view .LVU2854 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 279 8202 000e A368 ldr r3, [r4, #8] 8203 0010 33F48053 bics r3, r3, #4096 8204 0014 04D0 beq .L672 2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 8205 .loc 1 2874 3 is_stmt 0 discriminator 2 view .LVU2855 8206 0016 A248 ldr r0, .L806+4 8207 0018 40F63A31 movw r1, #2874 8208 001c FFF7FEFF bl assert_failed 8209 .LVL657: 8210 .L672: 2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 8211 .loc 1 2875 3 is_stmt 1 view .LVU2856 8212 0020 E368 ldr r3, [r4, #12] 8213 0022 33F44053 bics r3, r3, #12288 8214 0026 04D0 beq .L673 2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 8215 .loc 1 2875 3 is_stmt 0 discriminator 4 view .LVU2857 8216 0028 9D48 ldr r0, .L806+4 8217 002a 40F63B31 movw r1, #2875 8218 002e FFF7FEFF bl assert_failed 8219 .LVL658: 8220 .L673: 2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8221 .loc 1 2876 3 is_stmt 1 view .LVU2858 8222 0032 236A ldr r3, [r4, #32] 8223 0034 33F40063 bics r3, r3, #2048 8224 0038 04D0 beq .L674 2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8225 .loc 1 2876 3 is_stmt 0 discriminator 2 view .LVU2859 8226 003a 9948 ldr r0, .L806+4 8227 003c 40F63C31 movw r1, #2876 8228 0040 FFF7FEFF bl assert_failed 8229 .LVL659: 8230 .L674: 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 8231 .loc 1 2878 3 is_stmt 1 view .LVU2860 8232 0044 2369 ldr r3, [r4, #16] 8233 0046 33F48062 bics r2, r3, #1024 8234 004a 03D0 beq .L675 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 8235 .loc 1 2878 3 is_stmt 0 discriminator 2 view .LVU2861 8236 004c B3F5C06F cmp r3, #1536 8237 0050 40F09880 bne .L799 8238 .L675: 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 8239 .loc 1 2879 3 is_stmt 1 view .LVU2862 8240 0054 6369 ldr r3, [r4, #20] 8241 0056 33F00C02 bics r2, r3, #12 8242 005a 46D1 bne .L676 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 8243 .loc 1 2879 3 is_stmt 0 discriminator 2 view .LVU2863 8244 005c 002B cmp r3, #0 8245 005e 44D0 beq .L676 8246 .L677: 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 8247 .loc 1 2880 3 is_stmt 1 view .LVU2864 8248 0060 A369 ldr r3, [r4, #24] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 280 8249 0062 33F44073 bics r3, r3, #768 8250 0066 04D0 beq .L678 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 8251 .loc 1 2880 3 is_stmt 0 discriminator 4 view .LVU2865 8252 0068 8D48 ldr r0, .L806+4 8253 006a 4FF43461 mov r1, #2880 8254 006e FFF7FEFF bl assert_failed 8255 .LVL660: 8256 .L678: 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8257 .loc 1 2881 3 is_stmt 1 view .LVU2866 8258 0072 E169 ldr r1, [r4, #28] 8259 0074 31F40043 bics r3, r1, #32768 8260 0078 05D0 beq .L679 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8261 .loc 1 2881 3 is_stmt 0 discriminator 2 view .LVU2867 8262 007a 40F64131 movw r1, #2881 8263 007e 8848 ldr r0, .L806+4 8264 0080 FFF7FEFF bl assert_failed 8265 .LVL661: 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 8266 .loc 1 2890 98 discriminator 2 view .LVU2868 8267 0084 E169 ldr r1, [r4, #28] 8268 .L679: 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 8269 .loc 1 2890 3 is_stmt 1 view .LVU2869 8270 .LVL662: 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8271 .loc 1 2891 3 view .LVU2870 8272 0086 2268 ldr r2, [r4] 8273 0088 2569 ldr r5, [r4, #16] 8274 008a A368 ldr r3, [r4, #8] 8275 008c 1068 ldr r0, [r2] 8276 008e 2B43 orrs r3, r3, r5 8277 0090 6569 ldr r5, [r4, #20] 8278 0092 20F41640 bic r0, r0, #38400 8279 0096 20F00C00 bic r0, r0, #12 8280 009a 2B43 orrs r3, r3, r5 8281 009c 0343 orrs r3, r3, r0 8282 009e 0B43 orrs r3, r3, r1 8283 00a0 1360 str r3, [r2] 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8284 .loc 1 2896 3 view .LVU2871 8285 00a2 5368 ldr r3, [r2, #4] 8286 00a4 E068 ldr r0, [r4, #12] 2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 8287 .loc 1 2906 10 is_stmt 0 view .LVU2872 8288 00a6 256A ldr r5, [r4, #32] 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8289 .loc 1 2896 3 view .LVU2873 8290 00a8 23F44053 bic r3, r3, #12288 8291 00ac 0343 orrs r3, r3, r0 8292 00ae 5360 str r3, [r2, #4] 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8293 .loc 1 2904 3 is_stmt 1 view .LVU2874 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8294 .loc 1 2907 3 is_stmt 0 view .LVU2875 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 281 8295 00b0 9068 ldr r0, [r2, #8] 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8296 .loc 1 2904 10 view .LVU2876 8297 00b2 A369 ldr r3, [r4, #24] 8298 .LVL663: 2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 8299 .loc 1 2906 3 is_stmt 1 view .LVU2877 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8300 .loc 1 2907 3 view .LVU2878 8301 00b4 20F43060 bic r0, r0, #2816 2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 8302 .loc 1 2906 10 is_stmt 0 view .LVU2879 8303 00b8 2B43 orrs r3, r3, r5 8304 .LVL664: 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8305 .loc 1 2907 3 view .LVU2880 8306 00ba 0343 orrs r3, r3, r0 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8307 .loc 1 2911 3 view .LVU2881 8308 00bc 7948 ldr r0, .L806+8 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8309 .loc 1 2907 3 view .LVU2882 8310 00be 9360 str r3, [r2, #8] 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8311 .loc 1 2911 3 is_stmt 1 view .LVU2883 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8312 .loc 1 2911 3 view .LVU2884 8313 00c0 8242 cmp r2, r0 8314 00c2 51D0 beq .L800 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8315 .loc 1 2911 3 discriminator 2 view .LVU2885 8316 00c4 784B ldr r3, .L806+12 8317 00c6 9A42 cmp r2, r3 8318 00c8 15D0 beq .L801 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8319 .loc 1 2911 3 discriminator 15 view .LVU2886 8320 00ca 784B ldr r3, .L806+16 8321 00cc 9A42 cmp r2, r3 8322 00ce 00F0B580 beq .L802 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8323 .loc 1 2911 3 discriminator 28 view .LVU2887 8324 00d2 774B ldr r3, .L806+20 8325 00d4 9A42 cmp r2, r3 8326 00d6 00F0C680 beq .L803 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8327 .loc 1 2911 3 discriminator 41 view .LVU2888 8328 00da 764B ldr r3, .L806+24 8329 00dc 9A42 cmp r2, r3 8330 00de 75D0 beq .L711 8331 .LVL665: 8332 .L736: 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 8333 .loc 1 2996 16 is_stmt 0 view .LVU2889 8334 00e0 0023 movs r3, #0 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8335 .loc 1 2997 16 view .LVU2890 8336 00e2 C4E91A33 strd r3, r3, [r4, #104] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 282 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8337 .loc 1 2956 5 view .LVU2891 8338 00e6 0120 movs r0, #1 8339 .LVL666: 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 8340 .loc 1 2996 3 is_stmt 1 view .LVU2892 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8341 .loc 1 2999 3 view .LVU2893 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8342 .loc 1 3000 1 is_stmt 0 view .LVU2894 8343 00e8 38BD pop {r3, r4, r5, pc} 8344 .LVL667: 8345 .L676: 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 8346 .loc 1 2879 3 discriminator 3 view .LVU2895 8347 00ea 6D48 ldr r0, .L806+4 8348 00ec 40F63F31 movw r1, #2879 8349 00f0 FFF7FEFF bl assert_failed 8350 .LVL668: 8351 00f4 B4E7 b .L677 8352 .LVL669: 8353 .L801: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8354 .loc 1 2911 3 is_stmt 1 discriminator 14 view .LVU2896 8355 00f6 03F5E633 add r3, r3, #117760 8356 00fa 1B6B ldr r3, [r3, #48] 8357 00fc 03F44033 and r3, r3, #196608 8358 0100 B3F5003F cmp r3, #131072 8359 0104 75D0 beq .L712 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8360 .loc 1 2911 3 is_stmt 0 view .LVU2897 8361 0106 0FD8 bhi .L688 8362 0108 002B cmp r3, #0 8363 010a 68D0 beq .L714 8364 010c B3F5803F cmp r3, #65536 8365 0110 E6D1 bne .L736 8366 .L715: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8367 .loc 1 2911 3 is_stmt 1 view .LVU2898 8368 .LVL670: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8369 .loc 1 2911 3 view .LVU2899 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8370 .loc 1 2911 3 view .LVU2900 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8371 .loc 1 2913 3 view .LVU2901 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8372 .loc 1 2913 6 is_stmt 0 view .LVU2902 8373 0112 B1F5004F cmp r1, #32768 8374 0116 72D0 beq .L695 8375 .LVL671: 8376 .L696: 2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8377 .loc 1 2968 9 is_stmt 1 view .LVU2903 2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8378 .loc 1 2968 16 is_stmt 0 view .LVU2904 8379 0118 FFF7FEFF bl HAL_RCC_GetSysClockFreq ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 283 8380 .LVL672: 2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 8381 .loc 1 2969 9 is_stmt 1 view .LVU2905 8382 .L724: 2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8383 .loc 1 2979 5 view .LVU2906 2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8384 .loc 1 2979 8 is_stmt 0 view .LVU2907 8385 011c 60B9 cbnz r0, .L698 8386 .LVL673: 8387 .L797: 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 8388 .loc 1 2996 16 view .LVU2908 8389 011e 0023 movs r3, #0 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8390 .loc 1 2997 16 view .LVU2909 8391 0120 C4E91A33 strd r3, r3, [r4, #104] 8392 0124 0020 movs r0, #0 8393 .LVL674: 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 8394 .loc 1 2996 3 is_stmt 1 view .LVU2910 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8395 .loc 1 2999 3 view .LVU2911 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8396 .loc 1 3000 1 is_stmt 0 view .LVU2912 8397 0126 38BD pop {r3, r4, r5, pc} 8398 .LVL675: 8399 .L688: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8400 .loc 1 2911 3 view .LVU2913 8401 0128 B3F5403F cmp r3, #196608 8402 012c D8D1 bne .L736 8403 .L692: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8404 .loc 1 2911 3 is_stmt 1 view .LVU2914 8405 .LVL676: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8406 .loc 1 2911 3 view .LVU2915 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8407 .loc 1 2911 3 view .LVU2916 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8408 .loc 1 2913 3 view .LVU2917 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8409 .loc 1 2913 6 is_stmt 0 view .LVU2918 8410 012e B1F5004F cmp r1, #32768 8411 0132 00F0E280 beq .L733 8412 .LVL677: 8413 .L723: 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8414 .loc 1 2956 5 view .LVU2919 8415 0136 6048 ldr r0, .L806+28 8416 .LVL678: 8417 .L698: 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8418 .loc 1 2982 7 is_stmt 1 view .LVU2920 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8419 .loc 1 2982 29 is_stmt 0 view .LVU2921 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 284 8420 0138 6368 ldr r3, [r4, #4] 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8421 .loc 1 2983 10 view .LVU2922 8422 013a 4FF6EF72 movw r2, #65519 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8423 .loc 1 2982 29 view .LVU2923 8424 013e 00EB5300 add r0, r0, r3, lsr #1 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8425 .loc 1 2982 16 view .LVU2924 8426 0142 B0FBF3F3 udiv r3, r0, r3 8427 .LVL679: 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8428 .loc 1 2983 7 is_stmt 1 view .LVU2925 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8429 .loc 1 2983 38 is_stmt 0 view .LVU2926 8430 0146 A3F11001 sub r1, r3, #16 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8431 .loc 1 2983 10 view .LVU2927 8432 014a 9142 cmp r1, r2 8433 014c C8D8 bhi .L736 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8434 .loc 1 2985 9 is_stmt 1 view .LVU2928 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8435 .loc 1 2985 14 is_stmt 0 view .LVU2929 8436 014e 2268 ldr r2, [r4] 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8437 .loc 1 2985 30 view .LVU2930 8438 0150 D360 str r3, [r2, #12] 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 8439 .loc 1 2996 16 view .LVU2931 8440 0152 0023 movs r3, #0 8441 .LVL680: 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8442 .loc 1 2997 16 view .LVU2932 8443 0154 C4E91A33 strd r3, r3, [r4, #104] 8444 0158 0020 movs r0, #0 8445 .LVL681: 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->TxISR = NULL; 8446 .loc 1 2996 3 is_stmt 1 view .LVU2933 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8447 .loc 1 2999 3 view .LVU2934 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8448 .loc 1 3000 1 is_stmt 0 view .LVU2935 8449 015a 38BD pop {r3, r4, r5, pc} 8450 .LVL682: 8451 .L798: 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 8452 .loc 1 2873 3 discriminator 1 view .LVU2936 8453 015c 5048 ldr r0, .L806+4 8454 .LVL683: 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 8455 .loc 1 2873 3 discriminator 1 view .LVU2937 8456 015e 40F63931 movw r1, #2873 8457 0162 FFF7FEFF bl assert_failed 8458 .LVL684: 8459 0166 52E7 b .L671 8460 .LVL685: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 285 8461 .L800: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8462 .loc 1 2911 3 is_stmt 1 discriminator 1 view .LVU2938 8463 0168 544B ldr r3, .L806+32 8464 016a 1B6B ldr r3, [r3, #48] 8465 016c 03F00303 and r3, r3, #3 8466 0170 013B subs r3, r3, #1 8467 0172 022B cmp r3, #2 8468 0174 0CD9 bls .L681 8469 .LVL686: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8470 .loc 1 2911 3 view .LVU2939 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8471 .loc 1 2913 3 view .LVU2940 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8472 .loc 1 2913 6 is_stmt 0 view .LVU2941 8473 0176 B1F5004F cmp r1, #32768 8474 017a 00F08980 beq .L682 8475 .LVL687: 8476 .L683: 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8477 .loc 1 2962 9 is_stmt 1 view .LVU2942 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8478 .loc 1 2962 16 is_stmt 0 view .LVU2943 8479 017e FFF7FEFF bl HAL_RCC_GetPCLK2Freq 8480 .LVL688: 2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 8481 .loc 1 2963 9 is_stmt 1 view .LVU2944 8482 0182 CBE7 b .L724 8483 .LVL689: 8484 .L799: 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 8485 .loc 1 2878 3 is_stmt 0 discriminator 3 view .LVU2945 8486 0184 4648 ldr r0, .L806+4 8487 0186 40F63E31 movw r1, #2878 8488 018a FFF7FEFF bl assert_failed 8489 .LVL690: 8490 018e 61E7 b .L675 8491 .LVL691: 8492 .L681: 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 8493 .loc 1 2878 3 discriminator 3 view .LVU2946 8494 0190 4B4A ldr r2, .L806+36 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8495 .loc 1 2913 6 discriminator 1 view .LVU2947 8496 0192 B1F5004F cmp r1, #32768 8497 0196 D35C ldrb r3, [r2, r3] @ zero_extendqisi2 8498 .LVL692: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8499 .loc 1 2911 3 is_stmt 1 discriminator 1 view .LVU2948 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8500 .loc 1 2913 3 discriminator 1 view .LVU2949 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8501 .loc 1 2913 6 is_stmt 0 discriminator 1 view .LVU2950 8502 0198 00F09480 beq .L804 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8503 .loc 1 2956 5 is_stmt 1 view .LVU2951 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 286 8504 019c 082B cmp r3, #8 8505 019e 9FD8 bhi .L736 8506 01a0 01A2 adr r2, .L722 8507 01a2 52F823F0 ldr pc, [r2, r3, lsl #2] 8508 01a6 00BF .p2align 2 8509 .L722: 8510 01a8 E5010000 .word .L694+1 8511 01ac 7F010000 .word .L683+1 8512 01b0 37010000 .word .L723+1 8513 01b4 E1000000 .word .L736+1 8514 01b8 19010000 .word .L696+1 8515 01bc E1000000 .word .L736+1 8516 01c0 E1000000 .word .L736+1 8517 01c4 E1000000 .word .L736+1 8518 01c8 F9010000 .word .L737+1 8519 .LVL693: 8520 .p2align 1 8521 .L711: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8522 .loc 1 2911 3 discriminator 53 view .LVU2952 8523 01cc 3B4B ldr r3, .L806+32 8524 01ce 1B6B ldr r3, [r3, #48] 8525 01d0 03F44003 and r3, r3, #12582912 8526 01d4 B3F5000F cmp r3, #8388608 8527 01d8 0BD0 beq .L712 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8528 .loc 1 2911 3 is_stmt 0 view .LVU2953 8529 01da 2AD8 bhi .L713 8530 01dc 2BB9 cbnz r3, .L805 8531 .L714: 8532 .LVL694: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8533 .loc 1 2911 3 is_stmt 1 view .LVU2954 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8534 .loc 1 2913 3 view .LVU2955 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8535 .loc 1 2913 6 is_stmt 0 view .LVU2956 8536 01de B1F5004F cmp r1, #32768 8537 01e2 58D0 beq .L693 8538 .LVL695: 8539 .L694: 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8540 .loc 1 2959 9 is_stmt 1 view .LVU2957 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8541 .loc 1 2959 16 is_stmt 0 view .LVU2958 8542 01e4 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 8543 .LVL696: 2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 8544 .loc 1 2960 9 is_stmt 1 view .LVU2959 8545 01e8 98E7 b .L724 8546 .LVL697: 8547 .L805: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8548 .loc 1 2911 3 is_stmt 0 view .LVU2960 8549 01ea B3F5800F cmp r3, #4194304 8550 01ee 90D0 beq .L715 8551 01f0 76E7 b .L736 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 287 8552 .L712: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8553 .loc 1 2911 3 is_stmt 1 view .LVU2961 8554 .LVL698: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8555 .loc 1 2911 3 view .LVU2962 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8556 .loc 1 2911 3 view .LVU2963 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8557 .loc 1 2913 3 view .LVU2964 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8558 .loc 1 2913 6 is_stmt 0 view .LVU2965 8559 01f2 B1F5004F cmp r1, #32768 8560 01f6 7DD0 beq .L735 8561 .LVL699: 8562 .L737: 2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8563 .loc 1 2971 14 view .LVU2966 8564 01f8 4FF40040 mov r0, #32768 8565 01fc 9CE7 b .L698 8566 .L695: 2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8567 .loc 1 2927 9 is_stmt 1 view .LVU2967 2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8568 .loc 1 2927 16 is_stmt 0 view .LVU2968 8569 01fe FFF7FEFF bl HAL_RCC_GetSysClockFreq 8570 .LVL700: 2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 8571 .loc 1 2928 9 is_stmt 1 view .LVU2969 8572 .L719: 2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8573 .loc 1 2939 5 view .LVU2970 2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8574 .loc 1 2939 8 is_stmt 0 view .LVU2971 8575 0202 0028 cmp r0, #0 8576 0204 8BD0 beq .L797 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8577 .loc 1 2941 29 view .LVU2972 8578 0206 4300 lsls r3, r0, #1 8579 .LVL701: 8580 .L697: 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8581 .loc 1 2941 7 is_stmt 1 view .LVU2973 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8582 .loc 1 2941 29 is_stmt 0 view .LVU2974 8583 0208 6268 ldr r2, [r4, #4] 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8584 .loc 1 2942 10 view .LVU2975 8585 020a 4FF6EF71 movw r1, #65519 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8586 .loc 1 2941 29 view .LVU2976 8587 020e 03EB5203 add r3, r3, r2, lsr #1 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8588 .loc 1 2941 16 view .LVU2977 8589 0212 B3FBF2F3 udiv r3, r3, r2 8590 .LVL702: 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 288 8591 .loc 1 2942 7 is_stmt 1 view .LVU2978 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8592 .loc 1 2942 38 is_stmt 0 view .LVU2979 8593 0216 A3F11002 sub r2, r3, #16 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8594 .loc 1 2942 10 view .LVU2980 8595 021a 8A42 cmp r2, r1 8596 021c 3FF660AF bhi .L736 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 8597 .loc 1 2944 9 is_stmt 1 view .LVU2981 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 8598 .loc 1 2944 17 is_stmt 0 view .LVU2982 8599 0220 23F00F02 bic r2, r3, #15 2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8600 .loc 1 2946 14 view .LVU2983 8601 0224 2168 ldr r1, [r4] 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 8602 .loc 1 2944 17 view .LVU2984 8603 0226 92B2 uxth r2, r2 8604 .LVL703: 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 8605 .loc 1 2945 9 is_stmt 1 view .LVU2985 2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8606 .loc 1 2946 9 view .LVU2986 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 8607 .loc 1 2945 20 is_stmt 0 view .LVU2987 8608 0228 C3F34203 ubfx r3, r3, #1, #3 8609 .LVL704: 2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8610 .loc 1 2946 30 view .LVU2988 8611 022c 1343 orrs r3, r3, r2 8612 022e CB60 str r3, [r1, #12] 8613 0230 75E7 b .L797 8614 .LVL705: 8615 .L713: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8616 .loc 1 2911 3 view .LVU2989 8617 0232 B3F5400F cmp r3, #12582912 8618 0236 3FF47AAF beq .L692 8619 023a 51E7 b .L736 8620 .L802: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8621 .loc 1 2911 3 is_stmt 1 discriminator 27 view .LVU2990 8622 023c 03F5E433 add r3, r3, #116736 8623 0240 1B6B ldr r3, [r3, #48] 8624 0242 03F44023 and r3, r3, #786432 8625 0246 B3F5002F cmp r3, #524288 8626 024a D2D0 beq .L712 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8627 .loc 1 2911 3 is_stmt 0 view .LVU2991 8628 024c 06D8 bhi .L701 8629 024e 002B cmp r3, #0 8630 0250 C5D0 beq .L714 8631 0252 B3F5802F cmp r3, #262144 8632 0256 3FF45CAF beq .L715 8633 025a 41E7 b .L736 8634 .L701: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 289 8635 025c B3F5402F cmp r3, #786432 8636 0260 3FF465AF beq .L692 8637 0264 3CE7 b .L736 8638 .L803: 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8639 .loc 1 2911 3 is_stmt 1 discriminator 40 view .LVU2992 8640 0266 03F5E233 add r3, r3, #115712 8641 026a 1B6B ldr r3, [r3, #48] 8642 026c 03F44013 and r3, r3, #3145728 8643 0270 B3F5001F cmp r3, #2097152 8644 0274 BDD0 beq .L712 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8645 .loc 1 2911 3 is_stmt 0 view .LVU2993 8646 0276 06D8 bhi .L707 8647 0278 002B cmp r3, #0 8648 027a B0D0 beq .L714 8649 027c B3F5801F cmp r3, #1048576 8650 0280 3FF447AF beq .L715 8651 0284 2CE7 b .L736 8652 .L707: 8653 0286 B3F5401F cmp r3, #3145728 8654 028a 3FF450AF beq .L692 8655 028e 27E7 b .L736 8656 .L682: 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8657 .loc 1 2921 9 is_stmt 1 view .LVU2994 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8658 .loc 1 2921 16 is_stmt 0 view .LVU2995 8659 0290 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 8660 .LVL706: 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 8661 .loc 1 2922 9 is_stmt 1 view .LVU2996 8662 0294 B5E7 b .L719 8663 .LVL707: 8664 .L693: 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8665 .loc 1 2918 9 view .LVU2997 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** break; 8666 .loc 1 2918 16 is_stmt 0 view .LVU2998 8667 0296 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 8668 .LVL708: 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 8669 .loc 1 2919 9 is_stmt 1 view .LVU2999 8670 029a B2E7 b .L719 8671 .L807: 8672 .align 2 8673 .L806: 8674 029c 40548900 .word 9000000 8675 02a0 00000000 .word .LC0 8676 02a4 00380140 .word 1073821696 8677 02a8 00440040 .word 1073759232 8678 02ac 00480040 .word 1073760256 8679 02b0 004C0040 .word 1073761280 8680 02b4 00500040 .word 1073762304 8681 02b8 00127A00 .word 8000000 8682 02bc 00100240 .word 1073876992 8683 02c0 00000000 .word .LANCHOR0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 290 8684 .LVL709: 8685 .L804: 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8686 .loc 1 2915 5 view .LVU3000 8687 02c4 082B cmp r3, #8 8688 02c6 3FF60BAF bhi .L736 8689 02ca 01A2 adr r2, .L717 8690 02cc 52F823F0 ldr pc, [r2, r3, lsl #2] 8691 .p2align 2 8692 .L717: 8693 02d0 97020000 .word .L693+1 8694 02d4 91020000 .word .L682+1 8695 02d8 FB020000 .word .L733+1 8696 02dc E1000000 .word .L736+1 8697 02e0 FF010000 .word .L695+1 8698 02e4 E1000000 .word .L736+1 8699 02e8 E1000000 .word .L736+1 8700 02ec E1000000 .word .L736+1 8701 02f0 F5020000 .word .L735+1 8702 .LVL710: 8703 .p2align 1 8704 .L735: 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8705 .loc 1 2915 5 is_stmt 0 view .LVU3001 8706 02f4 4FF48033 mov r3, #65536 8707 02f8 86E7 b .L697 8708 .L733: 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8709 .loc 1 2913 6 view .LVU3002 8710 02fa 014B ldr r3, .L808 8711 02fc 84E7 b .L697 8712 .L809: 8713 02fe 00BF .align 2 8714 .L808: 8715 0300 0024F400 .word 16000000 8716 .cfi_endproc 8717 .LFE173: 8719 .section .text.UART_AdvFeatureConfig,"ax",%progbits 8720 .align 1 8721 .p2align 2,,3 8722 .global UART_AdvFeatureConfig 8723 .syntax unified 8724 .thumb 8725 .thumb_func 8727 UART_AdvFeatureConfig: 8728 .LVL711: 8729 .LFB174: 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 8730 .loc 1 3008 1 is_stmt 1 view -0 8731 .cfi_startproc 8732 @ args = 0, pretend = 0, frame = 0 8733 @ frame_needed = 0, uses_anonymous_args = 0 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8734 .loc 1 3010 3 view .LVU3004 8735 0000 436A ldr r3, [r0, #36] 8736 0002 FF2B cmp r3, #255 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 291 8737 .loc 1 3008 1 is_stmt 0 view .LVU3005 8738 0004 10B5 push {r4, lr} 8739 .LCFI36: 8740 .cfi_def_cfa_offset 8 8741 .cfi_offset 4, -8 8742 .cfi_offset 14, -4 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 8743 .loc 1 3008 1 view .LVU3006 8744 0006 0446 mov r4, r0 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8745 .loc 1 3010 3 view .LVU3007 8746 0008 00F29580 bhi .L884 8747 .LVL712: 8748 .L811: 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8749 .loc 1 3013 3 is_stmt 1 view .LVU3008 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8750 .loc 1 3013 6 is_stmt 0 view .LVU3009 8751 000c 1A07 lsls r2, r3, #28 8752 000e 0AD5 bpl .L812 3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 8753 .loc 1 3015 5 is_stmt 1 view .LVU3010 8754 0010 616B ldr r1, [r4, #52] 8755 0012 31F40042 bics r2, r1, #32768 8756 0016 40F09D80 bne .L885 8757 .L813: 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8758 .loc 1 3016 5 view .LVU3011 8759 001a 2068 ldr r0, [r4] 8760 001c 4268 ldr r2, [r0, #4] 8761 001e 22F40042 bic r2, r2, #32768 8762 0022 0A43 orrs r2, r2, r1 8763 0024 4260 str r2, [r0, #4] 8764 .L812: 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8765 .loc 1 3020 3 view .LVU3012 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8766 .loc 1 3020 6 is_stmt 0 view .LVU3013 8767 0026 D807 lsls r0, r3, #31 8768 0028 0AD5 bpl .L814 3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 8769 .loc 1 3022 5 is_stmt 1 view .LVU3014 8770 002a A16A ldr r1, [r4, #40] 8771 002c 31F40032 bics r2, r1, #131072 8772 0030 40F09880 bne .L886 8773 .L815: 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8774 .loc 1 3023 5 view .LVU3015 8775 0034 2068 ldr r0, [r4] 8776 0036 4268 ldr r2, [r0, #4] 8777 0038 22F40032 bic r2, r2, #131072 8778 003c 0A43 orrs r2, r2, r1 8779 003e 4260 str r2, [r0, #4] 8780 .L814: 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8781 .loc 1 3027 3 view .LVU3016 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 292 8782 .loc 1 3027 6 is_stmt 0 view .LVU3017 8783 0040 9907 lsls r1, r3, #30 8784 0042 0AD5 bpl .L816 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 8785 .loc 1 3029 5 is_stmt 1 view .LVU3018 8786 0044 E16A ldr r1, [r4, #44] 8787 0046 31F48032 bics r2, r1, #65536 8788 004a 40F09380 bne .L887 8789 .L817: 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8790 .loc 1 3030 5 view .LVU3019 8791 004e 2068 ldr r0, [r4] 8792 0050 4268 ldr r2, [r0, #4] 8793 0052 22F48032 bic r2, r2, #65536 8794 0056 0A43 orrs r2, r2, r1 8795 0058 4260 str r2, [r0, #4] 8796 .L816: 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8797 .loc 1 3034 3 view .LVU3020 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8798 .loc 1 3034 6 is_stmt 0 view .LVU3021 8799 005a 5A07 lsls r2, r3, #29 8800 005c 0AD5 bpl .L818 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 8801 .loc 1 3036 5 is_stmt 1 view .LVU3022 8802 005e 216B ldr r1, [r4, #48] 8803 0060 31F48022 bics r2, r1, #262144 8804 0064 40F08E80 bne .L888 8805 .L819: 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8806 .loc 1 3037 5 view .LVU3023 8807 0068 2068 ldr r0, [r4] 8808 006a 4268 ldr r2, [r0, #4] 8809 006c 22F48022 bic r2, r2, #262144 8810 0070 0A43 orrs r2, r2, r1 8811 0072 4260 str r2, [r0, #4] 8812 .L818: 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8813 .loc 1 3041 3 view .LVU3024 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8814 .loc 1 3041 6 is_stmt 0 view .LVU3025 8815 0074 D806 lsls r0, r3, #27 8816 0076 0AD5 bpl .L820 3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 8817 .loc 1 3043 5 is_stmt 1 view .LVU3026 8818 0078 A16B ldr r1, [r4, #56] 8819 007a 31F48052 bics r2, r1, #4096 8820 007e 40F08980 bne .L889 8821 .L821: 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8822 .loc 1 3044 5 view .LVU3027 8823 0082 2068 ldr r0, [r4] 8824 0084 8268 ldr r2, [r0, #8] 8825 0086 22F48052 bic r2, r2, #4096 8826 008a 0A43 orrs r2, r2, r1 8827 008c 8260 str r2, [r0, #8] 8828 .L820: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 293 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8829 .loc 1 3048 3 view .LVU3028 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8830 .loc 1 3048 6 is_stmt 0 view .LVU3029 8831 008e 9906 lsls r1, r3, #26 8832 0090 09D5 bpl .L822 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 8833 .loc 1 3050 5 is_stmt 1 view .LVU3030 8834 0092 E16B ldr r1, [r4, #60] 8835 0094 31F40052 bics r2, r1, #8192 8836 0098 54D1 bne .L890 8837 .L823: 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8838 .loc 1 3051 5 view .LVU3031 8839 009a 2068 ldr r0, [r4] 8840 009c 8268 ldr r2, [r0, #8] 8841 009e 22F40052 bic r2, r2, #8192 8842 00a2 0A43 orrs r2, r2, r1 8843 00a4 8260 str r2, [r0, #8] 8844 .L822: 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8845 .loc 1 3055 3 view .LVU3032 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8846 .loc 1 3055 6 is_stmt 0 view .LVU3033 8847 00a6 5A06 lsls r2, r3, #25 8848 00a8 2BD5 bpl .L824 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 8849 .loc 1 3057 5 is_stmt 1 view .LVU3034 8850 00aa 2368 ldr r3, [r4] 8851 00ac 464A ldr r2, .L892 8852 00ae 9342 cmp r3, r2 8853 00b0 0CD0 beq .L825 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 8854 .loc 1 3057 5 is_stmt 0 discriminator 1 view .LVU3035 8855 00b2 A2F57442 sub r2, r2, #62464 8856 00b6 9342 cmp r3, r2 8857 00b8 08D0 beq .L825 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 8858 .loc 1 3057 5 discriminator 2 view .LVU3036 8859 00ba 02F58062 add r2, r2, #1024 8860 00be 9342 cmp r3, r2 8861 00c0 04D0 beq .L825 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 8862 .loc 1 3057 5 discriminator 3 view .LVU3037 8863 00c2 4248 ldr r0, .L892+4 8864 00c4 40F6F131 movw r1, #3057 8865 00c8 FFF7FEFF bl assert_failed 8866 .LVL713: 8867 .L825: 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 8868 .loc 1 3058 5 is_stmt 1 view .LVU3038 8869 00cc 236C ldr r3, [r4, #64] 8870 00ce 5BB3 cbz r3, .L826 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 8871 .loc 1 3058 5 is_stmt 0 discriminator 1 view .LVU3039 8872 00d0 B3F5801F cmp r3, #1048576 8873 00d4 66D1 bne .L891 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 294 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 8874 .loc 1 3059 5 is_stmt 1 view .LVU3040 8875 00d6 2268 ldr r2, [r4] 8876 00d8 5368 ldr r3, [r2, #4] 8877 00da 43F48013 orr r3, r3, #1048576 8878 00de 5360 str r3, [r2, #4] 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8879 .loc 1 3061 5 view .LVU3041 8880 .L828: 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 8881 .loc 1 3063 7 view .LVU3042 8882 00e0 606C ldr r0, [r4, #68] 8883 00e2 30F4C003 bics r3, r0, #6291456 8884 00e6 06D0 beq .L829 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 8885 .loc 1 3063 7 is_stmt 0 discriminator 4 view .LVU3043 8886 00e8 3848 ldr r0, .L892+4 8887 00ea 40F6F731 movw r1, #3063 8888 00ee FFF7FEFF bl assert_failed 8889 .LVL714: 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8890 .loc 1 3064 7 discriminator 4 view .LVU3044 8891 00f2 606C ldr r0, [r4, #68] 8892 00f4 2268 ldr r2, [r4] 8893 .L829: 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8894 .loc 1 3064 7 is_stmt 1 view .LVU3045 8895 00f6 5168 ldr r1, [r2, #4] 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8896 .loc 1 3069 7 is_stmt 0 view .LVU3046 8897 00f8 636A ldr r3, [r4, #36] 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8898 .loc 1 3064 7 view .LVU3047 8899 00fa 21F4C001 bic r1, r1, #6291456 8900 00fe 0143 orrs r1, r1, r0 8901 0100 5160 str r1, [r2, #4] 8902 .L824: 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8903 .loc 1 3069 3 is_stmt 1 view .LVU3048 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8904 .loc 1 3069 6 is_stmt 0 view .LVU3049 8905 0102 1B06 lsls r3, r3, #24 8906 0104 0FD5 bpl .L810 3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 8907 .loc 1 3071 5 is_stmt 1 view .LVU3050 8908 0106 A26C ldr r2, [r4, #72] 8909 0108 32F40023 bics r3, r2, #524288 8910 010c 05D0 beq .L831 3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 8911 .loc 1 3071 5 is_stmt 0 discriminator 2 view .LVU3051 8912 010e 2F48 ldr r0, .L892+4 8913 0110 40F6FF31 movw r1, #3071 8914 0114 FFF7FEFF bl assert_failed 8915 .LVL715: 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8916 .loc 1 3072 5 discriminator 2 view .LVU3052 8917 0118 A26C ldr r2, [r4, #72] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 295 8918 .L831: 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8919 .loc 1 3072 5 is_stmt 1 view .LVU3053 8920 011a 2168 ldr r1, [r4] 8921 011c 4B68 ldr r3, [r1, #4] 8922 011e 23F40023 bic r3, r3, #524288 8923 0122 1343 orrs r3, r3, r2 8924 0124 4B60 str r3, [r1, #4] 8925 .L810: 3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8926 .loc 1 3074 1 is_stmt 0 view .LVU3054 8927 0126 10BD pop {r4, pc} 8928 .LVL716: 8929 .L826: 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 8930 .loc 1 3059 5 is_stmt 1 view .LVU3055 8931 0128 2168 ldr r1, [r4] 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8932 .loc 1 3069 7 is_stmt 0 view .LVU3056 8933 012a 636A ldr r3, [r4, #36] 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 8934 .loc 1 3059 5 view .LVU3057 8935 012c 4A68 ldr r2, [r1, #4] 8936 012e 22F48012 bic r2, r2, #1048576 8937 0132 4A60 str r2, [r1, #4] 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8938 .loc 1 3061 5 is_stmt 1 view .LVU3058 8939 0134 E5E7 b .L824 8940 .LVL717: 8941 .L884: 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8942 .loc 1 3010 3 is_stmt 0 discriminator 1 view .LVU3059 8943 0136 2548 ldr r0, .L892+4 8944 .LVL718: 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 8945 .loc 1 3010 3 discriminator 1 view .LVU3060 8946 0138 40F6C231 movw r1, #3010 8947 013c FFF7FEFF bl assert_failed 8948 .LVL719: 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8949 .loc 1 3013 7 discriminator 1 view .LVU3061 8950 0140 636A ldr r3, [r4, #36] 8951 0142 63E7 b .L811 8952 .L890: 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 8953 .loc 1 3050 5 discriminator 2 view .LVU3062 8954 0144 40F6EA31 movw r1, #3050 8955 0148 2048 ldr r0, .L892+4 8956 014a FFF7FEFF bl assert_failed 8957 .LVL720: 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8958 .loc 1 3051 5 discriminator 2 view .LVU3063 8959 014e E16B ldr r1, [r4, #60] 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8960 .loc 1 3055 7 discriminator 2 view .LVU3064 8961 0150 636A ldr r3, [r4, #36] 8962 0152 A2E7 b .L823 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 296 8963 .L885: 3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 8964 .loc 1 3015 5 discriminator 2 view .LVU3065 8965 0154 40F6C731 movw r1, #3015 8966 0158 1C48 ldr r0, .L892+4 8967 015a FFF7FEFF bl assert_failed 8968 .LVL721: 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8969 .loc 1 3016 5 discriminator 2 view .LVU3066 8970 015e 616B ldr r1, [r4, #52] 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8971 .loc 1 3020 7 discriminator 2 view .LVU3067 8972 0160 636A ldr r3, [r4, #36] 8973 0162 5AE7 b .L813 8974 .L886: 3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 8975 .loc 1 3022 5 discriminator 2 view .LVU3068 8976 0164 40F6CE31 movw r1, #3022 8977 0168 1848 ldr r0, .L892+4 8978 016a FFF7FEFF bl assert_failed 8979 .LVL722: 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8980 .loc 1 3027 7 discriminator 2 view .LVU3069 8981 016e D4E90931 ldrd r3, r1, [r4, #36] 8982 0172 5FE7 b .L815 8983 .L887: 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 8984 .loc 1 3029 5 discriminator 2 view .LVU3070 8985 0174 40F6D531 movw r1, #3029 8986 0178 1448 ldr r0, .L892+4 8987 017a FFF7FEFF bl assert_failed 8988 .LVL723: 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 8989 .loc 1 3030 5 discriminator 2 view .LVU3071 8990 017e E16A ldr r1, [r4, #44] 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 8991 .loc 1 3034 7 discriminator 2 view .LVU3072 8992 0180 636A ldr r3, [r4, #36] 8993 0182 64E7 b .L817 8994 .L888: 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 8995 .loc 1 3036 5 discriminator 2 view .LVU3073 8996 0184 40F6DC31 movw r1, #3036 8997 0188 1048 ldr r0, .L892+4 8998 018a FFF7FEFF bl assert_failed 8999 .LVL724: 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9000 .loc 1 3037 5 discriminator 2 view .LVU3074 9001 018e 216B ldr r1, [r4, #48] 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9002 .loc 1 3041 7 discriminator 2 view .LVU3075 9003 0190 636A ldr r3, [r4, #36] 9004 0192 69E7 b .L819 9005 .L889: 3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 9006 .loc 1 3043 5 discriminator 2 view .LVU3076 9007 0194 40F6E331 movw r1, #3043 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 297 9008 0198 0C48 ldr r0, .L892+4 9009 019a FFF7FEFF bl assert_failed 9010 .LVL725: 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9011 .loc 1 3044 5 discriminator 2 view .LVU3077 9012 019e A16B ldr r1, [r4, #56] 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9013 .loc 1 3048 7 discriminator 2 view .LVU3078 9014 01a0 636A ldr r3, [r4, #36] 9015 01a2 6EE7 b .L821 9016 .L891: 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 9017 .loc 1 3058 5 discriminator 2 view .LVU3079 9018 01a4 40F6F231 movw r1, #3058 9019 01a8 0848 ldr r0, .L892+4 9020 01aa FFF7FEFF bl assert_failed 9021 .LVL726: 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 9022 .loc 1 3059 5 is_stmt 1 discriminator 2 view .LVU3080 9023 01ae 2268 ldr r2, [r4] 9024 01b0 216C ldr r1, [r4, #64] 9025 01b2 5368 ldr r3, [r2, #4] 9026 01b4 23F48013 bic r3, r3, #1048576 9027 01b8 0B43 orrs r3, r3, r1 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9028 .loc 1 3061 8 is_stmt 0 discriminator 2 view .LVU3081 9029 01ba B1F5801F cmp r1, #1048576 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 9030 .loc 1 3059 5 discriminator 2 view .LVU3082 9031 01be 5360 str r3, [r2, #4] 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9032 .loc 1 3061 5 is_stmt 1 discriminator 2 view .LVU3083 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9033 .loc 1 3061 8 is_stmt 0 discriminator 2 view .LVU3084 9034 01c0 8ED0 beq .L828 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9035 .loc 1 3069 7 view .LVU3085 9036 01c2 636A ldr r3, [r4, #36] 9037 01c4 9DE7 b .L824 9038 .L893: 9039 01c6 00BF .align 2 9040 .L892: 9041 01c8 00380140 .word 1073821696 9042 01cc 00000000 .word .LC0 9043 .cfi_endproc 9044 .LFE174: 9046 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits 9047 .align 1 9048 .p2align 2,,3 9049 .global UART_WaitOnFlagUntilTimeout 9050 .syntax unified 9051 .thumb 9052 .thumb_func 9054 UART_WaitOnFlagUntilTimeout: 9055 .LVL727: 9056 .LFB176: 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until flag is set */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 298 9057 .loc 1 3152 1 is_stmt 1 view -0 9058 .cfi_startproc 9059 @ args = 4, pretend = 0, frame = 0 9060 @ frame_needed = 0, uses_anonymous_args = 0 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9061 .loc 1 3154 3 view .LVU3087 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until flag is set */ 9062 .loc 1 3152 1 is_stmt 0 view .LVU3088 9063 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 9064 .LCFI37: 9065 .cfi_def_cfa_offset 32 9066 .cfi_offset 3, -32 9067 .cfi_offset 4, -28 9068 .cfi_offset 5, -24 9069 .cfi_offset 6, -20 9070 .cfi_offset 7, -16 9071 .cfi_offset 8, -12 9072 .cfi_offset 9, -8 9073 .cfi_offset 14, -4 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until flag is set */ 9074 .loc 1 3152 1 view .LVU3089 9075 0004 089F ldr r7, [sp, #32] 9076 0006 0D46 mov r5, r1 9077 0008 8046 mov r8, r0 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9078 .loc 1 3154 11 view .LVU3090 9079 000a 0168 ldr r1, [r0] 9080 .LVL728: 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Wait until flag is set */ 9081 .loc 1 3152 1 view .LVU3091 9082 000c 1646 mov r6, r2 9083 000e 9946 mov r9, r3 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9084 .loc 1 3154 9 view .LVU3092 9085 0010 01E0 b .L896 9086 .LVL729: 9087 .L899: 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9088 .loc 1 3157 8 view .LVU3093 9089 0012 781C adds r0, r7, #1 9090 0014 0CD1 bne .L913 9091 .L896: 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9092 .loc 1 3157 5 is_stmt 1 view .LVU3094 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9093 .loc 1 3154 9 view .LVU3095 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9094 .loc 1 3154 11 is_stmt 0 view .LVU3096 9095 0016 CC69 ldr r4, [r1, #28] 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9096 .loc 1 3154 50 view .LVU3097 9097 0018 35EA0403 bics r3, r5, r4 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9098 .loc 1 3154 9 view .LVU3098 9099 001c 0CBF ite eq 9100 001e 4FF0010C moveq ip, #1 9101 0022 4FF0000C movne ip, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 299 9102 0026 B445 cmp ip, r6 9103 0028 F3D0 beq .L899 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9104 .loc 1 3204 10 view .LVU3099 9105 002a 0020 movs r0, #0 9106 .L897: 3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9107 .loc 1 3205 1 view .LVU3100 9108 002c BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 9109 .LVL730: 9110 .L913: 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9111 .loc 1 3159 7 is_stmt 1 view .LVU3101 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9112 .loc 1 3159 13 is_stmt 0 view .LVU3102 9113 0030 FFF7FEFF bl HAL_GetTick 9114 .LVL731: 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9115 .loc 1 3165 7 is_stmt 1 view .LVU3103 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9116 .loc 1 3159 27 is_stmt 0 view .LVU3104 9117 0034 A0EB0900 sub r0, r0, r9 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9118 .loc 1 3159 10 view .LVU3105 9119 0038 B842 cmp r0, r7 9120 003a 1DD8 bhi .L901 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9121 .loc 1 3159 51 discriminator 1 view .LVU3106 9122 003c E7B1 cbz r7, .L901 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9123 .loc 1 3165 12 view .LVU3107 9124 003e D8F80010 ldr r1, [r8] 9125 0042 0B68 ldr r3, [r1] 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9126 .loc 1 3165 10 view .LVU3108 9127 0044 5A07 lsls r2, r3, #29 9128 0046 E6D5 bpl .L896 3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9129 .loc 1 3167 9 is_stmt 1 discriminator 1 view .LVU3109 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9130 .loc 1 3184 9 discriminator 1 view .LVU3110 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9131 .loc 1 3165 64 is_stmt 0 discriminator 1 view .LVU3111 9132 0048 802D cmp r5, #128 9133 004a E4D0 beq .L896 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9134 .loc 1 3165 91 discriminator 2 view .LVU3112 9135 004c 402D cmp r5, #64 9136 004e E2D0 beq .L896 3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9137 .loc 1 3167 13 view .LVU3113 9138 0050 CC69 ldr r4, [r1, #28] 3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9139 .loc 1 3167 12 view .LVU3114 9140 0052 14F00804 ands r4, r4, #8 9141 0056 11D1 bne .L914 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 300 9142 .loc 1 3184 13 view .LVU3115 9143 0058 CB69 ldr r3, [r1, #28] 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9144 .loc 1 3184 12 view .LVU3116 9145 005a 1B05 lsls r3, r3, #20 9146 005c DBD5 bpl .L896 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9147 .loc 1 3187 11 is_stmt 1 view .LVU3117 9148 005e 4FF40063 mov r3, #2048 9149 0062 0B62 str r3, [r1, #32] 3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9150 .loc 1 3192 11 view .LVU3118 9151 0064 4046 mov r0, r8 9152 0066 FFF7FEFF bl UART_EndRxTransfer 9153 .LVL732: 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9154 .loc 1 3194 11 view .LVU3119 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9155 .loc 1 3194 28 is_stmt 0 view .LVU3120 9156 006a 2023 movs r3, #32 9157 006c C8F88430 str r3, [r8, #132] 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9158 .loc 1 3197 11 is_stmt 1 view .LVU3121 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9159 .loc 1 3197 11 view .LVU3122 9160 0070 88F87840 strb r4, [r8, #120] 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9161 .loc 1 3197 11 view .LVU3123 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9162 .loc 1 3199 11 view .LVU3124 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9163 .loc 1 3199 18 is_stmt 0 view .LVU3125 9164 0074 0320 movs r0, #3 9165 0076 D9E7 b .L897 9166 .L901: 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9167 .loc 1 3162 16 view .LVU3126 9168 0078 0320 movs r0, #3 9169 007a D7E7 b .L897 9170 .L914: 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9171 .loc 1 3170 11 is_stmt 1 view .LVU3127 9172 007c 0824 movs r4, #8 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9173 .loc 1 3175 11 is_stmt 0 view .LVU3128 9174 007e 4046 mov r0, r8 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9175 .loc 1 3170 11 view .LVU3129 9176 0080 0C62 str r4, [r1, #32] 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9177 .loc 1 3175 11 is_stmt 1 view .LVU3130 9178 0082 FFF7FEFF bl UART_EndRxTransfer 9179 .LVL733: 3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9180 .loc 1 3177 11 view .LVU3131 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9181 .loc 1 3180 11 is_stmt 0 view .LVU3132 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 301 9182 0086 0023 movs r3, #0 3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9183 .loc 1 3177 28 view .LVU3133 9184 0088 C8F88440 str r4, [r8, #132] 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9185 .loc 1 3180 11 is_stmt 1 view .LVU3134 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9186 .loc 1 3180 11 view .LVU3135 9187 008c 88F87830 strb r3, [r8, #120] 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9188 .loc 1 3180 11 view .LVU3136 3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9189 .loc 1 3182 11 view .LVU3137 3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9190 .loc 1 3182 18 is_stmt 0 view .LVU3138 9191 0090 0120 movs r0, #1 9192 0092 CBE7 b .L897 9193 .cfi_endproc 9194 .LFE176: 9196 .section .text.HAL_UART_Receive,"ax",%progbits 9197 .align 1 9198 .p2align 2,,3 9199 .global HAL_UART_Receive 9200 .syntax unified 9201 .thumb 9202 .thumb_func 9204 HAL_UART_Receive: 9205 .LVL734: 9206 .LFB138: 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint8_t *pdata8bits; 9207 .loc 1 1163 1 is_stmt 1 view -0 9208 .cfi_startproc 9209 @ args = 0, pretend = 0, frame = 0 9210 @ frame_needed = 0, uses_anonymous_args = 0 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t *pdata16bits; 9211 .loc 1 1164 3 view .LVU3140 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint16_t uhMask; 9212 .loc 1 1165 3 view .LVU3141 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 9213 .loc 1 1166 3 view .LVU3142 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9214 .loc 1 1167 3 view .LVU3143 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9215 .loc 1 1170 3 view .LVU3144 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint8_t *pdata8bits; 9216 .loc 1 1163 1 is_stmt 0 view .LVU3145 9217 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 9218 .LCFI38: 9219 .cfi_def_cfa_offset 28 9220 .cfi_offset 4, -28 9221 .cfi_offset 5, -24 9222 .cfi_offset 6, -20 9223 .cfi_offset 7, -16 9224 .cfi_offset 8, -12 9225 .cfi_offset 9, -8 9226 .cfi_offset 14, -4 9227 0004 0446 mov r4, r0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 302 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9228 .loc 1 1170 12 view .LVU3146 9229 0006 D0F88000 ldr r0, [r0, #128] 9230 .LVL735: 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9231 .loc 1 1170 6 view .LVU3147 9232 000a 2028 cmp r0, #32 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint8_t *pdata8bits; 9233 .loc 1 1163 1 view .LVU3148 9234 000c 83B0 sub sp, sp, #12 9235 .LCFI39: 9236 .cfi_def_cfa_offset 40 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9237 .loc 1 1170 6 view .LVU3149 9238 000e 24D1 bne .L929 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9239 .loc 1 1172 5 is_stmt 1 view .LVU3150 9240 0010 0D46 mov r5, r1 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9241 .loc 1 1172 8 is_stmt 0 view .LVU3151 9242 0012 09B1 cbz r1, .L931 9243 0014 1746 mov r7, r2 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9244 .loc 1 1172 25 discriminator 1 view .LVU3152 9245 0016 1AB9 cbnz r2, .L938 9246 .L931: 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9247 .loc 1 1174 15 view .LVU3153 9248 0018 0120 movs r0, #1 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9249 .loc 1 1234 1 view .LVU3154 9250 001a 03B0 add sp, sp, #12 9251 .LCFI40: 9252 .cfi_remember_state 9253 .cfi_def_cfa_offset 28 9254 @ sp needed 9255 001c BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 9256 .LVL736: 9257 .L938: 9258 .LCFI41: 9259 .cfi_restore_state 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 9260 .loc 1 1177 22 view .LVU3155 9261 0020 4FF00008 mov r8, #0 9262 0024 1E46 mov r6, r3 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 9263 .loc 1 1177 5 is_stmt 1 view .LVU3156 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 9264 .loc 1 1178 20 is_stmt 0 view .LVU3157 9265 0026 2223 movs r3, #34 9266 .LVL737: 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 9267 .loc 1 1177 22 view .LVU3158 9268 0028 C4F88480 str r8, [r4, #132] 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 9269 .loc 1 1178 5 is_stmt 1 view .LVU3159 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 303 9270 .loc 1 1178 20 is_stmt 0 view .LVU3160 9271 002c C4F88030 str r3, [r4, #128] 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9272 .loc 1 1179 5 is_stmt 1 view .LVU3161 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9273 .loc 1 1179 26 is_stmt 0 view .LVU3162 9274 0030 C4F86080 str r8, [r4, #96] 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9275 .loc 1 1182 5 is_stmt 1 view .LVU3163 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9276 .loc 1 1182 17 is_stmt 0 view .LVU3164 9277 0034 FFF7FEFF bl HAL_GetTick 9278 .LVL738: 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9279 .loc 1 1188 5 view .LVU3165 9280 0038 A368 ldr r3, [r4, #8] 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 9281 .loc 1 1184 24 view .LVU3166 9282 003a A4F85870 strh r7, [r4, #88] @ movhi 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9283 .loc 1 1188 5 view .LVU3167 9284 003e B3F5805F cmp r3, #4096 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9285 .loc 1 1185 24 view .LVU3168 9286 0042 A4F85A70 strh r7, [r4, #90] @ movhi 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9287 .loc 1 1182 17 view .LVU3169 9288 0046 8146 mov r9, r0 9289 .LVL739: 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 9290 .loc 1 1184 5 is_stmt 1 view .LVU3170 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9291 .loc 1 1185 5 view .LVU3171 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9292 .loc 1 1188 5 view .LVU3172 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9293 .loc 1 1188 5 view .LVU3173 9294 0048 0BD0 beq .L939 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9295 .loc 1 1188 5 discriminator 2 view .LVU3174 9296 004a 9BB9 cbnz r3, .L920 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9297 .loc 1 1188 5 discriminator 5 view .LVU3175 9298 004c 2369 ldr r3, [r4, #16] 9299 004e 002B cmp r3, #0 9300 0050 44D1 bne .L921 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9301 .loc 1 1188 5 discriminator 7 view .LVU3176 9302 0052 FF27 movs r7, #255 9303 0054 A4F85C70 strh r7, [r4, #92] @ movhi 9304 0058 0FE0 b .L922 9305 .LVL740: 9306 .L929: 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9307 .loc 1 1232 12 is_stmt 0 view .LVU3177 9308 005a 0220 movs r0, #2 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 304 9309 .loc 1 1234 1 view .LVU3178 9310 005c 03B0 add sp, sp, #12 9311 .LCFI42: 9312 .cfi_remember_state 9313 .cfi_def_cfa_offset 28 9314 @ sp needed 9315 005e BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 9316 .LVL741: 9317 .L939: 9318 .LCFI43: 9319 .cfi_restore_state 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9320 .loc 1 1188 5 is_stmt 1 discriminator 1 view .LVU3179 9321 0062 2369 ldr r3, [r4, #16] 9322 0064 B3BB cbnz r3, .L940 9323 0066 40F2FF17 movw r7, #511 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9324 .loc 1 1188 5 is_stmt 0 view .LVU3180 9325 006a A846 mov r8, r5 9326 006c A4F85C70 strh r7, [r4, #92] @ movhi 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9327 .loc 1 1188 5 is_stmt 1 view .LVU3181 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9328 .loc 1 1189 5 view .LVU3182 9329 .LVL742: 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9330 .loc 1 1192 5 view .LVU3183 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 9331 .loc 1 1194 19 is_stmt 0 view .LVU3184 9332 0070 1D46 mov r5, r3 9333 .LVL743: 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 9334 .loc 1 1194 19 view .LVU3185 9335 0072 0DE0 b .L937 9336 .LVL744: 9337 .L920: 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9338 .loc 1 1188 5 is_stmt 1 discriminator 6 view .LVU3186 9339 0074 A4F85C80 strh r8, [r4, #92] @ movhi 9340 0078 4746 mov r7, r8 9341 .L922: 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9342 .loc 1 1188 5 view .LVU3187 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9343 .loc 1 1189 5 view .LVU3188 9344 .LVL745: 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9345 .loc 1 1192 5 view .LVU3189 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = NULL; 9346 .loc 1 1199 7 view .LVU3190 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9347 .loc 1 1200 7 view .LVU3191 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9348 .loc 1 1200 19 is_stmt 0 view .LVU3192 9349 007a 4FF00008 mov r8, #0 9350 007e 07E0 b .L937 9351 .LVL746: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 305 9352 .L925: 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 9353 .loc 1 1219 21 view .LVU3193 9354 0080 05F8013B strb r3, [r5], #1 9355 .LVL747: 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9356 .loc 1 1220 9 is_stmt 1 view .LVU3194 9357 .L926: 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9358 .loc 1 1222 7 view .LVU3195 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9359 .loc 1 1222 12 is_stmt 0 view .LVU3196 9360 0084 B4F85A20 ldrh r2, [r4, #90] 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9361 .loc 1 1222 25 view .LVU3197 9362 0088 013A subs r2, r2, #1 9363 008a 92B2 uxth r2, r2 9364 008c A4F85A20 strh r2, [r4, #90] @ movhi 9365 .LVL748: 9366 .L937: 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9367 .loc 1 1204 11 is_stmt 1 view .LVU3198 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9368 .loc 1 1204 17 is_stmt 0 view .LVU3199 9369 0090 B4F85A30 ldrh r3, [r4, #90] 9370 0094 9BB2 uxth r3, r3 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9371 .loc 1 1204 11 view .LVU3200 9372 0096 7BB1 cbz r3, .L941 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9373 .loc 1 1206 7 is_stmt 1 view .LVU3201 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9374 .loc 1 1206 11 is_stmt 0 view .LVU3202 9375 0098 0096 str r6, [sp] 9376 009a 4B46 mov r3, r9 9377 009c 0022 movs r2, #0 9378 009e 2021 movs r1, #32 9379 00a0 2046 mov r0, r4 9380 00a2 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 9381 .LVL749: 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9382 .loc 1 1212 7 is_stmt 1 view .LVU3203 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata8bits++; 9383 .loc 1 1219 9 view .LVU3204 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9384 .loc 1 1206 10 is_stmt 0 view .LVU3205 9385 00a6 70B9 cbnz r0, .L942 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 9386 .loc 1 1214 40 view .LVU3206 9387 00a8 2368 ldr r3, [r4] 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 9388 .loc 1 1214 50 view .LVU3207 9389 00aa 9B8C ldrh r3, [r3, #36] 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 9390 .loc 1 1214 24 view .LVU3208 9391 00ac 3B40 ands r3, r3, r7 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 306 9392 .loc 1 1212 10 view .LVU3209 9393 00ae 002D cmp r5, #0 9394 00b0 E6D1 bne .L925 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 9395 .loc 1 1214 9 is_stmt 1 view .LVU3210 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits++; 9396 .loc 1 1214 22 is_stmt 0 view .LVU3211 9397 00b2 28F8023B strh r3, [r8], #2 @ movhi 9398 .LVL750: 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9399 .loc 1 1215 9 is_stmt 1 view .LVU3212 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9400 .loc 1 1215 9 is_stmt 0 view .LVU3213 9401 00b6 E5E7 b .L926 9402 .L941: 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9403 .loc 1 1226 5 is_stmt 1 view .LVU3214 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9404 .loc 1 1226 20 is_stmt 0 view .LVU3215 9405 00b8 2023 movs r3, #32 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9406 .loc 1 1228 12 view .LVU3216 9407 00ba 0020 movs r0, #0 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9408 .loc 1 1226 20 view .LVU3217 9409 00bc C4F88030 str r3, [r4, #128] 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9410 .loc 1 1228 5 is_stmt 1 view .LVU3218 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9411 .loc 1 1234 1 is_stmt 0 view .LVU3219 9412 00c0 03B0 add sp, sp, #12 9413 .LCFI44: 9414 .cfi_remember_state 9415 .cfi_def_cfa_offset 28 9416 @ sp needed 9417 00c2 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 9418 .LVL751: 9419 .L942: 9420 .LCFI45: 9421 .cfi_restore_state 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9422 .loc 1 1208 9 is_stmt 1 view .LVU3220 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9423 .loc 1 1208 24 is_stmt 0 view .LVU3221 9424 00c6 2023 movs r3, #32 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9425 .loc 1 1210 16 view .LVU3222 9426 00c8 0320 movs r0, #3 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9427 .loc 1 1208 24 view .LVU3223 9428 00ca C4F88030 str r3, [r4, #128] 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9429 .loc 1 1210 9 is_stmt 1 view .LVU3224 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9430 .loc 1 1234 1 is_stmt 0 view .LVU3225 9431 00ce 03B0 add sp, sp, #12 9432 .LCFI46: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 307 9433 .cfi_remember_state 9434 .cfi_def_cfa_offset 28 9435 @ sp needed 9436 00d0 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 9437 .LVL752: 9438 .L940: 9439 .LCFI47: 9440 .cfi_restore_state 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9441 .loc 1 1188 5 is_stmt 1 view .LVU3226 9442 00d4 FF27 movs r7, #255 9443 00d6 A4F85C70 strh r7, [r4, #92] @ movhi 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9444 .loc 1 1188 5 view .LVU3227 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9445 .loc 1 1189 5 view .LVU3228 9446 .LVL753: 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9447 .loc 1 1192 5 view .LVU3229 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** pdata16bits = NULL; 9448 .loc 1 1199 7 view .LVU3230 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9449 .loc 1 1200 7 view .LVU3231 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9450 .loc 1 1200 7 is_stmt 0 view .LVU3232 9451 00da D9E7 b .L937 9452 .LVL754: 9453 .L921: 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uhMask = huart->Mask; 9454 .loc 1 1188 5 is_stmt 1 discriminator 8 view .LVU3233 9455 00dc 7F27 movs r7, #127 9456 00de A4F85C70 strh r7, [r4, #92] @ movhi 9457 00e2 CAE7 b .L922 9458 .cfi_endproc 9459 .LFE138: 9461 .section .text.UART_CheckIdleState,"ax",%progbits 9462 .align 1 9463 .p2align 2,,3 9464 .global UART_CheckIdleState 9465 .syntax unified 9466 .thumb 9467 .thumb_func 9469 UART_CheckIdleState: 9470 .LVL755: 9471 .LFB175: 3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 9472 .loc 1 3082 1 view -0 9473 .cfi_startproc 9474 @ args = 0, pretend = 0, frame = 0 9475 @ frame_needed = 0, uses_anonymous_args = 0 3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9476 .loc 1 3083 3 view .LVU3235 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9477 .loc 1 3086 3 view .LVU3236 3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 9478 .loc 1 3082 1 is_stmt 0 view .LVU3237 9479 0000 70B5 push {r4, r5, r6, lr} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 308 9480 .LCFI48: 9481 .cfi_def_cfa_offset 16 9482 .cfi_offset 4, -16 9483 .cfi_offset 5, -12 9484 .cfi_offset 6, -8 9485 .cfi_offset 14, -4 9486 0002 0446 mov r4, r0 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9487 .loc 1 3086 20 view .LVU3238 9488 0004 0026 movs r6, #0 3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** uint32_t tickstart; 9489 .loc 1 3082 1 view .LVU3239 9490 0006 82B0 sub sp, sp, #8 9491 .LCFI49: 9492 .cfi_def_cfa_offset 24 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9493 .loc 1 3086 20 view .LVU3240 9494 0008 C0F88460 str r6, [r0, #132] 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9495 .loc 1 3089 3 is_stmt 1 view .LVU3241 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9496 .loc 1 3089 15 is_stmt 0 view .LVU3242 9497 000c FFF7FEFF bl HAL_GetTick 9498 .LVL756: 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9499 .loc 1 3092 13 view .LVU3243 9500 0010 2368 ldr r3, [r4] 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9501 .loc 1 3092 23 view .LVU3244 9502 0012 1A68 ldr r2, [r3] 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9503 .loc 1 3092 6 view .LVU3245 9504 0014 1207 lsls r2, r2, #28 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9505 .loc 1 3089 15 view .LVU3246 9506 0016 0546 mov r5, r0 9507 .LVL757: 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9508 .loc 1 3092 3 is_stmt 1 view .LVU3247 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9509 .loc 1 3092 6 is_stmt 0 view .LVU3248 9510 0018 0ED4 bmi .L965 9511 .LVL758: 9512 .L944: 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9513 .loc 1 3110 3 is_stmt 1 view .LVU3249 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9514 .loc 1 3110 23 is_stmt 0 view .LVU3250 9515 001a 1B68 ldr r3, [r3] 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9516 .loc 1 3110 6 view .LVU3251 9517 001c 5B07 lsls r3, r3, #29 9518 001e 26D4 bmi .L966 9519 .L947: 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 9520 .loc 1 3130 3 is_stmt 1 view .LVU3252 3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 309 9521 .loc 1 3132 24 is_stmt 0 view .LVU3253 9522 0020 0023 movs r3, #0 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 9523 .loc 1 3130 17 view .LVU3254 9524 0022 2022 movs r2, #32 9525 0024 E267 str r2, [r4, #124] 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 9526 .loc 1 3131 3 is_stmt 1 view .LVU3255 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9527 .loc 1 3135 3 is_stmt 0 view .LVU3256 9528 0026 84F87830 strb r3, [r4, #120] 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 9529 .loc 1 3131 18 view .LVU3257 9530 002a C4F88020 str r2, [r4, #128] 3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 9531 .loc 1 3132 3 is_stmt 1 view .LVU3258 3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9532 .loc 1 3137 10 is_stmt 0 view .LVU3259 9533 002e 1846 mov r0, r3 3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 9534 .loc 1 3132 24 view .LVU3260 9535 0030 2366 str r3, [r4, #96] 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9536 .loc 1 3133 3 is_stmt 1 view .LVU3261 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9537 .loc 1 3133 22 is_stmt 0 view .LVU3262 9538 0032 6366 str r3, [r4, #100] 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9539 .loc 1 3135 3 is_stmt 1 view .LVU3263 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9540 .loc 1 3135 3 view .LVU3264 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9541 .loc 1 3135 3 view .LVU3265 3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9542 .loc 1 3137 3 view .LVU3266 9543 .L946: 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9544 .loc 1 3138 1 is_stmt 0 view .LVU3267 9545 0034 02B0 add sp, sp, #8 9546 .LCFI50: 9547 .cfi_remember_state 9548 .cfi_def_cfa_offset 16 9549 @ sp needed 9550 0036 70BD pop {r4, r5, r6, pc} 9551 .LVL759: 9552 .L965: 9553 .LCFI51: 9554 .cfi_restore_state 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9555 .loc 1 3095 5 is_stmt 1 view .LVU3268 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9556 .loc 1 3095 9 is_stmt 0 view .LVU3269 9557 0038 6FF07E43 mvn r3, #-33554432 9558 003c 0093 str r3, [sp] 9559 003e 3246 mov r2, r6 9560 0040 0346 mov r3, r0 9561 0042 4FF40011 mov r1, #2097152 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 310 9562 0046 2046 mov r0, r4 9563 .LVL760: 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9564 .loc 1 3095 9 view .LVU3270 9565 0048 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 9566 .LVL761: 9567 004c 2368 ldr r3, [r4] 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9568 .loc 1 3095 8 view .LVU3271 9569 004e 0028 cmp r0, #0 9570 0050 E3D0 beq .L944 9571 .L945: 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9572 .loc 1 3098 7 is_stmt 1 discriminator 1 view .LVU3272 9573 .LBB947: 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9574 .loc 1 3098 7 discriminator 1 view .LVU3273 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9575 .loc 1 3098 7 discriminator 1 view .LVU3274 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9576 .loc 1 3098 7 discriminator 1 view .LVU3275 9577 .LVL762: 9578 .LBB948: 9579 .LBI948: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9580 .loc 2 1068 31 discriminator 1 view .LVU3276 9581 .LBB949: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9582 .loc 2 1070 5 discriminator 1 view .LVU3277 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9583 .loc 2 1072 4 discriminator 1 view .LVU3278 9584 .syntax unified 9585 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9586 0052 53E8002F ldrex r2, [r3] 9587 @ 0 "" 2 9588 .LVL763: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9589 .loc 2 1073 4 discriminator 1 view .LVU3279 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9590 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3280 9591 .thumb 9592 .syntax unified 9593 .LBE949: 9594 .LBE948: 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9595 .loc 1 3098 7 discriminator 1 view .LVU3281 9596 0056 22F08002 bic r2, r2, #128 9597 .LVL764: 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9598 .loc 1 3098 7 is_stmt 1 discriminator 1 view .LVU3282 9599 .LBB950: 9600 .LBI950: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9601 .loc 2 1119 31 discriminator 1 view .LVU3283 9602 .LBB951: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9603 .loc 2 1121 4 discriminator 1 view .LVU3284 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 311 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9604 .loc 2 1123 4 discriminator 1 view .LVU3285 9605 .syntax unified 9606 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9607 005a 43E80021 strex r1, r2, [r3] 9608 @ 0 "" 2 9609 .LVL765: 9610 .loc 2 1124 4 discriminator 1 view .LVU3286 9611 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3287 9612 .thumb 9613 .syntax unified 9614 .LBE951: 9615 .LBE950: 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9616 .loc 1 3098 7 discriminator 1 view .LVU3288 9617 005e 0029 cmp r1, #0 9618 0060 F7D1 bne .L945 9619 .LBE947: 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9620 .loc 1 3098 7 is_stmt 1 discriminator 2 view .LVU3289 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9621 .loc 1 3100 7 discriminator 2 view .LVU3290 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9622 .loc 1 3100 21 is_stmt 0 discriminator 2 view .LVU3291 9623 0062 2023 movs r3, #32 9624 0064 E367 str r3, [r4, #124] 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9625 .loc 1 3102 7 is_stmt 1 discriminator 2 view .LVU3292 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9626 .loc 1 3102 7 discriminator 2 view .LVU3293 9627 0066 84F87810 strb r1, [r4, #120] 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9628 .loc 1 3102 7 discriminator 2 view .LVU3294 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9629 .loc 1 3105 7 discriminator 2 view .LVU3295 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9630 .loc 1 3105 14 is_stmt 0 discriminator 2 view .LVU3296 9631 006a 0320 movs r0, #3 9632 006c E2E7 b .L946 9633 .LVL766: 9634 .L966: 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9635 .loc 1 3113 5 is_stmt 1 view .LVU3297 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9636 .loc 1 3113 9 is_stmt 0 view .LVU3298 9637 006e 6FF07E43 mvn r3, #-33554432 9638 0072 0093 str r3, [sp] 9639 0074 0022 movs r2, #0 9640 0076 2B46 mov r3, r5 9641 0078 4FF48001 mov r1, #4194304 9642 007c 2046 mov r0, r4 9643 007e FFF7FEFF bl UART_WaitOnFlagUntilTimeout 9644 .LVL767: 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9645 .loc 1 3113 8 view .LVU3299 9646 0082 0028 cmp r0, #0 9647 0084 CCD0 beq .L947 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 312 9648 0086 2368 ldr r3, [r4] 9649 .L948: 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9650 .loc 1 3117 7 is_stmt 1 discriminator 1 view .LVU3300 9651 .LBB952: 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9652 .loc 1 3117 7 discriminator 1 view .LVU3301 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9653 .loc 1 3117 7 discriminator 1 view .LVU3302 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9654 .loc 1 3117 7 discriminator 1 view .LVU3303 9655 .LVL768: 9656 .LBB953: 9657 .LBI953: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9658 .loc 2 1068 31 discriminator 1 view .LVU3304 9659 .LBB954: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9660 .loc 2 1070 5 discriminator 1 view .LVU3305 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9661 .loc 2 1072 4 discriminator 1 view .LVU3306 9662 .syntax unified 9663 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9664 0088 53E8002F ldrex r2, [r3] 9665 @ 0 "" 2 9666 .LVL769: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9667 .loc 2 1073 4 discriminator 1 view .LVU3307 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9668 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3308 9669 .thumb 9670 .syntax unified 9671 .LBE954: 9672 .LBE953: 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9673 .loc 1 3117 7 discriminator 1 view .LVU3309 9674 008c 22F49072 bic r2, r2, #288 9675 .LVL770: 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9676 .loc 1 3117 7 is_stmt 1 discriminator 1 view .LVU3310 9677 .LBB955: 9678 .LBI955: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9679 .loc 2 1119 31 discriminator 1 view .LVU3311 9680 .LBB956: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9681 .loc 2 1121 4 discriminator 1 view .LVU3312 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9682 .loc 2 1123 4 discriminator 1 view .LVU3313 9683 .syntax unified 9684 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9685 0090 43E80021 strex r1, r2, [r3] 9686 @ 0 "" 2 9687 .LVL771: 9688 .loc 2 1124 4 discriminator 1 view .LVU3314 9689 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3315 9690 .thumb ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 313 9691 .syntax unified 9692 .LBE956: 9693 .LBE955: 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9694 .loc 1 3117 7 discriminator 1 view .LVU3316 9695 0094 0029 cmp r1, #0 9696 0096 F7D1 bne .L948 9697 .LVL772: 9698 .L949: 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9699 .loc 1 3117 7 discriminator 1 view .LVU3317 9700 .LBE952: 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9701 .loc 1 3117 7 is_stmt 1 discriminator 1 view .LVU3318 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9702 .loc 1 3118 7 discriminator 1 view .LVU3319 9703 .LBB957: 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9704 .loc 1 3118 7 discriminator 1 view .LVU3320 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9705 .loc 1 3118 7 discriminator 1 view .LVU3321 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9706 .loc 1 3118 7 discriminator 1 view .LVU3322 9707 .LBB958: 9708 .LBI958: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9709 .loc 2 1068 31 discriminator 1 view .LVU3323 9710 .LBB959: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9711 .loc 2 1070 5 discriminator 1 view .LVU3324 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9712 .loc 2 1072 4 discriminator 1 view .LVU3325 9713 0098 03F10802 add r2, r3, #8 9714 .LVL773: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9715 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU3326 9716 .syntax unified 9717 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9718 009c 52E8002F ldrex r2, [r2] 9719 @ 0 "" 2 9720 .LVL774: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9721 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU3327 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9722 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3328 9723 .thumb 9724 .syntax unified 9725 .LBE959: 9726 .LBE958: 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9727 .loc 1 3118 7 discriminator 1 view .LVU3329 9728 00a0 22F00102 bic r2, r2, #1 9729 .LVL775: 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9730 .loc 1 3118 7 is_stmt 1 discriminator 1 view .LVU3330 9731 .LBB960: 9732 .LBI960: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 314 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9733 .loc 2 1119 31 discriminator 1 view .LVU3331 9734 .LBB961: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9735 .loc 2 1121 4 discriminator 1 view .LVU3332 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9736 .loc 2 1123 4 discriminator 1 view .LVU3333 9737 00a4 03F10800 add r0, r3, #8 9738 .LVL776: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9739 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU3334 9740 .syntax unified 9741 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9742 00a8 40E80021 strex r1, r2, [r0] 9743 @ 0 "" 2 9744 .LVL777: 9745 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU3335 9746 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3336 9747 .thumb 9748 .syntax unified 9749 .LBE961: 9750 .LBE960: 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9751 .loc 1 3118 7 discriminator 1 view .LVU3337 9752 00ac 0029 cmp r1, #0 9753 00ae F3D1 bne .L949 9754 .LBE957: 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9755 .loc 1 3118 7 is_stmt 1 discriminator 2 view .LVU3338 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9756 .loc 1 3120 7 discriminator 2 view .LVU3339 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9757 .loc 1 3120 22 is_stmt 0 discriminator 2 view .LVU3340 9758 00b0 2023 movs r3, #32 9759 00b2 C4F88030 str r3, [r4, #128] 3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9760 .loc 1 3122 7 is_stmt 1 discriminator 2 view .LVU3341 3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9761 .loc 1 3122 7 discriminator 2 view .LVU3342 9762 00b6 84F87810 strb r1, [r4, #120] 3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9763 .loc 1 3122 7 discriminator 2 view .LVU3343 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9764 .loc 1 3125 7 discriminator 2 view .LVU3344 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9765 .loc 1 3125 14 is_stmt 0 discriminator 2 view .LVU3345 9766 00ba 0320 movs r0, #3 9767 00bc BAE7 b .L946 9768 .cfi_endproc 9769 .LFE175: 9771 00be 00BF .section .text.HAL_UART_Init,"ax",%progbits 9772 .align 1 9773 .p2align 2,,3 9774 .global HAL_UART_Init 9775 .syntax unified 9776 .thumb 9777 .thumb_func ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 315 9779 HAL_UART_Init: 9780 .LVL778: 9781 .LFB130: 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9782 .loc 1 290 1 is_stmt 1 view -0 9783 .cfi_startproc 9784 @ args = 0, pretend = 0, frame = 0 9785 @ frame_needed = 0, uses_anonymous_args = 0 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9786 .loc 1 292 3 view .LVU3347 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9787 .loc 1 292 6 is_stmt 0 view .LVU3348 9788 0000 0028 cmp r0, #0 9789 0002 5ED0 beq .L982 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9790 .loc 1 297 3 is_stmt 1 view .LVU3349 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9791 .loc 1 297 6 is_stmt 0 view .LVU3350 9792 0004 8369 ldr r3, [r0, #24] 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9793 .loc 1 290 1 view .LVU3351 9794 0006 10B5 push {r4, lr} 9795 .LCFI52: 9796 .cfi_def_cfa_offset 8 9797 .cfi_offset 4, -8 9798 .cfi_offset 14, -4 9799 0008 0446 mov r4, r0 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9800 .loc 1 297 6 view .LVU3352 9801 000a 002B cmp r3, #0 9802 000c 33D0 beq .L970 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9803 .loc 1 300 5 is_stmt 1 view .LVU3353 9804 000e 0368 ldr r3, [r0] 9805 0010 2D4A ldr r2, .L987 9806 0012 9342 cmp r3, r2 9807 0014 0CD0 beq .L971 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9808 .loc 1 300 5 is_stmt 0 discriminator 1 view .LVU3354 9809 0016 A2F57442 sub r2, r2, #62464 9810 001a 9342 cmp r3, r2 9811 001c 08D0 beq .L971 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9812 .loc 1 300 5 discriminator 2 view .LVU3355 9813 001e 02F58062 add r2, r2, #1024 9814 0022 9342 cmp r3, r2 9815 0024 04D0 beq .L971 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9816 .loc 1 300 5 discriminator 3 view .LVU3356 9817 0026 2948 ldr r0, .L987+4 9818 .LVL779: 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9819 .loc 1 300 5 discriminator 3 view .LVU3357 9820 0028 4FF49671 mov r1, #300 9821 002c FFF7FEFF bl assert_failed 9822 .LVL780: 9823 .L971: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 316 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9824 .loc 1 308 3 is_stmt 1 view .LVU3358 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9825 .loc 1 308 12 is_stmt 0 view .LVU3359 9826 0030 E36F ldr r3, [r4, #124] 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9827 .loc 1 308 6 view .LVU3360 9828 0032 002B cmp r3, #0 9829 0034 3FD0 beq .L985 9830 .L972: 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9831 .loc 1 329 3 is_stmt 1 view .LVU3361 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9832 .loc 1 331 3 is_stmt 0 view .LVU3362 9833 0036 2268 ldr r2, [r4] 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9834 .loc 1 335 6 view .LVU3363 9835 0038 616A ldr r1, [r4, #36] 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9836 .loc 1 329 17 view .LVU3364 9837 003a 2423 movs r3, #36 9838 003c E367 str r3, [r4, #124] 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9839 .loc 1 331 3 is_stmt 1 view .LVU3365 9840 003e 1368 ldr r3, [r2] 9841 0040 23F00103 bic r3, r3, #1 9842 0044 1360 str r3, [r2] 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9843 .loc 1 335 3 view .LVU3366 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9844 .loc 1 335 6 is_stmt 0 view .LVU3367 9845 0046 91BB cbnz r1, .L986 9846 .L973: 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9847 .loc 1 341 3 is_stmt 1 view .LVU3368 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9848 .loc 1 341 7 is_stmt 0 view .LVU3369 9849 0048 2046 mov r0, r4 9850 004a FFF7FEFF bl UART_SetConfig 9851 .LVL781: 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9852 .loc 1 341 6 view .LVU3370 9853 004e 0128 cmp r0, #1 9854 0050 2BD0 beq .L969 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 9855 .loc 1 349 3 is_stmt 1 view .LVU3371 9856 0052 2368 ldr r3, [r4] 9857 0054 5A68 ldr r2, [r3, #4] 9858 0056 22F49042 bic r2, r2, #18432 9859 005a 5A60 str r2, [r3, #4] 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9860 .loc 1 350 3 view .LVU3372 9861 005c 9A68 ldr r2, [r3, #8] 9862 005e 22F02A02 bic r2, r2, #42 9863 0062 9A60 str r2, [r3, #8] 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9864 .loc 1 352 3 view .LVU3373 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 317 9865 0064 1A68 ldr r2, [r3] 9866 0066 42F00102 orr r2, r2, #1 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9867 .loc 1 355 11 is_stmt 0 view .LVU3374 9868 006a 2046 mov r0, r4 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9869 .loc 1 352 3 view .LVU3375 9870 006c 1A60 str r2, [r3] 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9871 .loc 1 355 3 is_stmt 1 view .LVU3376 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9872 .loc 1 356 1 is_stmt 0 view .LVU3377 9873 006e BDE81040 pop {r4, lr} 9874 .LCFI53: 9875 .cfi_remember_state 9876 .cfi_restore 14 9877 .cfi_restore 4 9878 .cfi_def_cfa_offset 0 9879 .LVL782: 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9880 .loc 1 355 11 view .LVU3378 9881 0072 FFF7FEBF b UART_CheckIdleState 9882 .LVL783: 9883 .L970: 9884 .LCFI54: 9885 .cfi_restore_state 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9886 .loc 1 305 5 is_stmt 1 view .LVU3379 9887 0076 0368 ldr r3, [r0] 9888 0078 134A ldr r2, .L987 9889 007a 9342 cmp r3, r2 9890 007c D8D0 beq .L971 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9891 .loc 1 305 5 is_stmt 0 discriminator 1 view .LVU3380 9892 007e A2F57442 sub r2, r2, #62464 9893 0082 9342 cmp r3, r2 9894 0084 D4D0 beq .L971 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9895 .loc 1 305 5 discriminator 2 view .LVU3381 9896 0086 02F58062 add r2, r2, #1024 9897 008a 9342 cmp r3, r2 9898 008c D0D0 beq .L971 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9899 .loc 1 305 5 discriminator 3 view .LVU3382 9900 008e 02F58062 add r2, r2, #1024 9901 0092 9342 cmp r3, r2 9902 0094 CCD0 beq .L971 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9903 .loc 1 305 5 discriminator 4 view .LVU3383 9904 0096 02F58062 add r2, r2, #1024 9905 009a 9342 cmp r3, r2 9906 009c C8D0 beq .L971 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9907 .loc 1 305 5 discriminator 5 view .LVU3384 9908 009e 0B48 ldr r0, .L987+4 9909 .LVL784: 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 318 9910 .loc 1 305 5 discriminator 5 view .LVU3385 9911 00a0 40F23111 movw r1, #305 9912 00a4 FFF7FEFF bl assert_failed 9913 .LVL785: 9914 00a8 C2E7 b .L971 9915 .L969: 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9916 .loc 1 356 1 view .LVU3386 9917 00aa 0120 movs r0, #1 9918 00ac 10BD pop {r4, pc} 9919 .LVL786: 9920 .L986: 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 9921 .loc 1 337 5 is_stmt 1 view .LVU3387 9922 00ae 2046 mov r0, r4 9923 00b0 FFF7FEFF bl UART_AdvFeatureConfig 9924 .LVL787: 9925 00b4 C8E7 b .L973 9926 .L985: 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9927 .loc 1 311 5 view .LVU3388 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9928 .loc 1 311 17 is_stmt 0 view .LVU3389 9929 00b6 84F87830 strb r3, [r4, #120] 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9930 .loc 1 325 5 is_stmt 1 view .LVU3390 9931 00ba 2046 mov r0, r4 9932 00bc FFF7FEFF bl HAL_UART_MspInit 9933 .LVL788: 9934 00c0 B9E7 b .L972 9935 .LVL789: 9936 .L982: 9937 .LCFI55: 9938 .cfi_def_cfa_offset 0 9939 .cfi_restore 4 9940 .cfi_restore 14 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9941 .loc 1 356 1 is_stmt 0 view .LVU3391 9942 00c2 0120 movs r0, #1 9943 .LVL790: 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9944 .loc 1 356 1 view .LVU3392 9945 00c4 7047 bx lr 9946 .L988: 9947 00c6 00BF .align 2 9948 .L987: 9949 00c8 00380140 .word 1073821696 9950 00cc 00000000 .word .LC0 9951 .cfi_endproc 9952 .LFE130: 9954 .section .text.HAL_HalfDuplex_Init,"ax",%progbits 9955 .align 1 9956 .p2align 2,,3 9957 .global HAL_HalfDuplex_Init 9958 .syntax unified 9959 .thumb 9960 .thumb_func ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 319 9962 HAL_HalfDuplex_Init: 9963 .LVL791: 9964 .LFB131: 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9965 .loc 1 365 1 is_stmt 1 view -0 9966 .cfi_startproc 9967 @ args = 0, pretend = 0, frame = 0 9968 @ frame_needed = 0, uses_anonymous_args = 0 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9969 .loc 1 367 3 view .LVU3394 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 9970 .loc 1 367 6 is_stmt 0 view .LVU3395 9971 0000 0028 cmp r0, #0 9972 0002 4CD0 beq .L1003 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9973 .loc 1 373 3 view .LVU3396 9974 0004 0368 ldr r3, [r0] 9975 0006 274A ldr r2, .L1008 9976 0008 9342 cmp r3, r2 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 9977 .loc 1 365 1 view .LVU3397 9978 000a 10B5 push {r4, lr} 9979 .LCFI56: 9980 .cfi_def_cfa_offset 8 9981 .cfi_offset 4, -8 9982 .cfi_offset 14, -4 9983 000c 0446 mov r4, r0 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9984 .loc 1 373 3 is_stmt 1 view .LVU3398 9985 000e 14D0 beq .L992 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9986 .loc 1 373 3 is_stmt 0 discriminator 1 view .LVU3399 9987 0010 A2F57442 sub r2, r2, #62464 9988 0014 9342 cmp r3, r2 9989 0016 10D0 beq .L992 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9990 .loc 1 373 3 discriminator 2 view .LVU3400 9991 0018 02F58062 add r2, r2, #1024 9992 001c 9342 cmp r3, r2 9993 001e 0CD0 beq .L992 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9994 .loc 1 373 3 discriminator 3 view .LVU3401 9995 0020 02F58062 add r2, r2, #1024 9996 0024 9342 cmp r3, r2 9997 0026 08D0 beq .L992 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 9998 .loc 1 373 3 discriminator 4 view .LVU3402 9999 0028 02F58062 add r2, r2, #1024 10000 002c 9342 cmp r3, r2 10001 002e 04D0 beq .L992 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10002 .loc 1 373 3 discriminator 5 view .LVU3403 10003 0030 1D48 ldr r0, .L1008+4 10004 .LVL792: 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10005 .loc 1 373 3 discriminator 5 view .LVU3404 10006 0032 40F27511 movw r1, #373 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 320 10007 0036 FFF7FEFF bl assert_failed 10008 .LVL793: 10009 .L992: 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10010 .loc 1 375 3 is_stmt 1 view .LVU3405 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10011 .loc 1 375 12 is_stmt 0 view .LVU3406 10012 003a E36F ldr r3, [r4, #124] 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10013 .loc 1 375 6 view .LVU3407 10014 003c 4BB3 cbz r3, .L1006 10015 .L993: 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10016 .loc 1 396 3 is_stmt 1 view .LVU3408 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10017 .loc 1 398 3 is_stmt 0 view .LVU3409 10018 003e 2268 ldr r2, [r4] 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10019 .loc 1 402 6 view .LVU3410 10020 0040 616A ldr r1, [r4, #36] 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10021 .loc 1 396 17 view .LVU3411 10022 0042 2423 movs r3, #36 10023 0044 E367 str r3, [r4, #124] 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10024 .loc 1 398 3 is_stmt 1 view .LVU3412 10025 0046 1368 ldr r3, [r2] 10026 0048 23F00103 bic r3, r3, #1 10027 004c 1360 str r3, [r2] 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10028 .loc 1 402 3 view .LVU3413 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10029 .loc 1 402 6 is_stmt 0 view .LVU3414 10030 004e E1B9 cbnz r1, .L1007 10031 .L994: 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10032 .loc 1 408 3 is_stmt 1 view .LVU3415 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10033 .loc 1 408 7 is_stmt 0 view .LVU3416 10034 0050 2046 mov r0, r4 10035 0052 FFF7FEFF bl UART_SetConfig 10036 .LVL794: 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10037 .loc 1 408 6 view .LVU3417 10038 0056 0128 cmp r0, #1 10039 0058 15D0 beq .L991 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 10040 .loc 1 416 3 is_stmt 1 view .LVU3418 10041 005a 2368 ldr r3, [r4] 10042 005c 5A68 ldr r2, [r3, #4] 10043 005e 22F49042 bic r2, r2, #18432 10044 0062 5A60 str r2, [r3, #4] 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10045 .loc 1 417 3 view .LVU3419 10046 0064 9A68 ldr r2, [r3, #8] 10047 0066 22F02202 bic r2, r2, #34 10048 006a 9A60 str r2, [r3, #8] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 321 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10049 .loc 1 420 3 view .LVU3420 10050 006c 9A68 ldr r2, [r3, #8] 10051 006e 42F00802 orr r2, r2, #8 10052 0072 9A60 str r2, [r3, #8] 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10053 .loc 1 422 3 view .LVU3421 10054 0074 1A68 ldr r2, [r3] 10055 0076 42F00102 orr r2, r2, #1 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10056 .loc 1 425 11 is_stmt 0 view .LVU3422 10057 007a 2046 mov r0, r4 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10058 .loc 1 422 3 view .LVU3423 10059 007c 1A60 str r2, [r3] 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10060 .loc 1 425 3 is_stmt 1 view .LVU3424 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10061 .loc 1 426 1 is_stmt 0 view .LVU3425 10062 007e BDE81040 pop {r4, lr} 10063 .LCFI57: 10064 .cfi_remember_state 10065 .cfi_restore 14 10066 .cfi_restore 4 10067 .cfi_def_cfa_offset 0 10068 .LVL795: 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10069 .loc 1 425 11 view .LVU3426 10070 0082 FFF7FEBF b UART_CheckIdleState 10071 .LVL796: 10072 .L991: 10073 .LCFI58: 10074 .cfi_restore_state 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10075 .loc 1 426 1 view .LVU3427 10076 0086 0120 movs r0, #1 10077 0088 10BD pop {r4, pc} 10078 .LVL797: 10079 .L1007: 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10080 .loc 1 404 5 is_stmt 1 view .LVU3428 10081 008a 2046 mov r0, r4 10082 008c FFF7FEFF bl UART_AdvFeatureConfig 10083 .LVL798: 10084 0090 DEE7 b .L994 10085 .L1006: 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10086 .loc 1 378 5 view .LVU3429 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10087 .loc 1 378 17 is_stmt 0 view .LVU3430 10088 0092 84F87830 strb r3, [r4, #120] 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10089 .loc 1 392 5 is_stmt 1 view .LVU3431 10090 0096 2046 mov r0, r4 10091 0098 FFF7FEFF bl HAL_UART_MspInit 10092 .LVL799: 10093 009c CFE7 b .L993 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 322 10094 .LVL800: 10095 .L1003: 10096 .LCFI59: 10097 .cfi_def_cfa_offset 0 10098 .cfi_restore 4 10099 .cfi_restore 14 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10100 .loc 1 426 1 is_stmt 0 view .LVU3432 10101 009e 0120 movs r0, #1 10102 .LVL801: 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10103 .loc 1 426 1 view .LVU3433 10104 00a0 7047 bx lr 10105 .L1009: 10106 00a2 00BF .align 2 10107 .L1008: 10108 00a4 00380140 .word 1073821696 10109 00a8 00000000 .word .LC0 10110 .cfi_endproc 10111 .LFE131: 10113 .section .text.HAL_LIN_Init,"ax",%progbits 10114 .align 1 10115 .p2align 2,,3 10116 .global HAL_LIN_Init 10117 .syntax unified 10118 .thumb 10119 .thumb_func 10121 HAL_LIN_Init: 10122 .LVL802: 10123 .LFB132: 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 10124 .loc 1 440 1 is_stmt 1 view -0 10125 .cfi_startproc 10126 @ args = 0, pretend = 0, frame = 0 10127 @ frame_needed = 0, uses_anonymous_args = 0 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10128 .loc 1 442 3 view .LVU3435 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10129 .loc 1 442 6 is_stmt 0 view .LVU3436 10130 0000 0028 cmp r0, #0 10131 0002 62D0 beq .L1031 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 10132 .loc 1 440 1 view .LVU3437 10133 0004 38B5 push {r3, r4, r5, lr} 10134 .LCFI60: 10135 .cfi_def_cfa_offset 16 10136 .cfi_offset 3, -16 10137 .cfi_offset 4, -12 10138 .cfi_offset 5, -8 10139 .cfi_offset 14, -4 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 10140 .loc 1 448 3 view .LVU3438 10141 0006 324A ldr r2, .L1037 10142 0008 0368 ldr r3, [r0] 10143 000a 9342 cmp r3, r2 10144 000c 0D46 mov r5, r1 10145 000e 0446 mov r4, r0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 323 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 10146 .loc 1 448 3 is_stmt 1 view .LVU3439 10147 0010 14D0 beq .L1013 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 10148 .loc 1 448 3 is_stmt 0 discriminator 1 view .LVU3440 10149 0012 A2F57442 sub r2, r2, #62464 10150 0016 9342 cmp r3, r2 10151 0018 10D0 beq .L1013 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 10152 .loc 1 448 3 discriminator 2 view .LVU3441 10153 001a 02F58062 add r2, r2, #1024 10154 001e 9342 cmp r3, r2 10155 0020 0CD0 beq .L1013 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 10156 .loc 1 448 3 discriminator 3 view .LVU3442 10157 0022 02F58062 add r2, r2, #1024 10158 0026 9342 cmp r3, r2 10159 0028 08D0 beq .L1013 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 10160 .loc 1 448 3 discriminator 4 view .LVU3443 10161 002a 02F58062 add r2, r2, #1024 10162 002e 9342 cmp r3, r2 10163 0030 04D0 beq .L1013 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 10164 .loc 1 448 3 discriminator 5 view .LVU3444 10165 0032 2848 ldr r0, .L1037+4 10166 .LVL803: 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 10167 .loc 1 448 3 discriminator 5 view .LVU3445 10168 0034 4FF4E071 mov r1, #448 10169 .LVL804: 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the Break detection length parameter */ 10170 .loc 1 448 3 discriminator 5 view .LVU3446 10171 0038 FFF7FEFF bl assert_failed 10172 .LVL805: 10173 .L1013: 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10174 .loc 1 450 3 is_stmt 1 view .LVU3447 10175 003c 35F02003 bics r3, r5, #32 10176 0040 33D1 bne .L1034 10177 .L1014: 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10178 .loc 1 453 3 view .LVU3448 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10179 .loc 1 453 6 is_stmt 0 view .LVU3449 10180 0042 E369 ldr r3, [r4, #28] 10181 0044 B3F5004F cmp r3, #32768 10182 0048 2DD0 beq .L1012 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10183 .loc 1 458 3 is_stmt 1 view .LVU3450 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10184 .loc 1 458 6 is_stmt 0 view .LVU3451 10185 004a A368 ldr r3, [r4, #8] 10186 004c 5BBB cbnz r3, .L1012 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10187 .loc 1 463 3 is_stmt 1 view .LVU3452 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 324 10188 .loc 1 463 12 is_stmt 0 view .LVU3453 10189 004e E36F ldr r3, [r4, #124] 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10190 .loc 1 463 6 view .LVU3454 10191 0050 002B cmp r3, #0 10192 0052 34D0 beq .L1035 10193 .L1016: 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10194 .loc 1 484 3 is_stmt 1 view .LVU3455 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10195 .loc 1 486 3 is_stmt 0 view .LVU3456 10196 0054 2268 ldr r2, [r4] 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10197 .loc 1 490 6 view .LVU3457 10198 0056 616A ldr r1, [r4, #36] 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10199 .loc 1 484 17 view .LVU3458 10200 0058 2423 movs r3, #36 10201 005a E367 str r3, [r4, #124] 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10202 .loc 1 486 3 is_stmt 1 view .LVU3459 10203 005c 1368 ldr r3, [r2] 10204 005e 23F00103 bic r3, r3, #1 10205 0062 1360 str r3, [r2] 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10206 .loc 1 490 3 view .LVU3460 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10207 .loc 1 490 6 is_stmt 0 view .LVU3461 10208 0064 39BB cbnz r1, .L1036 10209 .L1017: 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10210 .loc 1 496 3 is_stmt 1 view .LVU3462 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10211 .loc 1 496 7 is_stmt 0 view .LVU3463 10212 0066 2046 mov r0, r4 10213 0068 FFF7FEFF bl UART_SetConfig 10214 .LVL806: 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10215 .loc 1 496 6 view .LVU3464 10216 006c 0128 cmp r0, #1 10217 006e 1AD0 beq .L1012 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 10218 .loc 1 504 3 is_stmt 1 view .LVU3465 10219 0070 2368 ldr r3, [r4] 10220 0072 5A68 ldr r2, [r3, #4] 10221 0074 22F40062 bic r2, r2, #2048 10222 0078 5A60 str r2, [r3, #4] 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10223 .loc 1 505 3 view .LVU3466 10224 007a 9A68 ldr r2, [r3, #8] 10225 007c 22F02A02 bic r2, r2, #42 10226 0080 9A60 str r2, [r3, #8] 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10227 .loc 1 508 3 view .LVU3467 10228 0082 5A68 ldr r2, [r3, #4] 10229 0084 42F48042 orr r2, r2, #16384 10230 0088 5A60 str r2, [r3, #4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 325 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10231 .loc 1 511 3 view .LVU3468 10232 008a 5968 ldr r1, [r3, #4] 10233 008c 21F02001 bic r1, r1, #32 10234 0090 0D43 orrs r5, r5, r1 10235 .LVL807: 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10236 .loc 1 511 3 is_stmt 0 view .LVU3469 10237 0092 5D60 str r5, [r3, #4] 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10238 .loc 1 513 3 is_stmt 1 view .LVU3470 10239 0094 1A68 ldr r2, [r3] 10240 0096 42F00102 orr r2, r2, #1 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10241 .loc 1 516 11 is_stmt 0 view .LVU3471 10242 009a 2046 mov r0, r4 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10243 .loc 1 513 3 view .LVU3472 10244 009c 1A60 str r2, [r3] 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10245 .loc 1 516 3 is_stmt 1 view .LVU3473 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10246 .loc 1 517 1 is_stmt 0 view .LVU3474 10247 009e BDE83840 pop {r3, r4, r5, lr} 10248 .LCFI61: 10249 .cfi_remember_state 10250 .cfi_restore 14 10251 .cfi_restore 5 10252 .cfi_restore 4 10253 .cfi_restore 3 10254 .cfi_def_cfa_offset 0 10255 .LVL808: 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10256 .loc 1 516 11 view .LVU3475 10257 00a2 FFF7FEBF b UART_CheckIdleState 10258 .LVL809: 10259 .L1012: 10260 .LCFI62: 10261 .cfi_restore_state 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10262 .loc 1 517 1 view .LVU3476 10263 00a6 0120 movs r0, #1 10264 00a8 38BD pop {r3, r4, r5, pc} 10265 .LVL810: 10266 .L1034: 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10267 .loc 1 450 3 discriminator 2 view .LVU3477 10268 00aa 0A48 ldr r0, .L1037+4 10269 00ac 4FF4E171 mov r1, #450 10270 00b0 FFF7FEFF bl assert_failed 10271 .LVL811: 10272 00b4 C5E7 b .L1014 10273 .L1036: 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10274 .loc 1 492 5 is_stmt 1 view .LVU3478 10275 00b6 2046 mov r0, r4 10276 00b8 FFF7FEFF bl UART_AdvFeatureConfig ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 326 10277 .LVL812: 10278 00bc D3E7 b .L1017 10279 .L1035: 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10280 .loc 1 466 5 view .LVU3479 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10281 .loc 1 466 17 is_stmt 0 view .LVU3480 10282 00be 84F87830 strb r3, [r4, #120] 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10283 .loc 1 480 5 is_stmt 1 view .LVU3481 10284 00c2 2046 mov r0, r4 10285 00c4 FFF7FEFF bl HAL_UART_MspInit 10286 .LVL813: 10287 00c8 C4E7 b .L1016 10288 .LVL814: 10289 .L1031: 10290 .LCFI63: 10291 .cfi_def_cfa_offset 0 10292 .cfi_restore 3 10293 .cfi_restore 4 10294 .cfi_restore 5 10295 .cfi_restore 14 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10296 .loc 1 517 1 is_stmt 0 view .LVU3482 10297 00ca 0120 movs r0, #1 10298 .LVL815: 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10299 .loc 1 517 1 view .LVU3483 10300 00cc 7047 bx lr 10301 .L1038: 10302 00ce 00BF .align 2 10303 .L1037: 10304 00d0 00380140 .word 1073821696 10305 00d4 00000000 .word .LC0 10306 .cfi_endproc 10307 .LFE132: 10309 .section .text.HAL_MultiProcessor_Init,"ax",%progbits 10310 .align 1 10311 .p2align 2,,3 10312 .global HAL_MultiProcessor_Init 10313 .syntax unified 10314 .thumb 10315 .thumb_func 10317 HAL_MultiProcessor_Init: 10318 .LVL816: 10319 .LFB133: 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 10320 .loc 1 539 1 is_stmt 1 view -0 10321 .cfi_startproc 10322 @ args = 0, pretend = 0, frame = 0 10323 @ frame_needed = 0, uses_anonymous_args = 0 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10324 .loc 1 541 3 view .LVU3485 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10325 .loc 1 541 6 is_stmt 0 view .LVU3486 10326 0000 0028 cmp r0, #0 10327 0002 4DD0 beq .L1057 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 327 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10328 .loc 1 547 3 is_stmt 1 view .LVU3487 10329 0004 32F40063 bics r3, r2, #2048 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check the UART handle allocation */ 10330 .loc 1 539 1 is_stmt 0 view .LVU3488 10331 0008 70B5 push {r4, r5, r6, lr} 10332 .LCFI64: 10333 .cfi_def_cfa_offset 16 10334 .cfi_offset 4, -16 10335 .cfi_offset 5, -12 10336 .cfi_offset 6, -8 10337 .cfi_offset 14, -4 10338 000a 0E46 mov r6, r1 10339 000c 1546 mov r5, r2 10340 000e 0446 mov r4, r0 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10341 .loc 1 547 3 view .LVU3489 10342 0010 2BD1 bne .L1060 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10343 .loc 1 549 3 is_stmt 1 view .LVU3490 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10344 .loc 1 549 12 is_stmt 0 view .LVU3491 10345 0012 E36F ldr r3, [r4, #124] 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10346 .loc 1 549 6 view .LVU3492 10347 0014 002B cmp r3, #0 10348 0016 30D0 beq .L1061 10349 .LVL817: 10350 .L1043: 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10351 .loc 1 570 3 is_stmt 1 view .LVU3493 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10352 .loc 1 572 3 is_stmt 0 view .LVU3494 10353 0018 2268 ldr r2, [r4] 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10354 .loc 1 570 17 view .LVU3495 10355 001a 2423 movs r3, #36 10356 001c E367 str r3, [r4, #124] 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10357 .loc 1 572 3 is_stmt 1 view .LVU3496 10358 001e 1368 ldr r3, [r2] 10359 0020 23F00103 bic r3, r3, #1 10360 0024 1360 str r3, [r2] 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10361 .loc 1 576 3 view .LVU3497 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10362 .loc 1 576 6 is_stmt 0 view .LVU3498 10363 0026 636A ldr r3, [r4, #36] 10364 0028 002B cmp r3, #0 10365 002a 35D1 bne .L1062 10366 .L1044: 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10367 .loc 1 582 3 is_stmt 1 view .LVU3499 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10368 .loc 1 582 7 is_stmt 0 view .LVU3500 10369 002c 2046 mov r0, r4 10370 002e FFF7FEFF bl UART_SetConfig ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 328 10371 .LVL818: 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10372 .loc 1 582 6 view .LVU3501 10373 0032 0128 cmp r0, #1 10374 0034 2ED0 beq .L1041 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 10375 .loc 1 590 3 is_stmt 1 view .LVU3502 10376 0036 2368 ldr r3, [r4] 10377 0038 5A68 ldr r2, [r3, #4] 10378 003a 22F49042 bic r2, r2, #18432 10379 003e 5A60 str r2, [r3, #4] 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10380 .loc 1 591 3 view .LVU3503 10381 0040 9A68 ldr r2, [r3, #8] 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10382 .loc 1 593 6 is_stmt 0 view .LVU3504 10383 0042 B5F5006F cmp r5, #2048 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10384 .loc 1 591 3 view .LVU3505 10385 0046 22F02A02 bic r2, r2, #42 10386 004a 9A60 str r2, [r3, #8] 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10387 .loc 1 593 3 is_stmt 1 view .LVU3506 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10388 .loc 1 593 6 is_stmt 0 view .LVU3507 10389 004c 1BD0 beq .L1063 10390 .L1046: 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10391 .loc 1 600 3 is_stmt 1 view .LVU3508 10392 004e 1A68 ldr r2, [r3] 10393 0050 22F40062 bic r2, r2, #2048 10394 0054 1543 orrs r5, r5, r2 10395 .LVL819: 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10396 .loc 1 600 3 is_stmt 0 view .LVU3509 10397 0056 1D60 str r5, [r3] 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10398 .loc 1 602 3 is_stmt 1 view .LVU3510 10399 0058 1A68 ldr r2, [r3] 10400 005a 42F00102 orr r2, r2, #1 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10401 .loc 1 605 11 is_stmt 0 view .LVU3511 10402 005e 2046 mov r0, r4 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10403 .loc 1 602 3 view .LVU3512 10404 0060 1A60 str r2, [r3] 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10405 .loc 1 605 3 is_stmt 1 view .LVU3513 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10406 .loc 1 606 1 is_stmt 0 view .LVU3514 10407 0062 BDE87040 pop {r4, r5, r6, lr} 10408 .LCFI65: 10409 .cfi_remember_state 10410 .cfi_restore 14 10411 .cfi_restore 6 10412 .cfi_restore 5 10413 .cfi_restore 4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 329 10414 .cfi_def_cfa_offset 0 10415 .LVL820: 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10416 .loc 1 605 11 view .LVU3515 10417 0066 FFF7FEBF b UART_CheckIdleState 10418 .LVL821: 10419 .L1060: 10420 .LCFI66: 10421 .cfi_restore_state 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10422 .loc 1 547 3 discriminator 2 view .LVU3516 10423 006a 0E48 ldr r0, .L1064 10424 .LVL822: 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10425 .loc 1 547 3 discriminator 2 view .LVU3517 10426 006c 40F22321 movw r1, #547 10427 .LVL823: 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10428 .loc 1 547 3 discriminator 2 view .LVU3518 10429 0070 FFF7FEFF bl assert_failed 10430 .LVL824: 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10431 .loc 1 549 3 is_stmt 1 discriminator 2 view .LVU3519 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10432 .loc 1 549 12 is_stmt 0 discriminator 2 view .LVU3520 10433 0074 E36F ldr r3, [r4, #124] 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10434 .loc 1 549 6 discriminator 2 view .LVU3521 10435 0076 002B cmp r3, #0 10436 0078 CED1 bne .L1043 10437 .L1061: 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10438 .loc 1 552 5 is_stmt 1 view .LVU3522 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10439 .loc 1 552 17 is_stmt 0 view .LVU3523 10440 007a 84F87830 strb r3, [r4, #120] 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 10441 .loc 1 566 5 is_stmt 1 view .LVU3524 10442 007e 2046 mov r0, r4 10443 0080 FFF7FEFF bl HAL_UART_MspInit 10444 .LVL825: 10445 0084 C8E7 b .L1043 10446 .L1063: 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10447 .loc 1 596 5 view .LVU3525 10448 0086 5968 ldr r1, [r3, #4] 10449 0088 21F07F41 bic r1, r1, #-16777216 10450 008c 41EA0666 orr r6, r1, r6, lsl #24 10451 0090 5E60 str r6, [r3, #4] 10452 0092 DCE7 b .L1046 10453 .L1041: 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10454 .loc 1 606 1 is_stmt 0 view .LVU3526 10455 0094 0120 movs r0, #1 10456 0096 70BD pop {r4, r5, r6, pc} 10457 .LVL826: 10458 .L1062: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 330 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10459 .loc 1 578 5 is_stmt 1 view .LVU3527 10460 0098 2046 mov r0, r4 10461 009a FFF7FEFF bl UART_AdvFeatureConfig 10462 .LVL827: 10463 009e C5E7 b .L1044 10464 .LVL828: 10465 .L1057: 10466 .LCFI67: 10467 .cfi_def_cfa_offset 0 10468 .cfi_restore 4 10469 .cfi_restore 5 10470 .cfi_restore 6 10471 .cfi_restore 14 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10472 .loc 1 606 1 is_stmt 0 view .LVU3528 10473 00a0 0120 movs r0, #1 10474 .LVL829: 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10475 .loc 1 606 1 view .LVU3529 10476 00a2 7047 bx lr 10477 .L1065: 10478 .align 2 10479 .L1064: 10480 00a4 00000000 .word .LC0 10481 .cfi_endproc 10482 .LFE133: 10484 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits 10485 .align 1 10486 .p2align 2,,3 10487 .global HAL_MultiProcessor_EnableMuteMode 10488 .syntax unified 10489 .thumb 10490 .thumb_func 10492 HAL_MultiProcessor_EnableMuteMode: 10493 .LVL830: 10494 .LFB165: 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 10495 .loc 1 2662 1 is_stmt 1 view -0 10496 .cfi_startproc 10497 @ args = 0, pretend = 0, frame = 0 10498 @ frame_needed = 0, uses_anonymous_args = 0 10499 @ link register save eliminated. 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10500 .loc 1 2663 3 view .LVU3531 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10501 .loc 1 2663 3 view .LVU3532 10502 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 10503 0004 012B cmp r3, #1 10504 0006 11D0 beq .L1067 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10505 .loc 1 2663 3 discriminator 2 view .LVU3533 10506 0008 0121 movs r1, #1 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10507 .loc 1 2665 17 is_stmt 0 discriminator 2 view .LVU3534 10508 000a 2423 movs r3, #36 10509 000c 0268 ldr r2, [r0] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 331 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10510 .loc 1 2663 3 discriminator 2 view .LVU3535 10511 000e 80F87810 strb r1, [r0, #120] 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10512 .loc 1 2663 3 is_stmt 1 discriminator 2 view .LVU3536 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10513 .loc 1 2665 3 discriminator 2 view .LVU3537 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10514 .loc 1 2665 17 is_stmt 0 discriminator 2 view .LVU3538 10515 0012 C367 str r3, [r0, #124] 10516 .L1068: 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10517 .loc 1 2668 3 is_stmt 1 discriminator 1 view .LVU3539 10518 .LBB962: 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10519 .loc 1 2668 3 discriminator 1 view .LVU3540 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10520 .loc 1 2668 3 discriminator 1 view .LVU3541 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10521 .loc 1 2668 3 discriminator 1 view .LVU3542 10522 .LVL831: 10523 .LBB963: 10524 .LBI963: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10525 .loc 2 1068 31 discriminator 1 view .LVU3543 10526 .LBB964: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10527 .loc 2 1070 5 discriminator 1 view .LVU3544 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10528 .loc 2 1072 4 discriminator 1 view .LVU3545 10529 .syntax unified 10530 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10531 0014 52E8003F ldrex r3, [r2] 10532 @ 0 "" 2 10533 .LVL832: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10534 .loc 2 1073 4 discriminator 1 view .LVU3546 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10535 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3547 10536 .thumb 10537 .syntax unified 10538 .LBE964: 10539 .LBE963: 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10540 .loc 1 2668 3 discriminator 1 view .LVU3548 10541 0018 43F40053 orr r3, r3, #8192 10542 .LVL833: 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10543 .loc 1 2668 3 is_stmt 1 discriminator 1 view .LVU3549 10544 .LBB965: 10545 .LBI965: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10546 .loc 2 1119 31 discriminator 1 view .LVU3550 10547 .LBB966: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10548 .loc 2 1121 4 discriminator 1 view .LVU3551 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 332 10549 .loc 2 1123 4 discriminator 1 view .LVU3552 10550 .syntax unified 10551 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10552 001c 42E80031 strex r1, r3, [r2] 10553 @ 0 "" 2 10554 .LVL834: 10555 .loc 2 1124 4 discriminator 1 view .LVU3553 10556 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3554 10557 .thumb 10558 .syntax unified 10559 .LBE966: 10560 .LBE965: 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10561 .loc 1 2668 3 discriminator 1 view .LVU3555 10562 0020 0029 cmp r1, #0 10563 0022 F7D1 bne .L1068 10564 .LBE962: 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10565 .loc 1 2668 3 is_stmt 1 discriminator 2 view .LVU3556 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10566 .loc 1 2670 3 discriminator 2 view .LVU3557 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10567 .loc 1 2670 17 is_stmt 0 discriminator 2 view .LVU3558 10568 0024 2023 movs r3, #32 10569 .LVL835: 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10570 .loc 1 2670 17 discriminator 2 view .LVU3559 10571 0026 C367 str r3, [r0, #124] 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10572 .loc 1 2672 3 is_stmt 1 discriminator 2 view .LVU3560 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10573 .loc 1 2672 11 is_stmt 0 discriminator 2 view .LVU3561 10574 0028 FFF7FEBF b UART_CheckIdleState 10575 .LVL836: 10576 .L1067: 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10577 .loc 1 2673 1 view .LVU3562 10578 002c 0220 movs r0, #2 10579 .LVL837: 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10580 .loc 1 2673 1 view .LVU3563 10581 002e 7047 bx lr 10582 .cfi_endproc 10583 .LFE165: 10585 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits 10586 .align 1 10587 .p2align 2,,3 10588 .global HAL_MultiProcessor_DisableMuteMode 10589 .syntax unified 10590 .thumb 10591 .thumb_func 10593 HAL_MultiProcessor_DisableMuteMode: 10594 .LVL838: 10595 .LFB166: 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** __HAL_LOCK(huart); 10596 .loc 1 2682 1 is_stmt 1 view -0 10597 .cfi_startproc ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 333 10598 @ args = 0, pretend = 0, frame = 0 10599 @ frame_needed = 0, uses_anonymous_args = 0 10600 @ link register save eliminated. 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10601 .loc 1 2683 3 view .LVU3565 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10602 .loc 1 2683 3 view .LVU3566 10603 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 10604 0004 012B cmp r3, #1 10605 0006 11D0 beq .L1071 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10606 .loc 1 2683 3 discriminator 2 view .LVU3567 10607 0008 0121 movs r1, #1 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10608 .loc 1 2685 17 is_stmt 0 discriminator 2 view .LVU3568 10609 000a 2423 movs r3, #36 10610 000c 0268 ldr r2, [r0] 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10611 .loc 1 2683 3 discriminator 2 view .LVU3569 10612 000e 80F87810 strb r1, [r0, #120] 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10613 .loc 1 2683 3 is_stmt 1 discriminator 2 view .LVU3570 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10614 .loc 1 2685 3 discriminator 2 view .LVU3571 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10615 .loc 1 2685 17 is_stmt 0 discriminator 2 view .LVU3572 10616 0012 C367 str r3, [r0, #124] 10617 .L1072: 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10618 .loc 1 2688 3 is_stmt 1 discriminator 1 view .LVU3573 10619 .LBB967: 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10620 .loc 1 2688 3 discriminator 1 view .LVU3574 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10621 .loc 1 2688 3 discriminator 1 view .LVU3575 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10622 .loc 1 2688 3 discriminator 1 view .LVU3576 10623 .LVL839: 10624 .LBB968: 10625 .LBI968: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10626 .loc 2 1068 31 discriminator 1 view .LVU3577 10627 .LBB969: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10628 .loc 2 1070 5 discriminator 1 view .LVU3578 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10629 .loc 2 1072 4 discriminator 1 view .LVU3579 10630 .syntax unified 10631 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10632 0014 52E8003F ldrex r3, [r2] 10633 @ 0 "" 2 10634 .LVL840: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10635 .loc 2 1073 4 discriminator 1 view .LVU3580 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10636 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3581 10637 .thumb ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 334 10638 .syntax unified 10639 .LBE969: 10640 .LBE968: 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10641 .loc 1 2688 3 discriminator 1 view .LVU3582 10642 0018 23F40053 bic r3, r3, #8192 10643 .LVL841: 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10644 .loc 1 2688 3 is_stmt 1 discriminator 1 view .LVU3583 10645 .LBB970: 10646 .LBI970: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10647 .loc 2 1119 31 discriminator 1 view .LVU3584 10648 .LBB971: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10649 .loc 2 1121 4 discriminator 1 view .LVU3585 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10650 .loc 2 1123 4 discriminator 1 view .LVU3586 10651 .syntax unified 10652 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10653 001c 42E80031 strex r1, r3, [r2] 10654 @ 0 "" 2 10655 .LVL842: 10656 .loc 2 1124 4 discriminator 1 view .LVU3587 10657 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3588 10658 .thumb 10659 .syntax unified 10660 .LBE971: 10661 .LBE970: 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10662 .loc 1 2688 3 discriminator 1 view .LVU3589 10663 0020 0029 cmp r1, #0 10664 0022 F7D1 bne .L1072 10665 .LBE967: 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10666 .loc 1 2688 3 is_stmt 1 discriminator 2 view .LVU3590 2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10667 .loc 1 2690 3 discriminator 2 view .LVU3591 2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10668 .loc 1 2690 17 is_stmt 0 discriminator 2 view .LVU3592 10669 0024 2023 movs r3, #32 10670 .LVL843: 2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10671 .loc 1 2690 17 discriminator 2 view .LVU3593 10672 0026 C367 str r3, [r0, #124] 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10673 .loc 1 2692 3 is_stmt 1 discriminator 2 view .LVU3594 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10674 .loc 1 2692 11 is_stmt 0 discriminator 2 view .LVU3595 10675 0028 FFF7FEBF b UART_CheckIdleState 10676 .LVL844: 10677 .L1071: 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10678 .loc 1 2693 1 view .LVU3596 10679 002c 0220 movs r0, #2 10680 .LVL845: 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 335 10681 .loc 1 2693 1 view .LVU3597 10682 002e 7047 bx lr 10683 .cfi_endproc 10684 .LFE166: 10686 .section .text.UART_Start_Receive_IT,"ax",%progbits 10687 .align 1 10688 .p2align 2,,3 10689 .global UART_Start_Receive_IT 10690 .syntax unified 10691 .thumb 10692 .thumb_func 10694 UART_Start_Receive_IT: 10695 .LVL846: 10696 .LFB177: 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 10697 .loc 1 3219 1 is_stmt 1 view -0 10698 .cfi_startproc 10699 @ args = 0, pretend = 0, frame = 0 10700 @ frame_needed = 0, uses_anonymous_args = 0 10701 @ link register save eliminated. 3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 10702 .loc 1 3220 3 view .LVU3599 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10703 .loc 1 3226 3 is_stmt 0 view .LVU3600 10704 0000 8368 ldr r3, [r0, #8] 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 10705 .loc 1 3219 1 view .LVU3601 10706 0002 10B4 push {r4} 10707 .LCFI68: 10708 .cfi_def_cfa_offset 4 10709 .cfi_offset 4, -4 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10710 .loc 1 3226 3 view .LVU3602 10711 0004 B3F5805F cmp r3, #4096 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10712 .loc 1 3223 22 view .LVU3603 10713 0008 4FF00004 mov r4, #0 3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 10714 .loc 1 3220 22 view .LVU3604 10715 000c 4165 str r1, [r0, #84] 3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 10716 .loc 1 3221 3 is_stmt 1 view .LVU3605 3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferCount = Size; 10717 .loc 1 3221 22 is_stmt 0 view .LVU3606 10718 000e A0F85820 strh r2, [r0, #88] @ movhi 3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 10719 .loc 1 3222 3 is_stmt 1 view .LVU3607 3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxISR = NULL; 10720 .loc 1 3222 22 is_stmt 0 view .LVU3608 10721 0012 A0F85A20 strh r2, [r0, #90] @ movhi 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10722 .loc 1 3223 3 is_stmt 1 view .LVU3609 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10723 .loc 1 3223 22 is_stmt 0 view .LVU3610 10724 0016 8466 str r4, [r0, #104] 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10725 .loc 1 3226 3 is_stmt 1 view .LVU3611 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 336 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10726 .loc 1 3226 3 view .LVU3612 10727 0018 44D0 beq .L1098 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10728 .loc 1 3226 3 discriminator 2 view .LVU3613 10729 001a 002B cmp r3, #0 10730 001c 3CD0 beq .L1099 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10731 .loc 1 3226 3 discriminator 6 view .LVU3614 10732 001e A0F85C40 strh r4, [r0, #92] @ movhi 10733 .L1077: 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10734 .loc 1 3226 3 discriminator 9 view .LVU3615 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10735 .loc 1 3228 3 discriminator 9 view .LVU3616 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10736 .loc 1 3228 20 is_stmt 0 discriminator 9 view .LVU3617 10737 0022 0021 movs r1, #0 10738 .LVL847: 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10739 .loc 1 3229 18 discriminator 9 view .LVU3618 10740 0024 2223 movs r3, #34 10741 0026 0268 ldr r2, [r0] 10742 .LVL848: 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10743 .loc 1 3228 20 discriminator 9 view .LVU3619 10744 0028 C0F88410 str r1, [r0, #132] 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10745 .loc 1 3229 3 is_stmt 1 discriminator 9 view .LVU3620 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10746 .loc 1 3229 18 is_stmt 0 discriminator 9 view .LVU3621 10747 002c C0F88030 str r3, [r0, #128] 10748 .L1079: 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10749 .loc 1 3232 3 is_stmt 1 discriminator 1 view .LVU3622 10750 .LBB972: 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10751 .loc 1 3232 3 discriminator 1 view .LVU3623 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10752 .loc 1 3232 3 discriminator 1 view .LVU3624 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10753 .loc 1 3232 3 discriminator 1 view .LVU3625 10754 .LVL849: 10755 .LBB973: 10756 .LBI973: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10757 .loc 2 1068 31 discriminator 1 view .LVU3626 10758 .LBB974: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10759 .loc 2 1070 5 discriminator 1 view .LVU3627 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10760 .loc 2 1072 4 discriminator 1 view .LVU3628 10761 0030 02F10803 add r3, r2, #8 10762 .LVL850: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10763 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU3629 10764 .syntax unified ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 337 10765 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10766 0034 53E8003F ldrex r3, [r3] 10767 @ 0 "" 2 10768 .LVL851: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10769 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU3630 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10770 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3631 10771 .thumb 10772 .syntax unified 10773 .LBE974: 10774 .LBE973: 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10775 .loc 1 3232 3 discriminator 1 view .LVU3632 10776 0038 43F00103 orr r3, r3, #1 10777 .LVL852: 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10778 .loc 1 3232 3 is_stmt 1 discriminator 1 view .LVU3633 10779 .LBB975: 10780 .LBI975: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10781 .loc 2 1119 31 discriminator 1 view .LVU3634 10782 .LBB976: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10783 .loc 2 1121 4 discriminator 1 view .LVU3635 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10784 .loc 2 1123 4 discriminator 1 view .LVU3636 10785 003c 02F10804 add r4, r2, #8 10786 .LVL853: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10787 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU3637 10788 .syntax unified 10789 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10790 0040 44E80031 strex r1, r3, [r4] 10791 @ 0 "" 2 10792 .LVL854: 10793 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU3638 10794 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3639 10795 .thumb 10796 .syntax unified 10797 .LBE976: 10798 .LBE975: 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10799 .loc 1 3232 3 discriminator 1 view .LVU3640 10800 0044 0029 cmp r1, #0 10801 0046 F3D1 bne .L1079 10802 .LBE972: 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10803 .loc 1 3232 3 is_stmt 1 discriminator 2 view .LVU3641 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10804 .loc 1 3235 3 discriminator 2 view .LVU3642 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10805 .loc 1 3235 6 is_stmt 0 discriminator 2 view .LVU3643 10806 0048 8368 ldr r3, [r0, #8] 10807 .LVL855: 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10808 .loc 1 3235 6 discriminator 2 view .LVU3644 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 338 10809 004a B3F5805F cmp r3, #4096 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10810 .loc 1 3235 54 discriminator 2 view .LVU3645 10811 004e 0369 ldr r3, [r0, #16] 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10812 .loc 1 3235 6 discriminator 2 view .LVU3646 10813 0050 0ED0 beq .L1080 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10814 .loc 1 3241 5 is_stmt 1 view .LVU3647 10815 0052 1C49 ldr r1, .L1102 10816 0054 8166 str r1, [r0, #104] 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10817 .loc 1 3245 3 view .LVU3648 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10818 .loc 1 3245 6 is_stmt 0 view .LVU3649 10819 0056 73B1 cbz r3, .L1086 10820 .L1085: 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10821 .loc 1 3247 5 is_stmt 1 discriminator 1 view .LVU3650 10822 .LBB977: 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10823 .loc 1 3247 5 discriminator 1 view .LVU3651 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10824 .loc 1 3247 5 discriminator 1 view .LVU3652 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10825 .loc 1 3247 5 discriminator 1 view .LVU3653 10826 .LVL856: 10827 .LBB978: 10828 .LBI978: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10829 .loc 2 1068 31 discriminator 1 view .LVU3654 10830 .LBB979: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10831 .loc 2 1070 5 discriminator 1 view .LVU3655 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10832 .loc 2 1072 4 discriminator 1 view .LVU3656 10833 .syntax unified 10834 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10835 0058 52E8003F ldrex r3, [r2] 10836 @ 0 "" 2 10837 .LVL857: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10838 .loc 2 1073 4 discriminator 1 view .LVU3657 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10839 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3658 10840 .thumb 10841 .syntax unified 10842 .LBE979: 10843 .LBE978: 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10844 .loc 1 3247 5 discriminator 1 view .LVU3659 10845 005c 43F49073 orr r3, r3, #288 10846 .LVL858: 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10847 .loc 1 3247 5 is_stmt 1 discriminator 1 view .LVU3660 10848 .LBB980: 10849 .LBI980: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 339 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10850 .loc 2 1119 31 discriminator 1 view .LVU3661 10851 .LBB981: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10852 .loc 2 1121 4 discriminator 1 view .LVU3662 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10853 .loc 2 1123 4 discriminator 1 view .LVU3663 10854 .syntax unified 10855 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10856 0060 42E80031 strex r1, r3, [r2] 10857 @ 0 "" 2 10858 .LVL859: 10859 .loc 2 1124 4 discriminator 1 view .LVU3664 10860 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3665 10861 .thumb 10862 .syntax unified 10863 .LBE981: 10864 .LBE980: 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10865 .loc 1 3247 5 discriminator 1 view .LVU3666 10866 0064 0029 cmp r1, #0 10867 0066 F7D1 bne .L1085 10868 .LVL860: 10869 .L1095: 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10870 .loc 1 3247 5 discriminator 1 view .LVU3667 10871 .LBE977: 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10872 .loc 1 3254 1 view .LVU3668 10873 0068 0020 movs r0, #0 10874 .LVL861: 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10875 .loc 1 3254 1 view .LVU3669 10876 006a 5DF8044B ldr r4, [sp], #4 10877 .LCFI69: 10878 .cfi_remember_state 10879 .cfi_restore 4 10880 .cfi_def_cfa_offset 0 10881 006e 7047 bx lr 10882 .LVL862: 10883 .L1080: 10884 .LCFI70: 10885 .cfi_restore_state 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10886 .loc 1 3235 54 discriminator 1 view .LVU3670 10887 0070 03BB cbnz r3, .L1100 10888 0072 154B ldr r3, .L1102+4 10889 0074 8366 str r3, [r0, #104] 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 10890 .loc 1 3245 3 is_stmt 1 view .LVU3671 10891 .L1086: 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10892 .loc 1 3251 5 discriminator 1 view .LVU3672 10893 .LBB982: 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10894 .loc 1 3251 5 discriminator 1 view .LVU3673 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 340 10895 .loc 1 3251 5 discriminator 1 view .LVU3674 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10896 .loc 1 3251 5 discriminator 1 view .LVU3675 10897 .LVL863: 10898 .LBB983: 10899 .LBI983: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10900 .loc 2 1068 31 discriminator 1 view .LVU3676 10901 .LBB984: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10902 .loc 2 1070 5 discriminator 1 view .LVU3677 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10903 .loc 2 1072 4 discriminator 1 view .LVU3678 10904 .syntax unified 10905 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10906 0076 52E8003F ldrex r3, [r2] 10907 @ 0 "" 2 10908 .LVL864: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10909 .loc 2 1073 4 discriminator 1 view .LVU3679 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10910 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3680 10911 .thumb 10912 .syntax unified 10913 .LBE984: 10914 .LBE983: 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10915 .loc 1 3251 5 discriminator 1 view .LVU3681 10916 007a 43F02003 orr r3, r3, #32 10917 .LVL865: 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10918 .loc 1 3251 5 is_stmt 1 discriminator 1 view .LVU3682 10919 .LBB986: 10920 .LBI986: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10921 .loc 2 1119 31 discriminator 1 view .LVU3683 10922 .LBB987: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10923 .loc 2 1121 4 discriminator 1 view .LVU3684 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10924 .loc 2 1123 4 discriminator 1 view .LVU3685 10925 .syntax unified 10926 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10927 007e 42E80031 strex r1, r3, [r2] 10928 @ 0 "" 2 10929 .LVL866: 10930 .loc 2 1124 4 discriminator 1 view .LVU3686 10931 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3687 10932 .thumb 10933 .syntax unified 10934 .LBE987: 10935 .LBE986: 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10936 .loc 1 3251 5 discriminator 1 view .LVU3688 10937 0082 0029 cmp r1, #0 10938 0084 F0D0 beq .L1095 10939 .LBE982: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 341 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10940 .loc 1 3251 5 is_stmt 1 view .LVU3689 10941 .LBB991: 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10942 .loc 1 3251 5 view .LVU3690 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10943 .loc 1 3251 5 view .LVU3691 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10944 .loc 1 3251 5 view .LVU3692 10945 .LVL867: 10946 .LBB989: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10947 .loc 2 1068 31 view .LVU3693 10948 .LBB985: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10949 .loc 2 1070 5 view .LVU3694 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10950 .loc 2 1072 4 view .LVU3695 10951 .syntax unified 10952 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10953 0086 52E8003F ldrex r3, [r2] 10954 @ 0 "" 2 10955 .LVL868: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10956 .loc 2 1073 4 view .LVU3696 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10957 .loc 2 1073 4 is_stmt 0 view .LVU3697 10958 .thumb 10959 .syntax unified 10960 .LBE985: 10961 .LBE989: 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10962 .loc 1 3251 5 view .LVU3698 10963 008a 43F02003 orr r3, r3, #32 10964 .LVL869: 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10965 .loc 1 3251 5 is_stmt 1 view .LVU3699 10966 .LBB990: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10967 .loc 2 1119 31 view .LVU3700 10968 .LBB988: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10969 .loc 2 1121 4 view .LVU3701 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10970 .loc 2 1123 4 view .LVU3702 10971 .syntax unified 10972 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10973 008e 42E80031 strex r1, r3, [r2] 10974 @ 0 "" 2 10975 .LVL870: 10976 .loc 2 1124 4 view .LVU3703 10977 .loc 2 1124 4 is_stmt 0 view .LVU3704 10978 .thumb 10979 .syntax unified 10980 .LBE988: 10981 .LBE990: 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 342 10982 .loc 1 3251 5 view .LVU3705 10983 0092 0029 cmp r1, #0 10984 0094 EFD1 bne .L1086 10985 0096 E7E7 b .L1095 10986 .LVL871: 10987 .L1099: 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 10988 .loc 1 3251 5 view .LVU3706 10989 .LBE991: 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10990 .loc 1 3226 3 is_stmt 1 discriminator 5 view .LVU3707 10991 0098 0369 ldr r3, [r0, #16] 10992 009a 73B9 cbnz r3, .L1101 10993 .L1076: 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10994 .loc 1 3226 3 discriminator 4 view .LVU3708 10995 009c FF23 movs r3, #255 10996 009e A0F85C30 strh r3, [r0, #92] @ movhi 10997 00a2 BEE7 b .L1077 10998 .L1098: 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 10999 .loc 1 3226 3 discriminator 1 view .LVU3709 11000 00a4 0369 ldr r3, [r0, #16] 11001 00a6 002B cmp r3, #0 11002 00a8 F8D1 bne .L1076 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11003 .loc 1 3226 3 discriminator 3 view .LVU3710 11004 00aa 40F2FF13 movw r3, #511 11005 00ae A0F85C30 strh r3, [r0, #92] @ movhi 11006 00b2 B6E7 b .L1077 11007 .LVL872: 11008 .L1100: 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11009 .loc 1 3241 5 view .LVU3711 11010 00b4 034B ldr r3, .L1102 11011 00b6 8366 str r3, [r0, #104] 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11012 .loc 1 3245 3 view .LVU3712 11013 00b8 CEE7 b .L1085 11014 .LVL873: 11015 .L1101: 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11016 .loc 1 3226 3 discriminator 8 view .LVU3713 11017 00ba 7F23 movs r3, #127 11018 00bc A0F85C30 strh r3, [r0, #92] @ movhi 11019 00c0 AFE7 b .L1077 11020 .L1103: 11021 00c2 00BF .align 2 11022 .L1102: 11023 00c4 00000000 .word UART_RxISR_8BIT 11024 00c8 00000000 .word UART_RxISR_16BIT 11025 .cfi_endproc 11026 .LFE177: 11028 .section .text.HAL_UART_Receive_IT,"ax",%progbits 11029 .align 1 11030 .p2align 2,,3 11031 .global HAL_UART_Receive_IT ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 343 11032 .syntax unified 11033 .thumb 11034 .thumb_func 11036 HAL_UART_Receive_IT: 11037 .LVL874: 11038 .LFB140: 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 11039 .loc 1 1296 1 view -0 11040 .cfi_startproc 11041 @ args = 0, pretend = 0, frame = 0 11042 @ frame_needed = 0, uses_anonymous_args = 0 11043 @ link register save eliminated. 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11044 .loc 1 1298 3 view .LVU3715 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11045 .loc 1 1298 12 is_stmt 0 view .LVU3716 11046 0000 D0F88030 ldr r3, [r0, #128] 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11047 .loc 1 1298 6 view .LVU3717 11048 0004 202B cmp r3, #32 11049 0006 15D1 bne .L1108 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11050 .loc 1 1300 5 is_stmt 1 view .LVU3718 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11051 .loc 1 1300 8 is_stmt 0 view .LVU3719 11052 0008 01B1 cbz r1, .L1110 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11053 .loc 1 1300 25 discriminator 1 view .LVU3720 11054 000a 0AB9 cbnz r2, .L1120 11055 .L1110: 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11056 .loc 1 1302 14 view .LVU3721 11057 000c 0120 movs r0, #1 11058 .LVL875: 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11059 .loc 1 1321 1 view .LVU3722 11060 000e 7047 bx lr 11061 .LVL876: 11062 .L1120: 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11063 .loc 1 1306 5 is_stmt 1 view .LVU3723 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 11064 .loc 1 1296 1 is_stmt 0 view .LVU3724 11065 0010 30B4 push {r4, r5} 11066 .LCFI71: 11067 .cfi_def_cfa_offset 8 11068 .cfi_offset 4, -8 11069 .cfi_offset 5, -4 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11070 .loc 1 1306 26 view .LVU3725 11071 0012 0023 movs r3, #0 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11072 .loc 1 1309 9 view .LVU3726 11073 0014 0468 ldr r4, [r0] 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11074 .loc 1 1306 26 view .LVU3727 11075 0016 0366 str r3, [r0, #96] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 344 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11076 .loc 1 1309 5 is_stmt 1 view .LVU3728 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11077 .loc 1 1309 9 is_stmt 0 view .LVU3729 11078 0018 6368 ldr r3, [r4, #4] 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11079 .loc 1 1309 8 view .LVU3730 11080 001a 1B02 lsls r3, r3, #8 11081 001c 07D5 bpl .L1106 11082 .L1107: 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11083 .loc 1 1312 7 is_stmt 1 discriminator 1 view .LVU3731 11084 .LBB992: 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11085 .loc 1 1312 7 discriminator 1 view .LVU3732 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11086 .loc 1 1312 7 discriminator 1 view .LVU3733 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11087 .loc 1 1312 7 discriminator 1 view .LVU3734 11088 .LVL877: 11089 .LBB993: 11090 .LBI993: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11091 .loc 2 1068 31 discriminator 1 view .LVU3735 11092 .LBB994: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 11093 .loc 2 1070 5 discriminator 1 view .LVU3736 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11094 .loc 2 1072 4 discriminator 1 view .LVU3737 11095 .syntax unified 11096 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11097 001e 54E8003F ldrex r3, [r4] 11098 @ 0 "" 2 11099 .LVL878: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11100 .loc 2 1073 4 discriminator 1 view .LVU3738 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11101 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3739 11102 .thumb 11103 .syntax unified 11104 .LBE994: 11105 .LBE993: 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11106 .loc 1 1312 7 discriminator 1 view .LVU3740 11107 0022 43F08063 orr r3, r3, #67108864 11108 .LVL879: 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11109 .loc 1 1312 7 is_stmt 1 discriminator 1 view .LVU3741 11110 .LBB995: 11111 .LBI995: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11112 .loc 2 1119 31 discriminator 1 view .LVU3742 11113 .LBB996: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 11114 .loc 2 1121 4 discriminator 1 view .LVU3743 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11115 .loc 2 1123 4 discriminator 1 view .LVU3744 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 345 11116 .syntax unified 11117 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11118 0026 44E80035 strex r5, r3, [r4] 11119 @ 0 "" 2 11120 .LVL880: 11121 .loc 2 1124 4 discriminator 1 view .LVU3745 11122 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3746 11123 .thumb 11124 .syntax unified 11125 .LBE996: 11126 .LBE995: 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11127 .loc 1 1312 7 discriminator 1 view .LVU3747 11128 002a 002D cmp r5, #0 11129 002c F7D1 bne .L1107 11130 .LVL881: 11131 .L1106: 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11132 .loc 1 1312 7 discriminator 1 view .LVU3748 11133 .LBE992: 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11134 .loc 1 1312 7 is_stmt 1 view .LVU3749 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11135 .loc 1 1315 5 view .LVU3750 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11136 .loc 1 1321 1 is_stmt 0 view .LVU3751 11137 002e 30BC pop {r4, r5} 11138 .LCFI72: 11139 .cfi_restore 5 11140 .cfi_restore 4 11141 .cfi_def_cfa_offset 0 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11142 .loc 1 1315 13 view .LVU3752 11143 0030 FFF7FEBF b UART_Start_Receive_IT 11144 .LVL882: 11145 .L1108: 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11146 .loc 1 1319 12 view .LVU3753 11147 0034 0220 movs r0, #2 11148 .LVL883: 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11149 .loc 1 1319 12 view .LVU3754 11150 0036 7047 bx lr 11151 .cfi_endproc 11152 .LFE140: 11154 .section .text.UART_Start_Receive_DMA,"ax",%progbits 11155 .align 1 11156 .p2align 2,,3 11157 .global UART_Start_Receive_DMA 11158 .syntax unified 11159 .thumb 11160 .thumb_func 11162 UART_Start_Receive_DMA: 11163 .LVL884: 11164 .LFB178: 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 11165 .loc 1 3268 1 is_stmt 1 view -0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 346 11166 .cfi_startproc 11167 @ args = 0, pretend = 0, frame = 0 11168 @ frame_needed = 0, uses_anonymous_args = 0 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 11169 .loc 1 3269 3 view .LVU3756 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 11170 .loc 1 3268 1 is_stmt 0 view .LVU3757 11171 0000 38B5 push {r3, r4, r5, lr} 11172 .LCFI73: 11173 .cfi_def_cfa_offset 16 11174 .cfi_offset 3, -16 11175 .cfi_offset 4, -12 11176 .cfi_offset 5, -8 11177 .cfi_offset 14, -4 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->pRxBuffPtr = pData; 11178 .loc 1 3268 1 view .LVU3758 11179 0002 0446 mov r4, r0 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 11180 .loc 1 3272 20 view .LVU3759 11181 0004 0023 movs r3, #0 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11182 .loc 1 3273 18 view .LVU3760 11183 0006 2220 movs r0, #34 11184 .LVL885: 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 11185 .loc 1 3272 20 view .LVU3761 11186 0008 C4F88430 str r3, [r4, #132] 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11187 .loc 1 3273 18 view .LVU3762 11188 000c C4F88000 str r0, [r4, #128] 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11189 .loc 1 3275 12 view .LVU3763 11190 0010 606F ldr r0, [r4, #116] 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxXferSize = Size; 11191 .loc 1 3269 21 view .LVU3764 11192 0012 6165 str r1, [r4, #84] 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11193 .loc 1 3270 3 is_stmt 1 view .LVU3765 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11194 .loc 1 3270 21 is_stmt 0 view .LVU3766 11195 0014 A4F85820 strh r2, [r4, #88] @ movhi 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 11196 .loc 1 3272 3 is_stmt 1 view .LVU3767 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11197 .loc 1 3273 3 view .LVU3768 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11198 .loc 1 3275 3 view .LVU3769 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11199 .loc 1 3275 6 is_stmt 0 view .LVU3770 11200 0018 70B1 cbz r0, .L1122 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11201 .loc 1 3278 5 is_stmt 1 view .LVU3771 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11202 .loc 1 3290 51 is_stmt 0 view .LVU3772 11203 001a 2568 ldr r5, [r4] 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11204 .loc 1 3287 38 view .LVU3773 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 347 11205 001c 4363 str r3, [r0, #52] 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11206 .loc 1 3290 9 view .LVU3774 11207 001e 1346 mov r3, r2 11208 0020 0A46 mov r2, r1 11209 .LVL886: 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11210 .loc 1 3290 9 view .LVU3775 11211 0022 05F12401 add r1, r5, #36 11212 .LVL887: 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11213 .loc 1 3278 37 view .LVU3776 11214 0026 1B4D ldr r5, .L1143 11215 0028 8562 str r5, [r0, #40] 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11216 .loc 1 3281 5 is_stmt 1 view .LVU3777 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11217 .loc 1 3281 41 is_stmt 0 view .LVU3778 11218 002a 1B4D ldr r5, .L1143+4 11219 002c C562 str r5, [r0, #44] 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11220 .loc 1 3284 5 is_stmt 1 view .LVU3779 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11221 .loc 1 3284 38 is_stmt 0 view .LVU3780 11222 002e 1B4D ldr r5, .L1143+8 11223 0030 0563 str r5, [r0, #48] 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11224 .loc 1 3287 5 is_stmt 1 view .LVU3781 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11225 .loc 1 3290 5 view .LVU3782 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11226 .loc 1 3290 9 is_stmt 0 view .LVU3783 11227 0032 FFF7FEFF bl HAL_DMA_Start_IT 11228 .LVL888: 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11229 .loc 1 3290 8 view .LVU3784 11230 0036 28BB cbnz r0, .L1141 11231 .L1122: 3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11232 .loc 1 3303 3 is_stmt 1 view .LVU3785 3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11233 .loc 1 3303 6 is_stmt 0 view .LVU3786 11234 0038 2369 ldr r3, [r4, #16] 11235 003a 4BB1 cbz r3, .L1142 11236 003c 2368 ldr r3, [r4] 11237 .L1125: 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11238 .loc 1 3305 5 is_stmt 1 discriminator 1 view .LVU3787 11239 .LBB997: 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11240 .loc 1 3305 5 discriminator 1 view .LVU3788 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11241 .loc 1 3305 5 discriminator 1 view .LVU3789 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11242 .loc 1 3305 5 discriminator 1 view .LVU3790 11243 .LVL889: 11244 .LBB998: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 348 11245 .LBI998: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11246 .loc 2 1068 31 discriminator 1 view .LVU3791 11247 .LBB999: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 11248 .loc 2 1070 5 discriminator 1 view .LVU3792 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11249 .loc 2 1072 4 discriminator 1 view .LVU3793 11250 .syntax unified 11251 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11252 003e 53E8002F ldrex r2, [r3] 11253 @ 0 "" 2 11254 .LVL890: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11255 .loc 2 1073 4 discriminator 1 view .LVU3794 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11256 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3795 11257 .thumb 11258 .syntax unified 11259 .LBE999: 11260 .LBE998: 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11261 .loc 1 3305 5 discriminator 1 view .LVU3796 11262 0042 42F48072 orr r2, r2, #256 11263 .LVL891: 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11264 .loc 1 3305 5 is_stmt 1 discriminator 1 view .LVU3797 11265 .LBB1000: 11266 .LBI1000: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11267 .loc 2 1119 31 discriminator 1 view .LVU3798 11268 .LBB1001: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 11269 .loc 2 1121 4 discriminator 1 view .LVU3799 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11270 .loc 2 1123 4 discriminator 1 view .LVU3800 11271 .syntax unified 11272 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11273 0046 43E80021 strex r1, r2, [r3] 11274 @ 0 "" 2 11275 .LVL892: 11276 .loc 2 1124 4 discriminator 1 view .LVU3801 11277 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3802 11278 .thumb 11279 .syntax unified 11280 .LBE1001: 11281 .LBE1000: 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11282 .loc 1 3305 5 discriminator 1 view .LVU3803 11283 004a 0029 cmp r1, #0 11284 004c F7D1 bne .L1125 11285 004e 00E0 b .L1126 11286 .LVL893: 11287 .L1142: 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11288 .loc 1 3305 5 discriminator 1 view .LVU3804 11289 0050 2368 ldr r3, [r4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 349 11290 .L1126: 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11291 .loc 1 3305 5 discriminator 1 view .LVU3805 11292 .LBE997: 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11293 .loc 1 3305 5 is_stmt 1 discriminator 1 view .LVU3806 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11294 .loc 1 3309 3 discriminator 1 view .LVU3807 11295 .LBB1002: 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11296 .loc 1 3309 3 discriminator 1 view .LVU3808 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11297 .loc 1 3309 3 discriminator 1 view .LVU3809 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11298 .loc 1 3309 3 discriminator 1 view .LVU3810 11299 .LVL894: 11300 .LBB1003: 11301 .LBI1003: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11302 .loc 2 1068 31 discriminator 1 view .LVU3811 11303 .LBB1004: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 11304 .loc 2 1070 5 discriminator 1 view .LVU3812 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11305 .loc 2 1072 4 discriminator 1 view .LVU3813 11306 0052 03F10802 add r2, r3, #8 11307 .LVL895: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11308 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU3814 11309 .syntax unified 11310 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11311 0056 52E8002F ldrex r2, [r2] 11312 @ 0 "" 2 11313 .LVL896: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11314 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU3815 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11315 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3816 11316 .thumb 11317 .syntax unified 11318 .LBE1004: 11319 .LBE1003: 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11320 .loc 1 3309 3 discriminator 1 view .LVU3817 11321 005a 42F00102 orr r2, r2, #1 11322 .LVL897: 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11323 .loc 1 3309 3 is_stmt 1 discriminator 1 view .LVU3818 11324 .LBB1005: 11325 .LBI1005: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11326 .loc 2 1119 31 discriminator 1 view .LVU3819 11327 .LBB1006: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 11328 .loc 2 1121 4 discriminator 1 view .LVU3820 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11329 .loc 2 1123 4 discriminator 1 view .LVU3821 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 350 11330 005e 03F10800 add r0, r3, #8 11331 .LVL898: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11332 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU3822 11333 .syntax unified 11334 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11335 0062 40E80021 strex r1, r2, [r0] 11336 @ 0 "" 2 11337 .LVL899: 11338 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU3823 11339 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3824 11340 .thumb 11341 .syntax unified 11342 .LBE1006: 11343 .LBE1005: 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11344 .loc 1 3309 3 discriminator 1 view .LVU3825 11345 0066 0029 cmp r1, #0 11346 0068 F3D1 bne .L1126 11347 .LVL900: 11348 .L1127: 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11349 .loc 1 3309 3 discriminator 1 view .LVU3826 11350 .LBE1002: 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11351 .loc 1 3309 3 is_stmt 1 discriminator 1 view .LVU3827 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11352 .loc 1 3313 3 discriminator 1 view .LVU3828 11353 .LBB1007: 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11354 .loc 1 3313 3 discriminator 1 view .LVU3829 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11355 .loc 1 3313 3 discriminator 1 view .LVU3830 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11356 .loc 1 3313 3 discriminator 1 view .LVU3831 11357 .LBB1008: 11358 .LBI1008: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11359 .loc 2 1068 31 discriminator 1 view .LVU3832 11360 .LBB1009: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 11361 .loc 2 1070 5 discriminator 1 view .LVU3833 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11362 .loc 2 1072 4 discriminator 1 view .LVU3834 11363 006a 03F10802 add r2, r3, #8 11364 .LVL901: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11365 .loc 2 1072 4 is_stmt 0 discriminator 1 view .LVU3835 11366 .syntax unified 11367 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11368 006e 52E8002F ldrex r2, [r2] 11369 @ 0 "" 2 11370 .LVL902: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11371 .loc 2 1073 4 is_stmt 1 discriminator 1 view .LVU3836 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11372 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3837 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 351 11373 .thumb 11374 .syntax unified 11375 .LBE1009: 11376 .LBE1008: 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11377 .loc 1 3313 3 discriminator 1 view .LVU3838 11378 0072 42F04002 orr r2, r2, #64 11379 .LVL903: 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11380 .loc 1 3313 3 is_stmt 1 discriminator 1 view .LVU3839 11381 .LBB1010: 11382 .LBI1010: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11383 .loc 2 1119 31 discriminator 1 view .LVU3840 11384 .LBB1011: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 11385 .loc 2 1121 4 discriminator 1 view .LVU3841 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11386 .loc 2 1123 4 discriminator 1 view .LVU3842 11387 0076 03F10801 add r1, r3, #8 11388 .LVL904: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11389 .loc 2 1123 4 is_stmt 0 discriminator 1 view .LVU3843 11390 .syntax unified 11391 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11392 007a 41E80020 strex r0, r2, [r1] 11393 @ 0 "" 2 11394 .LVL905: 11395 .loc 2 1124 4 is_stmt 1 discriminator 1 view .LVU3844 11396 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3845 11397 .thumb 11398 .syntax unified 11399 .LBE1011: 11400 .LBE1010: 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11401 .loc 1 3313 3 discriminator 1 view .LVU3846 11402 007e 0028 cmp r0, #0 11403 0080 F3D1 bne .L1127 11404 .LBE1007: 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11405 .loc 1 3316 1 view .LVU3847 11406 0082 38BD pop {r3, r4, r5, pc} 11407 .LVL906: 11408 .L1141: 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11409 .loc 1 3293 7 is_stmt 1 view .LVU3848 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11410 .loc 1 3293 24 is_stmt 0 view .LVU3849 11411 0084 1022 movs r2, #16 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11412 .loc 1 3296 22 view .LVU3850 11413 0086 2023 movs r3, #32 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11414 .loc 1 3293 24 view .LVU3851 11415 0088 C4F88420 str r2, [r4, #132] 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11416 .loc 1 3296 7 is_stmt 1 view .LVU3852 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 352 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11417 .loc 1 3298 14 is_stmt 0 view .LVU3853 11418 008c 0120 movs r0, #1 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11419 .loc 1 3296 22 view .LVU3854 11420 008e C4F88030 str r3, [r4, #128] 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11421 .loc 1 3298 7 is_stmt 1 view .LVU3855 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11422 .loc 1 3316 1 is_stmt 0 view .LVU3856 11423 0092 38BD pop {r3, r4, r5, pc} 11424 .LVL907: 11425 .L1144: 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11426 .loc 1 3316 1 view .LVU3857 11427 .align 2 11428 .L1143: 11429 0094 00000000 .word UART_DMAReceiveCplt 11430 0098 00000000 .word UART_DMARxHalfCplt 11431 009c 00000000 .word UART_DMAError 11432 .cfi_endproc 11433 .LFE178: 11435 .section .text.HAL_UART_Receive_DMA,"ax",%progbits 11436 .align 1 11437 .p2align 2,,3 11438 .global HAL_UART_Receive_DMA 11439 .syntax unified 11440 .thumb 11441 .thumb_func 11443 HAL_UART_Receive_DMA: 11444 .LVL908: 11445 .LFB142: 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 11446 .loc 1 1404 1 is_stmt 1 view -0 11447 .cfi_startproc 11448 @ args = 0, pretend = 0, frame = 0 11449 @ frame_needed = 0, uses_anonymous_args = 0 11450 @ link register save eliminated. 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11451 .loc 1 1406 3 view .LVU3859 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11452 .loc 1 1406 12 is_stmt 0 view .LVU3860 11453 0000 D0F88030 ldr r3, [r0, #128] 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11454 .loc 1 1406 6 view .LVU3861 11455 0004 202B cmp r3, #32 11456 0006 15D1 bne .L1149 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11457 .loc 1 1408 5 is_stmt 1 view .LVU3862 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11458 .loc 1 1408 8 is_stmt 0 view .LVU3863 11459 0008 01B1 cbz r1, .L1151 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11460 .loc 1 1408 25 discriminator 1 view .LVU3864 11461 000a 0AB9 cbnz r2, .L1161 11462 .L1151: 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 353 11463 .loc 1 1410 14 view .LVU3865 11464 000c 0120 movs r0, #1 11465 .LVL909: 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11466 .loc 1 1429 1 view .LVU3866 11467 000e 7047 bx lr 11468 .LVL910: 11469 .L1161: 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11470 .loc 1 1414 5 is_stmt 1 view .LVU3867 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 11471 .loc 1 1404 1 is_stmt 0 view .LVU3868 11472 0010 30B4 push {r4, r5} 11473 .LCFI74: 11474 .cfi_def_cfa_offset 8 11475 .cfi_offset 4, -8 11476 .cfi_offset 5, -4 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11477 .loc 1 1414 26 view .LVU3869 11478 0012 0023 movs r3, #0 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11479 .loc 1 1417 9 view .LVU3870 11480 0014 0468 ldr r4, [r0] 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11481 .loc 1 1414 26 view .LVU3871 11482 0016 0366 str r3, [r0, #96] 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11483 .loc 1 1417 5 is_stmt 1 view .LVU3872 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11484 .loc 1 1417 9 is_stmt 0 view .LVU3873 11485 0018 6368 ldr r3, [r4, #4] 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** { 11486 .loc 1 1417 8 view .LVU3874 11487 001a 1B02 lsls r3, r3, #8 11488 001c 07D5 bpl .L1147 11489 .L1148: 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11490 .loc 1 1420 7 is_stmt 1 discriminator 1 view .LVU3875 11491 .LBB1012: 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11492 .loc 1 1420 7 discriminator 1 view .LVU3876 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11493 .loc 1 1420 7 discriminator 1 view .LVU3877 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11494 .loc 1 1420 7 discriminator 1 view .LVU3878 11495 .LVL911: 11496 .LBB1013: 11497 .LBI1013: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11498 .loc 2 1068 31 discriminator 1 view .LVU3879 11499 .LBB1014: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 11500 .loc 2 1070 5 discriminator 1 view .LVU3880 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11501 .loc 2 1072 4 discriminator 1 view .LVU3881 11502 .syntax unified 11503 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 354 11504 001e 54E8003F ldrex r3, [r4] 11505 @ 0 "" 2 11506 .LVL912: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11507 .loc 2 1073 4 discriminator 1 view .LVU3882 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 11508 .loc 2 1073 4 is_stmt 0 discriminator 1 view .LVU3883 11509 .thumb 11510 .syntax unified 11511 .LBE1014: 11512 .LBE1013: 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11513 .loc 1 1420 7 discriminator 1 view .LVU3884 11514 0022 43F08063 orr r3, r3, #67108864 11515 .LVL913: 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11516 .loc 1 1420 7 is_stmt 1 discriminator 1 view .LVU3885 11517 .LBB1015: 11518 .LBI1015: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 11519 .loc 2 1119 31 discriminator 1 view .LVU3886 11520 .LBB1016: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 11521 .loc 2 1121 4 discriminator 1 view .LVU3887 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 11522 .loc 2 1123 4 discriminator 1 view .LVU3888 11523 .syntax unified 11524 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 11525 0026 44E80035 strex r5, r3, [r4] 11526 @ 0 "" 2 11527 .LVL914: 11528 .loc 2 1124 4 discriminator 1 view .LVU3889 11529 .loc 2 1124 4 is_stmt 0 discriminator 1 view .LVU3890 11530 .thumb 11531 .syntax unified 11532 .LBE1016: 11533 .LBE1015: 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11534 .loc 1 1420 7 discriminator 1 view .LVU3891 11535 002a 002D cmp r5, #0 11536 002c F7D1 bne .L1148 11537 .LVL915: 11538 .L1147: 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11539 .loc 1 1420 7 discriminator 1 view .LVU3892 11540 .LBE1012: 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11541 .loc 1 1420 7 is_stmt 1 view .LVU3893 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11542 .loc 1 1423 5 view .LVU3894 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** 11543 .loc 1 1429 1 is_stmt 0 view .LVU3895 11544 002e 30BC pop {r4, r5} 11545 .LCFI75: 11546 .cfi_restore 5 11547 .cfi_restore 4 11548 .cfi_def_cfa_offset 0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 355 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11549 .loc 1 1423 13 view .LVU3896 11550 0030 FFF7FEBF b UART_Start_Receive_DMA 11551 .LVL916: 11552 .L1149: 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11553 .loc 1 1427 12 view .LVU3897 11554 0034 0220 movs r0, #2 11555 .LVL917: 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c **** } 11556 .loc 1 1427 12 view .LVU3898 11557 0036 7047 bx lr 11558 .cfi_endproc 11559 .LFE142: 11561 .section .rodata.CSWTCH.53,"a" 11562 .align 2 11563 .set .LANCHOR0,. + 0 11566 CSWTCH.53: 11567 0000 04 .byte 4 11568 0001 08 .byte 8 11569 0002 02 .byte 2 11570 .text 11571 .Letext0: 11572 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 11573 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 11574 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 11575 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h" 11576 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 11577 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 11578 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_uart.h" 11579 .file 10 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h" 11580 .file 11 "Core/Inc/stm32f3xx_hal_conf.h" 11581 .file 12 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_rcc.h" 11582 .file 13 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_uart_ex.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 356 DEFINED SYMBOLS *ABS*:00000000 stm32f3xx_hal_uart.c C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:20 .text.UART_EndRxTransfer:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:26 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:268 .text.UART_TxISR_16BIT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:274 .text.UART_TxISR_16BIT:00000000 UART_TxISR_16BIT C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:435 .text.UART_TxISR_8BIT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:441 .text.UART_TxISR_8BIT:00000000 UART_TxISR_8BIT C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:598 .text.HAL_UART_MspInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:605 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:620 .text.HAL_UART_MspDeInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:627 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:638 .rodata.HAL_UART_DeInit.str1.4:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:643 .text.HAL_UART_DeInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:650 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:768 .text.HAL_UART_DeInit:00000070 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:774 .text.HAL_UART_Transmit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:781 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1046 .text.HAL_UART_Transmit_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1053 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1201 .text.HAL_UART_Transmit_IT:00000060 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1207 .text.HAL_UART_Transmit_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1214 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1388 .text.HAL_UART_Transmit_DMA:00000074 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3336 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3507 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3594 .text.UART_DMAError:00000000 UART_DMAError C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1395 .text.HAL_UART_DMAPause:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1402 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1671 .text.HAL_UART_DMAResume:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1678 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1950 .text.HAL_UART_DMAStop:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:1957 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:2260 .text.HAL_UART_Abort:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:2267 .text.HAL_UART_Abort:00000000 HAL_UART_Abort C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:2744 .text.HAL_UART_AbortTransmit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:2751 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:2933 .text.HAL_UART_AbortReceive:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:2940 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3312 .text.HAL_UART_TxCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3319 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3330 .text.UART_DMATransmitCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3483 .text.HAL_UART_TxHalfCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3490 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3501 .text.UART_DMATxHalfCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3534 .text.HAL_UART_RxCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3541 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3552 .text.HAL_UART_RxHalfCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3559 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3570 .text.HAL_UART_ErrorCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3577 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3588 .text.UART_DMAError:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3738 .text.UART_DMAAbortOnError:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3744 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3777 .text.HAL_UART_AbortCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3784 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3795 .text.HAL_UART_Abort_IT:00000000 $t ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 357 C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:3802 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4338 .text.HAL_UART_Abort_IT:00000138 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4430 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4350 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4344 .text.UART_DMARxAbortCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4424 .text.UART_DMATxAbortCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4499 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4506 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4517 .text.HAL_UART_AbortTransmit_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4524 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4733 .text.HAL_UART_AbortTransmit_IT:00000078 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4744 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4738 .text.UART_DMATxOnlyAbortCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4780 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4787 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4798 .text.HAL_UART_AbortReceive_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:4805 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:5195 .text.HAL_UART_AbortReceive_IT:000000d0 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:5206 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:5200 .text.UART_DMARxOnlyAbortCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:5256 .text.HAL_UARTEx_RxEventCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:5263 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:5279 .text.HAL_UART_IRQHandler:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:5286 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:6287 .text.HAL_UART_IRQHandler:000002b8 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:6293 .text.UART_RxISR_8BIT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:6299 .text.UART_RxISR_8BIT:00000000 UART_RxISR_8BIT C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:6685 .text.UART_RxISR_16BIT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:6691 .text.UART_RxISR_16BIT:00000000 UART_RxISR_16BIT C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7074 .text.UART_DMARxHalfCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7080 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7125 .text.UART_DMAReceiveCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7131 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7461 .text.HAL_UART_ReceiverTimeout_Config:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7468 .text.HAL_UART_ReceiverTimeout_Config:00000000 HAL_UART_ReceiverTimeout_Config C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7515 .text.HAL_UART_ReceiverTimeout_Config:00000028 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7520 .text.HAL_UART_EnableReceiverTimeout:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7527 .text.HAL_UART_EnableReceiverTimeout:00000000 HAL_UART_EnableReceiverTimeout C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7588 .text.HAL_UART_DisableReceiverTimeout:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7595 .text.HAL_UART_DisableReceiverTimeout:00000000 HAL_UART_DisableReceiverTimeout C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7656 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7663 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7682 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7689 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7841 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:7848 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8000 .text.HAL_LIN_SendBreak:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8007 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8096 .text.HAL_LIN_SendBreak:0000005c $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8102 .text.HAL_UART_GetState:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8109 .text.HAL_UART_GetState:00000000 HAL_UART_GetState C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8137 .text.HAL_UART_GetError:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8144 .text.HAL_UART_GetError:00000000 HAL_UART_GetError C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8162 .text.UART_SetConfig:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8169 .text.UART_SetConfig:00000000 UART_SetConfig C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8510 .text.UART_SetConfig:000001a8 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8520 .text.UART_SetConfig:000001cc $t ARM GAS C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s page 358 C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8674 .text.UART_SetConfig:0000029c $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8687 .text.UART_SetConfig:000002c4 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8693 .text.UART_SetConfig:000002d0 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8703 .text.UART_SetConfig:000002f4 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8715 .text.UART_SetConfig:00000300 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8720 .text.UART_AdvFeatureConfig:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:8727 .text.UART_AdvFeatureConfig:00000000 UART_AdvFeatureConfig C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9041 .text.UART_AdvFeatureConfig:000001c8 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9047 .text.UART_WaitOnFlagUntilTimeout:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9054 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9197 .text.HAL_UART_Receive:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9204 .text.HAL_UART_Receive:00000000 HAL_UART_Receive C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9462 .text.UART_CheckIdleState:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9469 .text.UART_CheckIdleState:00000000 UART_CheckIdleState C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9772 .text.HAL_UART_Init:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9779 .text.HAL_UART_Init:00000000 HAL_UART_Init C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9949 .text.HAL_UART_Init:000000c8 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9955 .text.HAL_HalfDuplex_Init:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:9962 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10108 .text.HAL_HalfDuplex_Init:000000a4 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10114 .text.HAL_LIN_Init:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10121 .text.HAL_LIN_Init:00000000 HAL_LIN_Init C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10304 .text.HAL_LIN_Init:000000d0 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10310 .text.HAL_MultiProcessor_Init:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10317 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10480 .text.HAL_MultiProcessor_Init:000000a4 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10485 .text.HAL_MultiProcessor_EnableMuteMode:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10492 .text.HAL_MultiProcessor_EnableMuteMode:00000000 HAL_MultiProcessor_EnableMuteMode C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10586 .text.HAL_MultiProcessor_DisableMuteMode:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10593 .text.HAL_MultiProcessor_DisableMuteMode:00000000 HAL_MultiProcessor_DisableMuteMode C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10687 .text.UART_Start_Receive_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:10694 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:11023 .text.UART_Start_Receive_IT:000000c4 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:11029 .text.HAL_UART_Receive_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:11036 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:11155 .text.UART_Start_Receive_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:11162 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:11429 .text.UART_Start_Receive_DMA:00000094 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:11436 .text.HAL_UART_Receive_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:11443 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:11562 .rodata.CSWTCH.53:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccbOuLuU.s:11566 .rodata.CSWTCH.53:00000000 CSWTCH.53 UNDEFINED SYMBOLS assert_failed HAL_GetTick HAL_DMA_Start_IT HAL_DMA_Abort HAL_DMA_GetError HAL_DMA_Abort_IT HAL_UARTEx_WakeupCallback HAL_RCC_GetSysClockFreq HAL_RCC_GetPCLK2Freq HAL_RCC_GetPCLK1Freq