ARM GAS /tmp/ccQxTlMj.s page 1 1 .cpu cortex-m7 2 .arch armv7e-m 3 .fpu fpv5-d16 4 .eabi_attribute 28, 1 5 .eabi_attribute 20, 1 6 .eabi_attribute 21, 1 7 .eabi_attribute 23, 3 8 .eabi_attribute 24, 1 9 .eabi_attribute 25, 1 10 .eabi_attribute 26, 1 11 .eabi_attribute 30, 1 12 .eabi_attribute 34, 1 13 .eabi_attribute 18, 4 14 .file "stm32f7xx_hal_uart.c" 15 .text 16 .Ltext0: 17 .cfi_sections .debug_frame 18 .file 1 "Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c" 19 .section .text.UART_EndTxTransfer,"ax",%progbits 20 .align 1 21 .syntax unified 22 .thumb 23 .thumb_func 25 UART_EndTxTransfer: 26 .LFB191: 1:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ****************************************************************************** 3:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @file stm32f7xx_hal_uart.c 4:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @author MCD Application Team 5:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART HAL module driver. 6:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART). 8:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * + IO operation functions 10:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * + Peripheral Control functions 11:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * 12:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * 13:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ****************************************************************************** 14:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @attention 15:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * 16:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * Copyright (c) 2017 STMicroelectronics. 17:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * All rights reserved. 18:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * 19:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This software is licensed under terms that can be found in the LICENSE file 20:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * in the root directory of this software component. 21:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 22:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * 23:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ****************************************************************************** 24:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @verbatim 25:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** =============================================================================== 26:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### How to use this driver ##### 27:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** =============================================================================== 28:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 29:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The UART HAL driver can be used as follows: 30:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 31:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart). 32:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API: ARM GAS /tmp/ccQxTlMj.s page 2 33:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Enable the USARTx interface clock. 34:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) UART pins configuration: 35:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs. 36:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up. 37:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT() 38:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs): 39:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority. 40:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle. 41:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) UART interrupts handling: 42:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt, 43:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** RXNE interrupt, RX/TX FIFOs related interrupts and Error Interrupts) 44:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() 45:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** inside the transmit and receive processes. 46:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA() 47:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs): 48:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel. 49:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Enable the DMAx interface clock. 50:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. 51:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel. 52:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle. 53:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete 54:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** interrupt on the DMA Tx/Rx channel. 55:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 56:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware 57:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure. 58:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 59:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...) 60:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the huart handle AdvancedInit structure. 61:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 62:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling 63:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_Init() API. 64:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 65:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling 66:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_HalfDuplex_Init() API. 67:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 68:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers 69:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** by calling the HAL_LIN_Init() API. 70:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 71:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers 72:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API. 73:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 74:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers 75:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API. 76:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 77:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 78:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini 79:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by 80:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API. 81:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 82:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### Callback registration ##### 83:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ================================== 84:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 85:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 86:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1 87:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks. 88:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 89:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] ARM GAS /tmp/ccQxTlMj.s page 3 90:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback. 91:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks: 92:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 93:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 94:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 95:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 96:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 97:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 98:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 99:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback. 101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and a pointer to the user callback function. 105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default 108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** weak function. 109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle, 110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and the Callback ID. 111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This function allows to reset following callbacks: 112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback. 121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions: 126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback(). 127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET 130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** all callbacks are set to the corresponding weak functions: 131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback(). 132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively 133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** reset to the legacy weak functions in the HAL_UART_Init() 134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand). 135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit() 136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand). 137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only. 140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered 141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user) 142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit. 143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks 144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit() 145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** or HAL_UART_Init() function. 146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 4 147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or 149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** not defined, the callback registration feature is not available 150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and weak callbacks are used. 151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @endverbatim 154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ****************************************************************************** 155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/ 158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #include "stm32f7xx_hal.h" 159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @addtogroup STM32F7xx_HAL_Driver 161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{ 162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART UART 165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief HAL UART module driver 166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{ 167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED 170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/ 172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/ 173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants 174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{ 175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | U 177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** USART_CR1_OVER8)) /*!< UART or USART CR1 fields of parameters 178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE |\ 180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** USART_CR3_ONEBIT)) /*!< UART or USART CR3 fields of parameter 181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #define UART_BRR_MIN 0x10U /* UART BRR minimum authorized value */ 184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #define UART_BRR_MAX 0x0000FFFFU /* UART BRR maximum authorized value */ 185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @} 187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/ 190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/ 191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @addtogroup UART_Private_Functions 192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{ 193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart); 195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart); 196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma); 197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma); 198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma); 199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma); 200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma); 201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma); 202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma); 203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma); ARM GAS /tmp/ccQxTlMj.s page 5 204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart); 207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart); 208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart); 209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart); 210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart); 211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @} 213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/ 216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Exported Constants --------------------------------------------------------*/ 217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/ 218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions 220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{ 221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions 224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialization and Configuration functions 225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * 226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @verbatim 227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** =============================================================================== 228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### Initialization and Configuration functions ##### 229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** =============================================================================== 230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy 232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in asynchronous mode. 233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) For the asynchronous mode the parameters below can be configured: 234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Baud Rate 235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Word Length 236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Stop Bit 237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written 238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit. 239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Hardware flow control 240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Receiver/transmitter modes 241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Over Sampling Method 242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) One-Bit Sampling Method 243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) For the asynchronous mode, the following advanced features can be configured as well: 244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) TX and/or RX pin level inversion 245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) data logical level inversion 246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) RX and TX pins swap 247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) RX overrun detection disabling 248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) DMA disabling on RX error 249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) MSB first on communication line 250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) auto Baud rate detection 251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API 253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, UART LIN mode 254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and UART multiprocessor mode configuration procedures (details for the procedures 255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** are available in reference manual). 256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @endverbatim 258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit, 260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8-bit or 9-bit), the possible UART formats are listed in the ARM GAS /tmp/ccQxTlMj.s page 6 261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** following table. 262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Table 1. UART frame format. 264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** +-----------------------------------------------------------------------+ 265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | M1 bit | M0 bit | PCE bit | UART frame | 266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | | 268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | | 270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | | 272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | | 274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | | 276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | | 278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** +-----------------------------------------------------------------------+ 279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{ 281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the UART mode according to the specified 285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart) 290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart == NULL) 293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE) 298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */ 300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance)); 301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */ 305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 7 318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware */ 322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback(huart); 323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_MspInit(huart); 326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Perform advanced settings configuration */ 334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART Communication parameters */ 341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared: 347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/ 349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified 360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart) 365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart == NULL) 368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check UART instance */ 373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance)); 374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 8 375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware */ 389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback(huart); 390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_MspInit(huart); 393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Perform advanced settings configuration */ 401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART Communication parameters */ 408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared: 414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ 420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified 431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. ARM GAS /tmp/ccQxTlMj.s page 9 432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length. 434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This parameter can be one of the following values: 435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection 436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection 437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength) 440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart == NULL) 443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the LIN UART instance */ 448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the Break detection length parameter */ 450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength)); 451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */ 453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */ 458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B) 459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware */ 477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback(huart); 478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_MspInit(huart); 481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Perform advanced settings configuration */ ARM GAS /tmp/ccQxTlMj.s page 10 489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART Communication parameters */ 496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared: 502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN); 505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ 508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN); 509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the USART LIN Break detection length. */ 511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength); 512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified 522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long). 525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method. 526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This parameter can be one of the following values: 527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection 528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark 529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter 530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * is useless and ignored by the initialization function. 531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection 532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to 533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API 534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after 535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_MultiProcessor_Init(). 536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake 539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart == NULL) 542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 11 546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the wake up method parameter */ 547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod)); 548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware */ 563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback(huart); 564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_MspInit(huart); 567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Perform advanced settings configuration */ 575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */ 576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART Communication parameters */ 582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared: 588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */ 590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK) 594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */ 596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS) 597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */ 600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod); 601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_ENABLE(huart); ARM GAS /tmp/ccQxTlMj.s page 12 603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DeInitialize the UART peripheral. 611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) 615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart == NULL) 618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */ 623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance)); 624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR1 = 0x0U; 630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL) 635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DeInit the low level hardware */ 639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback(huart); 640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DeInit the low level hardware */ 642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_MspDeInit(huart); 643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the UART MSP. 658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None ARM GAS /tmp/ccQxTlMj.s page 13 660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart) 662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file 668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DeInitialize the UART MSP. 673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart) 677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file 683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Register a User UART Callback 689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * To be used to override the weak predefined callback 690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note The HAL_UART_RegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_In 691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET 692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID 693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart uart handle 694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered 695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This parameter can be one of the following values: 696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pCallback pointer to the Callback function 708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C 711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pUART_CallbackTypeDef pCallback) 712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pCallback == NULL) 716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 14 717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (CallbackID) 725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback; 728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxCpltCallback = pCallback; 732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback; 736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback = pCallback; 740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback = pCallback; 744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback = pCallback; 748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback; 752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback; 756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM) 759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR3_WUFIE) 760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->WakeupCallback = pCallback; 762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */ 765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR1_UESM */ 766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = pCallback; 769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; ARM GAS /tmp/ccQxTlMj.s page 15 774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default : 776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR; 779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET) 783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (CallbackID) 785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = pCallback; 788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default : 795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR; 798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR; 806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return status; 809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Unregister an UART Callback 813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback 814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note The HAL_UART_UnRegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_ 815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET 816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID 817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart uart handle 818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered 819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This parameter can be one of the following values: 820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID ARM GAS /tmp/ccQxTlMj.s page 16 831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef 834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState) 838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (CallbackID) 840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa 843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl 847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal 851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl 855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error 859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort 863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak 867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** AbortTransmitCplt 868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak 872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** AbortReceiveCpltC 873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM) 876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR3_WUFIE) 877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu 879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */ 882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR1_UESM */ 883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn 885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : ARM GAS /tmp/ccQxTlMj.s page 17 888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe 889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default : 892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR; 895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState) 899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (CallbackID) 901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default : 911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR; 914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR; 922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return status; 925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback 929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * To be used instead of the weak predefined callback 930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Uart handle 931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function 932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback 935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pCallback == NULL) 939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 18 945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback = pCallback; 948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR; 954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return status; 957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback 961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine 962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Uart handle 963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart) 966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */ 972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR; 978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return status; 981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @} 987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions 990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART Transmit/Receive functions 991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * 992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @verbatim 993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** =============================================================================== 994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### IO operation functions ##### 995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** =============================================================================== 996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous 997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and Half duplex data transfers. 998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) There are two mode of transfer: 1000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode. 1001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The HAL status of all data processing is returned by the same function ARM GAS /tmp/ccQxTlMj.s page 19 1002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** after finishing transfer. 1003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts 1004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** or DMA, These API's return the HAL status. 1005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The end of the data processing will be indicated through the 1006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when 1007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** using DMA mode. 1008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks 1009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process 1010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is 1011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Blocking mode API's are : 1013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Transmit() 1014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Receive() 1015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are : 1017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Transmit_IT() 1018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Receive_IT() 1019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_IRQHandler() 1020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are : 1022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA() 1023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Receive_DMA() 1024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_DMAPause() 1025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_DMAResume() 1026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_DMAStop() 1027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: 1029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback() 1030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback() 1031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback() 1032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback() 1033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_ErrorCallback() 1034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's : 1036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Abort() 1037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortTransmit() 1038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortReceive() 1039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Abort_IT() 1040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT() 1041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT() 1042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call 1044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback() 1045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback() 1046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback() 1047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o 1049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** reception services: 1050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback() 1051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM) 1052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Wakeup from Stop mode Callback: 1054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UARTEx_WakeupCallback() 1055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif 1056:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. 1058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Errors are handled as follows : ARM GAS /tmp/ccQxTlMj.s page 20 1059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er 1060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error 1061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in Interrupt mode reception . 1062:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow 1063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed. 1064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Transfer is kept ongoing on UART side. 1065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user. 1066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte 1067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. 1068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() 1069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** user callback is executed. 1070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit 1072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful. 1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @endverbatim 1075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{ 1076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1078:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Send an amount of data in blocking mode. 1080:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 provided through pData. 1083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Timeout Timeout duration. 1087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, 1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint8_t *pdata8bits; 1092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint16_t *pdata16bits; 1093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart; 1094:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 1101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init tickstart for timeout management */ 1107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tickstart = HAL_GetTick(); 1108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size; 1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size; 1111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */ 1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits = NULL; ARM GAS /tmp/ccQxTlMj.s page 21 1116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 1117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits = pData; 1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = NULL; 1122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** while (huart->TxXferCount > 0U) 1125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) 1127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 1132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pdata8bits == NULL) 1134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU); 1136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 1137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU); 1141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 1142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--; 1144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) 1147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 1151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 1154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY; 1161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode. 1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 available through pData. 1169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Timeout Timeout duration. ARM GAS /tmp/ccQxTlMj.s page 22 1173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32 1176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint8_t *pdata8bits; 1178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t *pdata16bits; 1179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhMask; 1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart; 1181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 1188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init tickstart for timeout management */ 1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tickstart = HAL_GetTick(); 1196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size; 1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size; 1199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 1202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 1203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */ 1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits = NULL; 1208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits = pData; 1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = NULL; 1214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* as long as data have to be received */ 1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** while (huart->RxXferCount > 0U) 1218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) 1220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 1224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pdata8bits == NULL) 1226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask); 1228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 1229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } ARM GAS /tmp/ccQxTlMj.s page 23 1230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask); 1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 1234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--; 1236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY; 1246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode. 1251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 provided through pData. 1254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si 1260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 1267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size; 1271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size; 1272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 1273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */ 1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT; 1281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT; 1285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 24 1287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */ 1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 1289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY; 1295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode. 1300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 available through pData. 1303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 1316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size)); 1329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY; 1333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Send an amount of data in DMA mode. 1338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 provided through pData. 1341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. ARM GAS /tmp/ccQxTlMj.s page 25 1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S 1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 1354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size; 1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size; 1359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 1366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; 1367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; 1370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the DMA error callback */ 1372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError; 1373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the DMA abort callback */ 1375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART transmit DMA channel */ 1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance-> 1379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */ 1381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState to ready */ 1384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 1387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the TC flag in the ICR register */ 1390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); 1391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit 1393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the UART CR3 register */ 1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY; ARM GAS /tmp/ccQxTlMj.s page 26 1401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode. 1406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain 1407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the parity bit (MSB position). 1408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 available through pData. 1411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 1424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set Reception type to Standard reception */ 1427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 1430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 1431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 1434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size)); 1437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY; 1441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Pause the DMA Transfer. 1446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart) 1450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Tx request */ ARM GAS /tmp/ccQxTlMj.s page 27 1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request */ 1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Resume the DMA Transfer. 1476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart) 1480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART DMA Tx request */ 1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 1487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */ 1489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 1493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART DMA Rx request */ 1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Stop the DMA Transfer. 1507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart) 1511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback() 1514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback: ARM GAS /tmp/ccQxTlMj.s page 28 1515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete 1516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of 1517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the stream and the corresponding call back is executed. */ 1518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel */ 1529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */ 1536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 1539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndTxTransfer(huart); 1544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 1553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL) 1554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */ 1560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 1563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart); 1568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } ARM GAS /tmp/ccQxTlMj.s page 29 1572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode). 1575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations : 1578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY 1582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart) 1586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */ 1615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 1618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 30 1629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL) 1631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */ 1641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 1644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 1651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 1652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 1655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */ 1658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode). 1672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations : 1675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY 1679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart) 1683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); ARM GAS /tmp/ccQxTlMj.s page 31 1686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */ 1705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 1708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Tx transfer counter */ 1714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 1715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode). 1725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 1727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations : 1728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 1729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY 1732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart) 1736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) ARM GAS /tmp/ccQxTlMj.s page 32 1743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL) 1755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */ 1765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 1768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Rx transfer counter */ 1774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 1775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 1778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */ 1780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 1783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode). 1791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations : 1794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 1797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY 1798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - At abort completion, call user abort complete callback 1799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be ARM GAS /tmp/ccQxTlMj.s page 33 1800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 1801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart) 1804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t abortcplt = 1U; 1806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable interrupts */ 1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA 1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 1812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 1813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 1815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh 1818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** before any call to DMA Abort functions */ 1819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA Tx Handle is valid */ 1820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. 1823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Otherwise, set it to NULL */ 1824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 1827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA Rx Handle is valid */ 1834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL) 1835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. 1837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Otherwise, set it to NULL */ 1838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 1841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable DMA Tx at UART level */ 1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 1855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 34 1857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised : 1858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort DMA TX */ 1861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 1862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 0U; 1868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 1873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 1879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL) 1880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised : 1882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort DMA RX */ 1885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 1886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 1U; 1889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 0U; 1893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback * 1898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (abortcplt == 1U) 1899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 1902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 1903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear ISR function pointers */ 1905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL; 1906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 1907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset errorCode */ 1909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF 1913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 35 1914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */ 1916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 1922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 1924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 1925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort complete callback */ 1926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback(huart); 1927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 1928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 1929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 1930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 1934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 1937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode). 1938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 1939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations : 1941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 1944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY 1945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - At abort completion, call user abort complete callback 1946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 1947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 1948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 1949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 1950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart) 1951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable interrupts */ 1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 1954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */ 1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback : 1965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback; 1967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort DMA TX */ 1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 36 1971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */ 1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx); 1973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Tx transfer counter */ 1978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 1979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear TxISR function pointers */ 1981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 1982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 1988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 1990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 1992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 1993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 1997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Tx transfer counter */ 1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 2000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear TxISR function pointers */ 2002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 2013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode). 2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations : 2026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) ARM GAS /tmp/ccQxTlMj.s page 37 2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY 2030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 2034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart) 2036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ 2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 2045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 2054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL) 2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2056:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback; 2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort DMA RX */ 2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2062:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 2068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Rx transfer counter */ 2070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RxISR function pointer */ 2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F 2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2078:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */ 2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2080:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 38 2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 2090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2094:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 2096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Rx transfer counter */ 2098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 2099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RxISR function pointer */ 2101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF 2105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 2115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 2121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Handle UART interrupt request. 2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) 2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 2132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 2133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t errorflags; 2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t errorcode; 2136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If no error occurs */ 2138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE | 2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (errorflags == 0U) 2140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/ ARM GAS /tmp/ccQxTlMj.s page 39 2142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U) 2143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 2144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxISR != NULL) 2146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR(huart); 2148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 2150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If some errors occur */ 2154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((errorflags != 0U) 2155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U) 2156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 2157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 2159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 2160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 2162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 2164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/ 2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 2170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 2172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 2175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 2178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 2180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/ 2183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U) 2184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 2185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 2186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 2188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE; 2190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/ 2193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 2194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 2196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO; 2198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } ARM GAS /tmp/ccQxTlMj.s page 40 2199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ 2201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 2202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/ 2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U) 2205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 2206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxISR != NULL) 2208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR(huart); 2210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Error is to be considered as blocking : 2214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - Receiver Timeout error in Reception 2215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - Overrun error in Reception 2216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - any error occurs in DMA mode reception 2217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** errorcode = huart->ErrorCode; 2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 2220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 2221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Blocking error : transfer is aborted 2223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 2224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ 2225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart); 2226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */ 2228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 2234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL) 2235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ 2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 2239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort DMA RX */ 2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 2248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user error callback */ 2250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered error callback*/ 2252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback(huart); 2253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 2254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak error callback*/ 2255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); ARM GAS /tmp/ccQxTlMj.s page 41 2256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 2261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user error callback */ 2263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered error callback*/ 2265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback(huart); 2266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 2267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak error callback*/ 2268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 2273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 2275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Error is notified to user through user error callback */ 2276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered error callback*/ 2278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback(huart); 2279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 2280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak error callback*/ 2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 2287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } /* End if some error occurs */ 2289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check current reception Mode : 2291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 2293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 2294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 2295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 2297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */ 2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA mode enabled */ 2302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing, 2303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (DMA cplt callback will be called). 2304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to 2305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx); 2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 2307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 2308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reception is not complete */ 2310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data; 2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/ ARM GAS /tmp/ccQxTlMj.s page 42 2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR) 2314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 2320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the UART CR3 register */ 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 2324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 2328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */ 2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx); 2331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Event callback*/ 2339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 2341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 2343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 2346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 2348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA mode not enabled */ 2350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing. 2351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to 2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount; 2353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 2354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_rx_data > 0U)) 2355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 2358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 2363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RxISR function pointer */ 2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL; 2368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); ARM GAS /tmp/ccQxTlMj.s page 43 2370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 2372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** In this case, Rx Event type is Idle Event */ 2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE; 2374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx complete callback*/ 2377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data); 2378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 2379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 2380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data); 2381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 2384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM) 2387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR3_WUFIE) 2388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/ 2390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U)) 2391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 2393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing. 2395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If UART handle state fields need to be reset to READY, this could be done in Wakeup callback 2396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Wakeup Callback */ 2399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->WakeupCallback(huart); 2400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 2401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */ 2402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart); 2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 2405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */ 2407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR1_UESM */ 2408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/ 2410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE) != 0U) 2411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 2412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->TxISR != NULL) 2414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR(huart); 2416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 2418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/ 2421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 2422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndTransmit_IT(huart); 2424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 2425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 44 2427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Tx Transfer completed callback. 2431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) 2435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 2438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file. 2441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Tx Half Transfer completed callback. 2446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart) 2450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 2453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file. 2456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Rx Transfer completed callback. 2461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) 2465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 2468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file. 2471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Rx Half Transfer completed callback. 2476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) 2480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 2483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 45 2484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file. 2486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART error callback. 2491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) 2495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 2498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file. 2501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART Abort Complete callback. 2506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) 2510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 2513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file. 2516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART Abort Complete callback. 2521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart) 2525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 2528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file. 2531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART Abort Receive Complete callback. 2536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart) 2540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 46 2541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 2543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file. 2546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception 2551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle 2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in 2553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * reception buffer until which, data are available) 2554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) 2557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 2560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(Size); 2561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file. 2564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM) 2568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART wakeup from Stop mode callback. 2570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart) 2574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart); 2577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UARTEx_WakeupCallback can be implemented in the user file. 2580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR1_UESM */ 2584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @} 2586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions 2589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART control functions 2590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * 2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @verbatim 2592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** =============================================================================== 2593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### Peripheral Control functions ##### 2594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** =============================================================================== 2595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 2596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART. 2597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th ARM GAS /tmp/ccQxTlMj.s page 47 2598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature 2599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature 2600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode 2601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode 2602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode 2603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral 2604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features 2605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization 2606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter 2607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver 2608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters 2609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @endverbatim 2610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{ 2611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register. 2615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART module. 2617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout 2618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF. 2619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue) 2622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 2625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature. 2629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART module. 2631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 2632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart) 2634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Locked */ 2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 2639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the USART RTOEN bit */ 2643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Unlocked */ 2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 2649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 2651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 2653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY; ARM GAS /tmp/ccQxTlMj.s page 48 2655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature. 2660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART module. 2662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 2663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart) 2665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Locked */ 2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 2670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the USART RTOEN bit */ 2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Unlocked */ 2679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 2682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 2684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY; 2686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode; 2691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called). 2692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 2694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart) 2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 2698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */ 2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_MME); 2703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode 2711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * as it may not have been in mute mode at this very moment). ARM GAS /tmp/ccQxTlMj.s page 49 2712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 2714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart) 2716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 2718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */ 2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME); 2723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode). 2731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called. 2732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 2734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart) 2736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 2738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver. 2742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 2744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart) 2746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 2748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear TE and RE bits */ 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */ 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TE); 2755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 2759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 2761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter. 2765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status. 2767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart) ARM GAS /tmp/ccQxTlMj.s page 50 2769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear TE and RE bits */ 2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */ 2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RE); 2778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 2782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 2784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Transmit break characters. 2789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 2791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart) 2793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */ 2795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 2796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 2798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Send break characters */ 2802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST); 2803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 2807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 2809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @} 2813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions 2816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART Peripheral State functions 2817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * 2818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @verbatim 2819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ============================================================================== 2820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### Peripheral State and Error functions ##### 2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ============================================================================== 2822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..] 2823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This subsection provides functions allowing to : 2824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Return the UART handle state. 2825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Return the UART handle error code ARM GAS /tmp/ccQxTlMj.s page 51 2826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @endverbatim 2828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{ 2829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Return the UART handle state. 2833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART. 2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL state 2836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart) 2838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t temp1; 2840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t temp2; 2841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** temp1 = huart->gState; 2842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** temp2 = huart->RxState; 2843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2); 2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Return the UART handle error code. 2849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART. 2851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval UART Error Code 2852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart) 2854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return huart->ErrorCode; 2856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @} 2859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @} 2863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions 2866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{ 2867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the callbacks to their default values. 2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval none 2873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart) 2876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the UART Callback settings */ 2878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC 2879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb 2880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC 2881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb 2882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba ARM GAS /tmp/ccQxTlMj.s page 52 2883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa 2884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm 2885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv 2886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM) 2887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR3_WUFIE) 2888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb 2889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */ 2890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR1_UESM */ 2891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall 2892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 2897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Configure the UART peripheral. 2898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 2900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 2901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart) 2902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tmpreg; 2904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t brrtemp; 2905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 2906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t usartdiv; 2907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 2908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t pclk; 2909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */ 2911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate)); 2912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 2913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 2914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 2915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity)); 2917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 2918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 2919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 2920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/ 2922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure 2923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling: 2924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value 2925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value 2926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value 2927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */ 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O 2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 2930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/ 2932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according 2933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * to huart->Init.StopBits value */ 2934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits); 2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/ 2937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Configure 2938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according 2939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * to huart->Init.HwFlowCtl value ARM GAS /tmp/ccQxTlMj.s page 53 2940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according 2941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */ 2942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl; 2943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling; 2945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 2946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/ 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource); 2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 2952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (clocksource) 2954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: 2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 2957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 2958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 2959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 2960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 2961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 2962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 2963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 2964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 2965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 2967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 2968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 2969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 2970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default: 2971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = 0U; 2972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ret = HAL_ERROR; 2973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 2974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 2977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pclk != 0U) 2978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate)); 2980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 2981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U); 2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 2984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 2985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 2987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ret = HAL_ERROR; 2989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 2993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (clocksource) 2995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1: ARM GAS /tmp/ccQxTlMj.s page 54 2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 2998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 2999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 3000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 3001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 3002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 3005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK: 3006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq(); 3007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 3008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 3011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default: 3012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = 0U; 3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ret = HAL_ERROR; 3014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 3015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pclk != 0U) 3018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate)); 3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 3022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)usartdiv; 3024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 3026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ret = HAL_ERROR; 3028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear ISR function pointers */ 3034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL; 3035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 3036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return ret; 3038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features. 3042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart) 3046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 3048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit)); 3049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure RX/TX pins swap */ 3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT)) 3052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap)); ARM GAS /tmp/ccQxTlMj.s page 55 3054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 3055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3056:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure TX pin active level inversion */ 3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT)) 3059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert)); 3061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 3062:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure RX pin active level inversion */ 3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT)) 3066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert)); 3068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 3069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure data inversion */ 3072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT)) 3073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert)); 3075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 3076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3078:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */ 3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT)) 3080:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable)); 3082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 3083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */ 3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT)) 3087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError)); 3089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 3090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */ 3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT)) 3094:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance)); 3096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 3098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE) 3100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode)); 3102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 3103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure MSB first on communication line */ 3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT)) 3108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst)); 3110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); ARM GAS /tmp/ccQxTlMj.s page 56 3111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Check the UART Idle State. 3116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 3118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart) 3120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart; 3122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize the UART ErrorCode */ 3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init tickstart for timeout management */ 3127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tickstart = HAL_GetTick(); 3128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check if the Transmitter is enabled */ 3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) 3131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Wait until TEACK flag is set */ 3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXE interrupt for the interrupt process */ 3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE)); 3137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 3141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Timeout occurred */ 3143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 3144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_ISR_REACK) 3147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check if the Receiver is enabled */ 3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) 3150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Wait until REACK flag is set */ 3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) 3155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** interrupts for the interrupt process */ 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 3162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Timeout occurred */ 3164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 3165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_ISR_REACK */ ARM GAS /tmp/ccQxTlMj.s page 57 3168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize the UART State */ 3170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 3176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 3178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits 3182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * until a flag is no longer in the specified status. 3183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Flag Specifies the UART flag to check 3185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET) 3186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Tickstart Tick start value 3187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Timeout Timeout duration 3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 3189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus 3191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout) 3192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Wait until flag is set */ 3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) 3195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check for the Timeout */ 3197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY) 3198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 3200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 3203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) && (Flag != UART_FLAG_TXE) && (Flag 3206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) == SET) 3208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear Overrun Error flag*/ 3210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 3211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Blocking error : transfer is aborted 3213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 3214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Disable Rx Interrupts if ongoing */ 3215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart); 3216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_ORE; 3218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Unlocked */ 3220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 3221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; 3223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET) ARM GAS /tmp/ccQxTlMj.s page 58 3225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear Receiver Timeout flag*/ 3227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 3228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Blocking error : transfer is aborted 3230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 3231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Disable Rx Interrupts if ongoing */ 3232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart); 3233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 3235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Unlocked */ 3237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart); 3238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT; 3240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 3245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode. 3249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode 3250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * UART Handle is assumed as Locked. 3253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 3257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size; 3262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size; 3263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL; 3264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 3267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */ 3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 3276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT; 3278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 3280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT; ARM GAS /tmp/ccQxTlMj.s page 59 3282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */ 3285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE); 3288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 3290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE); 3292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 3294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Start Receive operation in DMA mode. 3298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode. 3299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked, 3300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * i.e. Rx State, buffer address, ... 3301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * UART Handle is assumed as Locked. 3302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 3304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 3305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status 3306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 3308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = pData; 3310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size; 3311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 3314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL) 3316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 3318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt; 3319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 3321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt; 3322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the DMA error callback */ 3324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError; 3325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the DMA abort callback */ 3327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the DMA channel */ 3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPt 3331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */ 3333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 3334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->RxState to ready */ 3336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR; ARM GAS /tmp/ccQxTlMj.s page 60 3339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */ 3343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE) 3344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 3350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit 3352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the UART CR3 register */ 3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK; 3356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl 3361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart) 3365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 27 .loc 1 3365 1 view -0 28 .cfi_startproc 29 @ args = 0, pretend = 0, frame = 0 30 @ frame_needed = 0, uses_anonymous_args = 0 31 @ link register save eliminated. 32 .LVL0: 33 .L2: 3366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 3367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); 34 .loc 1 3367 3 discriminator 1 view .LVU1 35 .LBB414: 36 .loc 1 3367 3 discriminator 1 view .LVU2 37 .loc 1 3367 3 discriminator 1 view .LVU3 38 .loc 1 3367 3 discriminator 1 view .LVU4 39 0000 0268 ldr r2, [r0] 40 .LVL1: 41 .LBB415: 42 .LBI415: 43 .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 **** * ARM GAS /tmp/ccQxTlMj.s page 61 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at 15:Drivers/CMSIS/Include/cmsis_gcc.h **** * 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0 17:Drivers/CMSIS/Include/cmsis_gcc.h **** * 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 24:Drivers/CMSIS/Include/cmsis_gcc.h **** 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H 27:Drivers/CMSIS/Include/cmsis_gcc.h **** 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */ 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion" 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion" 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter" 33:Drivers/CMSIS/Include/cmsis_gcc.h **** 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */ 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0) 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 38:Drivers/CMSIS/Include/cmsis_gcc.h **** 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */ 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline 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))) ARM GAS /tmp/ccQxTlMj.s page 62 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */ 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; }; 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))- 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))- 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 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 ARM GAS /tmp/ccQxTlMj.s page 63 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void) 130:Drivers/CMSIS/Include/cmsis_gcc.h **** { 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory"); 132:Drivers/CMSIS/Include/cmsis_gcc.h **** } 133:Drivers/CMSIS/Include/cmsis_gcc.h **** 134:Drivers/CMSIS/Include/cmsis_gcc.h **** 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void) 141:Drivers/CMSIS/Include/cmsis_gcc.h **** { 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory"); 143:Drivers/CMSIS/Include/cmsis_gcc.h **** } 144:Drivers/CMSIS/Include/cmsis_gcc.h **** 145:Drivers/CMSIS/Include/cmsis_gcc.h **** 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register. 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void) 152:Drivers/CMSIS/Include/cmsis_gcc.h **** { 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 154:Drivers/CMSIS/Include/cmsis_gcc.h **** 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) ); 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 157:Drivers/CMSIS/Include/cmsis_gcc.h **** } 158:Drivers/CMSIS/Include/cmsis_gcc.h **** 159:Drivers/CMSIS/Include/cmsis_gcc.h **** 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 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 **** { ARM GAS /tmp/ccQxTlMj.s page 64 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); 184:Drivers/CMSIS/Include/cmsis_gcc.h **** } 185:Drivers/CMSIS/Include/cmsis_gcc.h **** 186:Drivers/CMSIS/Include/cmsis_gcc.h **** 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure) 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state. 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) 194:Drivers/CMSIS/Include/cmsis_gcc.h **** { 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); 196:Drivers/CMSIS/Include/cmsis_gcc.h **** } 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 198:Drivers/CMSIS/Include/cmsis_gcc.h **** 199:Drivers/CMSIS/Include/cmsis_gcc.h **** 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void) 206:Drivers/CMSIS/Include/cmsis_gcc.h **** { 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 208:Drivers/CMSIS/Include/cmsis_gcc.h **** 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 211:Drivers/CMSIS/Include/cmsis_gcc.h **** } 212:Drivers/CMSIS/Include/cmsis_gcc.h **** 213:Drivers/CMSIS/Include/cmsis_gcc.h **** 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register. 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 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 **** } ARM GAS /tmp/ccQxTlMj.s page 65 240:Drivers/CMSIS/Include/cmsis_gcc.h **** 241:Drivers/CMSIS/Include/cmsis_gcc.h **** 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP). 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void) 248:Drivers/CMSIS/Include/cmsis_gcc.h **** { 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 250:Drivers/CMSIS/Include/cmsis_gcc.h **** 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) ); 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 253:Drivers/CMSIS/Include/cmsis_gcc.h **** } 254:Drivers/CMSIS/Include/cmsis_gcc.h **** 255:Drivers/CMSIS/Include/cmsis_gcc.h **** 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure) 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) 263:Drivers/CMSIS/Include/cmsis_gcc.h **** { 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 265:Drivers/CMSIS/Include/cmsis_gcc.h **** 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 268:Drivers/CMSIS/Include/cmsis_gcc.h **** } 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 270:Drivers/CMSIS/Include/cmsis_gcc.h **** 271:Drivers/CMSIS/Include/cmsis_gcc.h **** 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP). 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set 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 **** /** ARM GAS /tmp/ccQxTlMj.s page 66 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP). 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void) 302:Drivers/CMSIS/Include/cmsis_gcc.h **** { 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 304:Drivers/CMSIS/Include/cmsis_gcc.h **** 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) ); 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 307:Drivers/CMSIS/Include/cmsis_gcc.h **** } 308:Drivers/CMSIS/Include/cmsis_gcc.h **** 309:Drivers/CMSIS/Include/cmsis_gcc.h **** 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure) 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) 317:Drivers/CMSIS/Include/cmsis_gcc.h **** { 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 319:Drivers/CMSIS/Include/cmsis_gcc.h **** 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 322:Drivers/CMSIS/Include/cmsis_gcc.h **** } 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 324:Drivers/CMSIS/Include/cmsis_gcc.h **** 325:Drivers/CMSIS/Include/cmsis_gcc.h **** 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP). 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) 332:Drivers/CMSIS/Include/cmsis_gcc.h **** { 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. ARM GAS /tmp/ccQxTlMj.s page 67 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) 357:Drivers/CMSIS/Include/cmsis_gcc.h **** { 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 359:Drivers/CMSIS/Include/cmsis_gcc.h **** 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 362:Drivers/CMSIS/Include/cmsis_gcc.h **** } 363:Drivers/CMSIS/Include/cmsis_gcc.h **** 364:Drivers/CMSIS/Include/cmsis_gcc.h **** 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure) 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) 371:Drivers/CMSIS/Include/cmsis_gcc.h **** { 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); 373:Drivers/CMSIS/Include/cmsis_gcc.h **** } 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 375:Drivers/CMSIS/Include/cmsis_gcc.h **** 376:Drivers/CMSIS/Include/cmsis_gcc.h **** 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register. 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) 383:Drivers/CMSIS/Include/cmsis_gcc.h **** { 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 385:Drivers/CMSIS/Include/cmsis_gcc.h **** 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 388:Drivers/CMSIS/Include/cmsis_gcc.h **** } 389:Drivers/CMSIS/Include/cmsis_gcc.h **** 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 ARM GAS /tmp/ccQxTlMj.s page 68 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) 413:Drivers/CMSIS/Include/cmsis_gcc.h **** { 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); 415:Drivers/CMSIS/Include/cmsis_gcc.h **** } 416:Drivers/CMSIS/Include/cmsis_gcc.h **** 417:Drivers/CMSIS/Include/cmsis_gcc.h **** 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure) 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state. 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) 425:Drivers/CMSIS/Include/cmsis_gcc.h **** { 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); 427:Drivers/CMSIS/Include/cmsis_gcc.h **** } 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 429:Drivers/CMSIS/Include/cmsis_gcc.h **** 430:Drivers/CMSIS/Include/cmsis_gcc.h **** 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR. 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void) 440:Drivers/CMSIS/Include/cmsis_gcc.h **** { 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory"); 442:Drivers/CMSIS/Include/cmsis_gcc.h **** } 443:Drivers/CMSIS/Include/cmsis_gcc.h **** 444:Drivers/CMSIS/Include/cmsis_gcc.h **** 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ 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 **** } ARM GAS /tmp/ccQxTlMj.s page 69 468:Drivers/CMSIS/Include/cmsis_gcc.h **** 469:Drivers/CMSIS/Include/cmsis_gcc.h **** 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure) 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state. 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) 477:Drivers/CMSIS/Include/cmsis_gcc.h **** { 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 479:Drivers/CMSIS/Include/cmsis_gcc.h **** 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 482:Drivers/CMSIS/Include/cmsis_gcc.h **** } 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 484:Drivers/CMSIS/Include/cmsis_gcc.h **** 485:Drivers/CMSIS/Include/cmsis_gcc.h **** 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register. 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) 492:Drivers/CMSIS/Include/cmsis_gcc.h **** { 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); 494:Drivers/CMSIS/Include/cmsis_gcc.h **** } 495:Drivers/CMSIS/Include/cmsis_gcc.h **** 496:Drivers/CMSIS/Include/cmsis_gcc.h **** 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure) 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state. 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) 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. ARM GAS /tmp/ccQxTlMj.s page 70 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) 528:Drivers/CMSIS/Include/cmsis_gcc.h **** { 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 530:Drivers/CMSIS/Include/cmsis_gcc.h **** 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 533:Drivers/CMSIS/Include/cmsis_gcc.h **** } 534:Drivers/CMSIS/Include/cmsis_gcc.h **** 535:Drivers/CMSIS/Include/cmsis_gcc.h **** 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure) 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state. 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) 543:Drivers/CMSIS/Include/cmsis_gcc.h **** { 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 545:Drivers/CMSIS/Include/cmsis_gcc.h **** 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 548:Drivers/CMSIS/Include/cmsis_gcc.h **** } 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 550:Drivers/CMSIS/Include/cmsis_gcc.h **** 551:Drivers/CMSIS/Include/cmsis_gcc.h **** 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register. 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) 558:Drivers/CMSIS/Include/cmsis_gcc.h **** { 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); 560:Drivers/CMSIS/Include/cmsis_gcc.h **** } 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)) ) ARM GAS /tmp/ccQxTlMj.s page 71 582:Drivers/CMSIS/Include/cmsis_gcc.h **** 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 588:Drivers/CMSIS/Include/cmsis_gcc.h **** 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) 593:Drivers/CMSIS/Include/cmsis_gcc.h **** { 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) ); 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 603:Drivers/CMSIS/Include/cmsis_gcc.h **** } 604:Drivers/CMSIS/Include/cmsis_gcc.h **** 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure) 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always. 610:Drivers/CMSIS/Include/cmsis_gcc.h **** 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) 615:Drivers/CMSIS/Include/cmsis_gcc.h **** { 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 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 **** { ARM GAS /tmp/ccQxTlMj.s page 72 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit; 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 646:Drivers/CMSIS/Include/cmsis_gcc.h **** } 647:Drivers/CMSIS/Include/cmsis_gcc.h **** 648:Drivers/CMSIS/Include/cmsis_gcc.h **** 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure) 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored. 654:Drivers/CMSIS/Include/cmsis_gcc.h **** 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) 659:Drivers/CMSIS/Include/cmsis_gcc.h **** { 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit; 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 666:Drivers/CMSIS/Include/cmsis_gcc.h **** } 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 668:Drivers/CMSIS/Include/cmsis_gcc.h **** 669:Drivers/CMSIS/Include/cmsis_gcc.h **** 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 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) ARM GAS /tmp/ccQxTlMj.s page 73 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always. 698:Drivers/CMSIS/Include/cmsis_gcc.h **** 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) 703:Drivers/CMSIS/Include/cmsis_gcc.h **** { 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 712:Drivers/CMSIS/Include/cmsis_gcc.h **** } 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 714:Drivers/CMSIS/Include/cmsis_gcc.h **** 715:Drivers/CMSIS/Include/cmsis_gcc.h **** 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 721:Drivers/CMSIS/Include/cmsis_gcc.h **** 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) 726:Drivers/CMSIS/Include/cmsis_gcc.h **** { 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit; 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 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)); ARM GAS /tmp/ccQxTlMj.s page 74 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 754:Drivers/CMSIS/Include/cmsis_gcc.h **** } 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 756:Drivers/CMSIS/Include/cmsis_gcc.h **** 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ 759:Drivers/CMSIS/Include/cmsis_gcc.h **** 760:Drivers/CMSIS/Include/cmsis_gcc.h **** 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register. 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void) 767:Drivers/CMSIS/Include/cmsis_gcc.h **** { 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr) 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr(); 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 777:Drivers/CMSIS/Include/cmsis_gcc.h **** 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) ); 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U); 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 784:Drivers/CMSIS/Include/cmsis_gcc.h **** } 785:Drivers/CMSIS/Include/cmsis_gcc.h **** 786:Drivers/CMSIS/Include/cmsis_gcc.h **** 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR 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 **** ARM GAS /tmp/ccQxTlMj.s page 75 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */ 811:Drivers/CMSIS/Include/cmsis_gcc.h **** 812:Drivers/CMSIS/Include/cmsis_gcc.h **** 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */ 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 818:Drivers/CMSIS/Include/cmsis_gcc.h **** 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2. 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l" 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */ 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__) 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r) 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r) 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r) 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r) 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r) 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r) 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 831:Drivers/CMSIS/Include/cmsis_gcc.h **** 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes. 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop") 837:Drivers/CMSIS/Include/cmsis_gcc.h **** 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi") 843:Drivers/CMSIS/Include/cmsis_gcc.h **** 844:Drivers/CMSIS/Include/cmsis_gcc.h **** 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 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) ARM GAS /tmp/ccQxTlMj.s page 76 867:Drivers/CMSIS/Include/cmsis_gcc.h **** { 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory"); 869:Drivers/CMSIS/Include/cmsis_gcc.h **** } 870:Drivers/CMSIS/Include/cmsis_gcc.h **** 871:Drivers/CMSIS/Include/cmsis_gcc.h **** 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier. 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete. 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void) 878:Drivers/CMSIS/Include/cmsis_gcc.h **** { 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory"); 880:Drivers/CMSIS/Include/cmsis_gcc.h **** } 881:Drivers/CMSIS/Include/cmsis_gcc.h **** 882:Drivers/CMSIS/Include/cmsis_gcc.h **** 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion. 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void) 889:Drivers/CMSIS/Include/cmsis_gcc.h **** { 890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory"); 891:Drivers/CMSIS/Include/cmsis_gcc.h **** } 892:Drivers/CMSIS/Include/cmsis_gcc.h **** 893:Drivers/CMSIS/Include/cmsis_gcc.h **** 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit) 896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785 897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 899:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value) 901:Drivers/CMSIS/Include/cmsis_gcc.h **** { 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) 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) ); ARM GAS /tmp/ccQxTlMj.s page 77 924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 925:Drivers/CMSIS/Include/cmsis_gcc.h **** } 926:Drivers/CMSIS/Include/cmsis_gcc.h **** 927:Drivers/CMSIS/Include/cmsis_gcc.h **** 928:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit) 930:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For exam 931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 933:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value) 935:Drivers/CMSIS/Include/cmsis_gcc.h **** { 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value); 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result; 940:Drivers/CMSIS/Include/cmsis_gcc.h **** 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 944:Drivers/CMSIS/Include/cmsis_gcc.h **** } 945:Drivers/CMSIS/Include/cmsis_gcc.h **** 946:Drivers/CMSIS/Include/cmsis_gcc.h **** 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit) 949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v 950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value 953:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) 955:Drivers/CMSIS/Include/cmsis_gcc.h **** { 956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U; 957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U) 958:Drivers/CMSIS/Include/cmsis_gcc.h **** { 959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1; 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 **** */ ARM GAS /tmp/ccQxTlMj.s page 78 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value) 982:Drivers/CMSIS/Include/cmsis_gcc.h **** { 983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 984:Drivers/CMSIS/Include/cmsis_gcc.h **** 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) 988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) ); 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */ 991:Drivers/CMSIS/Include/cmsis_gcc.h **** 992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */ 993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U) 994:Drivers/CMSIS/Include/cmsis_gcc.h **** { 995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U; 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U; 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--; 998:Drivers/CMSIS/Include/cmsis_gcc.h **** } 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */ 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 1002:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1003:Drivers/CMSIS/Include/cmsis_gcc.h **** 1004:Drivers/CMSIS/Include/cmsis_gcc.h **** 1005:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1006:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Count leading zeros 1007:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Counts the number of leading zeros of a data value. 1008:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to count the leading zeros 1009:Drivers/CMSIS/Include/cmsis_gcc.h **** \return number of leading zeros in value 1010:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1011:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CLZ (uint8_t)__builtin_clz 1012:Drivers/CMSIS/Include/cmsis_gcc.h **** 1013:Drivers/CMSIS/Include/cmsis_gcc.h **** 1014:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 1015:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 1016:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 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 **** } ARM GAS /tmp/ccQxTlMj.s page 79 1038:Drivers/CMSIS/Include/cmsis_gcc.h **** 1039:Drivers/CMSIS/Include/cmsis_gcc.h **** 1040:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1041:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (16 bit) 1042:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 16 bit values. 1043:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 1044:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint16_t at (*ptr) 1045:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1046:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr) 1047:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1048:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1049:Drivers/CMSIS/Include/cmsis_gcc.h **** 1050:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) 1051:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) ); 1052:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 1053:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not 1054:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern. 1055:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1056:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); 1057:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1058:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); /* Add explicit type cast here */ 1059:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1060:Drivers/CMSIS/Include/cmsis_gcc.h **** 1061:Drivers/CMSIS/Include/cmsis_gcc.h **** 1062:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1063:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (32 bit) 1064:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 32 bit values. 1065:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data 1066:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr) 1067:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr) 44 .loc 2 1068 31 view .LVU5 45 .LBB416: 1069:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 46 .loc 2 1070 5 view .LVU6 1071:Drivers/CMSIS/Include/cmsis_gcc.h **** 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 47 .loc 2 1072 4 view .LVU7 48 .syntax unified 49 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 50 0002 52E8003F ldrex r3, [r2] 51 @ 0 "" 2 52 .LVL2: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 53 .loc 2 1073 4 view .LVU8 54 .loc 2 1073 4 is_stmt 0 view .LVU9 55 .thumb 56 .syntax unified 57 .LBE416: 58 .LBE415: 59 .loc 1 3367 3 discriminator 1 view .LVU10 60 0006 23F0C003 bic r3, r3, #192 61 .LVL3: 62 .loc 1 3367 3 is_stmt 1 discriminator 1 view .LVU11 63 .LBB417: 64 .LBI417: ARM GAS /tmp/ccQxTlMj.s page 80 1074:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1075:Drivers/CMSIS/Include/cmsis_gcc.h **** 1076:Drivers/CMSIS/Include/cmsis_gcc.h **** 1077:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1078:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (8 bit) 1079:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 8 bit values. 1080:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 1081:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 1082:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 1083:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 1084:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1085:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr) 1086:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1087:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1088:Drivers/CMSIS/Include/cmsis_gcc.h **** 1089:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); 1090:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1091:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1092:Drivers/CMSIS/Include/cmsis_gcc.h **** 1093:Drivers/CMSIS/Include/cmsis_gcc.h **** 1094:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1095:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (16 bit) 1096:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 16 bit values. 1097:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 1098:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location 1099:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded 1100:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 1101:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1102:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr) 1103:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1104:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1105:Drivers/CMSIS/Include/cmsis_gcc.h **** 1106:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); 1107:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1108:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1109:Drivers/CMSIS/Include/cmsis_gcc.h **** 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) 65 .loc 2 1119 31 view .LVU12 66 .LBB418: 1120:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 67 .loc 2 1121 4 view .LVU13 1122:Drivers/CMSIS/Include/cmsis_gcc.h **** 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 68 .loc 2 1123 4 view .LVU14 69 .syntax unified 70 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 71 000a 42E80031 strex r1, r3, [r2] ARM GAS /tmp/ccQxTlMj.s page 81 72 @ 0 "" 2 73 .LVL4: 1124:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 74 .loc 2 1124 4 view .LVU15 75 .loc 2 1124 4 is_stmt 0 view .LVU16 76 .thumb 77 .syntax unified 78 .LBE418: 79 .LBE417: 80 .loc 1 3367 3 discriminator 1 view .LVU17 81 000e 0029 cmp r1, #0 82 0010 F6D1 bne .L2 83 .LBE414: 84 .loc 1 3367 3 is_stmt 1 discriminator 2 view .LVU18 3368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 3370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 85 .loc 1 3370 3 view .LVU19 86 .loc 1 3370 17 is_stmt 0 view .LVU20 87 0012 2023 movs r3, #32 88 .LVL5: 89 .loc 1 3370 17 view .LVU21 90 0014 C367 str r3, [r0, #124] 3371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 91 .loc 1 3371 1 view .LVU22 92 0016 7047 bx lr 93 .cfi_endproc 94 .LFE191: 96 .section .text.UART_EndRxTransfer,"ax",%progbits 97 .align 1 98 .syntax unified 99 .thumb 100 .thumb_func 102 UART_EndRxTransfer: 103 .LFB192: 3372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp 3376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart) 3380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 104 .loc 1 3380 1 is_stmt 1 view -0 105 .cfi_startproc 106 @ args = 0, pretend = 0, frame = 0 107 @ frame_needed = 0, uses_anonymous_args = 0 108 @ link register save eliminated. 109 .LVL6: 110 .L4: 3381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 111 .loc 1 3382 3 discriminator 1 view .LVU24 112 .LBB419: 113 .loc 1 3382 3 discriminator 1 view .LVU25 114 .loc 1 3382 3 discriminator 1 view .LVU26 ARM GAS /tmp/ccQxTlMj.s page 82 115 .loc 1 3382 3 discriminator 1 view .LVU27 116 0000 0268 ldr r2, [r0] 117 .LVL7: 118 .LBB420: 119 .LBI420: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 120 .loc 2 1068 31 view .LVU28 121 .LBB421: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 122 .loc 2 1070 5 view .LVU29 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 123 .loc 2 1072 4 view .LVU30 124 .syntax unified 125 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 126 0002 52E8003F ldrex r3, [r2] 127 @ 0 "" 2 128 .LVL8: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 129 .loc 2 1073 4 view .LVU31 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 130 .loc 2 1073 4 is_stmt 0 view .LVU32 131 .thumb 132 .syntax unified 133 .LBE421: 134 .LBE420: 135 .loc 1 3382 3 discriminator 1 view .LVU33 136 0006 23F49073 bic r3, r3, #288 137 .LVL9: 138 .loc 1 3382 3 is_stmt 1 discriminator 1 view .LVU34 139 .LBB422: 140 .LBI422: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 141 .loc 2 1119 31 view .LVU35 142 .LBB423: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 143 .loc 2 1121 4 view .LVU36 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 144 .loc 2 1123 4 view .LVU37 145 .syntax unified 146 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 147 000a 42E80031 strex r1, r3, [r2] 148 @ 0 "" 2 149 .LVL10: 150 .loc 2 1124 4 view .LVU38 151 .loc 2 1124 4 is_stmt 0 view .LVU39 152 .thumb 153 .syntax unified 154 .LBE423: 155 .LBE422: 156 .loc 1 3382 3 discriminator 1 view .LVU40 157 000e 0029 cmp r1, #0 158 0010 F6D1 bne .L4 159 .LVL11: 160 .L5: 161 .loc 1 3382 3 discriminator 1 view .LVU41 162 .LBE419: 163 .loc 1 3382 3 is_stmt 1 discriminator 2 view .LVU42 ARM GAS /tmp/ccQxTlMj.s page 83 3383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 164 .loc 1 3383 3 discriminator 1 view .LVU43 165 .LBB424: 166 .loc 1 3383 3 discriminator 1 view .LVU44 167 .loc 1 3383 3 discriminator 1 view .LVU45 168 .loc 1 3383 3 discriminator 1 view .LVU46 169 0012 0268 ldr r2, [r0] 170 .LVL12: 171 .LBB425: 172 .LBI425: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 173 .loc 2 1068 31 view .LVU47 174 .LBB426: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 175 .loc 2 1070 5 view .LVU48 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 176 .loc 2 1072 4 view .LVU49 177 0014 02F10803 add r3, r2, #8 178 .LVL13: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 179 .loc 2 1072 4 is_stmt 0 view .LVU50 180 .syntax unified 181 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 182 0018 53E8003F ldrex r3, [r3] 183 @ 0 "" 2 184 .LVL14: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 185 .loc 2 1073 4 is_stmt 1 view .LVU51 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 186 .loc 2 1073 4 is_stmt 0 view .LVU52 187 .thumb 188 .syntax unified 189 .LBE426: 190 .LBE425: 191 .loc 1 3383 3 discriminator 1 view .LVU53 192 001c 23F00103 bic r3, r3, #1 193 .LVL15: 194 .loc 1 3383 3 is_stmt 1 discriminator 1 view .LVU54 195 .LBB427: 196 .LBI427: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 197 .loc 2 1119 31 view .LVU55 198 .LBB428: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 199 .loc 2 1121 4 view .LVU56 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 200 .loc 2 1123 4 view .LVU57 201 0020 0832 adds r2, r2, #8 202 .LVL16: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 203 .loc 2 1123 4 is_stmt 0 view .LVU58 204 .syntax unified 205 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 206 0022 42E80031 strex r1, r3, [r2] 207 @ 0 "" 2 208 .LVL17: 209 .loc 2 1124 4 is_stmt 1 view .LVU59 ARM GAS /tmp/ccQxTlMj.s page 84 210 .loc 2 1124 4 is_stmt 0 view .LVU60 211 .thumb 212 .syntax unified 213 .LBE428: 214 .LBE427: 215 .loc 1 3383 3 discriminator 1 view .LVU61 216 0026 0029 cmp r1, #0 217 0028 F3D1 bne .L5 218 .LBE424: 219 .loc 1 3383 3 is_stmt 1 discriminator 2 view .LVU62 3384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ 3386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 220 .loc 1 3386 3 view .LVU63 221 .loc 1 3386 12 is_stmt 0 view .LVU64 222 002a 036E ldr r3, [r0, #96] 223 .LVL18: 224 .loc 1 3386 6 view .LVU65 225 002c 012B cmp r3, #1 226 002e 06D0 beq .L7 227 .L6: 3387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 228 .loc 1 3388 5 is_stmt 1 discriminator 2 view .LVU66 3389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 229 .loc 1 3392 3 view .LVU67 230 .loc 1 3392 18 is_stmt 0 view .LVU68 231 0030 2023 movs r3, #32 232 0032 C0F88030 str r3, [r0, #128] 3393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 233 .loc 1 3393 3 is_stmt 1 view .LVU69 234 .loc 1 3393 24 is_stmt 0 view .LVU70 235 0036 0023 movs r3, #0 236 0038 0366 str r3, [r0, #96] 3394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset RxIsr function pointer */ 3396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL; 237 .loc 1 3396 3 is_stmt 1 view .LVU71 238 .loc 1 3396 16 is_stmt 0 view .LVU72 239 003a 8366 str r3, [r0, #104] 3397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 240 .loc 1 3397 1 view .LVU73 241 003c 7047 bx lr 242 .L7: 3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 243 .loc 1 3388 5 is_stmt 1 discriminator 1 view .LVU74 244 .LBB429: 3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 245 .loc 1 3388 5 discriminator 1 view .LVU75 3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 246 .loc 1 3388 5 discriminator 1 view .LVU76 3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 247 .loc 1 3388 5 discriminator 1 view .LVU77 248 003e 0268 ldr r2, [r0] ARM GAS /tmp/ccQxTlMj.s page 85 249 .LVL19: 250 .LBB430: 251 .LBI430: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 252 .loc 2 1068 31 view .LVU78 253 .LBB431: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 254 .loc 2 1070 5 view .LVU79 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 255 .loc 2 1072 4 view .LVU80 256 .syntax unified 257 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 258 0040 52E8003F ldrex r3, [r2] 259 @ 0 "" 2 260 .LVL20: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 261 .loc 2 1073 4 view .LVU81 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 262 .loc 2 1073 4 is_stmt 0 view .LVU82 263 .thumb 264 .syntax unified 265 .LBE431: 266 .LBE430: 3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 267 .loc 1 3388 5 discriminator 1 view .LVU83 268 0044 23F01003 bic r3, r3, #16 269 .LVL21: 3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 270 .loc 1 3388 5 is_stmt 1 discriminator 1 view .LVU84 271 .LBB432: 272 .LBI432: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 273 .loc 2 1119 31 view .LVU85 274 .LBB433: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 275 .loc 2 1121 4 view .LVU86 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 276 .loc 2 1123 4 view .LVU87 277 .syntax unified 278 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 279 0048 42E80031 strex r1, r3, [r2] 280 @ 0 "" 2 281 .LVL22: 282 .loc 2 1124 4 view .LVU88 283 .loc 2 1124 4 is_stmt 0 view .LVU89 284 .thumb 285 .syntax unified 286 .LBE433: 287 .LBE432: 3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 288 .loc 1 3388 5 discriminator 1 view .LVU90 289 004c 0029 cmp r1, #0 290 004e F6D1 bne .L7 291 0050 EEE7 b .L6 292 .LBE429: 293 .cfi_endproc 294 .LFE192: ARM GAS /tmp/ccQxTlMj.s page 86 296 .section .text.UART_TxISR_8BIT,"ax",%progbits 297 .align 1 298 .syntax unified 299 .thumb 300 .thumb_func 302 UART_TxISR_8BIT: 303 .LVL23: 304 .LFB203: 3398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART transmit process complete callback. 3402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle. 3403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma) 3406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA Normal mode */ 3410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR) 3411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 3413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit 3415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the UART CR3 register */ 3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 3417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA Circular mode */ 3422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 3423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxCpltCallback(huart); 3427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback. 3436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle. 3437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) 3440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Tx Half complete callback*/ 3445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxHalfCpltCallback(huart); 3446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else ARM GAS /tmp/ccQxTlMj.s page 87 3447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/ 3448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart); 3449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART receive process complete callback. 3454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle. 3455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 3458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA Normal mode */ 3462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR) 3463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 3471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the UART CR3 register */ 3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */ 3478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 3485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** In this case, Rx Event type is Transfer Complete */ 3486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check current reception Mode : 3489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 3501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In other cases : use Rx Complete callback */ 3503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) ARM GAS /tmp/ccQxTlMj.s page 88 3504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback(huart); 3506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART receive process half complete callback. 3515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle. 3516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) 3519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution; 3523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** In this case, Rx Event type is Half Transfer */ 3524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_HT; 3525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check current reception Mode : 3527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */ 3528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U); 3533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U); 3536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 3539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */ 3541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Half complete callback*/ 3543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxHalfCpltCallback(huart); 3544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/ 3546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart); 3547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART communication error callback. 3553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle. 3554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma) 3557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; ARM GAS /tmp/ccQxTlMj.s page 89 3561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 3564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 3565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 3568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndTxTransfer(huart); 3569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 3572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 3573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart); 3577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA; 3580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered error callback*/ 3583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback(huart); 3584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak error callback*/ 3586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error 3592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence). 3593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle. 3594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) 3597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 3601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered error callback*/ 3604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback(huart); 3605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak error callback*/ 3607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user 3613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request). 3614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle. 3616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle. 3617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None ARM GAS /tmp/ccQxTlMj.s page 90 3618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) 3620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 3624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL) 3627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL) 3629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 3631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 3636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset errorCode */ 3639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user Abort complete callback */ 3651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort complete callback */ 3653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user 3663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request). 3664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle. 3666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle. 3667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) 3670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 91 3675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL) 3677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL) 3679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 3681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 3686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset errorCode */ 3689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */ 3695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user Abort complete callback */ 3703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort complete callback */ 3705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to 3715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer) 3716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques 3717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution). 3718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle. 3719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 3726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState to Ready */ 3729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user Abort complete callback */ ARM GAS /tmp/ccQxTlMj.s page 92 3732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 3734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 3735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 3737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 3738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to 3743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer) 3744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques 3745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution). 3746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle. 3747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */ 3759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 3762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user Abort complete callback */ 3766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 3768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 3769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 3771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 3772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length . 3777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note Function is called under interruption only, once 3778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart) 3783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 305 .loc 1 3783 1 is_stmt 1 view -0 306 .cfi_startproc 307 @ args = 0, pretend = 0, frame = 0 308 @ frame_needed = 0, uses_anonymous_args = 0 309 @ link register save eliminated. ARM GAS /tmp/ccQxTlMj.s page 93 3784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 310 .loc 1 3785 3 view .LVU92 311 .loc 1 3785 12 is_stmt 0 view .LVU93 312 0000 C36F ldr r3, [r0, #124] 313 .loc 1 3785 6 view .LVU94 314 0002 212B cmp r3, #33 315 0004 00D0 beq .L13 316 .L8: 3786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 3791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 3796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF); 3798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++; 3799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--; 3800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 317 .loc 1 3802 1 view .LVU95 318 0006 7047 bx lr 319 .L13: 3787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 320 .loc 1 3787 5 is_stmt 1 view .LVU96 3787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 321 .loc 1 3787 14 is_stmt 0 view .LVU97 322 0008 B0F85230 ldrh r3, [r0, #82] 323 000c 9BB2 uxth r3, r3 3787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 324 .loc 1 3787 8 view .LVU98 325 000e 93B9 cbnz r3, .L10 326 .L11: 3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 327 .loc 1 3790 7 is_stmt 1 discriminator 1 view .LVU99 328 .LBB434: 3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 329 .loc 1 3790 7 discriminator 1 view .LVU100 3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 330 .loc 1 3790 7 discriminator 1 view .LVU101 3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 331 .loc 1 3790 7 discriminator 1 view .LVU102 332 0010 0268 ldr r2, [r0] 333 .LVL24: 334 .LBB435: 335 .LBI435: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 336 .loc 2 1068 31 view .LVU103 337 .LBB436: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 338 .loc 2 1070 5 view .LVU104 ARM GAS /tmp/ccQxTlMj.s page 94 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 339 .loc 2 1072 4 view .LVU105 340 .syntax unified 341 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 342 0012 52E8003F ldrex r3, [r2] 343 @ 0 "" 2 344 .LVL25: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 345 .loc 2 1073 4 view .LVU106 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 346 .loc 2 1073 4 is_stmt 0 view .LVU107 347 .thumb 348 .syntax unified 349 .LBE436: 350 .LBE435: 3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 351 .loc 1 3790 7 discriminator 1 view .LVU108 352 0016 23F08003 bic r3, r3, #128 353 .LVL26: 3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 354 .loc 1 3790 7 is_stmt 1 discriminator 1 view .LVU109 355 .LBB437: 356 .LBI437: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 357 .loc 2 1119 31 view .LVU110 358 .LBB438: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 359 .loc 2 1121 4 view .LVU111 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 360 .loc 2 1123 4 view .LVU112 361 .syntax unified 362 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 363 001a 42E80031 strex r1, r3, [r2] 364 @ 0 "" 2 365 .LVL27: 366 .loc 2 1124 4 view .LVU113 367 .loc 2 1124 4 is_stmt 0 view .LVU114 368 .thumb 369 .syntax unified 370 .LBE438: 371 .LBE437: 3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 372 .loc 1 3790 7 discriminator 1 view .LVU115 373 001e 0029 cmp r1, #0 374 0020 F6D1 bne .L11 375 .LVL28: 376 .L12: 3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 377 .loc 1 3790 7 discriminator 1 view .LVU116 378 .LBE434: 3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 379 .loc 1 3790 7 is_stmt 1 discriminator 2 view .LVU117 3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 380 .loc 1 3793 7 discriminator 1 view .LVU118 381 .LBB439: 3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 382 .loc 1 3793 7 discriminator 1 view .LVU119 ARM GAS /tmp/ccQxTlMj.s page 95 3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 383 .loc 1 3793 7 discriminator 1 view .LVU120 3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 384 .loc 1 3793 7 discriminator 1 view .LVU121 385 0022 0268 ldr r2, [r0] 386 .LVL29: 387 .LBB440: 388 .LBI440: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 389 .loc 2 1068 31 view .LVU122 390 .LBB441: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 391 .loc 2 1070 5 view .LVU123 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 392 .loc 2 1072 4 view .LVU124 393 .syntax unified 394 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 395 0024 52E8003F ldrex r3, [r2] 396 @ 0 "" 2 397 .LVL30: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 398 .loc 2 1073 4 view .LVU125 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 399 .loc 2 1073 4 is_stmt 0 view .LVU126 400 .thumb 401 .syntax unified 402 .LBE441: 403 .LBE440: 3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 404 .loc 1 3793 7 discriminator 1 view .LVU127 405 0028 43F04003 orr r3, r3, #64 406 .LVL31: 3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 407 .loc 1 3793 7 is_stmt 1 discriminator 1 view .LVU128 408 .LBB442: 409 .LBI442: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 410 .loc 2 1119 31 view .LVU129 411 .LBB443: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 412 .loc 2 1121 4 view .LVU130 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 413 .loc 2 1123 4 view .LVU131 414 .syntax unified 415 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 416 002c 42E80031 strex r1, r3, [r2] 417 @ 0 "" 2 418 .LVL32: 419 .loc 2 1124 4 view .LVU132 420 .loc 2 1124 4 is_stmt 0 view .LVU133 421 .thumb 422 .syntax unified 423 .LBE443: 424 .LBE442: 3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 425 .loc 1 3793 7 discriminator 1 view .LVU134 426 0030 0029 cmp r1, #0 ARM GAS /tmp/ccQxTlMj.s page 96 427 0032 F6D1 bne .L12 428 0034 7047 bx lr 429 .LVL33: 430 .L10: 3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 431 .loc 1 3793 7 discriminator 1 view .LVU135 432 .LBE439: 3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++; 433 .loc 1 3797 7 is_stmt 1 view .LVU136 3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++; 434 .loc 1 3797 46 is_stmt 0 view .LVU137 435 0036 C36C ldr r3, [r0, #76] 3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++; 436 .loc 1 3797 40 view .LVU138 437 0038 1A78 ldrb r2, [r3] @ zero_extendqisi2 3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++; 438 .loc 1 3797 12 view .LVU139 439 003a 0368 ldr r3, [r0] 3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++; 440 .loc 1 3797 28 view .LVU140 441 003c 9A62 str r2, [r3, #40] 3798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--; 442 .loc 1 3798 7 is_stmt 1 view .LVU141 3798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--; 443 .loc 1 3798 12 is_stmt 0 view .LVU142 444 003e C36C ldr r3, [r0, #76] 3798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--; 445 .loc 1 3798 24 view .LVU143 446 0040 0133 adds r3, r3, #1 447 0042 C364 str r3, [r0, #76] 3799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 448 .loc 1 3799 7 is_stmt 1 view .LVU144 3799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 449 .loc 1 3799 12 is_stmt 0 view .LVU145 450 0044 B0F85230 ldrh r3, [r0, #82] 451 0048 9BB2 uxth r3, r3 3799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 452 .loc 1 3799 25 view .LVU146 453 004a 013B subs r3, r3, #1 454 004c 9BB2 uxth r3, r3 455 004e A0F85230 strh r3, [r0, #82] @ movhi 456 .loc 1 3802 1 view .LVU147 457 0052 D8E7 b .L8 458 .cfi_endproc 459 .LFE203: 461 .section .text.UART_TxISR_16BIT,"ax",%progbits 462 .align 1 463 .syntax unified 464 .thumb 465 .thumb_func 467 UART_TxISR_16BIT: 468 .LVL34: 469 .LFB204: 3803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length. 3806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note Function is called under interruption only, once ARM GAS /tmp/ccQxTlMj.s page 97 3807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart) 3812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 470 .loc 1 3812 1 is_stmt 1 view -0 471 .cfi_startproc 472 @ args = 0, pretend = 0, frame = 0 473 @ frame_needed = 0, uses_anonymous_args = 0 474 @ link register save eliminated. 3813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint16_t *tmp; 475 .loc 1 3813 3 view .LVU149 3814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 476 .loc 1 3816 3 view .LVU150 477 .loc 1 3816 12 is_stmt 0 view .LVU151 478 0000 C36F ldr r3, [r0, #124] 479 .loc 1 3816 6 view .LVU152 480 0002 212B cmp r3, #33 481 0004 00D0 beq .L19 482 .L14: 3817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE); 3822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 3827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr; 3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 3830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 3831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--; 3832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 483 .loc 1 3834 1 view .LVU153 484 0006 7047 bx lr 485 .L19: 3818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 486 .loc 1 3818 5 is_stmt 1 view .LVU154 3818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 487 .loc 1 3818 14 is_stmt 0 view .LVU155 488 0008 B0F85230 ldrh r3, [r0, #82] 489 000c 9BB2 uxth r3, r3 3818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 490 .loc 1 3818 8 view .LVU156 491 000e 93B9 cbnz r3, .L16 492 .L17: 3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 493 .loc 1 3821 7 is_stmt 1 discriminator 1 view .LVU157 494 .LBB444: ARM GAS /tmp/ccQxTlMj.s page 98 3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 495 .loc 1 3821 7 discriminator 1 view .LVU158 3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 496 .loc 1 3821 7 discriminator 1 view .LVU159 3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 497 .loc 1 3821 7 discriminator 1 view .LVU160 498 0010 0268 ldr r2, [r0] 499 .LVL35: 500 .LBB445: 501 .LBI445: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 502 .loc 2 1068 31 view .LVU161 503 .LBB446: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 504 .loc 2 1070 5 view .LVU162 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 505 .loc 2 1072 4 view .LVU163 506 .syntax unified 507 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 508 0012 52E8003F ldrex r3, [r2] 509 @ 0 "" 2 510 .LVL36: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 511 .loc 2 1073 4 view .LVU164 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 512 .loc 2 1073 4 is_stmt 0 view .LVU165 513 .thumb 514 .syntax unified 515 .LBE446: 516 .LBE445: 3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 517 .loc 1 3821 7 discriminator 1 view .LVU166 518 0016 23F08003 bic r3, r3, #128 519 .LVL37: 3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 520 .loc 1 3821 7 is_stmt 1 discriminator 1 view .LVU167 521 .LBB447: 522 .LBI447: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 523 .loc 2 1119 31 view .LVU168 524 .LBB448: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 525 .loc 2 1121 4 view .LVU169 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 526 .loc 2 1123 4 view .LVU170 527 .syntax unified 528 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 529 001a 42E80031 strex r1, r3, [r2] 530 @ 0 "" 2 531 .LVL38: 532 .loc 2 1124 4 view .LVU171 533 .loc 2 1124 4 is_stmt 0 view .LVU172 534 .thumb 535 .syntax unified 536 .LBE448: 537 .LBE447: 3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 99 538 .loc 1 3821 7 discriminator 1 view .LVU173 539 001e 0029 cmp r1, #0 540 0020 F6D1 bne .L17 541 .LVL39: 542 .L18: 3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 543 .loc 1 3821 7 discriminator 1 view .LVU174 544 .LBE444: 3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 545 .loc 1 3821 7 is_stmt 1 discriminator 2 view .LVU175 3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 546 .loc 1 3824 7 discriminator 1 view .LVU176 547 .LBB449: 3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 548 .loc 1 3824 7 discriminator 1 view .LVU177 3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 549 .loc 1 3824 7 discriminator 1 view .LVU178 3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 550 .loc 1 3824 7 discriminator 1 view .LVU179 551 0022 0268 ldr r2, [r0] 552 .LVL40: 553 .LBB450: 554 .LBI450: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 555 .loc 2 1068 31 view .LVU180 556 .LBB451: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 557 .loc 2 1070 5 view .LVU181 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 558 .loc 2 1072 4 view .LVU182 559 .syntax unified 560 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 561 0024 52E8003F ldrex r3, [r2] 562 @ 0 "" 2 563 .LVL41: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 564 .loc 2 1073 4 view .LVU183 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 565 .loc 2 1073 4 is_stmt 0 view .LVU184 566 .thumb 567 .syntax unified 568 .LBE451: 569 .LBE450: 3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 570 .loc 1 3824 7 discriminator 1 view .LVU185 571 0028 43F04003 orr r3, r3, #64 572 .LVL42: 3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 573 .loc 1 3824 7 is_stmt 1 discriminator 1 view .LVU186 574 .LBB452: 575 .LBI452: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 576 .loc 2 1119 31 view .LVU187 577 .LBB453: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 578 .loc 2 1121 4 view .LVU188 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/ccQxTlMj.s page 100 579 .loc 2 1123 4 view .LVU189 580 .syntax unified 581 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 582 002c 42E80031 strex r1, r3, [r2] 583 @ 0 "" 2 584 .LVL43: 585 .loc 2 1124 4 view .LVU190 586 .loc 2 1124 4 is_stmt 0 view .LVU191 587 .thumb 588 .syntax unified 589 .LBE453: 590 .LBE452: 3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 591 .loc 1 3824 7 discriminator 1 view .LVU192 592 0030 0029 cmp r1, #0 593 0032 F6D1 bne .L18 594 0034 7047 bx lr 595 .LVL44: 596 .L16: 3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 597 .loc 1 3824 7 discriminator 1 view .LVU193 598 .LBE449: 3828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 599 .loc 1 3828 7 is_stmt 1 view .LVU194 3828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 600 .loc 1 3828 11 is_stmt 0 view .LVU195 601 0036 C36C ldr r3, [r0, #76] 602 .LVL45: 3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 603 .loc 1 3829 7 is_stmt 1 view .LVU196 3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 604 .loc 1 3829 43 is_stmt 0 view .LVU197 605 0038 1B88 ldrh r3, [r3] 606 .LVL46: 3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 607 .loc 1 3829 12 view .LVU198 608 003a 0268 ldr r2, [r0] 3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 609 .loc 1 3829 50 view .LVU199 610 003c C3F30803 ubfx r3, r3, #0, #9 3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 611 .loc 1 3829 28 view .LVU200 612 0040 9362 str r3, [r2, #40] 613 .LVL47: 3830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--; 614 .loc 1 3830 7 is_stmt 1 view .LVU201 3830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--; 615 .loc 1 3830 12 is_stmt 0 view .LVU202 616 0042 C36C ldr r3, [r0, #76] 3830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--; 617 .loc 1 3830 25 view .LVU203 618 0044 0233 adds r3, r3, #2 619 0046 C364 str r3, [r0, #76] 3831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 620 .loc 1 3831 7 is_stmt 1 view .LVU204 3831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 621 .loc 1 3831 12 is_stmt 0 view .LVU205 ARM GAS /tmp/ccQxTlMj.s page 101 622 0048 B0F85230 ldrh r3, [r0, #82] 623 004c 9BB2 uxth r3, r3 3831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 624 .loc 1 3831 25 view .LVU206 625 004e 013B subs r3, r3, #1 626 0050 9BB2 uxth r3, r3 627 0052 A0F85230 strh r3, [r0, #82] @ movhi 628 .loc 1 3834 1 view .LVU207 629 0056 D6E7 b .L14 630 .cfi_endproc 631 .LFE204: 633 .section .text.HAL_UART_MspInit,"ax",%progbits 634 .align 1 635 .weak HAL_UART_MspInit 636 .syntax unified 637 .thumb 638 .thumb_func 640 HAL_UART_MspInit: 641 .LVL48: 642 .LFB146: 662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 643 .loc 1 662 1 is_stmt 1 view -0 644 .cfi_startproc 645 @ args = 0, pretend = 0, frame = 0 646 @ frame_needed = 0, uses_anonymous_args = 0 647 @ link register save eliminated. 664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 648 .loc 1 664 3 view .LVU209 669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 649 .loc 1 669 1 is_stmt 0 view .LVU210 650 0000 7047 bx lr 651 .cfi_endproc 652 .LFE146: 654 .section .text.HAL_UART_MspDeInit,"ax",%progbits 655 .align 1 656 .weak HAL_UART_MspDeInit 657 .syntax unified 658 .thumb 659 .thumb_func 661 HAL_UART_MspDeInit: 662 .LVL49: 663 .LFB147: 677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 664 .loc 1 677 1 is_stmt 1 view -0 665 .cfi_startproc 666 @ args = 0, pretend = 0, frame = 0 667 @ frame_needed = 0, uses_anonymous_args = 0 668 @ link register save eliminated. 679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 669 .loc 1 679 3 view .LVU212 684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 670 .loc 1 684 1 is_stmt 0 view .LVU213 671 0000 7047 bx lr 672 .cfi_endproc 673 .LFE147: 675 .section .text.HAL_UART_DeInit,"ax",%progbits 676 .align 1 ARM GAS /tmp/ccQxTlMj.s page 102 677 .global HAL_UART_DeInit 678 .syntax unified 679 .thumb 680 .thumb_func 682 HAL_UART_DeInit: 683 .LVL50: 684 .LFB145: 615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 685 .loc 1 615 1 is_stmt 1 view -0 686 .cfi_startproc 687 @ args = 0, pretend = 0, frame = 0 688 @ frame_needed = 0, uses_anonymous_args = 0 617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 689 .loc 1 617 3 view .LVU215 617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 690 .loc 1 617 6 is_stmt 0 view .LVU216 691 0000 E0B1 cbz r0, .L24 615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 692 .loc 1 615 1 view .LVU217 693 0002 38B5 push {r3, r4, r5, lr} 694 .LCFI0: 695 .cfi_def_cfa_offset 16 696 .cfi_offset 3, -16 697 .cfi_offset 4, -12 698 .cfi_offset 5, -8 699 .cfi_offset 14, -4 700 0004 0546 mov r5, r0 623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 701 .loc 1 623 3 is_stmt 1 view .LVU218 625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 702 .loc 1 625 3 view .LVU219 625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 703 .loc 1 625 17 is_stmt 0 view .LVU220 704 0006 2423 movs r3, #36 705 0008 C367 str r3, [r0, #124] 627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 706 .loc 1 627 3 is_stmt 1 view .LVU221 707 000a 0268 ldr r2, [r0] 708 000c 1368 ldr r3, [r2] 709 000e 23F00103 bic r3, r3, #1 710 0012 1360 str r3, [r2] 629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 711 .loc 1 629 3 view .LVU222 629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 712 .loc 1 629 8 is_stmt 0 view .LVU223 713 0014 0368 ldr r3, [r0] 629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 714 .loc 1 629 24 view .LVU224 715 0016 0024 movs r4, #0 716 0018 1C60 str r4, [r3] 630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 717 .loc 1 630 3 is_stmt 1 view .LVU225 630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 718 .loc 1 630 8 is_stmt 0 view .LVU226 719 001a 0368 ldr r3, [r0] 630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 720 .loc 1 630 24 view .LVU227 ARM GAS /tmp/ccQxTlMj.s page 103 721 001c 5C60 str r4, [r3, #4] 631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 722 .loc 1 631 3 is_stmt 1 view .LVU228 631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 723 .loc 1 631 8 is_stmt 0 view .LVU229 724 001e 0368 ldr r3, [r0] 631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 725 .loc 1 631 24 view .LVU230 726 0020 9C60 str r4, [r3, #8] 642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 727 .loc 1 642 3 is_stmt 1 view .LVU231 728 0022 FFF7FEFF bl HAL_UART_MspDeInit 729 .LVL51: 645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 730 .loc 1 645 3 view .LVU232 645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 731 .loc 1 645 20 is_stmt 0 view .LVU233 732 0026 C5F88440 str r4, [r5, #132] 646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 733 .loc 1 646 3 is_stmt 1 view .LVU234 646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 734 .loc 1 646 17 is_stmt 0 view .LVU235 735 002a EC67 str r4, [r5, #124] 647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 736 .loc 1 647 3 is_stmt 1 view .LVU236 647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 737 .loc 1 647 18 is_stmt 0 view .LVU237 738 002c C5F88040 str r4, [r5, #128] 648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 739 .loc 1 648 3 is_stmt 1 view .LVU238 648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 740 .loc 1 648 24 is_stmt 0 view .LVU239 741 0030 2C66 str r4, [r5, #96] 649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 742 .loc 1 649 3 is_stmt 1 view .LVU240 649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 743 .loc 1 649 22 is_stmt 0 view .LVU241 744 0032 6C66 str r4, [r5, #100] 651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 745 .loc 1 651 3 is_stmt 1 view .LVU242 651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 746 .loc 1 651 3 view .LVU243 747 0034 85F87840 strb r4, [r5, #120] 651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 748 .loc 1 651 3 view .LVU244 653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 749 .loc 1 653 3 view .LVU245 653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 750 .loc 1 653 10 is_stmt 0 view .LVU246 751 0038 2046 mov r0, r4 654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 752 .loc 1 654 1 view .LVU247 753 003a 38BD pop {r3, r4, r5, pc} 754 .LVL52: 755 .L24: 756 .LCFI1: 757 .cfi_def_cfa_offset 0 ARM GAS /tmp/ccQxTlMj.s page 104 758 .cfi_restore 3 759 .cfi_restore 4 760 .cfi_restore 5 761 .cfi_restore 14 619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 762 .loc 1 619 12 view .LVU248 763 003c 0120 movs r0, #1 764 .LVL53: 654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 765 .loc 1 654 1 view .LVU249 766 003e 7047 bx lr 767 .cfi_endproc 768 .LFE145: 770 .section .text.HAL_UART_Transmit_IT,"ax",%progbits 771 .align 1 772 .global HAL_UART_Transmit_IT 773 .syntax unified 774 .thumb 775 .thumb_func 777 HAL_UART_Transmit_IT: 778 .LVL54: 779 .LFB150: 1260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 780 .loc 1 1260 1 is_stmt 1 view -0 781 .cfi_startproc 782 @ args = 0, pretend = 0, frame = 0 783 @ frame_needed = 0, uses_anonymous_args = 0 784 @ link register save eliminated. 1262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 785 .loc 1 1262 3 view .LVU251 1262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 786 .loc 1 1262 12 is_stmt 0 view .LVU252 787 0000 C36F ldr r3, [r0, #124] 1262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 788 .loc 1 1262 6 view .LVU253 789 0002 202B cmp r3, #32 790 0004 25D1 bne .L34 1264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 791 .loc 1 1264 5 is_stmt 1 view .LVU254 1264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 792 .loc 1 1264 8 is_stmt 0 view .LVU255 793 0006 002A cmp r2, #0 794 0008 18BF it ne 795 000a 0029 cmpne r1, #0 796 000c 23D0 beq .L35 1269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size; 797 .loc 1 1269 5 is_stmt 1 view .LVU256 1269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size; 798 .loc 1 1269 24 is_stmt 0 view .LVU257 799 000e C164 str r1, [r0, #76] 1270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size; 800 .loc 1 1270 5 is_stmt 1 view .LVU258 1270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size; 801 .loc 1 1270 24 is_stmt 0 view .LVU259 802 0010 A0F85020 strh r2, [r0, #80] @ movhi 1271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 803 .loc 1 1271 5 is_stmt 1 view .LVU260 ARM GAS /tmp/ccQxTlMj.s page 105 1271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 804 .loc 1 1271 24 is_stmt 0 view .LVU261 805 0014 A0F85220 strh r2, [r0, #82] @ movhi 1272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 806 .loc 1 1272 5 is_stmt 1 view .LVU262 1272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 807 .loc 1 1272 24 is_stmt 0 view .LVU263 808 0018 0023 movs r3, #0 809 001a C366 str r3, [r0, #108] 1274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 810 .loc 1 1274 5 is_stmt 1 view .LVU264 1274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 811 .loc 1 1274 22 is_stmt 0 view .LVU265 812 001c C0F88430 str r3, [r0, #132] 1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 813 .loc 1 1275 5 is_stmt 1 view .LVU266 1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 814 .loc 1 1275 19 is_stmt 0 view .LVU267 815 0020 2123 movs r3, #33 816 0022 C367 str r3, [r0, #124] 1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 817 .loc 1 1278 5 is_stmt 1 view .LVU268 1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 818 .loc 1 1278 21 is_stmt 0 view .LVU269 819 0024 8368 ldr r3, [r0, #8] 1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 820 .loc 1 1278 8 view .LVU270 821 0026 B3F5805F cmp r3, #4096 822 002a 0CD0 beq .L36 823 .L31: 1284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 824 .loc 1 1284 7 is_stmt 1 view .LVU271 1284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 825 .loc 1 1284 20 is_stmt 0 view .LVU272 826 002c 0B4B ldr r3, .L37 827 002e C366 str r3, [r0, #108] 828 .LVL55: 829 .L33: 1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 830 .loc 1 1288 5 is_stmt 1 discriminator 1 view .LVU273 831 .LBB454: 1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 832 .loc 1 1288 5 discriminator 1 view .LVU274 1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 833 .loc 1 1288 5 discriminator 1 view .LVU275 1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 834 .loc 1 1288 5 discriminator 1 view .LVU276 835 0030 0268 ldr r2, [r0] 836 .LVL56: 837 .LBB455: 838 .LBI455: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 839 .loc 2 1068 31 view .LVU277 840 .LBB456: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 841 .loc 2 1070 5 view .LVU278 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/ccQxTlMj.s page 106 842 .loc 2 1072 4 view .LVU279 843 .syntax unified 844 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 845 0032 52E8003F ldrex r3, [r2] 846 @ 0 "" 2 847 .LVL57: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 848 .loc 2 1073 4 view .LVU280 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 849 .loc 2 1073 4 is_stmt 0 view .LVU281 850 .thumb 851 .syntax unified 852 .LBE456: 853 .LBE455: 1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 854 .loc 1 1288 5 discriminator 1 view .LVU282 855 0036 43F08003 orr r3, r3, #128 856 .LVL58: 1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 857 .loc 1 1288 5 is_stmt 1 discriminator 1 view .LVU283 858 .LBB457: 859 .LBI457: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 860 .loc 2 1119 31 view .LVU284 861 .LBB458: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 862 .loc 2 1121 4 view .LVU285 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 863 .loc 2 1123 4 view .LVU286 864 .syntax unified 865 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 866 003a 42E80031 strex r1, r3, [r2] 867 @ 0 "" 2 868 .LVL59: 869 .loc 2 1124 4 view .LVU287 870 .loc 2 1124 4 is_stmt 0 view .LVU288 871 .thumb 872 .syntax unified 873 .LBE458: 874 .LBE457: 1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 875 .loc 1 1288 5 discriminator 1 view .LVU289 876 003e 0029 cmp r1, #0 877 0040 F6D1 bne .L33 878 .LBE454: 1290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 879 .loc 1 1290 12 view .LVU290 880 0042 0020 movs r0, #0 881 .LVL60: 882 .LBB459: 1290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 883 .loc 1 1290 12 view .LVU291 884 0044 7047 bx lr 885 .LVL61: 886 .L36: 1290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 887 .loc 1 1290 12 view .LVU292 ARM GAS /tmp/ccQxTlMj.s page 107 888 .LBE459: 1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 889 .loc 1 1278 71 discriminator 1 view .LVU293 890 0046 0369 ldr r3, [r0, #16] 1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 891 .loc 1 1278 56 discriminator 1 view .LVU294 892 0048 002B cmp r3, #0 893 004a EFD1 bne .L31 1280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 894 .loc 1 1280 7 is_stmt 1 view .LVU295 1280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 895 .loc 1 1280 20 is_stmt 0 view .LVU296 896 004c 044B ldr r3, .L37+4 897 004e C366 str r3, [r0, #108] 898 0050 EEE7 b .L33 899 .L34: 1294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 900 .loc 1 1294 12 view .LVU297 901 0052 0220 movs r0, #2 902 .LVL62: 1294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 903 .loc 1 1294 12 view .LVU298 904 0054 7047 bx lr 905 .LVL63: 906 .L35: 1266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 907 .loc 1 1266 14 view .LVU299 908 0056 0120 movs r0, #1 909 .LVL64: 1296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 910 .loc 1 1296 1 view .LVU300 911 0058 7047 bx lr 912 .L38: 913 005a 00BF .align 2 914 .L37: 915 005c 00000000 .word UART_TxISR_8BIT 916 0060 00000000 .word UART_TxISR_16BIT 917 .cfi_endproc 918 .LFE150: 920 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits 921 .align 1 922 .global HAL_UART_Transmit_DMA 923 .syntax unified 924 .thumb 925 .thumb_func 927 HAL_UART_Transmit_DMA: 928 .LVL65: 929 .LFB152: 1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 930 .loc 1 1347 1 is_stmt 1 view -0 931 .cfi_startproc 932 @ args = 0, pretend = 0, frame = 0 933 @ frame_needed = 0, uses_anonymous_args = 0 1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 934 .loc 1 1347 1 is_stmt 0 view .LVU302 935 0000 1346 mov r3, r2 1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 108 936 .loc 1 1349 3 is_stmt 1 view .LVU303 1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 937 .loc 1 1349 12 is_stmt 0 view .LVU304 938 0002 C26F ldr r2, [r0, #124] 939 .LVL66: 1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 940 .loc 1 1349 6 view .LVU305 941 0004 202A cmp r2, #32 942 0006 3BD1 bne .L43 1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 943 .loc 1 1347 1 view .LVU306 944 0008 10B5 push {r4, lr} 945 .LCFI2: 946 .cfi_def_cfa_offset 8 947 .cfi_offset 4, -8 948 .cfi_offset 14, -4 949 000a 0446 mov r4, r0 1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 950 .loc 1 1351 5 is_stmt 1 view .LVU307 1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 951 .loc 1 1351 8 is_stmt 0 view .LVU308 952 000c 002B cmp r3, #0 953 000e 18BF it ne 954 0010 0029 cmpne r1, #0 955 0012 37D0 beq .L44 1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size; 956 .loc 1 1356 5 is_stmt 1 view .LVU309 1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size; 957 .loc 1 1356 24 is_stmt 0 view .LVU310 958 0014 C164 str r1, [r0, #76] 1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size; 959 .loc 1 1357 5 is_stmt 1 view .LVU311 1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size; 960 .loc 1 1357 24 is_stmt 0 view .LVU312 961 0016 A0F85030 strh r3, [r0, #80] @ movhi 1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 962 .loc 1 1358 5 is_stmt 1 view .LVU313 1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 963 .loc 1 1358 24 is_stmt 0 view .LVU314 964 001a A0F85230 strh r3, [r0, #82] @ movhi 1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 965 .loc 1 1360 5 is_stmt 1 view .LVU315 1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 966 .loc 1 1360 22 is_stmt 0 view .LVU316 967 001e 0022 movs r2, #0 968 0020 C0F88420 str r2, [r0, #132] 1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 969 .loc 1 1361 5 is_stmt 1 view .LVU317 1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 970 .loc 1 1361 19 is_stmt 0 view .LVU318 971 0024 2122 movs r2, #33 972 0026 C267 str r2, [r0, #124] 1363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 973 .loc 1 1363 5 is_stmt 1 view .LVU319 1363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 974 .loc 1 1363 14 is_stmt 0 view .LVU320 975 0028 026F ldr r2, [r0, #112] ARM GAS /tmp/ccQxTlMj.s page 109 1363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 976 .loc 1 1363 8 view .LVU321 977 002a C2B1 cbz r2, .L41 1366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 978 .loc 1 1366 7 is_stmt 1 view .LVU322 1366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 979 .loc 1 1366 39 is_stmt 0 view .LVU323 980 002c 1649 ldr r1, .L49 981 .LVL67: 1366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 982 .loc 1 1366 39 view .LVU324 983 002e D163 str r1, [r2, #60] 984 .LVL68: 1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 985 .loc 1 1369 7 is_stmt 1 view .LVU325 1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 986 .loc 1 1369 12 is_stmt 0 view .LVU326 987 0030 026F ldr r2, [r0, #112] 1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 988 .loc 1 1369 43 view .LVU327 989 0032 1649 ldr r1, .L49+4 990 0034 1164 str r1, [r2, #64] 1372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 991 .loc 1 1372 7 is_stmt 1 view .LVU328 1372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 992 .loc 1 1372 12 is_stmt 0 view .LVU329 993 0036 026F ldr r2, [r0, #112] 1372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 994 .loc 1 1372 40 view .LVU330 995 0038 1549 ldr r1, .L49+8 996 003a D164 str r1, [r2, #76] 1375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 997 .loc 1 1375 7 is_stmt 1 view .LVU331 1375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 998 .loc 1 1375 12 is_stmt 0 view .LVU332 999 003c 026F ldr r2, [r0, #112] 1375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1000 .loc 1 1375 40 view .LVU333 1001 003e 0021 movs r1, #0 1002 0040 1165 str r1, [r2, #80] 1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1003 .loc 1 1378 7 is_stmt 1 view .LVU334 1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1004 .loc 1 1378 88 is_stmt 0 view .LVU335 1005 0042 0268 ldr r2, [r0] 1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1006 .loc 1 1378 11 view .LVU336 1007 0044 2832 adds r2, r2, #40 1008 0046 C16C ldr r1, [r0, #76] 1009 0048 006F ldr r0, [r0, #112] 1010 .LVL69: 1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1011 .loc 1 1378 11 view .LVU337 1012 004a FFF7FEFF bl HAL_DMA_Start_IT 1013 .LVL70: 1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1014 .loc 1 1378 10 discriminator 1 view .LVU338 ARM GAS /tmp/ccQxTlMj.s page 110 1015 004e 30B1 cbz r0, .L41 1381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1016 .loc 1 1381 9 is_stmt 1 view .LVU339 1381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1017 .loc 1 1381 26 is_stmt 0 view .LVU340 1018 0050 1023 movs r3, #16 1019 0052 C4F88430 str r3, [r4, #132] 1384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1020 .loc 1 1384 9 is_stmt 1 view .LVU341 1384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1021 .loc 1 1384 23 is_stmt 0 view .LVU342 1022 0056 2023 movs r3, #32 1023 0058 E367 str r3, [r4, #124] 1386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1024 .loc 1 1386 9 is_stmt 1 view .LVU343 1386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1025 .loc 1 1386 16 is_stmt 0 view .LVU344 1026 005a 0120 movs r0, #1 1027 005c 0FE0 b .L40 1028 .L41: 1390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1029 .loc 1 1390 5 is_stmt 1 view .LVU345 1030 005e 2368 ldr r3, [r4] 1031 0060 4022 movs r2, #64 1032 0062 1A62 str r2, [r3, #32] 1033 .L42: 1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1034 .loc 1 1394 5 discriminator 1 view .LVU346 1035 .LBB460: 1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1036 .loc 1 1394 5 discriminator 1 view .LVU347 1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1037 .loc 1 1394 5 discriminator 1 view .LVU348 1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1038 .loc 1 1394 5 discriminator 1 view .LVU349 1039 0064 2268 ldr r2, [r4] 1040 .LVL71: 1041 .LBB461: 1042 .LBI461: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1043 .loc 2 1068 31 view .LVU350 1044 .LBB462: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1045 .loc 2 1070 5 view .LVU351 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1046 .loc 2 1072 4 view .LVU352 1047 0066 02F10803 add r3, r2, #8 1048 .LVL72: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1049 .loc 2 1072 4 is_stmt 0 view .LVU353 1050 .syntax unified 1051 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1052 006a 53E8003F ldrex r3, [r3] 1053 @ 0 "" 2 1054 .LVL73: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1055 .loc 2 1073 4 is_stmt 1 view .LVU354 ARM GAS /tmp/ccQxTlMj.s page 111 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1056 .loc 2 1073 4 is_stmt 0 view .LVU355 1057 .thumb 1058 .syntax unified 1059 .LBE462: 1060 .LBE461: 1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1061 .loc 1 1394 5 discriminator 1 view .LVU356 1062 006e 43F08003 orr r3, r3, #128 1063 .LVL74: 1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1064 .loc 1 1394 5 is_stmt 1 discriminator 1 view .LVU357 1065 .LBB463: 1066 .LBI463: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1067 .loc 2 1119 31 view .LVU358 1068 .LBB464: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1069 .loc 2 1121 4 view .LVU359 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1070 .loc 2 1123 4 view .LVU360 1071 0072 0832 adds r2, r2, #8 1072 .LVL75: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1073 .loc 2 1123 4 is_stmt 0 view .LVU361 1074 .syntax unified 1075 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1076 0074 42E80031 strex r1, r3, [r2] 1077 @ 0 "" 2 1078 .LVL76: 1079 .loc 2 1124 4 is_stmt 1 view .LVU362 1080 .loc 2 1124 4 is_stmt 0 view .LVU363 1081 .thumb 1082 .syntax unified 1083 .LBE464: 1084 .LBE463: 1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1085 .loc 1 1394 5 discriminator 1 view .LVU364 1086 0078 0029 cmp r1, #0 1087 007a F3D1 bne .L42 1088 .LBE460: 1396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1089 .loc 1 1396 12 view .LVU365 1090 007c 0020 movs r0, #0 1091 .LVL77: 1092 .L40: 1402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1093 .loc 1 1402 1 view .LVU366 1094 007e 10BD pop {r4, pc} 1095 .LVL78: 1096 .L43: 1097 .LCFI3: 1098 .cfi_def_cfa_offset 0 1099 .cfi_restore 4 1100 .cfi_restore 14 1400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1101 .loc 1 1400 12 view .LVU367 ARM GAS /tmp/ccQxTlMj.s page 112 1102 0080 0220 movs r0, #2 1103 .LVL79: 1402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1104 .loc 1 1402 1 view .LVU368 1105 0082 7047 bx lr 1106 .LVL80: 1107 .L44: 1108 .LCFI4: 1109 .cfi_def_cfa_offset 8 1110 .cfi_offset 4, -8 1111 .cfi_offset 14, -4 1353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1112 .loc 1 1353 14 view .LVU369 1113 0084 0120 movs r0, #1 1114 .LVL81: 1353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1115 .loc 1 1353 14 view .LVU370 1116 0086 FAE7 b .L40 1117 .L50: 1118 .align 2 1119 .L49: 1120 0088 00000000 .word UART_DMATransmitCplt 1121 008c 00000000 .word UART_DMATxHalfCplt 1122 0090 00000000 .word UART_DMAError 1123 .cfi_endproc 1124 .LFE152: 1126 .section .text.HAL_UART_DMAPause,"ax",%progbits 1127 .align 1 1128 .global HAL_UART_DMAPause 1129 .syntax unified 1130 .thumb 1131 .thumb_func 1133 HAL_UART_DMAPause: 1134 .LVL82: 1135 .LFB154: 1450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1136 .loc 1 1450 1 is_stmt 1 view -0 1137 .cfi_startproc 1138 @ args = 0, pretend = 0, frame = 0 1139 @ frame_needed = 0, uses_anonymous_args = 0 1140 @ link register save eliminated. 1450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1141 .loc 1 1450 1 is_stmt 0 view .LVU372 1142 0000 10B4 push {r4} 1143 .LCFI5: 1144 .cfi_def_cfa_offset 4 1145 .cfi_offset 4, -4 1451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1146 .loc 1 1451 3 is_stmt 1 view .LVU373 1451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1147 .loc 1 1451 31 is_stmt 0 view .LVU374 1148 0002 C26F ldr r2, [r0, #124] 1149 .LVL83: 1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1150 .loc 1 1452 3 is_stmt 1 view .LVU375 1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1151 .loc 1 1452 31 is_stmt 0 view .LVU376 ARM GAS /tmp/ccQxTlMj.s page 113 1152 0004 D0F88040 ldr r4, [r0, #128] 1153 .LVL84: 1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1154 .loc 1 1454 3 is_stmt 1 view .LVU377 1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1155 .loc 1 1454 8 is_stmt 0 view .LVU378 1156 0008 0368 ldr r3, [r0] 1157 000a 9B68 ldr r3, [r3, #8] 1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1158 .loc 1 1454 6 view .LVU379 1159 000c 13F0800F tst r3, #128 1160 0010 01D0 beq .L52 1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1161 .loc 1 1454 62 discriminator 1 view .LVU380 1162 0012 212A cmp r2, #33 1163 0014 0AD0 beq .L53 1164 .LVL85: 1165 .L52: 1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1166 .loc 1 1458 5 is_stmt 1 discriminator 2 view .LVU381 1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1167 .loc 1 1460 3 view .LVU382 1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1168 .loc 1 1460 8 is_stmt 0 view .LVU383 1169 0016 0368 ldr r3, [r0] 1170 0018 9B68 ldr r3, [r3, #8] 1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1171 .loc 1 1460 6 view .LVU384 1172 001a 13F0400F tst r3, #64 1173 001e 01D0 beq .L54 1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1174 .loc 1 1460 62 discriminator 1 view .LVU385 1175 0020 222C cmp r4, #34 1176 0022 10D0 beq .L55 1177 .L54: 1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1178 .loc 1 1468 5 is_stmt 1 discriminator 2 view .LVU386 1471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1179 .loc 1 1471 3 view .LVU387 1472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1180 .loc 1 1472 1 is_stmt 0 view .LVU388 1181 0024 0020 movs r0, #0 1182 .LVL86: 1472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1183 .loc 1 1472 1 view .LVU389 1184 0026 5DF8044B ldr r4, [sp], #4 1185 .LCFI6: 1186 .cfi_remember_state 1187 .cfi_restore 4 1188 .cfi_def_cfa_offset 0 1189 .LVL87: 1472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1190 .loc 1 1472 1 view .LVU390 1191 002a 7047 bx lr 1192 .LVL88: 1193 .L53: 1194 .LCFI7: ARM GAS /tmp/ccQxTlMj.s page 114 1195 .cfi_restore_state 1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1196 .loc 1 1458 5 is_stmt 1 discriminator 1 view .LVU391 1197 .LBB465: 1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1198 .loc 1 1458 5 discriminator 1 view .LVU392 1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1199 .loc 1 1458 5 discriminator 1 view .LVU393 1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1200 .loc 1 1458 5 discriminator 1 view .LVU394 1201 002c 0268 ldr r2, [r0] 1202 .LVL89: 1203 .LBB466: 1204 .LBI466: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1205 .loc 2 1068 31 view .LVU395 1206 .LBB467: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1207 .loc 2 1070 5 view .LVU396 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1208 .loc 2 1072 4 view .LVU397 1209 002e 02F10803 add r3, r2, #8 1210 .LVL90: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1211 .loc 2 1072 4 is_stmt 0 view .LVU398 1212 .syntax unified 1213 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1214 0032 53E8003F ldrex r3, [r3] 1215 @ 0 "" 2 1216 .LVL91: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1217 .loc 2 1073 4 is_stmt 1 view .LVU399 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1218 .loc 2 1073 4 is_stmt 0 view .LVU400 1219 .thumb 1220 .syntax unified 1221 .LBE467: 1222 .LBE466: 1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1223 .loc 1 1458 5 discriminator 1 view .LVU401 1224 0036 23F08003 bic r3, r3, #128 1225 .LVL92: 1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1226 .loc 1 1458 5 is_stmt 1 discriminator 1 view .LVU402 1227 .LBB468: 1228 .LBI468: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1229 .loc 2 1119 31 view .LVU403 1230 .LBB469: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1231 .loc 2 1121 4 view .LVU404 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1232 .loc 2 1123 4 view .LVU405 1233 003a 0832 adds r2, r2, #8 1234 .LVL93: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1235 .loc 2 1123 4 is_stmt 0 view .LVU406 ARM GAS /tmp/ccQxTlMj.s page 115 1236 .syntax unified 1237 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1238 003c 42E80031 strex r1, r3, [r2] 1239 @ 0 "" 2 1240 .LVL94: 1241 .loc 2 1124 4 is_stmt 1 view .LVU407 1242 .loc 2 1124 4 is_stmt 0 view .LVU408 1243 .thumb 1244 .syntax unified 1245 .LBE469: 1246 .LBE468: 1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1247 .loc 1 1458 5 discriminator 1 view .LVU409 1248 0040 0029 cmp r1, #0 1249 0042 F3D1 bne .L53 1250 0044 E7E7 b .L52 1251 .LVL95: 1252 .L55: 1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1253 .loc 1 1458 5 discriminator 1 view .LVU410 1254 .LBE465: 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1255 .loc 1 1464 5 is_stmt 1 discriminator 1 view .LVU411 1256 .LBB470: 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1257 .loc 1 1464 5 discriminator 1 view .LVU412 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1258 .loc 1 1464 5 discriminator 1 view .LVU413 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1259 .loc 1 1464 5 discriminator 1 view .LVU414 1260 0046 0268 ldr r2, [r0] 1261 .LVL96: 1262 .LBB471: 1263 .LBI471: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1264 .loc 2 1068 31 view .LVU415 1265 .LBB472: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1266 .loc 2 1070 5 view .LVU416 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1267 .loc 2 1072 4 view .LVU417 1268 .syntax unified 1269 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1270 0048 52E8003F ldrex r3, [r2] 1271 @ 0 "" 2 1272 .LVL97: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1273 .loc 2 1073 4 view .LVU418 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1274 .loc 2 1073 4 is_stmt 0 view .LVU419 1275 .thumb 1276 .syntax unified 1277 .LBE472: 1278 .LBE471: 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1279 .loc 1 1464 5 discriminator 1 view .LVU420 1280 004c 23F48073 bic r3, r3, #256 ARM GAS /tmp/ccQxTlMj.s page 116 1281 .LVL98: 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1282 .loc 1 1464 5 is_stmt 1 discriminator 1 view .LVU421 1283 .LBB473: 1284 .LBI473: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1285 .loc 2 1119 31 view .LVU422 1286 .LBB474: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1287 .loc 2 1121 4 view .LVU423 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1288 .loc 2 1123 4 view .LVU424 1289 .syntax unified 1290 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1291 0050 42E80031 strex r1, r3, [r2] 1292 @ 0 "" 2 1293 .LVL99: 1294 .loc 2 1124 4 view .LVU425 1295 .loc 2 1124 4 is_stmt 0 view .LVU426 1296 .thumb 1297 .syntax unified 1298 .LBE474: 1299 .LBE473: 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1300 .loc 1 1464 5 discriminator 1 view .LVU427 1301 0054 0029 cmp r1, #0 1302 0056 F6D1 bne .L55 1303 .LVL100: 1304 .L56: 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1305 .loc 1 1464 5 discriminator 1 view .LVU428 1306 .LBE470: 1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1307 .loc 1 1464 5 is_stmt 1 discriminator 2 view .LVU429 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1308 .loc 1 1465 5 discriminator 1 view .LVU430 1309 .LBB475: 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1310 .loc 1 1465 5 discriminator 1 view .LVU431 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1311 .loc 1 1465 5 discriminator 1 view .LVU432 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1312 .loc 1 1465 5 discriminator 1 view .LVU433 1313 0058 0268 ldr r2, [r0] 1314 .LVL101: 1315 .LBB476: 1316 .LBI476: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1317 .loc 2 1068 31 view .LVU434 1318 .LBB477: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1319 .loc 2 1070 5 view .LVU435 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1320 .loc 2 1072 4 view .LVU436 1321 005a 02F10803 add r3, r2, #8 1322 .LVL102: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/ccQxTlMj.s page 117 1323 .loc 2 1072 4 is_stmt 0 view .LVU437 1324 .syntax unified 1325 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1326 005e 53E8003F ldrex r3, [r3] 1327 @ 0 "" 2 1328 .LVL103: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1329 .loc 2 1073 4 is_stmt 1 view .LVU438 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1330 .loc 2 1073 4 is_stmt 0 view .LVU439 1331 .thumb 1332 .syntax unified 1333 .LBE477: 1334 .LBE476: 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1335 .loc 1 1465 5 discriminator 1 view .LVU440 1336 0062 23F00103 bic r3, r3, #1 1337 .LVL104: 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1338 .loc 1 1465 5 is_stmt 1 discriminator 1 view .LVU441 1339 .LBB478: 1340 .LBI478: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1341 .loc 2 1119 31 view .LVU442 1342 .LBB479: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1343 .loc 2 1121 4 view .LVU443 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1344 .loc 2 1123 4 view .LVU444 1345 0066 0832 adds r2, r2, #8 1346 .LVL105: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1347 .loc 2 1123 4 is_stmt 0 view .LVU445 1348 .syntax unified 1349 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1350 0068 42E80031 strex r1, r3, [r2] 1351 @ 0 "" 2 1352 .LVL106: 1353 .loc 2 1124 4 is_stmt 1 view .LVU446 1354 .loc 2 1124 4 is_stmt 0 view .LVU447 1355 .thumb 1356 .syntax unified 1357 .LBE479: 1358 .LBE478: 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1359 .loc 1 1465 5 discriminator 1 view .LVU448 1360 006c 0029 cmp r1, #0 1361 006e F3D1 bne .L56 1362 .LVL107: 1363 .L57: 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1364 .loc 1 1465 5 discriminator 1 view .LVU449 1365 .LBE475: 1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1366 .loc 1 1465 5 is_stmt 1 discriminator 2 view .LVU450 1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1367 .loc 1 1468 5 discriminator 1 view .LVU451 ARM GAS /tmp/ccQxTlMj.s page 118 1368 .LBB480: 1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1369 .loc 1 1468 5 discriminator 1 view .LVU452 1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1370 .loc 1 1468 5 discriminator 1 view .LVU453 1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1371 .loc 1 1468 5 discriminator 1 view .LVU454 1372 0070 0268 ldr r2, [r0] 1373 .LVL108: 1374 .LBB481: 1375 .LBI481: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1376 .loc 2 1068 31 view .LVU455 1377 .LBB482: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1378 .loc 2 1070 5 view .LVU456 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1379 .loc 2 1072 4 view .LVU457 1380 0072 02F10803 add r3, r2, #8 1381 .LVL109: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1382 .loc 2 1072 4 is_stmt 0 view .LVU458 1383 .syntax unified 1384 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1385 0076 53E8003F ldrex r3, [r3] 1386 @ 0 "" 2 1387 .LVL110: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1388 .loc 2 1073 4 is_stmt 1 view .LVU459 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1389 .loc 2 1073 4 is_stmt 0 view .LVU460 1390 .thumb 1391 .syntax unified 1392 .LBE482: 1393 .LBE481: 1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1394 .loc 1 1468 5 discriminator 1 view .LVU461 1395 007a 23F04003 bic r3, r3, #64 1396 .LVL111: 1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1397 .loc 1 1468 5 is_stmt 1 discriminator 1 view .LVU462 1398 .LBB483: 1399 .LBI483: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1400 .loc 2 1119 31 view .LVU463 1401 .LBB484: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1402 .loc 2 1121 4 view .LVU464 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1403 .loc 2 1123 4 view .LVU465 1404 007e 0832 adds r2, r2, #8 1405 .LVL112: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1406 .loc 2 1123 4 is_stmt 0 view .LVU466 1407 .syntax unified 1408 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1409 0080 42E80031 strex r1, r3, [r2] ARM GAS /tmp/ccQxTlMj.s page 119 1410 @ 0 "" 2 1411 .LVL113: 1412 .loc 2 1124 4 is_stmt 1 view .LVU467 1413 .loc 2 1124 4 is_stmt 0 view .LVU468 1414 .thumb 1415 .syntax unified 1416 .LBE484: 1417 .LBE483: 1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1418 .loc 1 1468 5 discriminator 1 view .LVU469 1419 0084 0029 cmp r1, #0 1420 0086 F3D1 bne .L57 1421 0088 CCE7 b .L54 1422 .LBE480: 1423 .cfi_endproc 1424 .LFE154: 1426 .section .text.HAL_UART_DMAResume,"ax",%progbits 1427 .align 1 1428 .global HAL_UART_DMAResume 1429 .syntax unified 1430 .thumb 1431 .thumb_func 1433 HAL_UART_DMAResume: 1434 .LVL114: 1435 .LFB155: 1480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1436 .loc 1 1480 1 is_stmt 1 view -0 1437 .cfi_startproc 1438 @ args = 0, pretend = 0, frame = 0 1439 @ frame_needed = 0, uses_anonymous_args = 0 1440 @ link register save eliminated. 1481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1441 .loc 1 1481 3 view .LVU471 1481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1442 .loc 1 1481 12 is_stmt 0 view .LVU472 1443 0000 C36F ldr r3, [r0, #124] 1481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1444 .loc 1 1481 6 view .LVU473 1445 0002 212B cmp r3, #33 1446 0004 05D0 beq .L61 1447 .L60: 1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1448 .loc 1 1484 5 is_stmt 1 discriminator 2 view .LVU474 1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1449 .loc 1 1486 3 view .LVU475 1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1450 .loc 1 1486 12 is_stmt 0 view .LVU476 1451 0006 D0F88030 ldr r3, [r0, #128] 1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1452 .loc 1 1486 6 view .LVU477 1453 000a 222B cmp r3, #34 1454 000c 0ED0 beq .L67 1455 .L62: 1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1456 .loc 1 1499 5 is_stmt 1 discriminator 2 view .LVU478 1502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1457 .loc 1 1502 3 view .LVU479 ARM GAS /tmp/ccQxTlMj.s page 120 1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1458 .loc 1 1503 1 is_stmt 0 view .LVU480 1459 000e 0020 movs r0, #0 1460 .LVL115: 1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1461 .loc 1 1503 1 view .LVU481 1462 0010 7047 bx lr 1463 .LVL116: 1464 .L61: 1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1465 .loc 1 1484 5 is_stmt 1 discriminator 1 view .LVU482 1466 .LBB485: 1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1467 .loc 1 1484 5 discriminator 1 view .LVU483 1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1468 .loc 1 1484 5 discriminator 1 view .LVU484 1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1469 .loc 1 1484 5 discriminator 1 view .LVU485 1470 0012 0268 ldr r2, [r0] 1471 .LVL117: 1472 .LBB486: 1473 .LBI486: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1474 .loc 2 1068 31 view .LVU486 1475 .LBB487: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1476 .loc 2 1070 5 view .LVU487 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1477 .loc 2 1072 4 view .LVU488 1478 0014 02F10803 add r3, r2, #8 1479 .LVL118: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1480 .loc 2 1072 4 is_stmt 0 view .LVU489 1481 .syntax unified 1482 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1483 0018 53E8003F ldrex r3, [r3] 1484 @ 0 "" 2 1485 .LVL119: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1486 .loc 2 1073 4 is_stmt 1 view .LVU490 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1487 .loc 2 1073 4 is_stmt 0 view .LVU491 1488 .thumb 1489 .syntax unified 1490 .LBE487: 1491 .LBE486: 1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1492 .loc 1 1484 5 discriminator 1 view .LVU492 1493 001c 43F08003 orr r3, r3, #128 1494 .LVL120: 1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1495 .loc 1 1484 5 is_stmt 1 discriminator 1 view .LVU493 1496 .LBB488: 1497 .LBI488: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1498 .loc 2 1119 31 view .LVU494 1499 .LBB489: ARM GAS /tmp/ccQxTlMj.s page 121 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1500 .loc 2 1121 4 view .LVU495 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1501 .loc 2 1123 4 view .LVU496 1502 0020 0832 adds r2, r2, #8 1503 .LVL121: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1504 .loc 2 1123 4 is_stmt 0 view .LVU497 1505 .syntax unified 1506 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1507 0022 42E80031 strex r1, r3, [r2] 1508 @ 0 "" 2 1509 .LVL122: 1510 .loc 2 1124 4 is_stmt 1 view .LVU498 1511 .loc 2 1124 4 is_stmt 0 view .LVU499 1512 .thumb 1513 .syntax unified 1514 .LBE489: 1515 .LBE488: 1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1516 .loc 1 1484 5 discriminator 1 view .LVU500 1517 0026 0029 cmp r1, #0 1518 0028 F3D1 bne .L61 1519 002a ECE7 b .L60 1520 .LVL123: 1521 .L67: 1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1522 .loc 1 1484 5 discriminator 1 view .LVU501 1523 .LBE485: 1489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1524 .loc 1 1489 5 is_stmt 1 view .LVU502 1525 002c 0368 ldr r3, [r0] 1526 002e 0822 movs r2, #8 1527 0030 1A62 str r2, [r3, #32] 1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1528 .loc 1 1492 5 view .LVU503 1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1529 .loc 1 1492 20 is_stmt 0 view .LVU504 1530 0032 0369 ldr r3, [r0, #16] 1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1531 .loc 1 1492 8 view .LVU505 1532 0034 43B1 cbz r3, .L65 1533 .L64: 1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1534 .loc 1 1494 7 is_stmt 1 discriminator 1 view .LVU506 1535 .LBB490: 1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1536 .loc 1 1494 7 discriminator 1 view .LVU507 1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1537 .loc 1 1494 7 discriminator 1 view .LVU508 1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1538 .loc 1 1494 7 discriminator 1 view .LVU509 1539 0036 0268 ldr r2, [r0] 1540 .LVL124: 1541 .LBB491: 1542 .LBI491: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS /tmp/ccQxTlMj.s page 122 1543 .loc 2 1068 31 view .LVU510 1544 .LBB492: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1545 .loc 2 1070 5 view .LVU511 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1546 .loc 2 1072 4 view .LVU512 1547 .syntax unified 1548 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1549 0038 52E8003F ldrex r3, [r2] 1550 @ 0 "" 2 1551 .LVL125: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1552 .loc 2 1073 4 view .LVU513 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1553 .loc 2 1073 4 is_stmt 0 view .LVU514 1554 .thumb 1555 .syntax unified 1556 .LBE492: 1557 .LBE491: 1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1558 .loc 1 1494 7 discriminator 1 view .LVU515 1559 003c 43F48073 orr r3, r3, #256 1560 .LVL126: 1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1561 .loc 1 1494 7 is_stmt 1 discriminator 1 view .LVU516 1562 .LBB493: 1563 .LBI493: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1564 .loc 2 1119 31 view .LVU517 1565 .LBB494: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1566 .loc 2 1121 4 view .LVU518 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1567 .loc 2 1123 4 view .LVU519 1568 .syntax unified 1569 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1570 0040 42E80031 strex r1, r3, [r2] 1571 @ 0 "" 2 1572 .LVL127: 1573 .loc 2 1124 4 view .LVU520 1574 .loc 2 1124 4 is_stmt 0 view .LVU521 1575 .thumb 1576 .syntax unified 1577 .LBE494: 1578 .LBE493: 1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1579 .loc 1 1494 7 discriminator 1 view .LVU522 1580 0044 0029 cmp r1, #0 1581 0046 F6D1 bne .L64 1582 .LVL128: 1583 .L65: 1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1584 .loc 1 1494 7 discriminator 1 view .LVU523 1585 .LBE490: 1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1586 .loc 1 1494 7 is_stmt 1 discriminator 2 view .LVU524 1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 123 1587 .loc 1 1496 5 discriminator 1 view .LVU525 1588 .LBB495: 1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1589 .loc 1 1496 5 discriminator 1 view .LVU526 1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1590 .loc 1 1496 5 discriminator 1 view .LVU527 1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1591 .loc 1 1496 5 discriminator 1 view .LVU528 1592 0048 0268 ldr r2, [r0] 1593 .LVL129: 1594 .LBB496: 1595 .LBI496: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1596 .loc 2 1068 31 view .LVU529 1597 .LBB497: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1598 .loc 2 1070 5 view .LVU530 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1599 .loc 2 1072 4 view .LVU531 1600 004a 02F10803 add r3, r2, #8 1601 .LVL130: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1602 .loc 2 1072 4 is_stmt 0 view .LVU532 1603 .syntax unified 1604 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1605 004e 53E8003F ldrex r3, [r3] 1606 @ 0 "" 2 1607 .LVL131: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1608 .loc 2 1073 4 is_stmt 1 view .LVU533 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1609 .loc 2 1073 4 is_stmt 0 view .LVU534 1610 .thumb 1611 .syntax unified 1612 .LBE497: 1613 .LBE496: 1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1614 .loc 1 1496 5 discriminator 1 view .LVU535 1615 0052 43F00103 orr r3, r3, #1 1616 .LVL132: 1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1617 .loc 1 1496 5 is_stmt 1 discriminator 1 view .LVU536 1618 .LBB498: 1619 .LBI498: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1620 .loc 2 1119 31 view .LVU537 1621 .LBB499: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1622 .loc 2 1121 4 view .LVU538 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1623 .loc 2 1123 4 view .LVU539 1624 0056 0832 adds r2, r2, #8 1625 .LVL133: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1626 .loc 2 1123 4 is_stmt 0 view .LVU540 1627 .syntax unified 1628 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/ccQxTlMj.s page 124 1629 0058 42E80031 strex r1, r3, [r2] 1630 @ 0 "" 2 1631 .LVL134: 1632 .loc 2 1124 4 is_stmt 1 view .LVU541 1633 .loc 2 1124 4 is_stmt 0 view .LVU542 1634 .thumb 1635 .syntax unified 1636 .LBE499: 1637 .LBE498: 1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1638 .loc 1 1496 5 discriminator 1 view .LVU543 1639 005c 0029 cmp r1, #0 1640 005e F3D1 bne .L65 1641 .LVL135: 1642 .L66: 1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1643 .loc 1 1496 5 discriminator 1 view .LVU544 1644 .LBE495: 1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1645 .loc 1 1496 5 is_stmt 1 discriminator 2 view .LVU545 1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1646 .loc 1 1499 5 discriminator 1 view .LVU546 1647 .LBB500: 1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1648 .loc 1 1499 5 discriminator 1 view .LVU547 1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1649 .loc 1 1499 5 discriminator 1 view .LVU548 1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1650 .loc 1 1499 5 discriminator 1 view .LVU549 1651 0060 0268 ldr r2, [r0] 1652 .LVL136: 1653 .LBB501: 1654 .LBI501: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1655 .loc 2 1068 31 view .LVU550 1656 .LBB502: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1657 .loc 2 1070 5 view .LVU551 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1658 .loc 2 1072 4 view .LVU552 1659 0062 02F10803 add r3, r2, #8 1660 .LVL137: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1661 .loc 2 1072 4 is_stmt 0 view .LVU553 1662 .syntax unified 1663 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1664 0066 53E8003F ldrex r3, [r3] 1665 @ 0 "" 2 1666 .LVL138: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1667 .loc 2 1073 4 is_stmt 1 view .LVU554 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1668 .loc 2 1073 4 is_stmt 0 view .LVU555 1669 .thumb 1670 .syntax unified 1671 .LBE502: 1672 .LBE501: ARM GAS /tmp/ccQxTlMj.s page 125 1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1673 .loc 1 1499 5 discriminator 1 view .LVU556 1674 006a 43F04003 orr r3, r3, #64 1675 .LVL139: 1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1676 .loc 1 1499 5 is_stmt 1 discriminator 1 view .LVU557 1677 .LBB503: 1678 .LBI503: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1679 .loc 2 1119 31 view .LVU558 1680 .LBB504: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1681 .loc 2 1121 4 view .LVU559 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1682 .loc 2 1123 4 view .LVU560 1683 006e 0832 adds r2, r2, #8 1684 .LVL140: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1685 .loc 2 1123 4 is_stmt 0 view .LVU561 1686 .syntax unified 1687 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1688 0070 42E80031 strex r1, r3, [r2] 1689 @ 0 "" 2 1690 .LVL141: 1691 .loc 2 1124 4 is_stmt 1 view .LVU562 1692 .loc 2 1124 4 is_stmt 0 view .LVU563 1693 .thumb 1694 .syntax unified 1695 .LBE504: 1696 .LBE503: 1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1697 .loc 1 1499 5 discriminator 1 view .LVU564 1698 0074 0029 cmp r1, #0 1699 0076 F3D1 bne .L66 1700 0078 C9E7 b .L62 1701 .LBE500: 1702 .cfi_endproc 1703 .LFE155: 1705 .section .text.HAL_UART_DMAStop,"ax",%progbits 1706 .align 1 1707 .global HAL_UART_DMAStop 1708 .syntax unified 1709 .thumb 1710 .thumb_func 1712 HAL_UART_DMAStop: 1713 .LVL142: 1714 .LFB156: 1511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1715 .loc 1 1511 1 is_stmt 1 view -0 1716 .cfi_startproc 1717 @ args = 0, pretend = 0, frame = 0 1718 @ frame_needed = 0, uses_anonymous_args = 0 1511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1719 .loc 1 1511 1 is_stmt 0 view .LVU566 1720 0000 38B5 push {r3, r4, r5, lr} 1721 .LCFI8: 1722 .cfi_def_cfa_offset 16 ARM GAS /tmp/ccQxTlMj.s page 126 1723 .cfi_offset 3, -16 1724 .cfi_offset 4, -12 1725 .cfi_offset 5, -8 1726 .cfi_offset 14, -4 1727 0002 0446 mov r4, r0 1519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1728 .loc 1 1519 3 is_stmt 1 view .LVU567 1519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1729 .loc 1 1519 31 is_stmt 0 view .LVU568 1730 0004 C26F ldr r2, [r0, #124] 1731 .LVL143: 1520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1732 .loc 1 1520 3 is_stmt 1 view .LVU569 1520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1733 .loc 1 1520 31 is_stmt 0 view .LVU570 1734 0006 D0F88050 ldr r5, [r0, #128] 1735 .LVL144: 1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1736 .loc 1 1523 3 is_stmt 1 view .LVU571 1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1737 .loc 1 1523 8 is_stmt 0 view .LVU572 1738 000a 0368 ldr r3, [r0] 1739 000c 9B68 ldr r3, [r3, #8] 1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1740 .loc 1 1523 6 view .LVU573 1741 000e 13F0800F tst r3, #128 1742 0012 01D0 beq .L69 1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1743 .loc 1 1523 62 discriminator 1 view .LVU574 1744 0014 212A cmp r2, #33 1745 0016 08D0 beq .L70 1746 .LVL145: 1747 .L69: 1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1748 .loc 1 1547 3 is_stmt 1 view .LVU575 1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1749 .loc 1 1547 8 is_stmt 0 view .LVU576 1750 0018 2368 ldr r3, [r4] 1751 001a 9B68 ldr r3, [r3, #8] 1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1752 .loc 1 1547 6 view .LVU577 1753 001c 13F0400F tst r3, #64 1754 0020 42D0 beq .L75 1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1755 .loc 1 1547 62 discriminator 1 view .LVU578 1756 0022 222D cmp r5, #34 1757 0024 20D0 beq .L73 1570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1758 .loc 1 1570 10 view .LVU579 1759 0026 0020 movs r0, #0 1760 0028 3FE0 b .L72 1761 .LVL146: 1762 .L70: 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1763 .loc 1 1526 5 is_stmt 1 discriminator 1 view .LVU580 1764 .LBB505: 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 127 1765 .loc 1 1526 5 discriminator 1 view .LVU581 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1766 .loc 1 1526 5 discriminator 1 view .LVU582 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1767 .loc 1 1526 5 discriminator 1 view .LVU583 1768 002a 2268 ldr r2, [r4] 1769 .LVL147: 1770 .LBB506: 1771 .LBI506: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1772 .loc 2 1068 31 view .LVU584 1773 .LBB507: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1774 .loc 2 1070 5 view .LVU585 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1775 .loc 2 1072 4 view .LVU586 1776 002c 02F10803 add r3, r2, #8 1777 .LVL148: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1778 .loc 2 1072 4 is_stmt 0 view .LVU587 1779 .syntax unified 1780 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1781 0030 53E8003F ldrex r3, [r3] 1782 @ 0 "" 2 1783 .LVL149: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1784 .loc 2 1073 4 is_stmt 1 view .LVU588 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1785 .loc 2 1073 4 is_stmt 0 view .LVU589 1786 .thumb 1787 .syntax unified 1788 .LBE507: 1789 .LBE506: 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1790 .loc 1 1526 5 discriminator 1 view .LVU590 1791 0034 23F08003 bic r3, r3, #128 1792 .LVL150: 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1793 .loc 1 1526 5 is_stmt 1 discriminator 1 view .LVU591 1794 .LBB508: 1795 .LBI508: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1796 .loc 2 1119 31 view .LVU592 1797 .LBB509: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1798 .loc 2 1121 4 view .LVU593 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1799 .loc 2 1123 4 view .LVU594 1800 0038 0832 adds r2, r2, #8 1801 .LVL151: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1802 .loc 2 1123 4 is_stmt 0 view .LVU595 1803 .syntax unified 1804 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1805 003a 42E80031 strex r1, r3, [r2] 1806 @ 0 "" 2 1807 .LVL152: ARM GAS /tmp/ccQxTlMj.s page 128 1808 .loc 2 1124 4 is_stmt 1 view .LVU596 1809 .loc 2 1124 4 is_stmt 0 view .LVU597 1810 .thumb 1811 .syntax unified 1812 .LBE509: 1813 .LBE508: 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1814 .loc 1 1526 5 discriminator 1 view .LVU598 1815 003e 0029 cmp r1, #0 1816 0040 F3D1 bne .L70 1817 .LBE505: 1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1818 .loc 1 1526 5 is_stmt 1 discriminator 2 view .LVU599 1529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1819 .loc 1 1529 5 view .LVU600 1529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1820 .loc 1 1529 14 is_stmt 0 view .LVU601 1821 0042 206F ldr r0, [r4, #112] 1822 .LVL153: 1529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1823 .loc 1 1529 8 view .LVU602 1824 0044 10B1 cbz r0, .L71 1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1825 .loc 1 1531 7 is_stmt 1 view .LVU603 1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1826 .loc 1 1531 11 is_stmt 0 view .LVU604 1827 0046 FFF7FEFF bl HAL_DMA_Abort 1828 .LVL154: 1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1829 .loc 1 1531 10 discriminator 1 view .LVU605 1830 004a 18B9 cbnz r0, .L78 1831 .L71: 1543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1832 .loc 1 1543 5 is_stmt 1 view .LVU606 1833 004c 2046 mov r0, r4 1834 004e FFF7FEFF bl UART_EndTxTransfer 1835 .LVL155: 1836 0052 E1E7 b .L69 1837 .L78: 1533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1838 .loc 1 1533 9 view .LVU607 1533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1839 .loc 1 1533 13 is_stmt 0 view .LVU608 1840 0054 206F ldr r0, [r4, #112] 1841 0056 FFF7FEFF bl HAL_DMA_GetError 1842 .LVL156: 1533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1843 .loc 1 1533 12 discriminator 1 view .LVU609 1844 005a 2028 cmp r0, #32 1845 005c F6D1 bne .L71 1536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1846 .loc 1 1536 11 is_stmt 1 view .LVU610 1536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1847 .loc 1 1536 28 is_stmt 0 view .LVU611 1848 005e 1023 movs r3, #16 1849 0060 C4F88430 str r3, [r4, #132] 1538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } ARM GAS /tmp/ccQxTlMj.s page 129 1850 .loc 1 1538 11 is_stmt 1 view .LVU612 1538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1851 .loc 1 1538 18 is_stmt 0 view .LVU613 1852 0064 0320 movs r0, #3 1853 0066 20E0 b .L72 1854 .LVL157: 1855 .L73: 1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1856 .loc 1 1550 5 is_stmt 1 discriminator 1 view .LVU614 1857 .LBB510: 1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1858 .loc 1 1550 5 discriminator 1 view .LVU615 1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1859 .loc 1 1550 5 discriminator 1 view .LVU616 1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1860 .loc 1 1550 5 discriminator 1 view .LVU617 1861 0068 2268 ldr r2, [r4] 1862 .LVL158: 1863 .LBB511: 1864 .LBI511: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1865 .loc 2 1068 31 view .LVU618 1866 .LBB512: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1867 .loc 2 1070 5 view .LVU619 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1868 .loc 2 1072 4 view .LVU620 1869 006a 02F10803 add r3, r2, #8 1870 .LVL159: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1871 .loc 2 1072 4 is_stmt 0 view .LVU621 1872 .syntax unified 1873 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1874 006e 53E8003F ldrex r3, [r3] 1875 @ 0 "" 2 1876 .LVL160: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1877 .loc 2 1073 4 is_stmt 1 view .LVU622 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1878 .loc 2 1073 4 is_stmt 0 view .LVU623 1879 .thumb 1880 .syntax unified 1881 .LBE512: 1882 .LBE511: 1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1883 .loc 1 1550 5 discriminator 1 view .LVU624 1884 0072 23F04003 bic r3, r3, #64 1885 .LVL161: 1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1886 .loc 1 1550 5 is_stmt 1 discriminator 1 view .LVU625 1887 .LBB513: 1888 .LBI513: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1889 .loc 2 1119 31 view .LVU626 1890 .LBB514: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 1891 .loc 2 1121 4 view .LVU627 ARM GAS /tmp/ccQxTlMj.s page 130 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1892 .loc 2 1123 4 view .LVU628 1893 0076 0832 adds r2, r2, #8 1894 .LVL162: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1895 .loc 2 1123 4 is_stmt 0 view .LVU629 1896 .syntax unified 1897 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1898 0078 42E80031 strex r1, r3, [r2] 1899 @ 0 "" 2 1900 .LVL163: 1901 .loc 2 1124 4 is_stmt 1 view .LVU630 1902 .loc 2 1124 4 is_stmt 0 view .LVU631 1903 .thumb 1904 .syntax unified 1905 .LBE514: 1906 .LBE513: 1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1907 .loc 1 1550 5 discriminator 1 view .LVU632 1908 007c 0029 cmp r1, #0 1909 007e F3D1 bne .L73 1910 .LBE510: 1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1911 .loc 1 1550 5 is_stmt 1 discriminator 2 view .LVU633 1553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1912 .loc 1 1553 5 view .LVU634 1553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1913 .loc 1 1553 14 is_stmt 0 view .LVU635 1914 0080 606F ldr r0, [r4, #116] 1553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1915 .loc 1 1553 8 view .LVU636 1916 0082 10B1 cbz r0, .L74 1555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1917 .loc 1 1555 7 is_stmt 1 view .LVU637 1555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1918 .loc 1 1555 11 is_stmt 0 view .LVU638 1919 0084 FFF7FEFF bl HAL_DMA_Abort 1920 .LVL164: 1555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1921 .loc 1 1555 10 discriminator 1 view .LVU639 1922 0088 20B9 cbnz r0, .L79 1923 .L74: 1567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1924 .loc 1 1567 5 is_stmt 1 view .LVU640 1925 008a 2046 mov r0, r4 1926 008c FFF7FEFF bl UART_EndRxTransfer 1927 .LVL165: 1570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1928 .loc 1 1570 10 is_stmt 0 view .LVU641 1929 0090 0020 movs r0, #0 1930 0092 0AE0 b .L72 1931 .L79: 1557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1932 .loc 1 1557 9 is_stmt 1 view .LVU642 1557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1933 .loc 1 1557 13 is_stmt 0 view .LVU643 1934 0094 606F ldr r0, [r4, #116] ARM GAS /tmp/ccQxTlMj.s page 131 1935 0096 FFF7FEFF bl HAL_DMA_GetError 1936 .LVL166: 1557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 1937 .loc 1 1557 12 discriminator 1 view .LVU644 1938 009a 2028 cmp r0, #32 1939 009c F5D1 bne .L74 1560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1940 .loc 1 1560 11 is_stmt 1 view .LVU645 1560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1941 .loc 1 1560 28 is_stmt 0 view .LVU646 1942 009e 1023 movs r3, #16 1943 00a0 C4F88430 str r3, [r4, #132] 1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1944 .loc 1 1562 11 is_stmt 1 view .LVU647 1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1945 .loc 1 1562 18 is_stmt 0 view .LVU648 1946 00a4 0320 movs r0, #3 1947 00a6 00E0 b .L72 1948 .LVL167: 1949 .L75: 1570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 1950 .loc 1 1570 10 view .LVU649 1951 00a8 0020 movs r0, #0 1952 .L72: 1571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1953 .loc 1 1571 1 view .LVU650 1954 00aa 38BD pop {r3, r4, r5, pc} 1571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 1955 .loc 1 1571 1 view .LVU651 1956 .cfi_endproc 1957 .LFE156: 1959 .section .text.HAL_UART_Abort,"ax",%progbits 1960 .align 1 1961 .global HAL_UART_Abort 1962 .syntax unified 1963 .thumb 1964 .thumb_func 1966 HAL_UART_Abort: 1967 .LVL168: 1968 .LFB157: 1586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1969 .loc 1 1586 1 is_stmt 1 view -0 1970 .cfi_startproc 1971 @ args = 0, pretend = 0, frame = 0 1972 @ frame_needed = 0, uses_anonymous_args = 0 1586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 1973 .loc 1 1586 1 is_stmt 0 view .LVU653 1974 0000 10B5 push {r4, lr} 1975 .LCFI9: 1976 .cfi_def_cfa_offset 8 1977 .cfi_offset 4, -8 1978 .cfi_offset 14, -4 1979 0002 0446 mov r4, r0 1980 .L81: 1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1981 .loc 1 1588 3 is_stmt 1 discriminator 1 view .LVU654 1982 .LBB515: ARM GAS /tmp/ccQxTlMj.s page 132 1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1983 .loc 1 1588 3 discriminator 1 view .LVU655 1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1984 .loc 1 1588 3 discriminator 1 view .LVU656 1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1985 .loc 1 1588 3 discriminator 1 view .LVU657 1986 0004 2268 ldr r2, [r4] 1987 .LVL169: 1988 .LBB516: 1989 .LBI516: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1990 .loc 2 1068 31 view .LVU658 1991 .LBB517: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 1992 .loc 2 1070 5 view .LVU659 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1993 .loc 2 1072 4 view .LVU660 1994 .syntax unified 1995 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 1996 0006 52E8003F ldrex r3, [r2] 1997 @ 0 "" 2 1998 .LVL170: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1999 .loc 2 1073 4 view .LVU661 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2000 .loc 2 1073 4 is_stmt 0 view .LVU662 2001 .thumb 2002 .syntax unified 2003 .LBE517: 2004 .LBE516: 1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2005 .loc 1 1588 3 discriminator 1 view .LVU663 2006 000a 23F4F073 bic r3, r3, #480 2007 .LVL171: 1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2008 .loc 1 1588 3 is_stmt 1 discriminator 1 view .LVU664 2009 .LBB518: 2010 .LBI518: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2011 .loc 2 1119 31 view .LVU665 2012 .LBB519: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2013 .loc 2 1121 4 view .LVU666 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2014 .loc 2 1123 4 view .LVU667 2015 .syntax unified 2016 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2017 000e 42E80031 strex r1, r3, [r2] 2018 @ 0 "" 2 2019 .LVL172: 2020 .loc 2 1124 4 view .LVU668 2021 .loc 2 1124 4 is_stmt 0 view .LVU669 2022 .thumb 2023 .syntax unified 2024 .LBE519: 2025 .LBE518: 1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS /tmp/ccQxTlMj.s page 133 2026 .loc 1 1588 3 discriminator 1 view .LVU670 2027 0012 0029 cmp r1, #0 2028 0014 F6D1 bne .L81 2029 .LVL173: 2030 .L82: 1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2031 .loc 1 1588 3 discriminator 1 view .LVU671 2032 .LBE515: 1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2033 .loc 1 1588 3 is_stmt 1 discriminator 2 view .LVU672 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2034 .loc 1 1589 3 discriminator 1 view .LVU673 2035 .LBB520: 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2036 .loc 1 1589 3 discriminator 1 view .LVU674 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2037 .loc 1 1589 3 discriminator 1 view .LVU675 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2038 .loc 1 1589 3 discriminator 1 view .LVU676 2039 0016 2268 ldr r2, [r4] 2040 .LVL174: 2041 .LBB521: 2042 .LBI521: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2043 .loc 2 1068 31 view .LVU677 2044 .LBB522: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2045 .loc 2 1070 5 view .LVU678 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2046 .loc 2 1072 4 view .LVU679 2047 0018 02F10803 add r3, r2, #8 2048 .LVL175: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2049 .loc 2 1072 4 is_stmt 0 view .LVU680 2050 .syntax unified 2051 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2052 001c 53E8003F ldrex r3, [r3] 2053 @ 0 "" 2 2054 .LVL176: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2055 .loc 2 1073 4 is_stmt 1 view .LVU681 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2056 .loc 2 1073 4 is_stmt 0 view .LVU682 2057 .thumb 2058 .syntax unified 2059 .LBE522: 2060 .LBE521: 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2061 .loc 1 1589 3 discriminator 1 view .LVU683 2062 0020 23F00103 bic r3, r3, #1 2063 .LVL177: 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2064 .loc 1 1589 3 is_stmt 1 discriminator 1 view .LVU684 2065 .LBB523: 2066 .LBI523: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2067 .loc 2 1119 31 view .LVU685 ARM GAS /tmp/ccQxTlMj.s page 134 2068 .LBB524: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2069 .loc 2 1121 4 view .LVU686 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2070 .loc 2 1123 4 view .LVU687 2071 0024 0832 adds r2, r2, #8 2072 .LVL178: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2073 .loc 2 1123 4 is_stmt 0 view .LVU688 2074 .syntax unified 2075 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2076 0026 42E80031 strex r1, r3, [r2] 2077 @ 0 "" 2 2078 .LVL179: 2079 .loc 2 1124 4 is_stmt 1 view .LVU689 2080 .loc 2 1124 4 is_stmt 0 view .LVU690 2081 .thumb 2082 .syntax unified 2083 .LBE524: 2084 .LBE523: 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2085 .loc 1 1589 3 discriminator 1 view .LVU691 2086 002a 0029 cmp r1, #0 2087 002c F3D1 bne .L82 2088 .LBE520: 1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2089 .loc 1 1589 3 is_stmt 1 discriminator 2 view .LVU692 1592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2090 .loc 1 1592 3 view .LVU693 1592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2091 .loc 1 1592 12 is_stmt 0 view .LVU694 2092 002e 236E ldr r3, [r4, #96] 2093 .LVL180: 1592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2094 .loc 1 1592 6 view .LVU695 2095 0030 012B cmp r3, #1 2096 0032 47D0 beq .L84 2097 .L83: 1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2098 .loc 1 1594 5 is_stmt 1 discriminator 2 view .LVU696 1598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2099 .loc 1 1598 3 view .LVU697 1598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2100 .loc 1 1598 7 is_stmt 0 view .LVU698 2101 0034 2368 ldr r3, [r4] 2102 0036 9B68 ldr r3, [r3, #8] 1598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2103 .loc 1 1598 6 view .LVU699 2104 0038 13F0800F tst r3, #128 2105 003c 14D0 beq .L85 2106 .L86: 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2107 .loc 1 1601 5 is_stmt 1 discriminator 1 view .LVU700 2108 .LBB525: 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2109 .loc 1 1601 5 discriminator 1 view .LVU701 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 135 2110 .loc 1 1601 5 discriminator 1 view .LVU702 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2111 .loc 1 1601 5 discriminator 1 view .LVU703 2112 003e 2268 ldr r2, [r4] 2113 .LVL181: 2114 .LBB526: 2115 .LBI526: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2116 .loc 2 1068 31 view .LVU704 2117 .LBB527: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2118 .loc 2 1070 5 view .LVU705 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2119 .loc 2 1072 4 view .LVU706 2120 0040 02F10803 add r3, r2, #8 2121 .LVL182: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2122 .loc 2 1072 4 is_stmt 0 view .LVU707 2123 .syntax unified 2124 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2125 0044 53E8003F ldrex r3, [r3] 2126 @ 0 "" 2 2127 .LVL183: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2128 .loc 2 1073 4 is_stmt 1 view .LVU708 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2129 .loc 2 1073 4 is_stmt 0 view .LVU709 2130 .thumb 2131 .syntax unified 2132 .LBE527: 2133 .LBE526: 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2134 .loc 1 1601 5 discriminator 1 view .LVU710 2135 0048 23F08003 bic r3, r3, #128 2136 .LVL184: 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2137 .loc 1 1601 5 is_stmt 1 discriminator 1 view .LVU711 2138 .LBB528: 2139 .LBI528: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2140 .loc 2 1119 31 view .LVU712 2141 .LBB529: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2142 .loc 2 1121 4 view .LVU713 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2143 .loc 2 1123 4 view .LVU714 2144 004c 0832 adds r2, r2, #8 2145 .LVL185: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2146 .loc 2 1123 4 is_stmt 0 view .LVU715 2147 .syntax unified 2148 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2149 004e 42E80031 strex r1, r3, [r2] 2150 @ 0 "" 2 2151 .LVL186: 2152 .loc 2 1124 4 is_stmt 1 view .LVU716 2153 .loc 2 1124 4 is_stmt 0 view .LVU717 ARM GAS /tmp/ccQxTlMj.s page 136 2154 .thumb 2155 .syntax unified 2156 .LBE529: 2157 .LBE528: 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2158 .loc 1 1601 5 discriminator 1 view .LVU718 2159 0052 0029 cmp r1, #0 2160 0054 F3D1 bne .L86 2161 .LBE525: 1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2162 .loc 1 1601 5 is_stmt 1 discriminator 2 view .LVU719 1604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2163 .loc 1 1604 5 view .LVU720 1604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2164 .loc 1 1604 14 is_stmt 0 view .LVU721 2165 0056 236F ldr r3, [r4, #112] 2166 .LVL187: 1604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2167 .loc 1 1604 8 view .LVU722 2168 0058 33B1 cbz r3, .L85 1608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2169 .loc 1 1608 7 is_stmt 1 view .LVU723 1608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2170 .loc 1 1608 40 is_stmt 0 view .LVU724 2171 005a 0022 movs r2, #0 2172 005c 1A65 str r2, [r3, #80] 1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2173 .loc 1 1610 7 is_stmt 1 view .LVU725 1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2174 .loc 1 1610 11 is_stmt 0 view .LVU726 2175 005e 206F ldr r0, [r4, #112] 2176 .LVL188: 1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2177 .loc 1 1610 11 view .LVU727 2178 0060 FFF7FEFF bl HAL_DMA_Abort 2179 .LVL189: 1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2180 .loc 1 1610 10 discriminator 1 view .LVU728 2181 0064 0028 cmp r0, #0 2182 0066 37D1 bne .L91 2183 .LVL190: 2184 .L85: 1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2185 .loc 1 1624 3 is_stmt 1 view .LVU729 1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2186 .loc 1 1624 7 is_stmt 0 view .LVU730 2187 0068 2368 ldr r3, [r4] 2188 006a 9B68 ldr r3, [r3, #8] 1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2189 .loc 1 1624 6 view .LVU731 2190 006c 13F0400F tst r3, #64 2191 0070 13D0 beq .L88 2192 .L89: 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2193 .loc 1 1627 5 is_stmt 1 discriminator 1 view .LVU732 2194 .LBB530: 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 137 2195 .loc 1 1627 5 discriminator 1 view .LVU733 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2196 .loc 1 1627 5 discriminator 1 view .LVU734 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2197 .loc 1 1627 5 discriminator 1 view .LVU735 2198 0072 2268 ldr r2, [r4] 2199 .LVL191: 2200 .LBB531: 2201 .LBI531: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2202 .loc 2 1068 31 view .LVU736 2203 .LBB532: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2204 .loc 2 1070 5 view .LVU737 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2205 .loc 2 1072 4 view .LVU738 2206 0074 02F10803 add r3, r2, #8 2207 .LVL192: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2208 .loc 2 1072 4 is_stmt 0 view .LVU739 2209 .syntax unified 2210 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2211 0078 53E8003F ldrex r3, [r3] 2212 @ 0 "" 2 2213 .LVL193: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2214 .loc 2 1073 4 is_stmt 1 view .LVU740 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2215 .loc 2 1073 4 is_stmt 0 view .LVU741 2216 .thumb 2217 .syntax unified 2218 .LBE532: 2219 .LBE531: 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2220 .loc 1 1627 5 discriminator 1 view .LVU742 2221 007c 23F04003 bic r3, r3, #64 2222 .LVL194: 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2223 .loc 1 1627 5 is_stmt 1 discriminator 1 view .LVU743 2224 .LBB533: 2225 .LBI533: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2226 .loc 2 1119 31 view .LVU744 2227 .LBB534: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2228 .loc 2 1121 4 view .LVU745 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2229 .loc 2 1123 4 view .LVU746 2230 0080 0832 adds r2, r2, #8 2231 .LVL195: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2232 .loc 2 1123 4 is_stmt 0 view .LVU747 2233 .syntax unified 2234 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2235 0082 42E80031 strex r1, r3, [r2] 2236 @ 0 "" 2 2237 .LVL196: ARM GAS /tmp/ccQxTlMj.s page 138 2238 .loc 2 1124 4 is_stmt 1 view .LVU748 2239 .loc 2 1124 4 is_stmt 0 view .LVU749 2240 .thumb 2241 .syntax unified 2242 .LBE534: 2243 .LBE533: 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2244 .loc 1 1627 5 discriminator 1 view .LVU750 2245 0086 0029 cmp r1, #0 2246 0088 F3D1 bne .L89 2247 .LBE530: 1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2248 .loc 1 1627 5 is_stmt 1 discriminator 2 view .LVU751 1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2249 .loc 1 1630 5 view .LVU752 1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2250 .loc 1 1630 14 is_stmt 0 view .LVU753 2251 008a 636F ldr r3, [r4, #116] 2252 .LVL197: 1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2253 .loc 1 1630 8 view .LVU754 2254 008c 2BB1 cbz r3, .L88 1634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2255 .loc 1 1634 7 is_stmt 1 view .LVU755 1634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2256 .loc 1 1634 40 is_stmt 0 view .LVU756 2257 008e 0022 movs r2, #0 2258 0090 1A65 str r2, [r3, #80] 1636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2259 .loc 1 1636 7 is_stmt 1 view .LVU757 1636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2260 .loc 1 1636 11 is_stmt 0 view .LVU758 2261 0092 606F ldr r0, [r4, #116] 2262 0094 FFF7FEFF bl HAL_DMA_Abort 2263 .LVL198: 1636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2264 .loc 1 1636 10 discriminator 1 view .LVU759 2265 0098 40BB cbnz r0, .L92 2266 .LVL199: 2267 .L88: 1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 2268 .loc 1 1650 3 is_stmt 1 view .LVU760 1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 2269 .loc 1 1650 22 is_stmt 0 view .LVU761 2270 009a 0020 movs r0, #0 2271 009c A4F85200 strh r0, [r4, #82] @ movhi 1651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2272 .loc 1 1651 3 is_stmt 1 view .LVU762 1651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2273 .loc 1 1651 22 is_stmt 0 view .LVU763 2274 00a0 A4F85A00 strh r0, [r4, #90] @ movhi 1654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2275 .loc 1 1654 3 is_stmt 1 view .LVU764 2276 00a4 2368 ldr r3, [r4] 2277 00a6 0F22 movs r2, #15 2278 00a8 1A62 str r2, [r3, #32] 1658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 139 2279 .loc 1 1658 3 view .LVU765 2280 00aa 2268 ldr r2, [r4] 2281 00ac 9369 ldr r3, [r2, #24] 2282 00ae 43F00803 orr r3, r3, #8 2283 00b2 9361 str r3, [r2, #24] 1661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2284 .loc 1 1661 3 view .LVU766 1661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2285 .loc 1 1661 18 is_stmt 0 view .LVU767 2286 00b4 2023 movs r3, #32 2287 00b6 E367 str r3, [r4, #124] 1662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2288 .loc 1 1662 3 is_stmt 1 view .LVU768 1662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2289 .loc 1 1662 18 is_stmt 0 view .LVU769 2290 00b8 C4F88030 str r3, [r4, #128] 1663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2291 .loc 1 1663 3 is_stmt 1 view .LVU770 1663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2292 .loc 1 1663 24 is_stmt 0 view .LVU771 2293 00bc 2066 str r0, [r4, #96] 1665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2294 .loc 1 1665 3 is_stmt 1 view .LVU772 1665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2295 .loc 1 1665 20 is_stmt 0 view .LVU773 2296 00be C4F88400 str r0, [r4, #132] 1667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2297 .loc 1 1667 3 is_stmt 1 view .LVU774 2298 .L87: 1668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2299 .loc 1 1668 1 is_stmt 0 view .LVU775 2300 00c2 10BD pop {r4, pc} 2301 .LVL200: 2302 .L84: 1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2303 .loc 1 1594 5 is_stmt 1 discriminator 1 view .LVU776 2304 .LBB535: 1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2305 .loc 1 1594 5 discriminator 1 view .LVU777 1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2306 .loc 1 1594 5 discriminator 1 view .LVU778 1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2307 .loc 1 1594 5 discriminator 1 view .LVU779 2308 00c4 2268 ldr r2, [r4] 2309 .LVL201: 2310 .LBB536: 2311 .LBI536: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2312 .loc 2 1068 31 view .LVU780 2313 .LBB537: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2314 .loc 2 1070 5 view .LVU781 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2315 .loc 2 1072 4 view .LVU782 2316 .syntax unified 2317 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2318 00c6 52E8003F ldrex r3, [r2] ARM GAS /tmp/ccQxTlMj.s page 140 2319 @ 0 "" 2 2320 .LVL202: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2321 .loc 2 1073 4 view .LVU783 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2322 .loc 2 1073 4 is_stmt 0 view .LVU784 2323 .thumb 2324 .syntax unified 2325 .LBE537: 2326 .LBE536: 1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2327 .loc 1 1594 5 discriminator 1 view .LVU785 2328 00ca 23F01003 bic r3, r3, #16 2329 .LVL203: 1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2330 .loc 1 1594 5 is_stmt 1 discriminator 1 view .LVU786 2331 .LBB538: 2332 .LBI538: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2333 .loc 2 1119 31 view .LVU787 2334 .LBB539: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2335 .loc 2 1121 4 view .LVU788 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2336 .loc 2 1123 4 view .LVU789 2337 .syntax unified 2338 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2339 00ce 42E80031 strex r1, r3, [r2] 2340 @ 0 "" 2 2341 .LVL204: 2342 .loc 2 1124 4 view .LVU790 2343 .loc 2 1124 4 is_stmt 0 view .LVU791 2344 .thumb 2345 .syntax unified 2346 .LBE539: 2347 .LBE538: 1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2348 .loc 1 1594 5 discriminator 1 view .LVU792 2349 00d2 0029 cmp r1, #0 2350 00d4 F6D1 bne .L84 2351 00d6 ADE7 b .L83 2352 .LVL205: 2353 .L91: 1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2354 .loc 1 1594 5 discriminator 1 view .LVU793 2355 .LBE535: 1612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2356 .loc 1 1612 9 is_stmt 1 view .LVU794 1612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2357 .loc 1 1612 13 is_stmt 0 view .LVU795 2358 00d8 206F ldr r0, [r4, #112] 2359 00da FFF7FEFF bl HAL_DMA_GetError 2360 .LVL206: 1612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2361 .loc 1 1612 12 discriminator 1 view .LVU796 2362 00de 2028 cmp r0, #32 2363 00e0 C2D1 bne .L85 ARM GAS /tmp/ccQxTlMj.s page 141 1615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2364 .loc 1 1615 11 is_stmt 1 view .LVU797 1615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2365 .loc 1 1615 28 is_stmt 0 view .LVU798 2366 00e2 1023 movs r3, #16 2367 00e4 C4F88430 str r3, [r4, #132] 1617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2368 .loc 1 1617 11 is_stmt 1 view .LVU799 1617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2369 .loc 1 1617 18 is_stmt 0 view .LVU800 2370 00e8 0320 movs r0, #3 2371 00ea EAE7 b .L87 2372 .LVL207: 2373 .L92: 1638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2374 .loc 1 1638 9 is_stmt 1 view .LVU801 1638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2375 .loc 1 1638 13 is_stmt 0 view .LVU802 2376 00ec 606F ldr r0, [r4, #116] 2377 00ee FFF7FEFF bl HAL_DMA_GetError 2378 .LVL208: 1638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2379 .loc 1 1638 12 discriminator 1 view .LVU803 2380 00f2 2028 cmp r0, #32 2381 00f4 D1D1 bne .L88 1641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2382 .loc 1 1641 11 is_stmt 1 view .LVU804 1641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2383 .loc 1 1641 28 is_stmt 0 view .LVU805 2384 00f6 1023 movs r3, #16 2385 00f8 C4F88430 str r3, [r4, #132] 1643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2386 .loc 1 1643 11 is_stmt 1 view .LVU806 1643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2387 .loc 1 1643 18 is_stmt 0 view .LVU807 2388 00fc 0320 movs r0, #3 2389 00fe E0E7 b .L87 2390 .cfi_endproc 2391 .LFE157: 2393 .section .text.HAL_UART_AbortTransmit,"ax",%progbits 2394 .align 1 2395 .global HAL_UART_AbortTransmit 2396 .syntax unified 2397 .thumb 2398 .thumb_func 2400 HAL_UART_AbortTransmit: 2401 .LVL209: 2402 .LFB158: 1683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 2403 .loc 1 1683 1 is_stmt 1 view -0 2404 .cfi_startproc 2405 @ args = 0, pretend = 0, frame = 0 2406 @ frame_needed = 0, uses_anonymous_args = 0 1683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */ 2407 .loc 1 1683 1 is_stmt 0 view .LVU809 2408 0000 10B5 push {r4, lr} 2409 .LCFI10: ARM GAS /tmp/ccQxTlMj.s page 142 2410 .cfi_def_cfa_offset 8 2411 .cfi_offset 4, -8 2412 .cfi_offset 14, -4 2413 0002 0446 mov r4, r0 2414 .L94: 1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2415 .loc 1 1685 3 is_stmt 1 discriminator 1 view .LVU810 2416 .LBB540: 1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2417 .loc 1 1685 3 discriminator 1 view .LVU811 1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2418 .loc 1 1685 3 discriminator 1 view .LVU812 1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2419 .loc 1 1685 3 discriminator 1 view .LVU813 2420 0004 2268 ldr r2, [r4] 2421 .LVL210: 2422 .LBB541: 2423 .LBI541: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2424 .loc 2 1068 31 view .LVU814 2425 .LBB542: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2426 .loc 2 1070 5 view .LVU815 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2427 .loc 2 1072 4 view .LVU816 2428 .syntax unified 2429 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2430 0006 52E8003F ldrex r3, [r2] 2431 @ 0 "" 2 2432 .LVL211: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2433 .loc 2 1073 4 view .LVU817 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2434 .loc 2 1073 4 is_stmt 0 view .LVU818 2435 .thumb 2436 .syntax unified 2437 .LBE542: 2438 .LBE541: 1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2439 .loc 1 1685 3 discriminator 1 view .LVU819 2440 000a 23F0C003 bic r3, r3, #192 2441 .LVL212: 1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2442 .loc 1 1685 3 is_stmt 1 discriminator 1 view .LVU820 2443 .LBB543: 2444 .LBI543: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2445 .loc 2 1119 31 view .LVU821 2446 .LBB544: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2447 .loc 2 1121 4 view .LVU822 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2448 .loc 2 1123 4 view .LVU823 2449 .syntax unified 2450 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2451 000e 42E80031 strex r1, r3, [r2] 2452 @ 0 "" 2 ARM GAS /tmp/ccQxTlMj.s page 143 2453 .LVL213: 2454 .loc 2 1124 4 view .LVU824 2455 .loc 2 1124 4 is_stmt 0 view .LVU825 2456 .thumb 2457 .syntax unified 2458 .LBE544: 2459 .LBE543: 1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2460 .loc 1 1685 3 discriminator 1 view .LVU826 2461 0012 0029 cmp r1, #0 2462 0014 F6D1 bne .L94 2463 .LBE540: 1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2464 .loc 1 1685 3 is_stmt 1 discriminator 2 view .LVU827 1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2465 .loc 1 1688 3 view .LVU828 1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2466 .loc 1 1688 7 is_stmt 0 view .LVU829 2467 0016 2368 ldr r3, [r4] 2468 .LVL214: 1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2469 .loc 1 1688 7 view .LVU830 2470 0018 9B68 ldr r3, [r3, #8] 1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2471 .loc 1 1688 6 view .LVU831 2472 001a 13F0800F tst r3, #128 2473 001e 13D0 beq .L95 2474 .L96: 1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2475 .loc 1 1691 5 is_stmt 1 discriminator 1 view .LVU832 2476 .LBB545: 1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2477 .loc 1 1691 5 discriminator 1 view .LVU833 1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2478 .loc 1 1691 5 discriminator 1 view .LVU834 1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2479 .loc 1 1691 5 discriminator 1 view .LVU835 2480 0020 2268 ldr r2, [r4] 2481 .LVL215: 2482 .LBB546: 2483 .LBI546: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2484 .loc 2 1068 31 view .LVU836 2485 .LBB547: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2486 .loc 2 1070 5 view .LVU837 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2487 .loc 2 1072 4 view .LVU838 2488 0022 02F10803 add r3, r2, #8 2489 .LVL216: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2490 .loc 2 1072 4 is_stmt 0 view .LVU839 2491 .syntax unified 2492 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2493 0026 53E8003F ldrex r3, [r3] 2494 @ 0 "" 2 2495 .LVL217: ARM GAS /tmp/ccQxTlMj.s page 144 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2496 .loc 2 1073 4 is_stmt 1 view .LVU840 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2497 .loc 2 1073 4 is_stmt 0 view .LVU841 2498 .thumb 2499 .syntax unified 2500 .LBE547: 2501 .LBE546: 1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2502 .loc 1 1691 5 discriminator 1 view .LVU842 2503 002a 23F08003 bic r3, r3, #128 2504 .LVL218: 1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2505 .loc 1 1691 5 is_stmt 1 discriminator 1 view .LVU843 2506 .LBB548: 2507 .LBI548: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2508 .loc 2 1119 31 view .LVU844 2509 .LBB549: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2510 .loc 2 1121 4 view .LVU845 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2511 .loc 2 1123 4 view .LVU846 2512 002e 0832 adds r2, r2, #8 2513 .LVL219: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2514 .loc 2 1123 4 is_stmt 0 view .LVU847 2515 .syntax unified 2516 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2517 0030 42E80031 strex r1, r3, [r2] 2518 @ 0 "" 2 2519 .LVL220: 2520 .loc 2 1124 4 is_stmt 1 view .LVU848 2521 .loc 2 1124 4 is_stmt 0 view .LVU849 2522 .thumb 2523 .syntax unified 2524 .LBE549: 2525 .LBE548: 1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2526 .loc 1 1691 5 discriminator 1 view .LVU850 2527 0034 0029 cmp r1, #0 2528 0036 F3D1 bne .L96 2529 .LBE545: 1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2530 .loc 1 1691 5 is_stmt 1 discriminator 2 view .LVU851 1694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2531 .loc 1 1694 5 view .LVU852 1694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2532 .loc 1 1694 14 is_stmt 0 view .LVU853 2533 0038 236F ldr r3, [r4, #112] 2534 .LVL221: 1694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2535 .loc 1 1694 8 view .LVU854 2536 003a 2BB1 cbz r3, .L95 1698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2537 .loc 1 1698 7 is_stmt 1 view .LVU855 1698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 145 2538 .loc 1 1698 40 is_stmt 0 view .LVU856 2539 003c 0022 movs r2, #0 2540 003e 1A65 str r2, [r3, #80] 1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2541 .loc 1 1700 7 is_stmt 1 view .LVU857 1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2542 .loc 1 1700 11 is_stmt 0 view .LVU858 2543 0040 206F ldr r0, [r4, #112] 2544 .LVL222: 1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2545 .loc 1 1700 11 view .LVU859 2546 0042 FFF7FEFF bl HAL_DMA_Abort 2547 .LVL223: 1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2548 .loc 1 1700 10 discriminator 1 view .LVU860 2549 0046 28B9 cbnz r0, .L99 2550 .LVL224: 2551 .L95: 1714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2552 .loc 1 1714 3 is_stmt 1 view .LVU861 1714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2553 .loc 1 1714 22 is_stmt 0 view .LVU862 2554 0048 0020 movs r0, #0 2555 004a A4F85200 strh r0, [r4, #82] @ movhi 1718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2556 .loc 1 1718 3 is_stmt 1 view .LVU863 1718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2557 .loc 1 1718 17 is_stmt 0 view .LVU864 2558 004e 2023 movs r3, #32 2559 0050 E367 str r3, [r4, #124] 1720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2560 .loc 1 1720 3 is_stmt 1 view .LVU865 2561 .L97: 1721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2562 .loc 1 1721 1 is_stmt 0 view .LVU866 2563 0052 10BD pop {r4, pc} 2564 .LVL225: 2565 .L99: 1702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2566 .loc 1 1702 9 is_stmt 1 view .LVU867 1702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2567 .loc 1 1702 13 is_stmt 0 view .LVU868 2568 0054 206F ldr r0, [r4, #112] 2569 0056 FFF7FEFF bl HAL_DMA_GetError 2570 .LVL226: 1702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2571 .loc 1 1702 12 discriminator 1 view .LVU869 2572 005a 2028 cmp r0, #32 2573 005c F4D1 bne .L95 1705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2574 .loc 1 1705 11 is_stmt 1 view .LVU870 1705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2575 .loc 1 1705 28 is_stmt 0 view .LVU871 2576 005e 1023 movs r3, #16 2577 0060 C4F88430 str r3, [r4, #132] 1707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2578 .loc 1 1707 11 is_stmt 1 view .LVU872 ARM GAS /tmp/ccQxTlMj.s page 146 1707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2579 .loc 1 1707 18 is_stmt 0 view .LVU873 2580 0064 0320 movs r0, #3 2581 0066 F4E7 b .L97 2582 .cfi_endproc 2583 .LFE158: 2585 .section .text.HAL_UART_AbortReceive,"ax",%progbits 2586 .align 1 2587 .global HAL_UART_AbortReceive 2588 .syntax unified 2589 .thumb 2590 .thumb_func 2592 HAL_UART_AbortReceive: 2593 .LVL227: 2594 .LFB159: 1736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2595 .loc 1 1736 1 is_stmt 1 view -0 2596 .cfi_startproc 2597 @ args = 0, pretend = 0, frame = 0 2598 @ frame_needed = 0, uses_anonymous_args = 0 1736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2599 .loc 1 1736 1 is_stmt 0 view .LVU875 2600 0000 10B5 push {r4, lr} 2601 .LCFI11: 2602 .cfi_def_cfa_offset 8 2603 .cfi_offset 4, -8 2604 .cfi_offset 14, -4 2605 0002 0446 mov r4, r0 2606 .L101: 1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2607 .loc 1 1738 3 is_stmt 1 discriminator 1 view .LVU876 2608 .LBB550: 1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2609 .loc 1 1738 3 discriminator 1 view .LVU877 1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2610 .loc 1 1738 3 discriminator 1 view .LVU878 1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2611 .loc 1 1738 3 discriminator 1 view .LVU879 2612 0004 2268 ldr r2, [r4] 2613 .LVL228: 2614 .LBB551: 2615 .LBI551: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2616 .loc 2 1068 31 view .LVU880 2617 .LBB552: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2618 .loc 2 1070 5 view .LVU881 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2619 .loc 2 1072 4 view .LVU882 2620 .syntax unified 2621 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2622 0006 52E8003F ldrex r3, [r2] 2623 @ 0 "" 2 2624 .LVL229: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2625 .loc 2 1073 4 view .LVU883 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS /tmp/ccQxTlMj.s page 147 2626 .loc 2 1073 4 is_stmt 0 view .LVU884 2627 .thumb 2628 .syntax unified 2629 .LBE552: 2630 .LBE551: 1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2631 .loc 1 1738 3 discriminator 1 view .LVU885 2632 000a 23F49073 bic r3, r3, #288 2633 .LVL230: 1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2634 .loc 1 1738 3 is_stmt 1 discriminator 1 view .LVU886 2635 .LBB553: 2636 .LBI553: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2637 .loc 2 1119 31 view .LVU887 2638 .LBB554: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2639 .loc 2 1121 4 view .LVU888 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2640 .loc 2 1123 4 view .LVU889 2641 .syntax unified 2642 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2643 000e 42E80031 strex r1, r3, [r2] 2644 @ 0 "" 2 2645 .LVL231: 2646 .loc 2 1124 4 view .LVU890 2647 .loc 2 1124 4 is_stmt 0 view .LVU891 2648 .thumb 2649 .syntax unified 2650 .LBE554: 2651 .LBE553: 1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2652 .loc 1 1738 3 discriminator 1 view .LVU892 2653 0012 0029 cmp r1, #0 2654 0014 F6D1 bne .L101 2655 .LVL232: 2656 .L102: 1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2657 .loc 1 1738 3 discriminator 1 view .LVU893 2658 .LBE550: 1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2659 .loc 1 1738 3 is_stmt 1 discriminator 2 view .LVU894 1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2660 .loc 1 1739 3 discriminator 1 view .LVU895 2661 .LBB555: 1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2662 .loc 1 1739 3 discriminator 1 view .LVU896 1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2663 .loc 1 1739 3 discriminator 1 view .LVU897 1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2664 .loc 1 1739 3 discriminator 1 view .LVU898 2665 0016 2268 ldr r2, [r4] 2666 .LVL233: 2667 .LBB556: 2668 .LBI556: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2669 .loc 2 1068 31 view .LVU899 ARM GAS /tmp/ccQxTlMj.s page 148 2670 .LBB557: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2671 .loc 2 1070 5 view .LVU900 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2672 .loc 2 1072 4 view .LVU901 2673 0018 02F10803 add r3, r2, #8 2674 .LVL234: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2675 .loc 2 1072 4 is_stmt 0 view .LVU902 2676 .syntax unified 2677 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2678 001c 53E8003F ldrex r3, [r3] 2679 @ 0 "" 2 2680 .LVL235: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2681 .loc 2 1073 4 is_stmt 1 view .LVU903 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2682 .loc 2 1073 4 is_stmt 0 view .LVU904 2683 .thumb 2684 .syntax unified 2685 .LBE557: 2686 .LBE556: 1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2687 .loc 1 1739 3 discriminator 1 view .LVU905 2688 0020 23F00103 bic r3, r3, #1 2689 .LVL236: 1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2690 .loc 1 1739 3 is_stmt 1 discriminator 1 view .LVU906 2691 .LBB558: 2692 .LBI558: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2693 .loc 2 1119 31 view .LVU907 2694 .LBB559: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2695 .loc 2 1121 4 view .LVU908 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2696 .loc 2 1123 4 view .LVU909 2697 0024 0832 adds r2, r2, #8 2698 .LVL237: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2699 .loc 2 1123 4 is_stmt 0 view .LVU910 2700 .syntax unified 2701 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2702 0026 42E80031 strex r1, r3, [r2] 2703 @ 0 "" 2 2704 .LVL238: 2705 .loc 2 1124 4 is_stmt 1 view .LVU911 2706 .loc 2 1124 4 is_stmt 0 view .LVU912 2707 .thumb 2708 .syntax unified 2709 .LBE559: 2710 .LBE558: 1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2711 .loc 1 1739 3 discriminator 1 view .LVU913 2712 002a 0029 cmp r1, #0 2713 002c F3D1 bne .L102 2714 .LBE555: ARM GAS /tmp/ccQxTlMj.s page 149 1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2715 .loc 1 1739 3 is_stmt 1 discriminator 2 view .LVU914 1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2716 .loc 1 1742 3 view .LVU915 1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2717 .loc 1 1742 12 is_stmt 0 view .LVU916 2718 002e 236E ldr r3, [r4, #96] 2719 .LVL239: 1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2720 .loc 1 1742 6 view .LVU917 2721 0030 012B cmp r3, #1 2722 0032 28D0 beq .L104 2723 .L103: 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2724 .loc 1 1744 5 is_stmt 1 discriminator 2 view .LVU918 1748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2725 .loc 1 1748 3 view .LVU919 1748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2726 .loc 1 1748 7 is_stmt 0 view .LVU920 2727 0034 2368 ldr r3, [r4] 2728 0036 9B68 ldr r3, [r3, #8] 1748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2729 .loc 1 1748 6 view .LVU921 2730 0038 13F0400F tst r3, #64 2731 003c 13D0 beq .L105 2732 .L106: 1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2733 .loc 1 1751 5 is_stmt 1 discriminator 1 view .LVU922 2734 .LBB560: 1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2735 .loc 1 1751 5 discriminator 1 view .LVU923 1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2736 .loc 1 1751 5 discriminator 1 view .LVU924 1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2737 .loc 1 1751 5 discriminator 1 view .LVU925 2738 003e 2268 ldr r2, [r4] 2739 .LVL240: 2740 .LBB561: 2741 .LBI561: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2742 .loc 2 1068 31 view .LVU926 2743 .LBB562: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2744 .loc 2 1070 5 view .LVU927 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2745 .loc 2 1072 4 view .LVU928 2746 0040 02F10803 add r3, r2, #8 2747 .LVL241: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2748 .loc 2 1072 4 is_stmt 0 view .LVU929 2749 .syntax unified 2750 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2751 0044 53E8003F ldrex r3, [r3] 2752 @ 0 "" 2 2753 .LVL242: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2754 .loc 2 1073 4 is_stmt 1 view .LVU930 ARM GAS /tmp/ccQxTlMj.s page 150 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2755 .loc 2 1073 4 is_stmt 0 view .LVU931 2756 .thumb 2757 .syntax unified 2758 .LBE562: 2759 .LBE561: 1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2760 .loc 1 1751 5 discriminator 1 view .LVU932 2761 0048 23F04003 bic r3, r3, #64 2762 .LVL243: 1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2763 .loc 1 1751 5 is_stmt 1 discriminator 1 view .LVU933 2764 .LBB563: 2765 .LBI563: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2766 .loc 2 1119 31 view .LVU934 2767 .LBB564: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2768 .loc 2 1121 4 view .LVU935 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2769 .loc 2 1123 4 view .LVU936 2770 004c 0832 adds r2, r2, #8 2771 .LVL244: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2772 .loc 2 1123 4 is_stmt 0 view .LVU937 2773 .syntax unified 2774 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2775 004e 42E80031 strex r1, r3, [r2] 2776 @ 0 "" 2 2777 .LVL245: 2778 .loc 2 1124 4 is_stmt 1 view .LVU938 2779 .loc 2 1124 4 is_stmt 0 view .LVU939 2780 .thumb 2781 .syntax unified 2782 .LBE564: 2783 .LBE563: 1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2784 .loc 1 1751 5 discriminator 1 view .LVU940 2785 0052 0029 cmp r1, #0 2786 0054 F3D1 bne .L106 2787 .LBE560: 1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2788 .loc 1 1751 5 is_stmt 1 discriminator 2 view .LVU941 1754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2789 .loc 1 1754 5 view .LVU942 1754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2790 .loc 1 1754 14 is_stmt 0 view .LVU943 2791 0056 636F ldr r3, [r4, #116] 2792 .LVL246: 1754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2793 .loc 1 1754 8 view .LVU944 2794 0058 2BB1 cbz r3, .L105 1758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2795 .loc 1 1758 7 is_stmt 1 view .LVU945 1758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2796 .loc 1 1758 40 is_stmt 0 view .LVU946 2797 005a 0022 movs r2, #0 ARM GAS /tmp/ccQxTlMj.s page 151 2798 005c 1A65 str r2, [r3, #80] 1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2799 .loc 1 1760 7 is_stmt 1 view .LVU947 1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2800 .loc 1 1760 11 is_stmt 0 view .LVU948 2801 005e 606F ldr r0, [r4, #116] 2802 .LVL247: 1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2803 .loc 1 1760 11 view .LVU949 2804 0060 FFF7FEFF bl HAL_DMA_Abort 2805 .LVL248: 1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2806 .loc 1 1760 10 discriminator 1 view .LVU950 2807 0064 C8B9 cbnz r0, .L109 2808 .LVL249: 2809 .L105: 1774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2810 .loc 1 1774 3 is_stmt 1 view .LVU951 1774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2811 .loc 1 1774 22 is_stmt 0 view .LVU952 2812 0066 0020 movs r0, #0 2813 0068 A4F85A00 strh r0, [r4, #90] @ movhi 1777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2814 .loc 1 1777 3 is_stmt 1 view .LVU953 2815 006c 2368 ldr r3, [r4] 2816 006e 0F22 movs r2, #15 2817 0070 1A62 str r2, [r3, #32] 1780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2818 .loc 1 1780 3 view .LVU954 2819 0072 2268 ldr r2, [r4] 2820 0074 9369 ldr r3, [r2, #24] 2821 0076 43F00803 orr r3, r3, #8 2822 007a 9361 str r3, [r2, #24] 1783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2823 .loc 1 1783 3 view .LVU955 1783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 2824 .loc 1 1783 18 is_stmt 0 view .LVU956 2825 007c 2023 movs r3, #32 2826 007e C4F88030 str r3, [r4, #128] 1784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2827 .loc 1 1784 3 is_stmt 1 view .LVU957 1784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2828 .loc 1 1784 24 is_stmt 0 view .LVU958 2829 0082 2066 str r0, [r4, #96] 1786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2830 .loc 1 1786 3 is_stmt 1 view .LVU959 2831 .L107: 1787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2832 .loc 1 1787 1 is_stmt 0 view .LVU960 2833 0084 10BD pop {r4, pc} 2834 .LVL250: 2835 .L104: 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2836 .loc 1 1744 5 is_stmt 1 discriminator 1 view .LVU961 2837 .LBB565: 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2838 .loc 1 1744 5 discriminator 1 view .LVU962 ARM GAS /tmp/ccQxTlMj.s page 152 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2839 .loc 1 1744 5 discriminator 1 view .LVU963 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2840 .loc 1 1744 5 discriminator 1 view .LVU964 2841 0086 2268 ldr r2, [r4] 2842 .LVL251: 2843 .LBB566: 2844 .LBI566: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2845 .loc 2 1068 31 view .LVU965 2846 .LBB567: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 2847 .loc 2 1070 5 view .LVU966 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2848 .loc 2 1072 4 view .LVU967 2849 .syntax unified 2850 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2851 0088 52E8003F ldrex r3, [r2] 2852 @ 0 "" 2 2853 .LVL252: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2854 .loc 2 1073 4 view .LVU968 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2855 .loc 2 1073 4 is_stmt 0 view .LVU969 2856 .thumb 2857 .syntax unified 2858 .LBE567: 2859 .LBE566: 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2860 .loc 1 1744 5 discriminator 1 view .LVU970 2861 008c 23F01003 bic r3, r3, #16 2862 .LVL253: 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2863 .loc 1 1744 5 is_stmt 1 discriminator 1 view .LVU971 2864 .LBB568: 2865 .LBI568: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2866 .loc 2 1119 31 view .LVU972 2867 .LBB569: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2868 .loc 2 1121 4 view .LVU973 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2869 .loc 2 1123 4 view .LVU974 2870 .syntax unified 2871 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2872 0090 42E80031 strex r1, r3, [r2] 2873 @ 0 "" 2 2874 .LVL254: 2875 .loc 2 1124 4 view .LVU975 2876 .loc 2 1124 4 is_stmt 0 view .LVU976 2877 .thumb 2878 .syntax unified 2879 .LBE569: 2880 .LBE568: 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2881 .loc 1 1744 5 discriminator 1 view .LVU977 2882 0094 0029 cmp r1, #0 ARM GAS /tmp/ccQxTlMj.s page 153 2883 0096 F6D1 bne .L104 2884 0098 CCE7 b .L103 2885 .LVL255: 2886 .L109: 1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2887 .loc 1 1744 5 discriminator 1 view .LVU978 2888 .LBE565: 1762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2889 .loc 1 1762 9 is_stmt 1 view .LVU979 1762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2890 .loc 1 1762 13 is_stmt 0 view .LVU980 2891 009a 606F ldr r0, [r4, #116] 2892 009c FFF7FEFF bl HAL_DMA_GetError 2893 .LVL256: 1762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2894 .loc 1 1762 12 discriminator 1 view .LVU981 2895 00a0 2028 cmp r0, #32 2896 00a2 E0D1 bne .L105 1765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2897 .loc 1 1765 11 is_stmt 1 view .LVU982 1765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2898 .loc 1 1765 28 is_stmt 0 view .LVU983 2899 00a4 1023 movs r3, #16 2900 00a6 C4F88430 str r3, [r4, #132] 1767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2901 .loc 1 1767 11 is_stmt 1 view .LVU984 1767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 2902 .loc 1 1767 18 is_stmt 0 view .LVU985 2903 00aa 0320 movs r0, #3 2904 00ac EAE7 b .L107 2905 .cfi_endproc 2906 .LFE159: 2908 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits 2909 .align 1 2910 .weak HAL_UART_TxCpltCallback 2911 .syntax unified 2912 .thumb 2913 .thumb_func 2915 HAL_UART_TxCpltCallback: 2916 .LVL257: 2917 .LFB164: 2435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2918 .loc 1 2435 1 is_stmt 1 view -0 2919 .cfi_startproc 2920 @ args = 0, pretend = 0, frame = 0 2921 @ frame_needed = 0, uses_anonymous_args = 0 2922 @ link register save eliminated. 2437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2923 .loc 1 2437 3 view .LVU987 2442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2924 .loc 1 2442 1 is_stmt 0 view .LVU988 2925 0000 7047 bx lr 2926 .cfi_endproc 2927 .LFE164: 2929 .section .text.UART_DMATransmitCplt,"ax",%progbits 2930 .align 1 2931 .syntax unified ARM GAS /tmp/ccQxTlMj.s page 154 2932 .thumb 2933 .thumb_func 2935 UART_DMATransmitCplt: 2936 .LVL258: 2937 .LFB193: 3406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2938 .loc 1 3406 1 is_stmt 1 view -0 2939 .cfi_startproc 2940 @ args = 0, pretend = 0, frame = 0 2941 @ frame_needed = 0, uses_anonymous_args = 0 3406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2942 .loc 1 3406 1 is_stmt 0 view .LVU990 2943 0000 08B5 push {r3, lr} 2944 .LCFI12: 2945 .cfi_def_cfa_offset 8 2946 .cfi_offset 3, -8 2947 .cfi_offset 14, -4 3407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2948 .loc 1 3407 3 is_stmt 1 view .LVU991 3407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2949 .loc 1 3407 23 is_stmt 0 view .LVU992 2950 0002 816B ldr r1, [r0, #56] 2951 .LVL259: 3410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2952 .loc 1 3410 3 is_stmt 1 view .LVU993 3410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2953 .loc 1 3410 17 is_stmt 0 view .LVU994 2954 0004 C369 ldr r3, [r0, #28] 3410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 2955 .loc 1 3410 6 view .LVU995 2956 0006 B3F5807F cmp r3, #256 2957 000a 18D0 beq .L112 3412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2958 .loc 1 3412 5 is_stmt 1 view .LVU996 3412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2959 .loc 1 3412 24 is_stmt 0 view .LVU997 2960 000c 0023 movs r3, #0 2961 000e A1F85230 strh r3, [r1, #82] @ movhi 2962 .LVL260: 2963 .L113: 3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2964 .loc 1 3416 5 is_stmt 1 discriminator 1 view .LVU998 2965 .LBB570: 3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2966 .loc 1 3416 5 discriminator 1 view .LVU999 3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2967 .loc 1 3416 5 discriminator 1 view .LVU1000 3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2968 .loc 1 3416 5 discriminator 1 view .LVU1001 2969 0012 0A68 ldr r2, [r1] 2970 .LVL261: 2971 .LBB571: 2972 .LBI571: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2973 .loc 2 1068 31 view .LVU1002 2974 .LBB572: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/ccQxTlMj.s page 155 2975 .loc 2 1070 5 view .LVU1003 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2976 .loc 2 1072 4 view .LVU1004 2977 0014 02F10803 add r3, r2, #8 2978 .LVL262: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 2979 .loc 2 1072 4 is_stmt 0 view .LVU1005 2980 .syntax unified 2981 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 2982 0018 53E8003F ldrex r3, [r3] 2983 @ 0 "" 2 2984 .LVL263: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2985 .loc 2 1073 4 is_stmt 1 view .LVU1006 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 2986 .loc 2 1073 4 is_stmt 0 view .LVU1007 2987 .thumb 2988 .syntax unified 2989 .LBE572: 2990 .LBE571: 3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2991 .loc 1 3416 5 discriminator 1 view .LVU1008 2992 001c 23F08003 bic r3, r3, #128 2993 .LVL264: 3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 2994 .loc 1 3416 5 is_stmt 1 discriminator 1 view .LVU1009 2995 .LBB573: 2996 .LBI573: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 2997 .loc 2 1119 31 view .LVU1010 2998 .LBB574: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 2999 .loc 2 1121 4 view .LVU1011 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3000 .loc 2 1123 4 view .LVU1012 3001 0020 0832 adds r2, r2, #8 3002 .LVL265: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3003 .loc 2 1123 4 is_stmt 0 view .LVU1013 3004 .syntax unified 3005 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3006 0022 42E80030 strex r0, r3, [r2] 3007 @ 0 "" 2 3008 .LVL266: 3009 .loc 2 1124 4 is_stmt 1 view .LVU1014 3010 .loc 2 1124 4 is_stmt 0 view .LVU1015 3011 .thumb 3012 .syntax unified 3013 .LBE574: 3014 .LBE573: 3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3015 .loc 1 3416 5 discriminator 1 view .LVU1016 3016 0026 0028 cmp r0, #0 3017 0028 F3D1 bne .L113 3018 .LVL267: 3019 .L114: 3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 156 3020 .loc 1 3416 5 discriminator 1 view .LVU1017 3021 .LBE570: 3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3022 .loc 1 3416 5 is_stmt 1 discriminator 2 view .LVU1018 3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3023 .loc 1 3419 5 discriminator 1 view .LVU1019 3024 .LBB575: 3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3025 .loc 1 3419 5 discriminator 1 view .LVU1020 3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3026 .loc 1 3419 5 discriminator 1 view .LVU1021 3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3027 .loc 1 3419 5 discriminator 1 view .LVU1022 3028 002a 0A68 ldr r2, [r1] 3029 .LVL268: 3030 .LBB576: 3031 .LBI576: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3032 .loc 2 1068 31 view .LVU1023 3033 .LBB577: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3034 .loc 2 1070 5 view .LVU1024 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3035 .loc 2 1072 4 view .LVU1025 3036 .syntax unified 3037 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3038 002c 52E8003F ldrex r3, [r2] 3039 @ 0 "" 2 3040 .LVL269: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3041 .loc 2 1073 4 view .LVU1026 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3042 .loc 2 1073 4 is_stmt 0 view .LVU1027 3043 .thumb 3044 .syntax unified 3045 .LBE577: 3046 .LBE576: 3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3047 .loc 1 3419 5 discriminator 1 view .LVU1028 3048 0030 43F04003 orr r3, r3, #64 3049 .LVL270: 3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3050 .loc 1 3419 5 is_stmt 1 discriminator 1 view .LVU1029 3051 .LBB578: 3052 .LBI578: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3053 .loc 2 1119 31 view .LVU1030 3054 .LBB579: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3055 .loc 2 1121 4 view .LVU1031 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3056 .loc 2 1123 4 view .LVU1032 3057 .syntax unified 3058 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3059 0034 42E80030 strex r0, r3, [r2] 3060 @ 0 "" 2 3061 .LVL271: ARM GAS /tmp/ccQxTlMj.s page 157 3062 .loc 2 1124 4 view .LVU1033 3063 .loc 2 1124 4 is_stmt 0 view .LVU1034 3064 .thumb 3065 .syntax unified 3066 .LBE579: 3067 .LBE578: 3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3068 .loc 1 3419 5 discriminator 1 view .LVU1035 3069 0038 0028 cmp r0, #0 3070 003a F6D1 bne .L114 3071 .LVL272: 3072 .L111: 3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3073 .loc 1 3419 5 discriminator 1 view .LVU1036 3074 .LBE575: 3432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3075 .loc 1 3432 1 view .LVU1037 3076 003c 08BD pop {r3, pc} 3077 .LVL273: 3078 .L112: 3429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3079 .loc 1 3429 5 is_stmt 1 view .LVU1038 3080 003e 0846 mov r0, r1 3081 .LVL274: 3429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3082 .loc 1 3429 5 is_stmt 0 view .LVU1039 3083 0040 FFF7FEFF bl HAL_UART_TxCpltCallback 3084 .LVL275: 3432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3085 .loc 1 3432 1 view .LVU1040 3086 0044 FAE7 b .L111 3087 .cfi_endproc 3088 .LFE193: 3090 .section .text.UART_EndTransmit_IT,"ax",%progbits 3091 .align 1 3092 .syntax unified 3093 .thumb 3094 .thumb_func 3096 UART_EndTransmit_IT: 3097 .LFB205: 3835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode. 3839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains 3840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART module. 3841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart) 3844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3098 .loc 1 3844 1 is_stmt 1 view -0 3099 .cfi_startproc 3100 @ args = 0, pretend = 0, frame = 0 3101 @ frame_needed = 0, uses_anonymous_args = 0 3102 .LVL276: 3103 .loc 1 3844 1 is_stmt 0 view .LVU1042 3104 0000 08B5 push {r3, lr} ARM GAS /tmp/ccQxTlMj.s page 158 3105 .LCFI13: 3106 .cfi_def_cfa_offset 8 3107 .cfi_offset 3, -8 3108 .cfi_offset 14, -4 3109 .L118: 3845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */ 3846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3110 .loc 1 3846 3 is_stmt 1 discriminator 1 view .LVU1043 3111 .LBB580: 3112 .loc 1 3846 3 discriminator 1 view .LVU1044 3113 .loc 1 3846 3 discriminator 1 view .LVU1045 3114 .loc 1 3846 3 discriminator 1 view .LVU1046 3115 0002 0268 ldr r2, [r0] 3116 .LVL277: 3117 .LBB581: 3118 .LBI581: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3119 .loc 2 1068 31 view .LVU1047 3120 .LBB582: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3121 .loc 2 1070 5 view .LVU1048 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3122 .loc 2 1072 4 view .LVU1049 3123 .syntax unified 3124 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3125 0004 52E8003F ldrex r3, [r2] 3126 @ 0 "" 2 3127 .LVL278: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3128 .loc 2 1073 4 view .LVU1050 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3129 .loc 2 1073 4 is_stmt 0 view .LVU1051 3130 .thumb 3131 .syntax unified 3132 .LBE582: 3133 .LBE581: 3134 .loc 1 3846 3 discriminator 1 view .LVU1052 3135 0008 23F04003 bic r3, r3, #64 3136 .LVL279: 3137 .loc 1 3846 3 is_stmt 1 discriminator 1 view .LVU1053 3138 .LBB583: 3139 .LBI583: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3140 .loc 2 1119 31 view .LVU1054 3141 .LBB584: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3142 .loc 2 1121 4 view .LVU1055 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3143 .loc 2 1123 4 view .LVU1056 3144 .syntax unified 3145 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3146 000c 42E80031 strex r1, r3, [r2] 3147 @ 0 "" 2 3148 .LVL280: 3149 .loc 2 1124 4 view .LVU1057 3150 .loc 2 1124 4 is_stmt 0 view .LVU1058 3151 .thumb ARM GAS /tmp/ccQxTlMj.s page 159 3152 .syntax unified 3153 .LBE584: 3154 .LBE583: 3155 .loc 1 3846 3 discriminator 1 view .LVU1059 3156 0010 0029 cmp r1, #0 3157 0012 F6D1 bne .L118 3158 .LBE580: 3159 .loc 1 3846 3 is_stmt 1 discriminator 2 view .LVU1060 3847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */ 3849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3160 .loc 1 3849 3 view .LVU1061 3161 .loc 1 3849 17 is_stmt 0 view .LVU1062 3162 0014 2023 movs r3, #32 3163 .LVL281: 3164 .loc 1 3849 17 view .LVU1063 3165 0016 C367 str r3, [r0, #124] 3850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Cleat TxISR function pointer */ 3852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 3166 .loc 1 3852 3 is_stmt 1 view .LVU1064 3167 .loc 1 3852 16 is_stmt 0 view .LVU1065 3168 0018 0023 movs r3, #0 3169 001a C366 str r3, [r0, #108] 3853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxCpltCallback(huart); 3857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3170 .loc 1 3859 3 is_stmt 1 view .LVU1066 3171 001c FFF7FEFF bl HAL_UART_TxCpltCallback 3172 .LVL282: 3860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3173 .loc 1 3861 1 is_stmt 0 view .LVU1067 3174 0020 08BD pop {r3, pc} 3175 .cfi_endproc 3176 .LFE205: 3178 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits 3179 .align 1 3180 .weak HAL_UART_TxHalfCpltCallback 3181 .syntax unified 3182 .thumb 3183 .thumb_func 3185 HAL_UART_TxHalfCpltCallback: 3186 .LVL283: 3187 .LFB165: 2450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3188 .loc 1 2450 1 is_stmt 1 view -0 3189 .cfi_startproc 3190 @ args = 0, pretend = 0, frame = 0 3191 @ frame_needed = 0, uses_anonymous_args = 0 3192 @ link register save eliminated. 2452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3193 .loc 1 2452 3 view .LVU1069 ARM GAS /tmp/ccQxTlMj.s page 160 2457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3194 .loc 1 2457 1 is_stmt 0 view .LVU1070 3195 0000 7047 bx lr 3196 .cfi_endproc 3197 .LFE165: 3199 .section .text.UART_DMATxHalfCplt,"ax",%progbits 3200 .align 1 3201 .syntax unified 3202 .thumb 3203 .thumb_func 3205 UART_DMATxHalfCplt: 3206 .LVL284: 3207 .LFB194: 3440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3208 .loc 1 3440 1 is_stmt 1 view -0 3209 .cfi_startproc 3210 @ args = 0, pretend = 0, frame = 0 3211 @ frame_needed = 0, uses_anonymous_args = 0 3440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3212 .loc 1 3440 1 is_stmt 0 view .LVU1072 3213 0000 08B5 push {r3, lr} 3214 .LCFI14: 3215 .cfi_def_cfa_offset 8 3216 .cfi_offset 3, -8 3217 .cfi_offset 14, -4 3441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3218 .loc 1 3441 3 is_stmt 1 view .LVU1073 3219 .LVL285: 3448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3220 .loc 1 3448 3 view .LVU1074 3221 0002 806B ldr r0, [r0, #56] 3222 .LVL286: 3448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3223 .loc 1 3448 3 is_stmt 0 view .LVU1075 3224 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback 3225 .LVL287: 3450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3226 .loc 1 3450 1 view .LVU1076 3227 0008 08BD pop {r3, pc} 3228 .cfi_endproc 3229 .LFE194: 3231 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits 3232 .align 1 3233 .weak HAL_UART_RxCpltCallback 3234 .syntax unified 3235 .thumb 3236 .thumb_func 3238 HAL_UART_RxCpltCallback: 3239 .LVL288: 3240 .LFB166: 2465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3241 .loc 1 2465 1 is_stmt 1 view -0 3242 .cfi_startproc 3243 @ args = 0, pretend = 0, frame = 0 3244 @ frame_needed = 0, uses_anonymous_args = 0 3245 @ link register save eliminated. 2467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 161 3246 .loc 1 2467 3 view .LVU1078 2472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3247 .loc 1 2472 1 is_stmt 0 view .LVU1079 3248 0000 7047 bx lr 3249 .cfi_endproc 3250 .LFE166: 3252 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits 3253 .align 1 3254 .weak HAL_UART_RxHalfCpltCallback 3255 .syntax unified 3256 .thumb 3257 .thumb_func 3259 HAL_UART_RxHalfCpltCallback: 3260 .LVL289: 3261 .LFB167: 2480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3262 .loc 1 2480 1 is_stmt 1 view -0 3263 .cfi_startproc 3264 @ args = 0, pretend = 0, frame = 0 3265 @ frame_needed = 0, uses_anonymous_args = 0 3266 @ link register save eliminated. 2482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3267 .loc 1 2482 3 view .LVU1081 2487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3268 .loc 1 2487 1 is_stmt 0 view .LVU1082 3269 0000 7047 bx lr 3270 .cfi_endproc 3271 .LFE167: 3273 .section .text.HAL_UART_ErrorCallback,"ax",%progbits 3274 .align 1 3275 .weak HAL_UART_ErrorCallback 3276 .syntax unified 3277 .thumb 3278 .thumb_func 3280 HAL_UART_ErrorCallback: 3281 .LVL290: 3282 .LFB168: 2495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3283 .loc 1 2495 1 is_stmt 1 view -0 3284 .cfi_startproc 3285 @ args = 0, pretend = 0, frame = 0 3286 @ frame_needed = 0, uses_anonymous_args = 0 3287 @ link register save eliminated. 2497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3288 .loc 1 2497 3 view .LVU1084 2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3289 .loc 1 2502 1 is_stmt 0 view .LVU1085 3290 0000 7047 bx lr 3291 .cfi_endproc 3292 .LFE168: 3294 .section .text.UART_DMAError,"ax",%progbits 3295 .align 1 3296 .syntax unified 3297 .thumb 3298 .thumb_func 3300 UART_DMAError: 3301 .LVL291: ARM GAS /tmp/ccQxTlMj.s page 162 3302 .LFB197: 3557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3303 .loc 1 3557 1 is_stmt 1 view -0 3304 .cfi_startproc 3305 @ args = 0, pretend = 0, frame = 0 3306 @ frame_needed = 0, uses_anonymous_args = 0 3557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3307 .loc 1 3557 1 is_stmt 0 view .LVU1087 3308 0000 38B5 push {r3, r4, r5, lr} 3309 .LCFI15: 3310 .cfi_def_cfa_offset 16 3311 .cfi_offset 3, -16 3312 .cfi_offset 4, -12 3313 .cfi_offset 5, -8 3314 .cfi_offset 14, -4 3558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3315 .loc 1 3558 3 is_stmt 1 view .LVU1088 3558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3316 .loc 1 3558 23 is_stmt 0 view .LVU1089 3317 0002 846B ldr r4, [r0, #56] 3318 .LVL292: 3560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3319 .loc 1 3560 3 is_stmt 1 view .LVU1090 3560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3320 .loc 1 3560 31 is_stmt 0 view .LVU1091 3321 0004 E26F ldr r2, [r4, #124] 3322 .LVL293: 3561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3323 .loc 1 3561 3 is_stmt 1 view .LVU1092 3561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3324 .loc 1 3561 31 is_stmt 0 view .LVU1093 3325 0006 D4F88050 ldr r5, [r4, #128] 3326 .LVL294: 3564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3327 .loc 1 3564 3 is_stmt 1 view .LVU1094 3564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3328 .loc 1 3564 8 is_stmt 0 view .LVU1095 3329 000a 2368 ldr r3, [r4] 3330 000c 9B68 ldr r3, [r3, #8] 3564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3331 .loc 1 3564 6 view .LVU1096 3332 000e 13F0800F tst r3, #128 3333 0012 01D0 beq .L127 3564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3334 .loc 1 3564 62 discriminator 1 view .LVU1097 3335 0014 212A cmp r2, #33 3336 0016 10D0 beq .L130 3337 .LVL295: 3338 .L127: 3572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3339 .loc 1 3572 3 is_stmt 1 view .LVU1098 3572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3340 .loc 1 3572 8 is_stmt 0 view .LVU1099 3341 0018 2368 ldr r3, [r4] 3342 001a 9B68 ldr r3, [r3, #8] 3572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3343 .loc 1 3572 6 view .LVU1100 ARM GAS /tmp/ccQxTlMj.s page 163 3344 001c 13F0400F tst r3, #64 3345 0020 01D0 beq .L128 3572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3346 .loc 1 3572 62 discriminator 1 view .LVU1101 3347 0022 222D cmp r5, #34 3348 0024 10D0 beq .L131 3349 .L128: 3579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3350 .loc 1 3579 3 is_stmt 1 view .LVU1102 3579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3351 .loc 1 3579 8 is_stmt 0 view .LVU1103 3352 0026 D4F88430 ldr r3, [r4, #132] 3579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3353 .loc 1 3579 20 view .LVU1104 3354 002a 43F01003 orr r3, r3, #16 3355 002e C4F88430 str r3, [r4, #132] 3586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3356 .loc 1 3586 3 is_stmt 1 view .LVU1105 3357 0032 2046 mov r0, r4 3358 0034 FFF7FEFF bl HAL_UART_ErrorCallback 3359 .LVL296: 3588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3360 .loc 1 3588 1 is_stmt 0 view .LVU1106 3361 0038 38BD pop {r3, r4, r5, pc} 3362 .LVL297: 3363 .L130: 3567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndTxTransfer(huart); 3364 .loc 1 3567 5 is_stmt 1 view .LVU1107 3567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndTxTransfer(huart); 3365 .loc 1 3567 24 is_stmt 0 view .LVU1108 3366 003a 0023 movs r3, #0 3367 003c A4F85230 strh r3, [r4, #82] @ movhi 3568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3368 .loc 1 3568 5 is_stmt 1 view .LVU1109 3369 0040 2046 mov r0, r4 3370 .LVL298: 3568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3371 .loc 1 3568 5 is_stmt 0 view .LVU1110 3372 0042 FFF7FEFF bl UART_EndTxTransfer 3373 .LVL299: 3568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3374 .loc 1 3568 5 view .LVU1111 3375 0046 E7E7 b .L127 3376 .L131: 3575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart); 3377 .loc 1 3575 5 is_stmt 1 view .LVU1112 3575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart); 3378 .loc 1 3575 24 is_stmt 0 view .LVU1113 3379 0048 0023 movs r3, #0 3380 004a A4F85A30 strh r3, [r4, #90] @ movhi 3576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3381 .loc 1 3576 5 is_stmt 1 view .LVU1114 3382 004e 2046 mov r0, r4 3383 0050 FFF7FEFF bl UART_EndRxTransfer 3384 .LVL300: 3385 0054 E7E7 b .L128 3386 .cfi_endproc ARM GAS /tmp/ccQxTlMj.s page 164 3387 .LFE197: 3389 .section .text.UART_DMAAbortOnError,"ax",%progbits 3390 .align 1 3391 .syntax unified 3392 .thumb 3393 .thumb_func 3395 UART_DMAAbortOnError: 3396 .LVL301: 3397 .LFB198: 3597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3398 .loc 1 3597 1 view -0 3399 .cfi_startproc 3400 @ args = 0, pretend = 0, frame = 0 3401 @ frame_needed = 0, uses_anonymous_args = 0 3597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3402 .loc 1 3597 1 is_stmt 0 view .LVU1116 3403 0000 08B5 push {r3, lr} 3404 .LCFI16: 3405 .cfi_def_cfa_offset 8 3406 .cfi_offset 3, -8 3407 .cfi_offset 14, -4 3598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3408 .loc 1 3598 3 is_stmt 1 view .LVU1117 3598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3409 .loc 1 3598 23 is_stmt 0 view .LVU1118 3410 0002 806B ldr r0, [r0, #56] 3411 .LVL302: 3599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 3412 .loc 1 3599 3 is_stmt 1 view .LVU1119 3599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U; 3413 .loc 1 3599 22 is_stmt 0 view .LVU1120 3414 0004 0023 movs r3, #0 3415 0006 A0F85A30 strh r3, [r0, #90] @ movhi 3600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3416 .loc 1 3600 3 is_stmt 1 view .LVU1121 3600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3417 .loc 1 3600 22 is_stmt 0 view .LVU1122 3418 000a A0F85230 strh r3, [r0, #82] @ movhi 3607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3419 .loc 1 3607 3 is_stmt 1 view .LVU1123 3420 000e FFF7FEFF bl HAL_UART_ErrorCallback 3421 .LVL303: 3609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3422 .loc 1 3609 1 is_stmt 0 view .LVU1124 3423 0012 08BD pop {r3, pc} 3424 .cfi_endproc 3425 .LFE198: 3427 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits 3428 .align 1 3429 .weak HAL_UART_AbortCpltCallback 3430 .syntax unified 3431 .thumb 3432 .thumb_func 3434 HAL_UART_AbortCpltCallback: 3435 .LVL304: 3436 .LFB169: 2510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ ARM GAS /tmp/ccQxTlMj.s page 165 3437 .loc 1 2510 1 is_stmt 1 view -0 3438 .cfi_startproc 3439 @ args = 0, pretend = 0, frame = 0 3440 @ frame_needed = 0, uses_anonymous_args = 0 3441 @ link register save eliminated. 2512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3442 .loc 1 2512 3 view .LVU1126 2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3443 .loc 1 2517 1 is_stmt 0 view .LVU1127 3444 0000 7047 bx lr 3445 .cfi_endproc 3446 .LFE169: 3448 .section .text.HAL_UART_Abort_IT,"ax",%progbits 3449 .align 1 3450 .global HAL_UART_Abort_IT 3451 .syntax unified 3452 .thumb 3453 .thumb_func 3455 HAL_UART_Abort_IT: 3456 .LVL305: 3457 .LFB160: 1804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t abortcplt = 1U; 3458 .loc 1 1804 1 is_stmt 1 view -0 3459 .cfi_startproc 3460 @ args = 0, pretend = 0, frame = 0 3461 @ frame_needed = 0, uses_anonymous_args = 0 1804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t abortcplt = 1U; 3462 .loc 1 1804 1 is_stmt 0 view .LVU1129 3463 0000 38B5 push {r3, r4, r5, lr} 3464 .LCFI17: 3465 .cfi_def_cfa_offset 16 3466 .cfi_offset 3, -16 3467 .cfi_offset 4, -12 3468 .cfi_offset 5, -8 3469 .cfi_offset 14, -4 3470 0002 0446 mov r4, r0 1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3471 .loc 1 1805 3 is_stmt 1 view .LVU1130 3472 .LVL306: 3473 .L136: 1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3474 .loc 1 1808 3 discriminator 1 view .LVU1131 3475 .LBB585: 1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3476 .loc 1 1808 3 discriminator 1 view .LVU1132 1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3477 .loc 1 1808 3 discriminator 1 view .LVU1133 1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3478 .loc 1 1808 3 discriminator 1 view .LVU1134 3479 0004 2268 ldr r2, [r4] 3480 .LVL307: 3481 .LBB586: 3482 .LBI586: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3483 .loc 2 1068 31 view .LVU1135 3484 .LBB587: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/ccQxTlMj.s page 166 3485 .loc 2 1070 5 view .LVU1136 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3486 .loc 2 1072 4 view .LVU1137 3487 .syntax unified 3488 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3489 0006 52E8003F ldrex r3, [r2] 3490 @ 0 "" 2 3491 .LVL308: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3492 .loc 2 1073 4 view .LVU1138 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3493 .loc 2 1073 4 is_stmt 0 view .LVU1139 3494 .thumb 3495 .syntax unified 3496 .LBE587: 3497 .LBE586: 1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3498 .loc 1 1808 3 discriminator 1 view .LVU1140 3499 000a 23F4F073 bic r3, r3, #480 3500 .LVL309: 1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3501 .loc 1 1808 3 is_stmt 1 discriminator 1 view .LVU1141 3502 .LBB588: 3503 .LBI588: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3504 .loc 2 1119 31 view .LVU1142 3505 .LBB589: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3506 .loc 2 1121 4 view .LVU1143 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3507 .loc 2 1123 4 view .LVU1144 3508 .syntax unified 3509 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3510 000e 42E80031 strex r1, r3, [r2] 3511 @ 0 "" 2 3512 .LVL310: 3513 .loc 2 1124 4 view .LVU1145 3514 .loc 2 1124 4 is_stmt 0 view .LVU1146 3515 .thumb 3516 .syntax unified 3517 .LBE589: 3518 .LBE588: 1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3519 .loc 1 1808 3 discriminator 1 view .LVU1147 3520 0012 0029 cmp r1, #0 3521 0014 F6D1 bne .L136 3522 .LVL311: 3523 .L137: 1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3524 .loc 1 1808 3 discriminator 1 view .LVU1148 3525 .LBE585: 1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3526 .loc 1 1808 3 is_stmt 1 discriminator 2 view .LVU1149 1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3527 .loc 1 1809 3 discriminator 1 view .LVU1150 3528 .LBB590: 1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 167 3529 .loc 1 1809 3 discriminator 1 view .LVU1151 1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3530 .loc 1 1809 3 discriminator 1 view .LVU1152 1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3531 .loc 1 1809 3 discriminator 1 view .LVU1153 3532 0016 2268 ldr r2, [r4] 3533 .LVL312: 3534 .LBB591: 3535 .LBI591: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3536 .loc 2 1068 31 view .LVU1154 3537 .LBB592: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3538 .loc 2 1070 5 view .LVU1155 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3539 .loc 2 1072 4 view .LVU1156 3540 0018 02F10803 add r3, r2, #8 3541 .LVL313: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3542 .loc 2 1072 4 is_stmt 0 view .LVU1157 3543 .syntax unified 3544 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3545 001c 53E8003F ldrex r3, [r3] 3546 @ 0 "" 2 3547 .LVL314: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3548 .loc 2 1073 4 is_stmt 1 view .LVU1158 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3549 .loc 2 1073 4 is_stmt 0 view .LVU1159 3550 .thumb 3551 .syntax unified 3552 .LBE592: 3553 .LBE591: 1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3554 .loc 1 1809 3 discriminator 1 view .LVU1160 3555 0020 23F00103 bic r3, r3, #1 3556 .LVL315: 1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3557 .loc 1 1809 3 is_stmt 1 discriminator 1 view .LVU1161 3558 .LBB593: 3559 .LBI593: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3560 .loc 2 1119 31 view .LVU1162 3561 .LBB594: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3562 .loc 2 1121 4 view .LVU1163 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3563 .loc 2 1123 4 view .LVU1164 3564 0024 0832 adds r2, r2, #8 3565 .LVL316: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3566 .loc 2 1123 4 is_stmt 0 view .LVU1165 3567 .syntax unified 3568 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3569 0026 42E80031 strex r1, r3, [r2] 3570 @ 0 "" 2 3571 .LVL317: ARM GAS /tmp/ccQxTlMj.s page 168 3572 .loc 2 1124 4 is_stmt 1 view .LVU1166 3573 .loc 2 1124 4 is_stmt 0 view .LVU1167 3574 .thumb 3575 .syntax unified 3576 .LBE594: 3577 .LBE593: 1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3578 .loc 1 1809 3 discriminator 1 view .LVU1168 3579 002a 0029 cmp r1, #0 3580 002c F3D1 bne .L137 3581 .LBE590: 1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3582 .loc 1 1809 3 is_stmt 1 discriminator 2 view .LVU1169 1812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3583 .loc 1 1812 3 view .LVU1170 1812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3584 .loc 1 1812 12 is_stmt 0 view .LVU1171 3585 002e 236E ldr r3, [r4, #96] 3586 .LVL318: 1812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3587 .loc 1 1812 6 view .LVU1172 3588 0030 012B cmp r3, #1 3589 0032 2ED0 beq .L139 3590 .L138: 1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3591 .loc 1 1814 5 is_stmt 1 discriminator 2 view .LVU1173 1820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3592 .loc 1 1820 3 view .LVU1174 1820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3593 .loc 1 1820 12 is_stmt 0 view .LVU1175 3594 0034 236F ldr r3, [r4, #112] 1820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3595 .loc 1 1820 6 view .LVU1176 3596 0036 33B1 cbz r3, .L140 1824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3597 .loc 1 1824 5 is_stmt 1 view .LVU1177 1824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3598 .loc 1 1824 9 is_stmt 0 view .LVU1178 3599 0038 2268 ldr r2, [r4] 3600 003a 9268 ldr r2, [r2, #8] 1824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3601 .loc 1 1824 8 view .LVU1179 3602 003c 12F0800F tst r2, #128 3603 0040 31D0 beq .L141 1826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3604 .loc 1 1826 7 is_stmt 1 view .LVU1180 1826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3605 .loc 1 1826 40 is_stmt 0 view .LVU1181 3606 0042 394A ldr r2, .L153 3607 0044 1A65 str r2, [r3, #80] 3608 .L140: 1834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3609 .loc 1 1834 3 is_stmt 1 view .LVU1182 1834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3610 .loc 1 1834 12 is_stmt 0 view .LVU1183 3611 0046 636F ldr r3, [r4, #116] 1834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 169 3612 .loc 1 1834 6 view .LVU1184 3613 0048 33B1 cbz r3, .L142 1838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3614 .loc 1 1838 5 is_stmt 1 view .LVU1185 1838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3615 .loc 1 1838 9 is_stmt 0 view .LVU1186 3616 004a 2268 ldr r2, [r4] 3617 004c 9268 ldr r2, [r2, #8] 1838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3618 .loc 1 1838 8 view .LVU1187 3619 004e 12F0400F tst r2, #64 3620 0052 2BD0 beq .L143 1840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3621 .loc 1 1840 7 is_stmt 1 view .LVU1188 1840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3622 .loc 1 1840 40 is_stmt 0 view .LVU1189 3623 0054 354A ldr r2, .L153+4 3624 0056 1A65 str r2, [r3, #80] 3625 .L142: 1849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3626 .loc 1 1849 3 is_stmt 1 view .LVU1190 1849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3627 .loc 1 1849 7 is_stmt 0 view .LVU1191 3628 0058 2368 ldr r3, [r4] 3629 005a 9B68 ldr r3, [r3, #8] 1849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3630 .loc 1 1849 6 view .LVU1192 3631 005c 13F0800F tst r3, #128 3632 0060 27D0 beq .L150 3633 .L145: 1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3634 .loc 1 1852 5 is_stmt 1 discriminator 1 view .LVU1193 3635 .LBB595: 1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3636 .loc 1 1852 5 discriminator 1 view .LVU1194 1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3637 .loc 1 1852 5 discriminator 1 view .LVU1195 1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3638 .loc 1 1852 5 discriminator 1 view .LVU1196 3639 0062 2168 ldr r1, [r4] 3640 .LVL319: 3641 .LBB596: 3642 .LBI596: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3643 .loc 2 1068 31 view .LVU1197 3644 .LBB597: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3645 .loc 2 1070 5 view .LVU1198 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3646 .loc 2 1072 4 view .LVU1199 3647 0064 01F10803 add r3, r1, #8 3648 .LVL320: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3649 .loc 2 1072 4 is_stmt 0 view .LVU1200 3650 .syntax unified 3651 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3652 0068 53E8003F ldrex r3, [r3] ARM GAS /tmp/ccQxTlMj.s page 170 3653 @ 0 "" 2 3654 .LVL321: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3655 .loc 2 1073 4 is_stmt 1 view .LVU1201 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3656 .loc 2 1073 4 is_stmt 0 view .LVU1202 3657 .thumb 3658 .syntax unified 3659 .LBE597: 3660 .LBE596: 1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3661 .loc 1 1852 5 discriminator 1 view .LVU1203 3662 006c 23F08003 bic r3, r3, #128 3663 .LVL322: 1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3664 .loc 1 1852 5 is_stmt 1 discriminator 1 view .LVU1204 3665 .LBB598: 3666 .LBI598: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3667 .loc 2 1119 31 view .LVU1205 3668 .LBB599: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3669 .loc 2 1121 4 view .LVU1206 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3670 .loc 2 1123 4 view .LVU1207 3671 0070 0831 adds r1, r1, #8 3672 .LVL323: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3673 .loc 2 1123 4 is_stmt 0 view .LVU1208 3674 .syntax unified 3675 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3676 0072 41E80032 strex r2, r3, [r1] 3677 @ 0 "" 2 3678 .thumb 3679 .syntax unified 3680 0076 1546 mov r5, r2 3681 .LVL324: 3682 .loc 2 1124 4 is_stmt 1 view .LVU1209 3683 .loc 2 1124 4 is_stmt 0 view .LVU1210 3684 .LBE599: 3685 .LBE598: 1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3686 .loc 1 1852 5 discriminator 1 view .LVU1211 3687 0078 002A cmp r2, #0 3688 007a F2D1 bne .L145 3689 .LBE595: 1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3690 .loc 1 1852 5 is_stmt 1 discriminator 2 view .LVU1212 1855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3691 .loc 1 1855 5 view .LVU1213 1855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3692 .loc 1 1855 14 is_stmt 0 view .LVU1214 3693 007c 206F ldr r0, [r4, #112] 3694 .LVL325: 1855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3695 .loc 1 1855 8 view .LVU1215 3696 007e 0028 cmp r0, #0 ARM GAS /tmp/ccQxTlMj.s page 171 3697 0080 4BD0 beq .L151 1861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3698 .loc 1 1861 7 is_stmt 1 view .LVU1216 1861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3699 .loc 1 1861 11 is_stmt 0 view .LVU1217 3700 0082 FFF7FEFF bl HAL_DMA_Abort_IT 3701 .LVL326: 1861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3702 .loc 1 1861 10 discriminator 1 view .LVU1218 3703 0086 A8B1 cbz r0, .L144 1863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3704 .loc 1 1863 9 is_stmt 1 view .LVU1219 1863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3705 .loc 1 1863 14 is_stmt 0 view .LVU1220 3706 0088 236F ldr r3, [r4, #112] 1863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3707 .loc 1 1863 42 view .LVU1221 3708 008a 0022 movs r2, #0 3709 008c 1A65 str r2, [r3, #80] 1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3710 .loc 1 1805 12 view .LVU1222 3711 008e 0125 movs r5, #1 3712 0090 10E0 b .L144 3713 .LVL327: 3714 .L139: 1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3715 .loc 1 1814 5 is_stmt 1 discriminator 1 view .LVU1223 3716 .LBB600: 1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3717 .loc 1 1814 5 discriminator 1 view .LVU1224 1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3718 .loc 1 1814 5 discriminator 1 view .LVU1225 1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3719 .loc 1 1814 5 discriminator 1 view .LVU1226 3720 0092 2268 ldr r2, [r4] 3721 .LVL328: 3722 .LBB601: 3723 .LBI601: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3724 .loc 2 1068 31 view .LVU1227 3725 .LBB602: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3726 .loc 2 1070 5 view .LVU1228 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3727 .loc 2 1072 4 view .LVU1229 3728 .syntax unified 3729 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3730 0094 52E8003F ldrex r3, [r2] 3731 @ 0 "" 2 3732 .LVL329: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3733 .loc 2 1073 4 view .LVU1230 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3734 .loc 2 1073 4 is_stmt 0 view .LVU1231 3735 .thumb 3736 .syntax unified 3737 .LBE602: ARM GAS /tmp/ccQxTlMj.s page 172 3738 .LBE601: 1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3739 .loc 1 1814 5 discriminator 1 view .LVU1232 3740 0098 23F01003 bic r3, r3, #16 3741 .LVL330: 1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3742 .loc 1 1814 5 is_stmt 1 discriminator 1 view .LVU1233 3743 .LBB603: 3744 .LBI603: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3745 .loc 2 1119 31 view .LVU1234 3746 .LBB604: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3747 .loc 2 1121 4 view .LVU1235 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3748 .loc 2 1123 4 view .LVU1236 3749 .syntax unified 3750 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3751 009c 42E80031 strex r1, r3, [r2] 3752 @ 0 "" 2 3753 .LVL331: 3754 .loc 2 1124 4 view .LVU1237 3755 .loc 2 1124 4 is_stmt 0 view .LVU1238 3756 .thumb 3757 .syntax unified 3758 .LBE604: 3759 .LBE603: 1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3760 .loc 1 1814 5 discriminator 1 view .LVU1239 3761 00a0 0029 cmp r1, #0 3762 00a2 F6D1 bne .L139 3763 00a4 C6E7 b .L138 3764 .LVL332: 3765 .L141: 1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3766 .loc 1 1814 5 discriminator 1 view .LVU1240 3767 .LBE600: 1830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3768 .loc 1 1830 7 is_stmt 1 view .LVU1241 1830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3769 .loc 1 1830 40 is_stmt 0 view .LVU1242 3770 00a6 0022 movs r2, #0 3771 00a8 1A65 str r2, [r3, #80] 3772 00aa CCE7 b .L140 3773 .L143: 1844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3774 .loc 1 1844 7 is_stmt 1 view .LVU1243 1844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3775 .loc 1 1844 40 is_stmt 0 view .LVU1244 3776 00ac 0022 movs r2, #0 3777 00ae 1A65 str r2, [r3, #80] 3778 00b0 D2E7 b .L142 3779 .L150: 1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3780 .loc 1 1805 12 view .LVU1245 3781 00b2 0125 movs r5, #1 3782 .LVL333: ARM GAS /tmp/ccQxTlMj.s page 173 3783 .L144: 1873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3784 .loc 1 1873 3 is_stmt 1 view .LVU1246 1873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3785 .loc 1 1873 7 is_stmt 0 view .LVU1247 3786 00b4 2368 ldr r3, [r4] 3787 00b6 9B68 ldr r3, [r3, #8] 1873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3788 .loc 1 1873 6 view .LVU1248 3789 00b8 13F0400F tst r3, #64 3790 00bc 2FD0 beq .L146 3791 .L147: 1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3792 .loc 1 1876 5 is_stmt 1 discriminator 1 view .LVU1249 3793 .LBB605: 1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3794 .loc 1 1876 5 discriminator 1 view .LVU1250 1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3795 .loc 1 1876 5 discriminator 1 view .LVU1251 1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3796 .loc 1 1876 5 discriminator 1 view .LVU1252 3797 00be 2268 ldr r2, [r4] 3798 .LVL334: 3799 .LBB606: 3800 .LBI606: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3801 .loc 2 1068 31 view .LVU1253 3802 .LBB607: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 3803 .loc 2 1070 5 view .LVU1254 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3804 .loc 2 1072 4 view .LVU1255 3805 00c0 02F10803 add r3, r2, #8 3806 .LVL335: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3807 .loc 2 1072 4 is_stmt 0 view .LVU1256 3808 .syntax unified 3809 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3810 00c4 53E8003F ldrex r3, [r3] 3811 @ 0 "" 2 3812 .LVL336: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3813 .loc 2 1073 4 is_stmt 1 view .LVU1257 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 3814 .loc 2 1073 4 is_stmt 0 view .LVU1258 3815 .thumb 3816 .syntax unified 3817 .LBE607: 3818 .LBE606: 1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3819 .loc 1 1876 5 discriminator 1 view .LVU1259 3820 00c8 23F04003 bic r3, r3, #64 3821 .LVL337: 1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3822 .loc 1 1876 5 is_stmt 1 discriminator 1 view .LVU1260 3823 .LBB608: 3824 .LBI608: ARM GAS /tmp/ccQxTlMj.s page 174 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 3825 .loc 2 1119 31 view .LVU1261 3826 .LBB609: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 3827 .loc 2 1121 4 view .LVU1262 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3828 .loc 2 1123 4 view .LVU1263 3829 00cc 0832 adds r2, r2, #8 3830 .LVL338: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 3831 .loc 2 1123 4 is_stmt 0 view .LVU1264 3832 .syntax unified 3833 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 3834 00ce 42E80031 strex r1, r3, [r2] 3835 @ 0 "" 2 3836 .LVL339: 3837 .loc 2 1124 4 is_stmt 1 view .LVU1265 3838 .loc 2 1124 4 is_stmt 0 view .LVU1266 3839 .thumb 3840 .syntax unified 3841 .LBE609: 3842 .LBE608: 1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3843 .loc 1 1876 5 discriminator 1 view .LVU1267 3844 00d2 0029 cmp r1, #0 3845 00d4 F3D1 bne .L147 3846 .LBE605: 1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3847 .loc 1 1876 5 is_stmt 1 discriminator 2 view .LVU1268 1879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3848 .loc 1 1879 5 view .LVU1269 1879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3849 .loc 1 1879 14 is_stmt 0 view .LVU1270 3850 00d6 606F ldr r0, [r4, #116] 1879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3851 .loc 1 1879 8 view .LVU1271 3852 00d8 08B3 cbz r0, .L146 1885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3853 .loc 1 1885 7 is_stmt 1 view .LVU1272 1885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3854 .loc 1 1885 11 is_stmt 0 view .LVU1273 3855 00da FFF7FEFF bl HAL_DMA_Abort_IT 3856 .LVL340: 1885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3857 .loc 1 1885 10 discriminator 1 view .LVU1274 3858 00de 00B3 cbz r0, .L148 1887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 1U; 3859 .loc 1 1887 9 is_stmt 1 view .LVU1275 1887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 1U; 3860 .loc 1 1887 14 is_stmt 0 view .LVU1276 3861 00e0 636F ldr r3, [r4, #116] 1887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 1U; 3862 .loc 1 1887 42 view .LVU1277 3863 00e2 0022 movs r2, #0 3864 00e4 1A65 str r2, [r3, #80] 1888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3865 .loc 1 1888 9 is_stmt 1 view .LVU1278 ARM GAS /tmp/ccQxTlMj.s page 175 3866 .LVL341: 1898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3867 .loc 1 1898 3 view .LVU1279 3868 .L149: 1901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3869 .loc 1 1901 5 view .LVU1280 1901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3870 .loc 1 1901 24 is_stmt 0 view .LVU1281 3871 00e6 0023 movs r3, #0 3872 00e8 A4F85230 strh r3, [r4, #82] @ movhi 1902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3873 .loc 1 1902 5 is_stmt 1 view .LVU1282 1902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3874 .loc 1 1902 24 is_stmt 0 view .LVU1283 3875 00ec A4F85A30 strh r3, [r4, #90] @ movhi 1905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 3876 .loc 1 1905 5 is_stmt 1 view .LVU1284 1905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 3877 .loc 1 1905 18 is_stmt 0 view .LVU1285 3878 00f0 A366 str r3, [r4, #104] 1906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3879 .loc 1 1906 5 is_stmt 1 view .LVU1286 1906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3880 .loc 1 1906 18 is_stmt 0 view .LVU1287 3881 00f2 E366 str r3, [r4, #108] 1909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3882 .loc 1 1909 5 is_stmt 1 view .LVU1288 1909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3883 .loc 1 1909 22 is_stmt 0 view .LVU1289 3884 00f4 C4F88430 str r3, [r4, #132] 1912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3885 .loc 1 1912 5 is_stmt 1 view .LVU1290 3886 00f8 2268 ldr r2, [r4] 3887 00fa 0F21 movs r1, #15 3888 00fc 1162 str r1, [r2, #32] 1916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3889 .loc 1 1916 5 view .LVU1291 3890 00fe 2168 ldr r1, [r4] 3891 0100 8A69 ldr r2, [r1, #24] 3892 0102 42F00802 orr r2, r2, #8 3893 0106 8A61 str r2, [r1, #24] 1919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3894 .loc 1 1919 5 view .LVU1292 1919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3895 .loc 1 1919 20 is_stmt 0 view .LVU1293 3896 0108 2022 movs r2, #32 3897 010a E267 str r2, [r4, #124] 1920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3898 .loc 1 1920 5 is_stmt 1 view .LVU1294 1920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3899 .loc 1 1920 20 is_stmt 0 view .LVU1295 3900 010c C4F88020 str r2, [r4, #128] 1921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3901 .loc 1 1921 5 is_stmt 1 view .LVU1296 1921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3902 .loc 1 1921 26 is_stmt 0 view .LVU1297 3903 0110 2366 str r3, [r4, #96] ARM GAS /tmp/ccQxTlMj.s page 176 1929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3904 .loc 1 1929 5 is_stmt 1 view .LVU1298 3905 0112 2046 mov r0, r4 3906 0114 FFF7FEFF bl HAL_UART_AbortCpltCallback 3907 .LVL342: 3908 0118 03E0 b .L148 3909 .LVL343: 3910 .L151: 1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3911 .loc 1 1805 12 is_stmt 0 view .LVU1299 3912 011a 0125 movs r5, #1 3913 011c CAE7 b .L144 3914 .LVL344: 3915 .L146: 1898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3916 .loc 1 1898 3 is_stmt 1 view .LVU1300 1898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3917 .loc 1 1898 6 is_stmt 0 view .LVU1301 3918 011e 012D cmp r5, #1 3919 0120 E1D0 beq .L149 3920 .LVL345: 3921 .L148: 1933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3922 .loc 1 1933 3 is_stmt 1 view .LVU1302 1934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3923 .loc 1 1934 1 is_stmt 0 view .LVU1303 3924 0122 0020 movs r0, #0 3925 0124 38BD pop {r3, r4, r5, pc} 3926 .LVL346: 3927 .L154: 1934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3928 .loc 1 1934 1 view .LVU1304 3929 0126 00BF .align 2 3930 .L153: 3931 0128 00000000 .word UART_DMATxAbortCallback 3932 012c 00000000 .word UART_DMARxAbortCallback 3933 .cfi_endproc 3934 .LFE160: 3936 .section .text.UART_DMARxAbortCallback,"ax",%progbits 3937 .align 1 3938 .syntax unified 3939 .thumb 3940 .thumb_func 3942 UART_DMARxAbortCallback: 3943 .LVL347: 3944 .LFB200: 3670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3945 .loc 1 3670 1 is_stmt 1 view -0 3946 .cfi_startproc 3947 @ args = 0, pretend = 0, frame = 0 3948 @ frame_needed = 0, uses_anonymous_args = 0 3670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3949 .loc 1 3670 1 is_stmt 0 view .LVU1306 3950 0000 08B5 push {r3, lr} 3951 .LCFI18: 3952 .cfi_def_cfa_offset 8 3953 .cfi_offset 3, -8 ARM GAS /tmp/ccQxTlMj.s page 177 3954 .cfi_offset 14, -4 3671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3955 .loc 1 3671 3 is_stmt 1 view .LVU1307 3671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3956 .loc 1 3671 23 is_stmt 0 view .LVU1308 3957 0002 806B ldr r0, [r0, #56] 3958 .LVL348: 3673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3959 .loc 1 3673 3 is_stmt 1 view .LVU1309 3673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3960 .loc 1 3673 8 is_stmt 0 view .LVU1310 3961 0004 436F ldr r3, [r0, #116] 3673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3962 .loc 1 3673 36 view .LVU1311 3963 0006 0022 movs r2, #0 3964 0008 1A65 str r2, [r3, #80] 3676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3965 .loc 1 3676 3 is_stmt 1 view .LVU1312 3676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3966 .loc 1 3676 12 is_stmt 0 view .LVU1313 3967 000a 036F ldr r3, [r0, #112] 3676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3968 .loc 1 3676 6 view .LVU1314 3969 000c 0BB1 cbz r3, .L156 3678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3970 .loc 1 3678 5 is_stmt 1 view .LVU1315 3678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3971 .loc 1 3678 22 is_stmt 0 view .LVU1316 3972 000e 1B6D ldr r3, [r3, #80] 3678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3973 .loc 1 3678 8 view .LVU1317 3974 0010 ABB9 cbnz r3, .L155 3975 .L156: 3685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3976 .loc 1 3685 3 is_stmt 1 view .LVU1318 3685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 3977 .loc 1 3685 22 is_stmt 0 view .LVU1319 3978 0012 0023 movs r3, #0 3979 0014 A0F85230 strh r3, [r0, #82] @ movhi 3686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3980 .loc 1 3686 3 is_stmt 1 view .LVU1320 3686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3981 .loc 1 3686 22 is_stmt 0 view .LVU1321 3982 0018 A0F85A30 strh r3, [r0, #90] @ movhi 3689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3983 .loc 1 3689 3 is_stmt 1 view .LVU1322 3689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3984 .loc 1 3689 20 is_stmt 0 view .LVU1323 3985 001c C0F88430 str r3, [r0, #132] 3692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3986 .loc 1 3692 3 is_stmt 1 view .LVU1324 3987 0020 0268 ldr r2, [r0] 3988 0022 0F21 movs r1, #15 3989 0024 1162 str r1, [r2, #32] 3695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3990 .loc 1 3695 3 view .LVU1325 3991 0026 0168 ldr r1, [r0] ARM GAS /tmp/ccQxTlMj.s page 178 3992 0028 8A69 ldr r2, [r1, #24] 3993 002a 42F00802 orr r2, r2, #8 3994 002e 8A61 str r2, [r1, #24] 3698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3995 .loc 1 3698 3 view .LVU1326 3698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3996 .loc 1 3698 18 is_stmt 0 view .LVU1327 3997 0030 2022 movs r2, #32 3998 0032 C267 str r2, [r0, #124] 3699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3999 .loc 1 3699 3 is_stmt 1 view .LVU1328 3699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4000 .loc 1 3699 18 is_stmt 0 view .LVU1329 4001 0034 C0F88020 str r2, [r0, #128] 3700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4002 .loc 1 3700 3 is_stmt 1 view .LVU1330 3700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4003 .loc 1 3700 24 is_stmt 0 view .LVU1331 4004 0038 0366 str r3, [r0, #96] 3708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4005 .loc 1 3708 3 is_stmt 1 view .LVU1332 4006 003a FFF7FEFF bl HAL_UART_AbortCpltCallback 4007 .LVL349: 4008 .L155: 3710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4009 .loc 1 3710 1 is_stmt 0 view .LVU1333 4010 003e 08BD pop {r3, pc} 4011 .cfi_endproc 4012 .LFE200: 4014 .section .text.UART_DMATxAbortCallback,"ax",%progbits 4015 .align 1 4016 .syntax unified 4017 .thumb 4018 .thumb_func 4020 UART_DMATxAbortCallback: 4021 .LVL350: 4022 .LFB199: 3620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4023 .loc 1 3620 1 is_stmt 1 view -0 4024 .cfi_startproc 4025 @ args = 0, pretend = 0, frame = 0 4026 @ frame_needed = 0, uses_anonymous_args = 0 3620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4027 .loc 1 3620 1 is_stmt 0 view .LVU1335 4028 0000 08B5 push {r3, lr} 4029 .LCFI19: 4030 .cfi_def_cfa_offset 8 4031 .cfi_offset 3, -8 4032 .cfi_offset 14, -4 3621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4033 .loc 1 3621 3 is_stmt 1 view .LVU1336 3621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4034 .loc 1 3621 23 is_stmt 0 view .LVU1337 4035 0002 806B ldr r0, [r0, #56] 4036 .LVL351: 3623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4037 .loc 1 3623 3 is_stmt 1 view .LVU1338 ARM GAS /tmp/ccQxTlMj.s page 179 3623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4038 .loc 1 3623 8 is_stmt 0 view .LVU1339 4039 0004 036F ldr r3, [r0, #112] 3623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4040 .loc 1 3623 36 view .LVU1340 4041 0006 0022 movs r2, #0 4042 0008 1A65 str r2, [r3, #80] 3626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4043 .loc 1 3626 3 is_stmt 1 view .LVU1341 3626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4044 .loc 1 3626 12 is_stmt 0 view .LVU1342 4045 000a 436F ldr r3, [r0, #116] 3626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4046 .loc 1 3626 6 view .LVU1343 4047 000c 0BB1 cbz r3, .L160 3628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4048 .loc 1 3628 5 is_stmt 1 view .LVU1344 3628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4049 .loc 1 3628 22 is_stmt 0 view .LVU1345 4050 000e 1B6D ldr r3, [r3, #80] 3628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4051 .loc 1 3628 8 view .LVU1346 4052 0010 83B9 cbnz r3, .L159 4053 .L160: 3635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 4054 .loc 1 3635 3 is_stmt 1 view .LVU1347 3635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U; 4055 .loc 1 3635 22 is_stmt 0 view .LVU1348 4056 0012 0023 movs r3, #0 4057 0014 A0F85230 strh r3, [r0, #82] @ movhi 3636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4058 .loc 1 3636 3 is_stmt 1 view .LVU1349 3636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4059 .loc 1 3636 22 is_stmt 0 view .LVU1350 4060 0018 A0F85A30 strh r3, [r0, #90] @ movhi 3639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4061 .loc 1 3639 3 is_stmt 1 view .LVU1351 3639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4062 .loc 1 3639 20 is_stmt 0 view .LVU1352 4063 001c C0F88430 str r3, [r0, #132] 3642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4064 .loc 1 3642 3 is_stmt 1 view .LVU1353 4065 0020 0268 ldr r2, [r0] 4066 0022 0F21 movs r1, #15 4067 0024 1162 str r1, [r2, #32] 3646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4068 .loc 1 3646 3 view .LVU1354 3646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4069 .loc 1 3646 18 is_stmt 0 view .LVU1355 4070 0026 2022 movs r2, #32 4071 0028 C267 str r2, [r0, #124] 3647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4072 .loc 1 3647 3 is_stmt 1 view .LVU1356 3647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4073 .loc 1 3647 18 is_stmt 0 view .LVU1357 4074 002a C0F88020 str r2, [r0, #128] 3648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 180 4075 .loc 1 3648 3 is_stmt 1 view .LVU1358 3648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4076 .loc 1 3648 24 is_stmt 0 view .LVU1359 4077 002e 0366 str r3, [r0, #96] 3656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4078 .loc 1 3656 3 is_stmt 1 view .LVU1360 4079 0030 FFF7FEFF bl HAL_UART_AbortCpltCallback 4080 .LVL352: 4081 .L159: 3658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4082 .loc 1 3658 1 is_stmt 0 view .LVU1361 4083 0034 08BD pop {r3, pc} 4084 .cfi_endproc 4085 .LFE199: 4087 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits 4088 .align 1 4089 .weak HAL_UART_AbortTransmitCpltCallback 4090 .syntax unified 4091 .thumb 4092 .thumb_func 4094 HAL_UART_AbortTransmitCpltCallback: 4095 .LVL353: 4096 .LFB170: 2525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4097 .loc 1 2525 1 is_stmt 1 view -0 4098 .cfi_startproc 4099 @ args = 0, pretend = 0, frame = 0 4100 @ frame_needed = 0, uses_anonymous_args = 0 4101 @ link register save eliminated. 2527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4102 .loc 1 2527 3 view .LVU1363 2532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4103 .loc 1 2532 1 is_stmt 0 view .LVU1364 4104 0000 7047 bx lr 4105 .cfi_endproc 4106 .LFE170: 4108 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits 4109 .align 1 4110 .global HAL_UART_AbortTransmit_IT 4111 .syntax unified 4112 .thumb 4113 .thumb_func 4115 HAL_UART_AbortTransmit_IT: 4116 .LVL354: 4117 .LFB161: 1951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable interrupts */ 4118 .loc 1 1951 1 is_stmt 1 view -0 4119 .cfi_startproc 4120 @ args = 0, pretend = 0, frame = 0 4121 @ frame_needed = 0, uses_anonymous_args = 0 1951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable interrupts */ 4122 .loc 1 1951 1 is_stmt 0 view .LVU1366 4123 0000 10B5 push {r4, lr} 4124 .LCFI20: 4125 .cfi_def_cfa_offset 8 4126 .cfi_offset 4, -8 4127 .cfi_offset 14, -4 ARM GAS /tmp/ccQxTlMj.s page 181 4128 0002 0446 mov r4, r0 4129 .L165: 1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4130 .loc 1 1953 3 is_stmt 1 discriminator 1 view .LVU1367 4131 .LBB610: 1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4132 .loc 1 1953 3 discriminator 1 view .LVU1368 1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4133 .loc 1 1953 3 discriminator 1 view .LVU1369 1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4134 .loc 1 1953 3 discriminator 1 view .LVU1370 4135 0004 2268 ldr r2, [r4] 4136 .LVL355: 4137 .LBB611: 4138 .LBI611: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4139 .loc 2 1068 31 view .LVU1371 4140 .LBB612: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4141 .loc 2 1070 5 view .LVU1372 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4142 .loc 2 1072 4 view .LVU1373 4143 .syntax unified 4144 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4145 0006 52E8003F ldrex r3, [r2] 4146 @ 0 "" 2 4147 .LVL356: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4148 .loc 2 1073 4 view .LVU1374 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4149 .loc 2 1073 4 is_stmt 0 view .LVU1375 4150 .thumb 4151 .syntax unified 4152 .LBE612: 4153 .LBE611: 1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4154 .loc 1 1953 3 discriminator 1 view .LVU1376 4155 000a 23F0C003 bic r3, r3, #192 4156 .LVL357: 1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4157 .loc 1 1953 3 is_stmt 1 discriminator 1 view .LVU1377 4158 .LBB613: 4159 .LBI613: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4160 .loc 2 1119 31 view .LVU1378 4161 .LBB614: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4162 .loc 2 1121 4 view .LVU1379 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4163 .loc 2 1123 4 view .LVU1380 4164 .syntax unified 4165 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4166 000e 42E80031 strex r1, r3, [r2] 4167 @ 0 "" 2 4168 .LVL358: 4169 .loc 2 1124 4 view .LVU1381 4170 .loc 2 1124 4 is_stmt 0 view .LVU1382 ARM GAS /tmp/ccQxTlMj.s page 182 4171 .thumb 4172 .syntax unified 4173 .LBE614: 4174 .LBE613: 1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4175 .loc 1 1953 3 discriminator 1 view .LVU1383 4176 0012 0029 cmp r1, #0 4177 0014 F6D1 bne .L165 4178 .LBE610: 1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4179 .loc 1 1953 3 is_stmt 1 discriminator 2 view .LVU1384 1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4180 .loc 1 1956 3 view .LVU1385 1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4181 .loc 1 1956 7 is_stmt 0 view .LVU1386 4182 0016 2368 ldr r3, [r4] 4183 .LVL359: 1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4184 .loc 1 1956 7 view .LVU1387 4185 0018 9B68 ldr r3, [r3, #8] 1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4186 .loc 1 1956 6 view .LVU1388 4187 001a 13F0800F tst r3, #128 4188 001e 21D0 beq .L166 4189 .L167: 1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4190 .loc 1 1959 5 is_stmt 1 discriminator 1 view .LVU1389 4191 .LBB615: 1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4192 .loc 1 1959 5 discriminator 1 view .LVU1390 1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4193 .loc 1 1959 5 discriminator 1 view .LVU1391 1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4194 .loc 1 1959 5 discriminator 1 view .LVU1392 4195 0020 2268 ldr r2, [r4] 4196 .LVL360: 4197 .LBB616: 4198 .LBI616: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4199 .loc 2 1068 31 view .LVU1393 4200 .LBB617: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4201 .loc 2 1070 5 view .LVU1394 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4202 .loc 2 1072 4 view .LVU1395 4203 0022 02F10803 add r3, r2, #8 4204 .LVL361: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4205 .loc 2 1072 4 is_stmt 0 view .LVU1396 4206 .syntax unified 4207 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4208 0026 53E8003F ldrex r3, [r3] 4209 @ 0 "" 2 4210 .LVL362: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4211 .loc 2 1073 4 is_stmt 1 view .LVU1397 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS /tmp/ccQxTlMj.s page 183 4212 .loc 2 1073 4 is_stmt 0 view .LVU1398 4213 .thumb 4214 .syntax unified 4215 .LBE617: 4216 .LBE616: 1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4217 .loc 1 1959 5 discriminator 1 view .LVU1399 4218 002a 23F08003 bic r3, r3, #128 4219 .LVL363: 1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4220 .loc 1 1959 5 is_stmt 1 discriminator 1 view .LVU1400 4221 .LBB618: 4222 .LBI618: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4223 .loc 2 1119 31 view .LVU1401 4224 .LBB619: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4225 .loc 2 1121 4 view .LVU1402 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4226 .loc 2 1123 4 view .LVU1403 4227 002e 0832 adds r2, r2, #8 4228 .LVL364: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4229 .loc 2 1123 4 is_stmt 0 view .LVU1404 4230 .syntax unified 4231 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4232 0030 42E80031 strex r1, r3, [r2] 4233 @ 0 "" 2 4234 .LVL365: 4235 .loc 2 1124 4 is_stmt 1 view .LVU1405 4236 .loc 2 1124 4 is_stmt 0 view .LVU1406 4237 .thumb 4238 .syntax unified 4239 .LBE619: 4240 .LBE618: 1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4241 .loc 1 1959 5 discriminator 1 view .LVU1407 4242 0034 0029 cmp r1, #0 4243 0036 F3D1 bne .L167 4244 .LBE615: 1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4245 .loc 1 1959 5 is_stmt 1 discriminator 2 view .LVU1408 1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4246 .loc 1 1962 5 view .LVU1409 1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4247 .loc 1 1962 14 is_stmt 0 view .LVU1410 4248 0038 236F ldr r3, [r4, #112] 4249 .LVL366: 1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4250 .loc 1 1962 8 view .LVU1411 4251 003a 4BB1 cbz r3, .L168 1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4252 .loc 1 1966 7 is_stmt 1 view .LVU1412 1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4253 .loc 1 1966 40 is_stmt 0 view .LVU1413 4254 003c 0F4A ldr r2, .L171 4255 003e 1A65 str r2, [r3, #80] ARM GAS /tmp/ccQxTlMj.s page 184 1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4256 .loc 1 1969 7 is_stmt 1 view .LVU1414 1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4257 .loc 1 1969 11 is_stmt 0 view .LVU1415 4258 0040 206F ldr r0, [r4, #112] 4259 .LVL367: 1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4260 .loc 1 1969 11 view .LVU1416 4261 0042 FFF7FEFF bl HAL_DMA_Abort_IT 4262 .LVL368: 1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4263 .loc 1 1969 10 discriminator 1 view .LVU1417 4264 0046 B0B1 cbz r0, .L169 1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4265 .loc 1 1972 9 is_stmt 1 view .LVU1418 1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4266 .loc 1 1972 14 is_stmt 0 view .LVU1419 4267 0048 206F ldr r0, [r4, #112] 1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4268 .loc 1 1972 22 view .LVU1420 4269 004a 036D ldr r3, [r0, #80] 1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4270 .loc 1 1972 9 view .LVU1421 4271 004c 9847 blx r3 4272 .LVL369: 4273 004e 12E0 b .L169 4274 .LVL370: 4275 .L168: 1978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4276 .loc 1 1978 7 is_stmt 1 view .LVU1422 1978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4277 .loc 1 1978 26 is_stmt 0 view .LVU1423 4278 0050 0023 movs r3, #0 4279 0052 A4F85230 strh r3, [r4, #82] @ movhi 1981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4280 .loc 1 1981 7 is_stmt 1 view .LVU1424 1981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4281 .loc 1 1981 20 is_stmt 0 view .LVU1425 4282 0056 E366 str r3, [r4, #108] 1984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4283 .loc 1 1984 7 is_stmt 1 view .LVU1426 1984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4284 .loc 1 1984 21 is_stmt 0 view .LVU1427 4285 0058 2023 movs r3, #32 4286 005a E367 str r3, [r4, #124] 1992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4287 .loc 1 1992 7 is_stmt 1 view .LVU1428 4288 005c 2046 mov r0, r4 4289 .LVL371: 1992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4290 .loc 1 1992 7 is_stmt 0 view .LVU1429 4291 005e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4292 .LVL372: 4293 0062 08E0 b .L169 4294 .LVL373: 4295 .L166: 1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 185 4296 .loc 1 1999 5 is_stmt 1 view .LVU1430 1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4297 .loc 1 1999 24 is_stmt 0 view .LVU1431 4298 0064 0023 movs r3, #0 4299 0066 A4F85230 strh r3, [r4, #82] @ movhi 2002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4300 .loc 1 2002 5 is_stmt 1 view .LVU1432 2002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4301 .loc 1 2002 18 is_stmt 0 view .LVU1433 4302 006a E366 str r3, [r4, #108] 2006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4303 .loc 1 2006 5 is_stmt 1 view .LVU1434 2006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4304 .loc 1 2006 19 is_stmt 0 view .LVU1435 4305 006c 2023 movs r3, #32 4306 006e E367 str r3, [r4, #124] 2014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4307 .loc 1 2014 5 is_stmt 1 view .LVU1436 4308 0070 2046 mov r0, r4 4309 .LVL374: 2014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4310 .loc 1 2014 5 is_stmt 0 view .LVU1437 4311 0072 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4312 .LVL375: 4313 .L169: 2018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4314 .loc 1 2018 3 is_stmt 1 view .LVU1438 2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4315 .loc 1 2019 1 is_stmt 0 view .LVU1439 4316 0076 0020 movs r0, #0 4317 0078 10BD pop {r4, pc} 4318 .LVL376: 4319 .L172: 2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4320 .loc 1 2019 1 view .LVU1440 4321 007a 00BF .align 2 4322 .L171: 4323 007c 00000000 .word UART_DMATxOnlyAbortCallback 4324 .cfi_endproc 4325 .LFE161: 4327 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits 4328 .align 1 4329 .syntax unified 4330 .thumb 4331 .thumb_func 4333 UART_DMATxOnlyAbortCallback: 4334 .LVL377: 4335 .LFB201: 3722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4336 .loc 1 3722 1 is_stmt 1 view -0 4337 .cfi_startproc 4338 @ args = 0, pretend = 0, frame = 0 4339 @ frame_needed = 0, uses_anonymous_args = 0 3722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4340 .loc 1 3722 1 is_stmt 0 view .LVU1442 4341 0000 08B5 push {r3, lr} 4342 .LCFI21: ARM GAS /tmp/ccQxTlMj.s page 186 4343 .cfi_def_cfa_offset 8 4344 .cfi_offset 3, -8 4345 .cfi_offset 14, -4 3723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4346 .loc 1 3723 3 is_stmt 1 view .LVU1443 3723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4347 .loc 1 3723 23 is_stmt 0 view .LVU1444 4348 0002 806B ldr r0, [r0, #56] 4349 .LVL378: 3725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4350 .loc 1 3725 3 is_stmt 1 view .LVU1445 3725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4351 .loc 1 3725 22 is_stmt 0 view .LVU1446 4352 0004 0023 movs r3, #0 4353 0006 A0F85230 strh r3, [r0, #82] @ movhi 3729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4354 .loc 1 3729 3 is_stmt 1 view .LVU1447 3729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4355 .loc 1 3729 17 is_stmt 0 view .LVU1448 4356 000a 2023 movs r3, #32 4357 000c C367 str r3, [r0, #124] 3737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4358 .loc 1 3737 3 is_stmt 1 view .LVU1449 4359 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4360 .LVL379: 3739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4361 .loc 1 3739 1 is_stmt 0 view .LVU1450 4362 0012 08BD pop {r3, pc} 4363 .cfi_endproc 4364 .LFE201: 4366 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits 4367 .align 1 4368 .weak HAL_UART_AbortReceiveCpltCallback 4369 .syntax unified 4370 .thumb 4371 .thumb_func 4373 HAL_UART_AbortReceiveCpltCallback: 4374 .LVL380: 4375 .LFB171: 2540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4376 .loc 1 2540 1 is_stmt 1 view -0 4377 .cfi_startproc 4378 @ args = 0, pretend = 0, frame = 0 4379 @ frame_needed = 0, uses_anonymous_args = 0 4380 @ link register save eliminated. 2542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4381 .loc 1 2542 3 view .LVU1452 2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4382 .loc 1 2547 1 is_stmt 0 view .LVU1453 4383 0000 7047 bx lr 4384 .cfi_endproc 4385 .LFE171: 4387 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits 4388 .align 1 4389 .global HAL_UART_AbortReceive_IT 4390 .syntax unified 4391 .thumb ARM GAS /tmp/ccQxTlMj.s page 187 4392 .thumb_func 4394 HAL_UART_AbortReceive_IT: 4395 .LVL381: 4396 .LFB162: 2036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 4397 .loc 1 2036 1 is_stmt 1 view -0 4398 .cfi_startproc 4399 @ args = 0, pretend = 0, frame = 0 4400 @ frame_needed = 0, uses_anonymous_args = 0 2036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 4401 .loc 1 2036 1 is_stmt 0 view .LVU1455 4402 0000 10B5 push {r4, lr} 4403 .LCFI22: 4404 .cfi_def_cfa_offset 8 4405 .cfi_offset 4, -8 4406 .cfi_offset 14, -4 4407 0002 0446 mov r4, r0 4408 .L177: 2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4409 .loc 1 2038 3 is_stmt 1 discriminator 1 view .LVU1456 4410 .LBB620: 2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4411 .loc 1 2038 3 discriminator 1 view .LVU1457 2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4412 .loc 1 2038 3 discriminator 1 view .LVU1458 2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4413 .loc 1 2038 3 discriminator 1 view .LVU1459 4414 0004 2268 ldr r2, [r4] 4415 .LVL382: 4416 .LBB621: 4417 .LBI621: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4418 .loc 2 1068 31 view .LVU1460 4419 .LBB622: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4420 .loc 2 1070 5 view .LVU1461 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4421 .loc 2 1072 4 view .LVU1462 4422 .syntax unified 4423 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4424 0006 52E8003F ldrex r3, [r2] 4425 @ 0 "" 2 4426 .LVL383: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4427 .loc 2 1073 4 view .LVU1463 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4428 .loc 2 1073 4 is_stmt 0 view .LVU1464 4429 .thumb 4430 .syntax unified 4431 .LBE622: 4432 .LBE621: 2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4433 .loc 1 2038 3 discriminator 1 view .LVU1465 4434 000a 23F49073 bic r3, r3, #288 4435 .LVL384: 2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4436 .loc 1 2038 3 is_stmt 1 discriminator 1 view .LVU1466 ARM GAS /tmp/ccQxTlMj.s page 188 4437 .LBB623: 4438 .LBI623: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4439 .loc 2 1119 31 view .LVU1467 4440 .LBB624: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4441 .loc 2 1121 4 view .LVU1468 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4442 .loc 2 1123 4 view .LVU1469 4443 .syntax unified 4444 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4445 000e 42E80031 strex r1, r3, [r2] 4446 @ 0 "" 2 4447 .LVL385: 4448 .loc 2 1124 4 view .LVU1470 4449 .loc 2 1124 4 is_stmt 0 view .LVU1471 4450 .thumb 4451 .syntax unified 4452 .LBE624: 4453 .LBE623: 2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4454 .loc 1 2038 3 discriminator 1 view .LVU1472 4455 0012 0029 cmp r1, #0 4456 0014 F6D1 bne .L177 4457 .LVL386: 4458 .L178: 2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4459 .loc 1 2038 3 discriminator 1 view .LVU1473 4460 .LBE620: 2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 4461 .loc 1 2038 3 is_stmt 1 discriminator 2 view .LVU1474 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4462 .loc 1 2039 3 discriminator 1 view .LVU1475 4463 .LBB625: 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4464 .loc 1 2039 3 discriminator 1 view .LVU1476 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4465 .loc 1 2039 3 discriminator 1 view .LVU1477 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4466 .loc 1 2039 3 discriminator 1 view .LVU1478 4467 0016 2268 ldr r2, [r4] 4468 .LVL387: 4469 .LBB626: 4470 .LBI626: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4471 .loc 2 1068 31 view .LVU1479 4472 .LBB627: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4473 .loc 2 1070 5 view .LVU1480 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4474 .loc 2 1072 4 view .LVU1481 4475 0018 02F10803 add r3, r2, #8 4476 .LVL388: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4477 .loc 2 1072 4 is_stmt 0 view .LVU1482 4478 .syntax unified 4479 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/ccQxTlMj.s page 189 4480 001c 53E8003F ldrex r3, [r3] 4481 @ 0 "" 2 4482 .LVL389: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4483 .loc 2 1073 4 is_stmt 1 view .LVU1483 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4484 .loc 2 1073 4 is_stmt 0 view .LVU1484 4485 .thumb 4486 .syntax unified 4487 .LBE627: 4488 .LBE626: 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4489 .loc 1 2039 3 discriminator 1 view .LVU1485 4490 0020 23F00103 bic r3, r3, #1 4491 .LVL390: 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4492 .loc 1 2039 3 is_stmt 1 discriminator 1 view .LVU1486 4493 .LBB628: 4494 .LBI628: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4495 .loc 2 1119 31 view .LVU1487 4496 .LBB629: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4497 .loc 2 1121 4 view .LVU1488 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4498 .loc 2 1123 4 view .LVU1489 4499 0024 0832 adds r2, r2, #8 4500 .LVL391: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4501 .loc 2 1123 4 is_stmt 0 view .LVU1490 4502 .syntax unified 4503 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4504 0026 42E80031 strex r1, r3, [r2] 4505 @ 0 "" 2 4506 .LVL392: 4507 .loc 2 1124 4 is_stmt 1 view .LVU1491 4508 .loc 2 1124 4 is_stmt 0 view .LVU1492 4509 .thumb 4510 .syntax unified 4511 .LBE629: 4512 .LBE628: 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4513 .loc 1 2039 3 discriminator 1 view .LVU1493 4514 002a 0029 cmp r1, #0 4515 002c F3D1 bne .L178 4516 .LBE625: 2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4517 .loc 1 2039 3 is_stmt 1 discriminator 2 view .LVU1494 2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4518 .loc 1 2042 3 view .LVU1495 2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4519 .loc 1 2042 12 is_stmt 0 view .LVU1496 4520 002e 236E ldr r3, [r4, #96] 4521 .LVL393: 2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4522 .loc 1 2042 6 view .LVU1497 4523 0030 012B cmp r3, #1 ARM GAS /tmp/ccQxTlMj.s page 190 4524 0032 1CD0 beq .L180 4525 .L179: 2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4526 .loc 1 2044 5 is_stmt 1 discriminator 2 view .LVU1498 2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4527 .loc 1 2048 3 view .LVU1499 2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4528 .loc 1 2048 7 is_stmt 0 view .LVU1500 4529 0034 2368 ldr r3, [r4] 4530 0036 9A68 ldr r2, [r3, #8] 2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4531 .loc 1 2048 6 view .LVU1501 4532 0038 12F0400F tst r2, #64 4533 003c 35D0 beq .L181 4534 .L182: 2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4535 .loc 1 2051 5 is_stmt 1 discriminator 1 view .LVU1502 4536 .LBB630: 2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4537 .loc 1 2051 5 discriminator 1 view .LVU1503 2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4538 .loc 1 2051 5 discriminator 1 view .LVU1504 2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4539 .loc 1 2051 5 discriminator 1 view .LVU1505 4540 003e 2268 ldr r2, [r4] 4541 .LVL394: 4542 .LBB631: 4543 .LBI631: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4544 .loc 2 1068 31 view .LVU1506 4545 .LBB632: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4546 .loc 2 1070 5 view .LVU1507 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4547 .loc 2 1072 4 view .LVU1508 4548 0040 02F10803 add r3, r2, #8 4549 .LVL395: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4550 .loc 2 1072 4 is_stmt 0 view .LVU1509 4551 .syntax unified 4552 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4553 0044 53E8003F ldrex r3, [r3] 4554 @ 0 "" 2 4555 .LVL396: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4556 .loc 2 1073 4 is_stmt 1 view .LVU1510 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4557 .loc 2 1073 4 is_stmt 0 view .LVU1511 4558 .thumb 4559 .syntax unified 4560 .LBE632: 4561 .LBE631: 2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4562 .loc 1 2051 5 discriminator 1 view .LVU1512 4563 0048 23F04003 bic r3, r3, #64 4564 .LVL397: 2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 191 4565 .loc 1 2051 5 is_stmt 1 discriminator 1 view .LVU1513 4566 .LBB633: 4567 .LBI633: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4568 .loc 2 1119 31 view .LVU1514 4569 .LBB634: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4570 .loc 2 1121 4 view .LVU1515 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4571 .loc 2 1123 4 view .LVU1516 4572 004c 0832 adds r2, r2, #8 4573 .LVL398: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4574 .loc 2 1123 4 is_stmt 0 view .LVU1517 4575 .syntax unified 4576 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4577 004e 42E80031 strex r1, r3, [r2] 4578 @ 0 "" 2 4579 .LVL399: 4580 .loc 2 1124 4 is_stmt 1 view .LVU1518 4581 .loc 2 1124 4 is_stmt 0 view .LVU1519 4582 .thumb 4583 .syntax unified 4584 .LBE634: 4585 .LBE633: 2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4586 .loc 1 2051 5 discriminator 1 view .LVU1520 4587 0052 0029 cmp r1, #0 4588 0054 F3D1 bne .L182 4589 .LBE630: 2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4590 .loc 1 2051 5 is_stmt 1 discriminator 2 view .LVU1521 2054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4591 .loc 1 2054 5 view .LVU1522 2054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4592 .loc 1 2054 14 is_stmt 0 view .LVU1523 4593 0056 636F ldr r3, [r4, #116] 4594 .LVL400: 2054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4595 .loc 1 2054 8 view .LVU1524 4596 0058 9BB1 cbz r3, .L183 2058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4597 .loc 1 2058 7 is_stmt 1 view .LVU1525 2058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4598 .loc 1 2058 40 is_stmt 0 view .LVU1526 4599 005a 1B4A ldr r2, .L186 4600 005c 1A65 str r2, [r3, #80] 2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4601 .loc 1 2061 7 is_stmt 1 view .LVU1527 2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4602 .loc 1 2061 11 is_stmt 0 view .LVU1528 4603 005e 606F ldr r0, [r4, #116] 4604 .LVL401: 2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4605 .loc 1 2061 11 view .LVU1529 4606 0060 FFF7FEFF bl HAL_DMA_Abort_IT 4607 .LVL402: ARM GAS /tmp/ccQxTlMj.s page 192 2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4608 .loc 1 2061 10 discriminator 1 view .LVU1530 4609 0064 70B3 cbz r0, .L184 2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4610 .loc 1 2064 9 is_stmt 1 view .LVU1531 2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4611 .loc 1 2064 14 is_stmt 0 view .LVU1532 4612 0066 606F ldr r0, [r4, #116] 2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4613 .loc 1 2064 22 view .LVU1533 4614 0068 036D ldr r3, [r0, #80] 2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4615 .loc 1 2064 9 view .LVU1534 4616 006a 9847 blx r3 4617 .LVL403: 4618 006c 2AE0 b .L184 4619 .LVL404: 4620 .L180: 2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4621 .loc 1 2044 5 is_stmt 1 discriminator 1 view .LVU1535 4622 .LBB635: 2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4623 .loc 1 2044 5 discriminator 1 view .LVU1536 2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4624 .loc 1 2044 5 discriminator 1 view .LVU1537 2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4625 .loc 1 2044 5 discriminator 1 view .LVU1538 4626 006e 2268 ldr r2, [r4] 4627 .LVL405: 4628 .LBB636: 4629 .LBI636: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4630 .loc 2 1068 31 view .LVU1539 4631 .LBB637: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4632 .loc 2 1070 5 view .LVU1540 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4633 .loc 2 1072 4 view .LVU1541 4634 .syntax unified 4635 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4636 0070 52E8003F ldrex r3, [r2] 4637 @ 0 "" 2 4638 .LVL406: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4639 .loc 2 1073 4 view .LVU1542 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4640 .loc 2 1073 4 is_stmt 0 view .LVU1543 4641 .thumb 4642 .syntax unified 4643 .LBE637: 4644 .LBE636: 2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4645 .loc 1 2044 5 discriminator 1 view .LVU1544 4646 0074 23F01003 bic r3, r3, #16 4647 .LVL407: 2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4648 .loc 1 2044 5 is_stmt 1 discriminator 1 view .LVU1545 ARM GAS /tmp/ccQxTlMj.s page 193 4649 .LBB638: 4650 .LBI638: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4651 .loc 2 1119 31 view .LVU1546 4652 .LBB639: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4653 .loc 2 1121 4 view .LVU1547 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4654 .loc 2 1123 4 view .LVU1548 4655 .syntax unified 4656 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4657 0078 42E80031 strex r1, r3, [r2] 4658 @ 0 "" 2 4659 .LVL408: 4660 .loc 2 1124 4 view .LVU1549 4661 .loc 2 1124 4 is_stmt 0 view .LVU1550 4662 .thumb 4663 .syntax unified 4664 .LBE639: 4665 .LBE638: 2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4666 .loc 1 2044 5 discriminator 1 view .LVU1551 4667 007c 0029 cmp r1, #0 4668 007e F6D1 bne .L180 4669 0080 D8E7 b .L179 4670 .LVL409: 4671 .L183: 2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4672 .loc 1 2044 5 discriminator 1 view .LVU1552 4673 .LBE635: 2070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4674 .loc 1 2070 7 is_stmt 1 view .LVU1553 2070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4675 .loc 1 2070 26 is_stmt 0 view .LVU1554 4676 0082 0023 movs r3, #0 4677 0084 A4F85A30 strh r3, [r4, #90] @ movhi 2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4678 .loc 1 2073 7 is_stmt 1 view .LVU1555 2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4679 .loc 1 2073 25 is_stmt 0 view .LVU1556 4680 0088 6365 str r3, [r4, #84] 2076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4681 .loc 1 2076 7 is_stmt 1 view .LVU1557 4682 008a 2268 ldr r2, [r4] 4683 008c 0F21 movs r1, #15 4684 008e 1162 str r1, [r2, #32] 2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4685 .loc 1 2079 7 view .LVU1558 4686 0090 2168 ldr r1, [r4] 4687 0092 8A69 ldr r2, [r1, #24] 4688 0094 42F00802 orr r2, r2, #8 4689 0098 8A61 str r2, [r1, #24] 2082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4690 .loc 1 2082 7 view .LVU1559 2082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4691 .loc 1 2082 22 is_stmt 0 view .LVU1560 4692 009a 2022 movs r2, #32 ARM GAS /tmp/ccQxTlMj.s page 194 4693 009c C4F88020 str r2, [r4, #128] 2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4694 .loc 1 2083 7 is_stmt 1 view .LVU1561 2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4695 .loc 1 2083 28 is_stmt 0 view .LVU1562 4696 00a0 2366 str r3, [r4, #96] 2091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4697 .loc 1 2091 7 is_stmt 1 view .LVU1563 4698 00a2 2046 mov r0, r4 4699 .LVL410: 2091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4700 .loc 1 2091 7 is_stmt 0 view .LVU1564 4701 00a4 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 4702 .LVL411: 4703 00a8 0CE0 b .L184 4704 .LVL412: 4705 .L181: 2098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4706 .loc 1 2098 5 is_stmt 1 view .LVU1565 2098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4707 .loc 1 2098 24 is_stmt 0 view .LVU1566 4708 00aa 0022 movs r2, #0 4709 00ac A4F85A20 strh r2, [r4, #90] @ movhi 2101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4710 .loc 1 2101 5 is_stmt 1 view .LVU1567 2101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4711 .loc 1 2101 23 is_stmt 0 view .LVU1568 4712 00b0 6265 str r2, [r4, #84] 2104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4713 .loc 1 2104 5 is_stmt 1 view .LVU1569 4714 00b2 0F21 movs r1, #15 4715 00b4 1962 str r1, [r3, #32] 2107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4716 .loc 1 2107 5 view .LVU1570 2107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4717 .loc 1 2107 20 is_stmt 0 view .LVU1571 4718 00b6 2023 movs r3, #32 4719 00b8 C4F88030 str r3, [r4, #128] 2108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4720 .loc 1 2108 5 is_stmt 1 view .LVU1572 2108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4721 .loc 1 2108 26 is_stmt 0 view .LVU1573 4722 00bc 2266 str r2, [r4, #96] 2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4723 .loc 1 2116 5 is_stmt 1 view .LVU1574 4724 00be 2046 mov r0, r4 4725 .LVL413: 2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4726 .loc 1 2116 5 is_stmt 0 view .LVU1575 4727 00c0 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 4728 .LVL414: 4729 .L184: 2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4730 .loc 1 2120 3 is_stmt 1 view .LVU1576 2121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4731 .loc 1 2121 1 is_stmt 0 view .LVU1577 4732 00c4 0020 movs r0, #0 ARM GAS /tmp/ccQxTlMj.s page 195 4733 00c6 10BD pop {r4, pc} 4734 .LVL415: 4735 .L187: 2121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4736 .loc 1 2121 1 view .LVU1578 4737 .align 2 4738 .L186: 4739 00c8 00000000 .word UART_DMARxOnlyAbortCallback 4740 .cfi_endproc 4741 .LFE162: 4743 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits 4744 .align 1 4745 .syntax unified 4746 .thumb 4747 .thumb_func 4749 UART_DMARxOnlyAbortCallback: 4750 .LVL416: 4751 .LFB202: 3750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4752 .loc 1 3750 1 is_stmt 1 view -0 4753 .cfi_startproc 4754 @ args = 0, pretend = 0, frame = 0 4755 @ frame_needed = 0, uses_anonymous_args = 0 3750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4756 .loc 1 3750 1 is_stmt 0 view .LVU1580 4757 0000 08B5 push {r3, lr} 4758 .LCFI23: 4759 .cfi_def_cfa_offset 8 4760 .cfi_offset 3, -8 4761 .cfi_offset 14, -4 3751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4762 .loc 1 3751 3 is_stmt 1 view .LVU1581 3751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4763 .loc 1 3751 23 is_stmt 0 view .LVU1582 4764 0002 806B ldr r0, [r0, #56] 4765 .LVL417: 3753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4766 .loc 1 3753 3 is_stmt 1 view .LVU1583 3753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4767 .loc 1 3753 22 is_stmt 0 view .LVU1584 4768 0004 0022 movs r2, #0 4769 0006 A0F85A20 strh r2, [r0, #90] @ movhi 3756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4770 .loc 1 3756 3 is_stmt 1 view .LVU1585 4771 000a 0368 ldr r3, [r0] 4772 000c 0F21 movs r1, #15 4773 000e 1962 str r1, [r3, #32] 3759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4774 .loc 1 3759 3 view .LVU1586 4775 0010 0168 ldr r1, [r0] 4776 0012 8B69 ldr r3, [r1, #24] 4777 0014 43F00803 orr r3, r3, #8 4778 0018 8B61 str r3, [r1, #24] 3762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4779 .loc 1 3762 3 view .LVU1587 3762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4780 .loc 1 3762 18 is_stmt 0 view .LVU1588 ARM GAS /tmp/ccQxTlMj.s page 196 4781 001a 2023 movs r3, #32 4782 001c C0F88030 str r3, [r0, #128] 3763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4783 .loc 1 3763 3 is_stmt 1 view .LVU1589 3763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4784 .loc 1 3763 24 is_stmt 0 view .LVU1590 4785 0020 0266 str r2, [r0, #96] 3771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4786 .loc 1 3771 3 is_stmt 1 view .LVU1591 4787 0022 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 4788 .LVL418: 3773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4789 .loc 1 3773 1 is_stmt 0 view .LVU1592 4790 0026 08BD pop {r3, pc} 4791 .cfi_endproc 4792 .LFE202: 4794 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits 4795 .align 1 4796 .weak HAL_UARTEx_RxEventCallback 4797 .syntax unified 4798 .thumb 4799 .thumb_func 4801 HAL_UARTEx_RxEventCallback: 4802 .LVL419: 4803 .LFB172: 2557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4804 .loc 1 2557 1 is_stmt 1 view -0 4805 .cfi_startproc 4806 @ args = 0, pretend = 0, frame = 0 4807 @ frame_needed = 0, uses_anonymous_args = 0 4808 @ link register save eliminated. 2559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(Size); 4809 .loc 1 2559 3 view .LVU1594 2560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4810 .loc 1 2560 3 view .LVU1595 2565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4811 .loc 1 2565 1 is_stmt 0 view .LVU1596 4812 0000 7047 bx lr 4813 .cfi_endproc 4814 .LFE172: 4816 .section .text.UART_RxISR_8BIT,"ax",%progbits 4817 .align 1 4818 .syntax unified 4819 .thumb 4820 .thumb_func 4822 UART_RxISR_8BIT: 4823 .LVL420: 4824 .LFB206: 3862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length . 3865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart) 3869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4825 .loc 1 3869 1 is_stmt 1 view -0 ARM GAS /tmp/ccQxTlMj.s page 197 4826 .cfi_startproc 4827 @ args = 0, pretend = 0, frame = 0 4828 @ frame_needed = 0, uses_anonymous_args = 0 4829 .loc 1 3869 1 is_stmt 0 view .LVU1598 4830 0000 08B5 push {r3, lr} 4831 .LCFI24: 4832 .cfi_def_cfa_offset 8 4833 .cfi_offset 3, -8 4834 .cfi_offset 14, -4 3870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 4835 .loc 1 3870 3 is_stmt 1 view .LVU1599 4836 .loc 1 3870 12 is_stmt 0 view .LVU1600 4837 0002 B0F85C30 ldrh r3, [r0, #92] 4838 .LVL421: 3871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhdata; 4839 .loc 1 3871 3 is_stmt 1 view .LVU1601 3872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 4840 .loc 1 3874 3 view .LVU1602 4841 .loc 1 3874 12 is_stmt 0 view .LVU1603 4842 0006 D0F88020 ldr r2, [r0, #128] 4843 .loc 1 3874 6 view .LVU1604 4844 000a 222A cmp r2, #34 4845 000c 05D0 beq .L202 3875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 3878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++; 3879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--; 3880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxXferCount == 0U) 3882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 3885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RxISR function pointer */ 3893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL; 3894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ 3896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 3899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 3900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 3903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check current reception Mode : 3906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If Reception till IDLE event has been selected : */ ARM GAS /tmp/ccQxTlMj.s page 198 3907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set reception type to Standard */ 3910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 3911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable IDLE interrupt */ 3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 3914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 3916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear IDLE Flag */ 3918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 3919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Event callback*/ 3923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 3924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 3926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 3927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 3928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 3930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Standard reception API called */ 3932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback(huart); 3935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 3936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 3943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 3945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 4846 .loc 1 3945 5 is_stmt 1 view .LVU1605 4847 000e 0268 ldr r2, [r0] 4848 0010 9369 ldr r3, [r2, #24] 4849 .LVL422: 4850 .loc 1 3945 5 is_stmt 0 view .LVU1606 4851 0012 43F00803 orr r3, r3, #8 4852 0016 9361 str r3, [r2, #24] 4853 .LVL423: 4854 .L191: 3946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4855 .loc 1 3947 1 view .LVU1607 4856 0018 08BD pop {r3, pc} 4857 .LVL424: 4858 .L202: 3876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 4859 .loc 1 3876 5 is_stmt 1 view .LVU1608 3876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); ARM GAS /tmp/ccQxTlMj.s page 199 4860 .loc 1 3876 25 is_stmt 0 view .LVU1609 4861 001a 0268 ldr r2, [r0] 4862 001c 516A ldr r1, [r2, #36] 4863 .LVL425: 3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++; 4864 .loc 1 3877 5 is_stmt 1 view .LVU1610 3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++; 4865 .loc 1 3877 45 is_stmt 0 view .LVU1611 4866 001e DBB2 uxtb r3, r3 4867 .LVL426: 3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++; 4868 .loc 1 3877 11 view .LVU1612 4869 0020 426D ldr r2, [r0, #84] 3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++; 4870 .loc 1 3877 26 view .LVU1613 4871 0022 0B40 ands r3, r3, r1 3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++; 4872 .loc 1 3877 24 view .LVU1614 4873 0024 1370 strb r3, [r2] 4874 .LVL427: 3878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--; 4875 .loc 1 3878 5 is_stmt 1 view .LVU1615 3878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--; 4876 .loc 1 3878 10 is_stmt 0 view .LVU1616 4877 0026 436D ldr r3, [r0, #84] 3878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--; 4878 .loc 1 3878 22 view .LVU1617 4879 0028 0133 adds r3, r3, #1 4880 002a 4365 str r3, [r0, #84] 3879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4881 .loc 1 3879 5 is_stmt 1 view .LVU1618 3879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4882 .loc 1 3879 10 is_stmt 0 view .LVU1619 4883 002c B0F85A30 ldrh r3, [r0, #90] 4884 0030 9BB2 uxth r3, r3 3879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4885 .loc 1 3879 23 view .LVU1620 4886 0032 013B subs r3, r3, #1 4887 0034 9BB2 uxth r3, r3 4888 0036 A0F85A30 strh r3, [r0, #90] @ movhi 3881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4889 .loc 1 3881 5 is_stmt 1 view .LVU1621 3881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4890 .loc 1 3881 14 is_stmt 0 view .LVU1622 4891 003a B0F85A30 ldrh r3, [r0, #90] 4892 003e 9BB2 uxth r3, r3 3881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4893 .loc 1 3881 8 view .LVU1623 4894 0040 002B cmp r3, #0 4895 0042 E9D1 bne .L191 4896 .LVL428: 4897 .L194: 3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4898 .loc 1 3884 7 is_stmt 1 discriminator 1 view .LVU1624 4899 .LBB640: 3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4900 .loc 1 3884 7 discriminator 1 view .LVU1625 ARM GAS /tmp/ccQxTlMj.s page 200 3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4901 .loc 1 3884 7 discriminator 1 view .LVU1626 3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4902 .loc 1 3884 7 discriminator 1 view .LVU1627 4903 0044 0268 ldr r2, [r0] 4904 .LVL429: 4905 .LBB641: 4906 .LBI641: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4907 .loc 2 1068 31 view .LVU1628 4908 .LBB642: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4909 .loc 2 1070 5 view .LVU1629 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4910 .loc 2 1072 4 view .LVU1630 4911 .syntax unified 4912 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4913 0046 52E8003F ldrex r3, [r2] 4914 @ 0 "" 2 4915 .LVL430: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4916 .loc 2 1073 4 view .LVU1631 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4917 .loc 2 1073 4 is_stmt 0 view .LVU1632 4918 .thumb 4919 .syntax unified 4920 .LBE642: 4921 .LBE641: 3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4922 .loc 1 3884 7 discriminator 1 view .LVU1633 4923 004a 23F49073 bic r3, r3, #288 4924 .LVL431: 3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4925 .loc 1 3884 7 is_stmt 1 discriminator 1 view .LVU1634 4926 .LBB643: 4927 .LBI643: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4928 .loc 2 1119 31 view .LVU1635 4929 .LBB644: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 4930 .loc 2 1121 4 view .LVU1636 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4931 .loc 2 1123 4 view .LVU1637 4932 .syntax unified 4933 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4934 004e 42E80031 strex r1, r3, [r2] 4935 @ 0 "" 2 4936 .LVL432: 4937 .loc 2 1124 4 view .LVU1638 4938 .loc 2 1124 4 is_stmt 0 view .LVU1639 4939 .thumb 4940 .syntax unified 4941 .LBE644: 4942 .LBE643: 3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4943 .loc 1 3884 7 discriminator 1 view .LVU1640 4944 0052 0029 cmp r1, #0 ARM GAS /tmp/ccQxTlMj.s page 201 4945 0054 F6D1 bne .L194 4946 .LVL433: 4947 .L195: 3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4948 .loc 1 3884 7 discriminator 1 view .LVU1641 4949 .LBE640: 3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4950 .loc 1 3884 7 is_stmt 1 discriminator 2 view .LVU1642 3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4951 .loc 1 3887 7 discriminator 1 view .LVU1643 4952 .LBB645: 3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4953 .loc 1 3887 7 discriminator 1 view .LVU1644 3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4954 .loc 1 3887 7 discriminator 1 view .LVU1645 3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4955 .loc 1 3887 7 discriminator 1 view .LVU1646 4956 0056 0268 ldr r2, [r0] 4957 .LVL434: 4958 .LBB646: 4959 .LBI646: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4960 .loc 2 1068 31 view .LVU1647 4961 .LBB647: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 4962 .loc 2 1070 5 view .LVU1648 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4963 .loc 2 1072 4 view .LVU1649 4964 0058 02F10803 add r3, r2, #8 4965 .LVL435: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4966 .loc 2 1072 4 is_stmt 0 view .LVU1650 4967 .syntax unified 4968 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4969 005c 53E8003F ldrex r3, [r3] 4970 @ 0 "" 2 4971 .LVL436: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4972 .loc 2 1073 4 is_stmt 1 view .LVU1651 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 4973 .loc 2 1073 4 is_stmt 0 view .LVU1652 4974 .thumb 4975 .syntax unified 4976 .LBE647: 4977 .LBE646: 3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4978 .loc 1 3887 7 discriminator 1 view .LVU1653 4979 0060 23F00103 bic r3, r3, #1 4980 .LVL437: 3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4981 .loc 1 3887 7 is_stmt 1 discriminator 1 view .LVU1654 4982 .LBB648: 4983 .LBI648: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 4984 .loc 2 1119 31 view .LVU1655 4985 .LBB649: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/ccQxTlMj.s page 202 4986 .loc 2 1121 4 view .LVU1656 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4987 .loc 2 1123 4 view .LVU1657 4988 0064 0832 adds r2, r2, #8 4989 .LVL438: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 4990 .loc 2 1123 4 is_stmt 0 view .LVU1658 4991 .syntax unified 4992 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 4993 0066 42E80031 strex r1, r3, [r2] 4994 @ 0 "" 2 4995 .LVL439: 4996 .loc 2 1124 4 is_stmt 1 view .LVU1659 4997 .loc 2 1124 4 is_stmt 0 view .LVU1660 4998 .thumb 4999 .syntax unified 5000 .LBE649: 5001 .LBE648: 3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5002 .loc 1 3887 7 discriminator 1 view .LVU1661 5003 006a 0029 cmp r1, #0 5004 006c F3D1 bne .L195 5005 .LBE645: 3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5006 .loc 1 3887 7 is_stmt 1 discriminator 2 view .LVU1662 3890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5007 .loc 1 3890 7 view .LVU1663 3890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5008 .loc 1 3890 22 is_stmt 0 view .LVU1664 5009 006e 2023 movs r3, #32 5010 .LVL440: 3890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5011 .loc 1 3890 22 view .LVU1665 5012 0070 C0F88030 str r3, [r0, #128] 3893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5013 .loc 1 3893 7 is_stmt 1 view .LVU1666 3893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5014 .loc 1 3893 20 is_stmt 0 view .LVU1667 5015 0074 0023 movs r3, #0 5016 0076 8366 str r3, [r0, #104] 3896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5017 .loc 1 3896 7 is_stmt 1 view .LVU1668 3896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5018 .loc 1 3896 26 is_stmt 0 view .LVU1669 5019 0078 4366 str r3, [r0, #100] 3899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5020 .loc 1 3899 7 is_stmt 1 view .LVU1670 3899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5021 .loc 1 3899 11 is_stmt 0 view .LVU1671 5022 007a 0368 ldr r3, [r0] 5023 007c 5B68 ldr r3, [r3, #4] 3899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5024 .loc 1 3899 10 view .LVU1672 5025 007e 13F4000F tst r3, #8388608 5026 0082 08D0 beq .L196 5027 .L197: 3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } ARM GAS /tmp/ccQxTlMj.s page 203 5028 .loc 1 3902 9 is_stmt 1 discriminator 1 view .LVU1673 5029 .LBB650: 3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5030 .loc 1 3902 9 discriminator 1 view .LVU1674 3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5031 .loc 1 3902 9 discriminator 1 view .LVU1675 3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5032 .loc 1 3902 9 discriminator 1 view .LVU1676 5033 0084 0268 ldr r2, [r0] 5034 .LVL441: 5035 .LBB651: 5036 .LBI651: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5037 .loc 2 1068 31 view .LVU1677 5038 .LBB652: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5039 .loc 2 1070 5 view .LVU1678 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5040 .loc 2 1072 4 view .LVU1679 5041 .syntax unified 5042 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5043 0086 52E8003F ldrex r3, [r2] 5044 @ 0 "" 2 5045 .LVL442: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5046 .loc 2 1073 4 view .LVU1680 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5047 .loc 2 1073 4 is_stmt 0 view .LVU1681 5048 .thumb 5049 .syntax unified 5050 .LBE652: 5051 .LBE651: 3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5052 .loc 1 3902 9 discriminator 1 view .LVU1682 5053 008a 23F08063 bic r3, r3, #67108864 5054 .LVL443: 3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5055 .loc 1 3902 9 is_stmt 1 discriminator 1 view .LVU1683 5056 .LBB653: 5057 .LBI653: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5058 .loc 2 1119 31 view .LVU1684 5059 .LBB654: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5060 .loc 2 1121 4 view .LVU1685 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5061 .loc 2 1123 4 view .LVU1686 5062 .syntax unified 5063 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5064 008e 42E80031 strex r1, r3, [r2] 5065 @ 0 "" 2 5066 .LVL444: 5067 .loc 2 1124 4 view .LVU1687 5068 .loc 2 1124 4 is_stmt 0 view .LVU1688 5069 .thumb 5070 .syntax unified 5071 .LBE654: ARM GAS /tmp/ccQxTlMj.s page 204 5072 .LBE653: 3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5073 .loc 1 3902 9 discriminator 1 view .LVU1689 5074 0092 0029 cmp r1, #0 5075 0094 F6D1 bne .L197 5076 .LVL445: 5077 .L196: 3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5078 .loc 1 3902 9 discriminator 1 view .LVU1690 5079 .LBE650: 3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5080 .loc 1 3902 9 is_stmt 1 discriminator 2 view .LVU1691 3907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5081 .loc 1 3907 7 view .LVU1692 3907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5082 .loc 1 3907 16 is_stmt 0 view .LVU1693 5083 0096 036E ldr r3, [r0, #96] 3907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5084 .loc 1 3907 10 view .LVU1694 5085 0098 012B cmp r3, #1 5086 009a 16D1 bne .L198 3910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5087 .loc 1 3910 9 is_stmt 1 view .LVU1695 3910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5088 .loc 1 3910 30 is_stmt 0 view .LVU1696 5089 009c 0023 movs r3, #0 5090 009e 0366 str r3, [r0, #96] 5091 .L199: 3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5092 .loc 1 3913 9 is_stmt 1 discriminator 1 view .LVU1697 5093 .LBB655: 3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5094 .loc 1 3913 9 discriminator 1 view .LVU1698 3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5095 .loc 1 3913 9 discriminator 1 view .LVU1699 3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5096 .loc 1 3913 9 discriminator 1 view .LVU1700 5097 00a0 0268 ldr r2, [r0] 5098 .LVL446: 5099 .LBB656: 5100 .LBI656: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5101 .loc 2 1068 31 view .LVU1701 5102 .LBB657: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5103 .loc 2 1070 5 view .LVU1702 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5104 .loc 2 1072 4 view .LVU1703 5105 .syntax unified 5106 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5107 00a2 52E8003F ldrex r3, [r2] 5108 @ 0 "" 2 5109 .LVL447: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5110 .loc 2 1073 4 view .LVU1704 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5111 .loc 2 1073 4 is_stmt 0 view .LVU1705 ARM GAS /tmp/ccQxTlMj.s page 205 5112 .thumb 5113 .syntax unified 5114 .LBE657: 5115 .LBE656: 3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5116 .loc 1 3913 9 discriminator 1 view .LVU1706 5117 00a6 23F01003 bic r3, r3, #16 5118 .LVL448: 3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5119 .loc 1 3913 9 is_stmt 1 discriminator 1 view .LVU1707 5120 .LBB658: 5121 .LBI658: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5122 .loc 2 1119 31 view .LVU1708 5123 .LBB659: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5124 .loc 2 1121 4 view .LVU1709 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5125 .loc 2 1123 4 view .LVU1710 5126 .syntax unified 5127 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5128 00aa 42E80031 strex r1, r3, [r2] 5129 @ 0 "" 2 5130 .LVL449: 5131 .loc 2 1124 4 view .LVU1711 5132 .loc 2 1124 4 is_stmt 0 view .LVU1712 5133 .thumb 5134 .syntax unified 5135 .LBE659: 5136 .LBE658: 3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5137 .loc 1 3913 9 discriminator 1 view .LVU1713 5138 00ae 0029 cmp r1, #0 5139 00b0 F6D1 bne .L199 5140 .LBE655: 3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5141 .loc 1 3913 9 is_stmt 1 discriminator 2 view .LVU1714 3915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5142 .loc 1 3915 9 view .LVU1715 3915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5143 .loc 1 3915 13 is_stmt 0 view .LVU1716 5144 00b2 0368 ldr r3, [r0] 5145 .LVL450: 3915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5146 .loc 1 3915 13 view .LVU1717 5147 00b4 DA69 ldr r2, [r3, #28] 3915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5148 .loc 1 3915 12 view .LVU1718 5149 00b6 12F0100F tst r2, #16 5150 00ba 01D0 beq .L200 3918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5151 .loc 1 3918 11 is_stmt 1 view .LVU1719 5152 00bc 1022 movs r2, #16 5153 00be 1A62 str r2, [r3, #32] 5154 .L200: 3926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5155 .loc 1 3926 9 view .LVU1720 ARM GAS /tmp/ccQxTlMj.s page 206 5156 00c0 B0F85810 ldrh r1, [r0, #88] 5157 00c4 FFF7FEFF bl HAL_UARTEx_RxEventCallback 5158 .LVL451: 3926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5159 .loc 1 3926 9 is_stmt 0 view .LVU1721 5160 00c8 A6E7 b .L191 5161 .LVL452: 5162 .L198: 3937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5163 .loc 1 3937 9 is_stmt 1 view .LVU1722 5164 00ca FFF7FEFF bl HAL_UART_RxCpltCallback 5165 .LVL453: 3937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5166 .loc 1 3937 9 is_stmt 0 view .LVU1723 5167 00ce A3E7 b .L191 5168 .cfi_endproc 5169 .LFE206: 5171 .section .text.UART_RxISR_16BIT,"ax",%progbits 5172 .align 1 5173 .syntax unified 5174 .thumb 5175 .thumb_func 5177 UART_RxISR_16BIT: 5178 .LVL454: 5179 .LFB207: 3948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 3950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length . 3951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note Function is called under interruption only, once 3952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 3953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle. 3954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None 3955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */ 3956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart) 3957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5180 .loc 1 3957 1 is_stmt 1 view -0 5181 .cfi_startproc 5182 @ args = 0, pretend = 0, frame = 0 5183 @ frame_needed = 0, uses_anonymous_args = 0 5184 .loc 1 3957 1 is_stmt 0 view .LVU1725 5185 0000 08B5 push {r3, lr} 5186 .LCFI25: 5187 .cfi_def_cfa_offset 8 5188 .cfi_offset 3, -8 5189 .cfi_offset 14, -4 3958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t *tmp; 5190 .loc 1 3958 3 is_stmt 1 view .LVU1726 3959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 5191 .loc 1 3959 3 view .LVU1727 5192 .loc 1 3959 12 is_stmt 0 view .LVU1728 5193 0002 B0F85C20 ldrh r2, [r0, #92] 5194 .LVL455: 3960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhdata; 5195 .loc 1 3960 3 is_stmt 1 view .LVU1729 3961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) ARM GAS /tmp/ccQxTlMj.s page 207 5196 .loc 1 3963 3 view .LVU1730 5197 .loc 1 3963 12 is_stmt 0 view .LVU1731 5198 0006 D0F88030 ldr r3, [r0, #128] 5199 .loc 1 3963 6 view .LVU1732 5200 000a 222B cmp r3, #34 5201 000c 05D0 beq .L214 3964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 3966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 3967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 3968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 3969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--; 3970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxXferCount == 0U) 3972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/ 3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 3975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RxISR function pointer */ 3983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL; 3984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */ 3986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 3987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that USART RTOEN bit is set */ 3989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U) 3990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */ 3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE); 3993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 3994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 3995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check current reception Mode : 3996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If Reception till IDLE event has been selected : */ 3997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 3998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 3999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set reception type to Standard */ 4000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 4001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable IDLE interrupt */ 4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 4004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET) 4006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear IDLE Flag */ 4008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 4009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 4011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Event callback*/ 4013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize); 4014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else ARM GAS /tmp/ccQxTlMj.s page 208 4015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/ 4016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize); 4017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 4018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 4020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Standard reception API called */ 4022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback(huart); 4025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else 4026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else 4033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 4034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 5202 .loc 1 4035 5 is_stmt 1 view .LVU1733 5203 000e 0268 ldr r2, [r0] 5204 .LVL456: 5205 .loc 1 4035 5 is_stmt 0 view .LVU1734 5206 0010 9369 ldr r3, [r2, #24] 5207 0012 43F00803 orr r3, r3, #8 5208 0016 9361 str r3, [r2, #24] 5209 .LVL457: 5210 .L203: 4036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 4037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5211 .loc 1 4037 1 view .LVU1735 5212 0018 08BD pop {r3, pc} 5213 .LVL458: 5214 .L214: 3965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 5215 .loc 1 3965 5 is_stmt 1 view .LVU1736 3965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 5216 .loc 1 3965 25 is_stmt 0 view .LVU1737 5217 001a 0368 ldr r3, [r0] 5218 001c 5B6A ldr r3, [r3, #36] 5219 .LVL459: 3966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 5220 .loc 1 3966 5 is_stmt 1 view .LVU1738 3966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 5221 .loc 1 3966 9 is_stmt 0 view .LVU1739 5222 001e 416D ldr r1, [r0, #84] 5223 .LVL460: 3967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 5224 .loc 1 3967 5 is_stmt 1 view .LVU1740 3967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 5225 .loc 1 3967 12 is_stmt 0 view .LVU1741 5226 0020 1340 ands r3, r3, r2 5227 .LVL461: 3967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 5228 .loc 1 3967 10 view .LVU1742 ARM GAS /tmp/ccQxTlMj.s page 209 5229 0022 0B80 strh r3, [r1] @ movhi 3968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--; 5230 .loc 1 3968 5 is_stmt 1 view .LVU1743 3968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--; 5231 .loc 1 3968 10 is_stmt 0 view .LVU1744 5232 0024 436D ldr r3, [r0, #84] 3968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--; 5233 .loc 1 3968 23 view .LVU1745 5234 0026 0233 adds r3, r3, #2 5235 0028 4365 str r3, [r0, #84] 3969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5236 .loc 1 3969 5 is_stmt 1 view .LVU1746 3969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5237 .loc 1 3969 10 is_stmt 0 view .LVU1747 5238 002a B0F85A30 ldrh r3, [r0, #90] 5239 002e 9BB2 uxth r3, r3 3969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5240 .loc 1 3969 23 view .LVU1748 5241 0030 013B subs r3, r3, #1 5242 0032 9BB2 uxth r3, r3 5243 0034 A0F85A30 strh r3, [r0, #90] @ movhi 3971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5244 .loc 1 3971 5 is_stmt 1 view .LVU1749 3971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5245 .loc 1 3971 14 is_stmt 0 view .LVU1750 5246 0038 B0F85A30 ldrh r3, [r0, #90] 5247 003c 9BB2 uxth r3, r3 3971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5248 .loc 1 3971 8 view .LVU1751 5249 003e 002B cmp r3, #0 5250 0040 EAD1 bne .L203 5251 .LVL462: 5252 .L206: 3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5253 .loc 1 3974 7 is_stmt 1 discriminator 1 view .LVU1752 5254 .LBB660: 3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5255 .loc 1 3974 7 discriminator 1 view .LVU1753 3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5256 .loc 1 3974 7 discriminator 1 view .LVU1754 3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5257 .loc 1 3974 7 discriminator 1 view .LVU1755 5258 0042 0268 ldr r2, [r0] 5259 .LVL463: 5260 .LBB661: 5261 .LBI661: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5262 .loc 2 1068 31 view .LVU1756 5263 .LBB662: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5264 .loc 2 1070 5 view .LVU1757 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5265 .loc 2 1072 4 view .LVU1758 5266 .syntax unified 5267 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5268 0044 52E8003F ldrex r3, [r2] 5269 @ 0 "" 2 ARM GAS /tmp/ccQxTlMj.s page 210 5270 .LVL464: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5271 .loc 2 1073 4 view .LVU1759 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5272 .loc 2 1073 4 is_stmt 0 view .LVU1760 5273 .thumb 5274 .syntax unified 5275 .LBE662: 5276 .LBE661: 3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5277 .loc 1 3974 7 discriminator 1 view .LVU1761 5278 0048 23F49073 bic r3, r3, #288 5279 .LVL465: 3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5280 .loc 1 3974 7 is_stmt 1 discriminator 1 view .LVU1762 5281 .LBB663: 5282 .LBI663: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5283 .loc 2 1119 31 view .LVU1763 5284 .LBB664: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5285 .loc 2 1121 4 view .LVU1764 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5286 .loc 2 1123 4 view .LVU1765 5287 .syntax unified 5288 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5289 004c 42E80031 strex r1, r3, [r2] 5290 @ 0 "" 2 5291 .LVL466: 5292 .loc 2 1124 4 view .LVU1766 5293 .loc 2 1124 4 is_stmt 0 view .LVU1767 5294 .thumb 5295 .syntax unified 5296 .LBE664: 5297 .LBE663: 3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5298 .loc 1 3974 7 discriminator 1 view .LVU1768 5299 0050 0029 cmp r1, #0 5300 0052 F6D1 bne .L206 5301 .LVL467: 5302 .L207: 3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5303 .loc 1 3974 7 discriminator 1 view .LVU1769 5304 .LBE660: 3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5305 .loc 1 3974 7 is_stmt 1 discriminator 2 view .LVU1770 3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5306 .loc 1 3977 7 discriminator 1 view .LVU1771 5307 .LBB665: 3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5308 .loc 1 3977 7 discriminator 1 view .LVU1772 3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5309 .loc 1 3977 7 discriminator 1 view .LVU1773 3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5310 .loc 1 3977 7 discriminator 1 view .LVU1774 5311 0054 0268 ldr r2, [r0] 5312 .LVL468: ARM GAS /tmp/ccQxTlMj.s page 211 5313 .LBB666: 5314 .LBI666: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5315 .loc 2 1068 31 view .LVU1775 5316 .LBB667: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5317 .loc 2 1070 5 view .LVU1776 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5318 .loc 2 1072 4 view .LVU1777 5319 0056 02F10803 add r3, r2, #8 5320 .LVL469: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5321 .loc 2 1072 4 is_stmt 0 view .LVU1778 5322 .syntax unified 5323 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5324 005a 53E8003F ldrex r3, [r3] 5325 @ 0 "" 2 5326 .LVL470: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5327 .loc 2 1073 4 is_stmt 1 view .LVU1779 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5328 .loc 2 1073 4 is_stmt 0 view .LVU1780 5329 .thumb 5330 .syntax unified 5331 .LBE667: 5332 .LBE666: 3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5333 .loc 1 3977 7 discriminator 1 view .LVU1781 5334 005e 23F00103 bic r3, r3, #1 5335 .LVL471: 3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5336 .loc 1 3977 7 is_stmt 1 discriminator 1 view .LVU1782 5337 .LBB668: 5338 .LBI668: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5339 .loc 2 1119 31 view .LVU1783 5340 .LBB669: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5341 .loc 2 1121 4 view .LVU1784 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5342 .loc 2 1123 4 view .LVU1785 5343 0062 0832 adds r2, r2, #8 5344 .LVL472: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5345 .loc 2 1123 4 is_stmt 0 view .LVU1786 5346 .syntax unified 5347 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5348 0064 42E80031 strex r1, r3, [r2] 5349 @ 0 "" 2 5350 .LVL473: 5351 .loc 2 1124 4 is_stmt 1 view .LVU1787 5352 .loc 2 1124 4 is_stmt 0 view .LVU1788 5353 .thumb 5354 .syntax unified 5355 .LBE669: 5356 .LBE668: 3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 212 5357 .loc 1 3977 7 discriminator 1 view .LVU1789 5358 0068 0029 cmp r1, #0 5359 006a F3D1 bne .L207 5360 .LBE665: 3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5361 .loc 1 3977 7 is_stmt 1 discriminator 2 view .LVU1790 3980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5362 .loc 1 3980 7 view .LVU1791 3980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5363 .loc 1 3980 22 is_stmt 0 view .LVU1792 5364 006c 2023 movs r3, #32 5365 .LVL474: 3980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5366 .loc 1 3980 22 view .LVU1793 5367 006e C0F88030 str r3, [r0, #128] 3983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5368 .loc 1 3983 7 is_stmt 1 view .LVU1794 3983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5369 .loc 1 3983 20 is_stmt 0 view .LVU1795 5370 0072 0023 movs r3, #0 5371 0074 8366 str r3, [r0, #104] 3986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5372 .loc 1 3986 7 is_stmt 1 view .LVU1796 3986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5373 .loc 1 3986 26 is_stmt 0 view .LVU1797 5374 0076 4366 str r3, [r0, #100] 3989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5375 .loc 1 3989 7 is_stmt 1 view .LVU1798 3989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5376 .loc 1 3989 11 is_stmt 0 view .LVU1799 5377 0078 0368 ldr r3, [r0] 5378 007a 5B68 ldr r3, [r3, #4] 3989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5379 .loc 1 3989 10 view .LVU1800 5380 007c 13F4000F tst r3, #8388608 5381 0080 08D0 beq .L208 5382 .L209: 3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5383 .loc 1 3992 9 is_stmt 1 discriminator 1 view .LVU1801 5384 .LBB670: 3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5385 .loc 1 3992 9 discriminator 1 view .LVU1802 3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5386 .loc 1 3992 9 discriminator 1 view .LVU1803 3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5387 .loc 1 3992 9 discriminator 1 view .LVU1804 5388 0082 0268 ldr r2, [r0] 5389 .LVL475: 5390 .LBB671: 5391 .LBI671: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5392 .loc 2 1068 31 view .LVU1805 5393 .LBB672: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5394 .loc 2 1070 5 view .LVU1806 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5395 .loc 2 1072 4 view .LVU1807 ARM GAS /tmp/ccQxTlMj.s page 213 5396 .syntax unified 5397 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5398 0084 52E8003F ldrex r3, [r2] 5399 @ 0 "" 2 5400 .LVL476: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5401 .loc 2 1073 4 view .LVU1808 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5402 .loc 2 1073 4 is_stmt 0 view .LVU1809 5403 .thumb 5404 .syntax unified 5405 .LBE672: 5406 .LBE671: 3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5407 .loc 1 3992 9 discriminator 1 view .LVU1810 5408 0088 23F08063 bic r3, r3, #67108864 5409 .LVL477: 3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5410 .loc 1 3992 9 is_stmt 1 discriminator 1 view .LVU1811 5411 .LBB673: 5412 .LBI673: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5413 .loc 2 1119 31 view .LVU1812 5414 .LBB674: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5415 .loc 2 1121 4 view .LVU1813 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5416 .loc 2 1123 4 view .LVU1814 5417 .syntax unified 5418 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5419 008c 42E80031 strex r1, r3, [r2] 5420 @ 0 "" 2 5421 .LVL478: 5422 .loc 2 1124 4 view .LVU1815 5423 .loc 2 1124 4 is_stmt 0 view .LVU1816 5424 .thumb 5425 .syntax unified 5426 .LBE674: 5427 .LBE673: 3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5428 .loc 1 3992 9 discriminator 1 view .LVU1817 5429 0090 0029 cmp r1, #0 5430 0092 F6D1 bne .L209 5431 .LVL479: 5432 .L208: 3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5433 .loc 1 3992 9 discriminator 1 view .LVU1818 5434 .LBE670: 3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5435 .loc 1 3992 9 is_stmt 1 discriminator 2 view .LVU1819 3997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5436 .loc 1 3997 7 view .LVU1820 3997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5437 .loc 1 3997 16 is_stmt 0 view .LVU1821 5438 0094 036E ldr r3, [r0, #96] 3997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5439 .loc 1 3997 10 view .LVU1822 ARM GAS /tmp/ccQxTlMj.s page 214 5440 0096 012B cmp r3, #1 5441 0098 16D1 bne .L210 4000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5442 .loc 1 4000 9 is_stmt 1 view .LVU1823 4000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5443 .loc 1 4000 30 is_stmt 0 view .LVU1824 5444 009a 0023 movs r3, #0 5445 009c 0366 str r3, [r0, #96] 5446 .L211: 4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5447 .loc 1 4003 9 is_stmt 1 discriminator 1 view .LVU1825 5448 .LBB675: 4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5449 .loc 1 4003 9 discriminator 1 view .LVU1826 4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5450 .loc 1 4003 9 discriminator 1 view .LVU1827 4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5451 .loc 1 4003 9 discriminator 1 view .LVU1828 5452 009e 0268 ldr r2, [r0] 5453 .LVL480: 5454 .LBB676: 5455 .LBI676: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5456 .loc 2 1068 31 view .LVU1829 5457 .LBB677: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5458 .loc 2 1070 5 view .LVU1830 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5459 .loc 2 1072 4 view .LVU1831 5460 .syntax unified 5461 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5462 00a0 52E8003F ldrex r3, [r2] 5463 @ 0 "" 2 5464 .LVL481: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5465 .loc 2 1073 4 view .LVU1832 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5466 .loc 2 1073 4 is_stmt 0 view .LVU1833 5467 .thumb 5468 .syntax unified 5469 .LBE677: 5470 .LBE676: 4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5471 .loc 1 4003 9 discriminator 1 view .LVU1834 5472 00a4 23F01003 bic r3, r3, #16 5473 .LVL482: 4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5474 .loc 1 4003 9 is_stmt 1 discriminator 1 view .LVU1835 5475 .LBB678: 5476 .LBI678: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5477 .loc 2 1119 31 view .LVU1836 5478 .LBB679: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5479 .loc 2 1121 4 view .LVU1837 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5480 .loc 2 1123 4 view .LVU1838 ARM GAS /tmp/ccQxTlMj.s page 215 5481 .syntax unified 5482 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5483 00a8 42E80031 strex r1, r3, [r2] 5484 @ 0 "" 2 5485 .LVL483: 5486 .loc 2 1124 4 view .LVU1839 5487 .loc 2 1124 4 is_stmt 0 view .LVU1840 5488 .thumb 5489 .syntax unified 5490 .LBE679: 5491 .LBE678: 4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5492 .loc 1 4003 9 discriminator 1 view .LVU1841 5493 00ac 0029 cmp r1, #0 5494 00ae F6D1 bne .L211 5495 .LBE675: 4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5496 .loc 1 4003 9 is_stmt 1 discriminator 2 view .LVU1842 4005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5497 .loc 1 4005 9 view .LVU1843 4005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5498 .loc 1 4005 13 is_stmt 0 view .LVU1844 5499 00b0 0368 ldr r3, [r0] 5500 .LVL484: 4005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5501 .loc 1 4005 13 view .LVU1845 5502 00b2 DA69 ldr r2, [r3, #28] 4005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5503 .loc 1 4005 12 view .LVU1846 5504 00b4 12F0100F tst r2, #16 5505 00b8 01D0 beq .L212 4008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5506 .loc 1 4008 11 is_stmt 1 view .LVU1847 5507 00ba 1022 movs r2, #16 5508 00bc 1A62 str r2, [r3, #32] 5509 .L212: 4016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5510 .loc 1 4016 9 view .LVU1848 5511 00be B0F85810 ldrh r1, [r0, #88] 5512 00c2 FFF7FEFF bl HAL_UARTEx_RxEventCallback 5513 .LVL485: 4016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 5514 .loc 1 4016 9 is_stmt 0 view .LVU1849 5515 00c6 A7E7 b .L203 5516 .LVL486: 5517 .L210: 4027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5518 .loc 1 4027 9 is_stmt 1 view .LVU1850 5519 00c8 FFF7FEFF bl HAL_UART_RxCpltCallback 5520 .LVL487: 4027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5521 .loc 1 4027 9 is_stmt 0 view .LVU1851 5522 00cc A4E7 b .L203 5523 .cfi_endproc 5524 .LFE207: 5526 .section .text.UART_DMARxHalfCplt,"ax",%progbits 5527 .align 1 ARM GAS /tmp/ccQxTlMj.s page 216 5528 .syntax unified 5529 .thumb 5530 .thumb_func 5532 UART_DMARxHalfCplt: 5533 .LVL488: 5534 .LFB196: 3519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 5535 .loc 1 3519 1 is_stmt 1 view -0 5536 .cfi_startproc 5537 @ args = 0, pretend = 0, frame = 0 5538 @ frame_needed = 0, uses_anonymous_args = 0 3519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 5539 .loc 1 3519 1 is_stmt 0 view .LVU1853 5540 0000 08B5 push {r3, lr} 5541 .LCFI26: 5542 .cfi_def_cfa_offset 8 5543 .cfi_offset 3, -8 5544 .cfi_offset 14, -4 3520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5545 .loc 1 3520 3 is_stmt 1 view .LVU1854 3520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5546 .loc 1 3520 23 is_stmt 0 view .LVU1855 5547 0002 806B ldr r0, [r0, #56] 5548 .LVL489: 3524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5549 .loc 1 3524 3 is_stmt 1 view .LVU1856 3524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5550 .loc 1 3524 22 is_stmt 0 view .LVU1857 5551 0004 0123 movs r3, #1 5552 0006 4366 str r3, [r0, #100] 3528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5553 .loc 1 3528 3 is_stmt 1 view .LVU1858 3528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5554 .loc 1 3528 12 is_stmt 0 view .LVU1859 5555 0008 036E ldr r3, [r0, #96] 3528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5556 .loc 1 3528 6 view .LVU1860 5557 000a 012B cmp r3, #1 5558 000c 02D0 beq .L219 3546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5559 .loc 1 3546 5 is_stmt 1 view .LVU1861 5560 000e FFF7FEFF bl HAL_UART_RxHalfCpltCallback 5561 .LVL490: 5562 .L215: 3549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5563 .loc 1 3549 1 is_stmt 0 view .LVU1862 5564 0012 08BD pop {r3, pc} 5565 .LVL491: 5566 .L219: 3535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5567 .loc 1 3535 5 is_stmt 1 view .LVU1863 3535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5568 .loc 1 3535 44 is_stmt 0 view .LVU1864 5569 0014 B0F85810 ldrh r1, [r0, #88] 3535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5570 .loc 1 3535 5 view .LVU1865 5571 0018 4908 lsrs r1, r1, #1 ARM GAS /tmp/ccQxTlMj.s page 217 5572 001a FFF7FEFF bl HAL_UARTEx_RxEventCallback 5573 .LVL492: 3535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5574 .loc 1 3535 5 view .LVU1866 5575 001e F8E7 b .L215 5576 .cfi_endproc 5577 .LFE196: 5579 .section .text.UART_DMAReceiveCplt,"ax",%progbits 5580 .align 1 5581 .syntax unified 5582 .thumb 5583 .thumb_func 5585 UART_DMAReceiveCplt: 5586 .LVL493: 5587 .LFB195: 3458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 5588 .loc 1 3458 1 is_stmt 1 view -0 5589 .cfi_startproc 5590 @ args = 0, pretend = 0, frame = 0 5591 @ frame_needed = 0, uses_anonymous_args = 0 3458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 5592 .loc 1 3458 1 is_stmt 0 view .LVU1868 5593 0000 08B5 push {r3, lr} 5594 .LCFI27: 5595 .cfi_def_cfa_offset 8 5596 .cfi_offset 3, -8 5597 .cfi_offset 14, -4 5598 0002 0346 mov r3, r0 3459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5599 .loc 1 3459 3 is_stmt 1 view .LVU1869 3459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5600 .loc 1 3459 23 is_stmt 0 view .LVU1870 5601 0004 806B ldr r0, [r0, #56] 5602 .LVL494: 3462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5603 .loc 1 3462 3 is_stmt 1 view .LVU1871 3462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5604 .loc 1 3462 17 is_stmt 0 view .LVU1872 5605 0006 DB69 ldr r3, [r3, #28] 5606 .LVL495: 3462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5607 .loc 1 3462 6 view .LVU1873 5608 0008 B3F5807F cmp r3, #256 5609 000c 29D0 beq .L221 3464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5610 .loc 1 3464 5 is_stmt 1 view .LVU1874 3464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5611 .loc 1 3464 24 is_stmt 0 view .LVU1875 5612 000e 0023 movs r3, #0 5613 0010 A0F85A30 strh r3, [r0, #90] @ movhi 5614 .L222: 3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5615 .loc 1 3467 5 is_stmt 1 discriminator 1 view .LVU1876 5616 .LBB680: 3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5617 .loc 1 3467 5 discriminator 1 view .LVU1877 3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS /tmp/ccQxTlMj.s page 218 5618 .loc 1 3467 5 discriminator 1 view .LVU1878 3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5619 .loc 1 3467 5 discriminator 1 view .LVU1879 5620 0014 0268 ldr r2, [r0] 5621 .LVL496: 5622 .LBB681: 5623 .LBI681: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5624 .loc 2 1068 31 view .LVU1880 5625 .LBB682: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5626 .loc 2 1070 5 view .LVU1881 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5627 .loc 2 1072 4 view .LVU1882 5628 .syntax unified 5629 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5630 0016 52E8003F ldrex r3, [r2] 5631 @ 0 "" 2 5632 .LVL497: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5633 .loc 2 1073 4 view .LVU1883 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5634 .loc 2 1073 4 is_stmt 0 view .LVU1884 5635 .thumb 5636 .syntax unified 5637 .LBE682: 5638 .LBE681: 3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5639 .loc 1 3467 5 discriminator 1 view .LVU1885 5640 001a 23F48073 bic r3, r3, #256 5641 .LVL498: 3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5642 .loc 1 3467 5 is_stmt 1 discriminator 1 view .LVU1886 5643 .LBB683: 5644 .LBI683: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5645 .loc 2 1119 31 view .LVU1887 5646 .LBB684: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5647 .loc 2 1121 4 view .LVU1888 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5648 .loc 2 1123 4 view .LVU1889 5649 .syntax unified 5650 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5651 001e 42E80031 strex r1, r3, [r2] 5652 @ 0 "" 2 5653 .LVL499: 5654 .loc 2 1124 4 view .LVU1890 5655 .loc 2 1124 4 is_stmt 0 view .LVU1891 5656 .thumb 5657 .syntax unified 5658 .LBE684: 5659 .LBE683: 3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5660 .loc 1 3467 5 discriminator 1 view .LVU1892 5661 0022 0029 cmp r1, #0 5662 0024 F6D1 bne .L222 ARM GAS /tmp/ccQxTlMj.s page 219 5663 .LVL500: 5664 .L223: 3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5665 .loc 1 3467 5 discriminator 1 view .LVU1893 5666 .LBE680: 3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 5667 .loc 1 3467 5 is_stmt 1 discriminator 2 view .LVU1894 3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5668 .loc 1 3468 5 discriminator 1 view .LVU1895 5669 .LBB685: 3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5670 .loc 1 3468 5 discriminator 1 view .LVU1896 3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5671 .loc 1 3468 5 discriminator 1 view .LVU1897 3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5672 .loc 1 3468 5 discriminator 1 view .LVU1898 5673 0026 0268 ldr r2, [r0] 5674 .LVL501: 5675 .LBB686: 5676 .LBI686: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5677 .loc 2 1068 31 view .LVU1899 5678 .LBB687: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5679 .loc 2 1070 5 view .LVU1900 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5680 .loc 2 1072 4 view .LVU1901 5681 0028 02F10803 add r3, r2, #8 5682 .LVL502: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5683 .loc 2 1072 4 is_stmt 0 view .LVU1902 5684 .syntax unified 5685 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5686 002c 53E8003F ldrex r3, [r3] 5687 @ 0 "" 2 5688 .LVL503: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5689 .loc 2 1073 4 is_stmt 1 view .LVU1903 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5690 .loc 2 1073 4 is_stmt 0 view .LVU1904 5691 .thumb 5692 .syntax unified 5693 .LBE687: 5694 .LBE686: 3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5695 .loc 1 3468 5 discriminator 1 view .LVU1905 5696 0030 23F00103 bic r3, r3, #1 5697 .LVL504: 3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5698 .loc 1 3468 5 is_stmt 1 discriminator 1 view .LVU1906 5699 .LBB688: 5700 .LBI688: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5701 .loc 2 1119 31 view .LVU1907 5702 .LBB689: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5703 .loc 2 1121 4 view .LVU1908 ARM GAS /tmp/ccQxTlMj.s page 220 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5704 .loc 2 1123 4 view .LVU1909 5705 0034 0832 adds r2, r2, #8 5706 .LVL505: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5707 .loc 2 1123 4 is_stmt 0 view .LVU1910 5708 .syntax unified 5709 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5710 0036 42E80031 strex r1, r3, [r2] 5711 @ 0 "" 2 5712 .LVL506: 5713 .loc 2 1124 4 is_stmt 1 view .LVU1911 5714 .loc 2 1124 4 is_stmt 0 view .LVU1912 5715 .thumb 5716 .syntax unified 5717 .LBE689: 5718 .LBE688: 3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5719 .loc 1 3468 5 discriminator 1 view .LVU1913 5720 003a 0029 cmp r1, #0 5721 003c F3D1 bne .L223 5722 .LVL507: 5723 .L224: 3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5724 .loc 1 3468 5 discriminator 1 view .LVU1914 5725 .LBE685: 3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5726 .loc 1 3468 5 is_stmt 1 discriminator 2 view .LVU1915 3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5727 .loc 1 3472 5 discriminator 1 view .LVU1916 5728 .LBB690: 3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5729 .loc 1 3472 5 discriminator 1 view .LVU1917 3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5730 .loc 1 3472 5 discriminator 1 view .LVU1918 3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5731 .loc 1 3472 5 discriminator 1 view .LVU1919 5732 003e 0268 ldr r2, [r0] 5733 .LVL508: 5734 .LBB691: 5735 .LBI691: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5736 .loc 2 1068 31 view .LVU1920 5737 .LBB692: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5738 .loc 2 1070 5 view .LVU1921 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5739 .loc 2 1072 4 view .LVU1922 5740 0040 02F10803 add r3, r2, #8 5741 .LVL509: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5742 .loc 2 1072 4 is_stmt 0 view .LVU1923 5743 .syntax unified 5744 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5745 0044 53E8003F ldrex r3, [r3] 5746 @ 0 "" 2 5747 .LVL510: ARM GAS /tmp/ccQxTlMj.s page 221 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5748 .loc 2 1073 4 is_stmt 1 view .LVU1924 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5749 .loc 2 1073 4 is_stmt 0 view .LVU1925 5750 .thumb 5751 .syntax unified 5752 .LBE692: 5753 .LBE691: 3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5754 .loc 1 3472 5 discriminator 1 view .LVU1926 5755 0048 23F04003 bic r3, r3, #64 5756 .LVL511: 3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5757 .loc 1 3472 5 is_stmt 1 discriminator 1 view .LVU1927 5758 .LBB693: 5759 .LBI693: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5760 .loc 2 1119 31 view .LVU1928 5761 .LBB694: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5762 .loc 2 1121 4 view .LVU1929 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5763 .loc 2 1123 4 view .LVU1930 5764 004c 0832 adds r2, r2, #8 5765 .LVL512: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5766 .loc 2 1123 4 is_stmt 0 view .LVU1931 5767 .syntax unified 5768 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5769 004e 42E80031 strex r1, r3, [r2] 5770 @ 0 "" 2 5771 .LVL513: 5772 .loc 2 1124 4 is_stmt 1 view .LVU1932 5773 .loc 2 1124 4 is_stmt 0 view .LVU1933 5774 .thumb 5775 .syntax unified 5776 .LBE694: 5777 .LBE693: 3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5778 .loc 1 3472 5 discriminator 1 view .LVU1934 5779 0052 0029 cmp r1, #0 5780 0054 F3D1 bne .L224 5781 .LBE690: 3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5782 .loc 1 3472 5 is_stmt 1 discriminator 2 view .LVU1935 3475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5783 .loc 1 3475 5 view .LVU1936 3475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5784 .loc 1 3475 20 is_stmt 0 view .LVU1937 5785 0056 2023 movs r3, #32 5786 .LVL514: 3475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5787 .loc 1 3475 20 view .LVU1938 5788 0058 C0F88030 str r3, [r0, #128] 3478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5789 .loc 1 3478 5 is_stmt 1 view .LVU1939 3478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 222 5790 .loc 1 3478 14 is_stmt 0 view .LVU1940 5791 005c 036E ldr r3, [r0, #96] 3478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5792 .loc 1 3478 8 view .LVU1941 5793 005e 012B cmp r3, #1 5794 0060 07D0 beq .L225 5795 .LVL515: 5796 .L221: 3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5797 .loc 1 3480 7 is_stmt 1 discriminator 2 view .LVU1942 3486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5798 .loc 1 3486 3 view .LVU1943 3486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5799 .loc 1 3486 22 is_stmt 0 view .LVU1944 5800 0062 0023 movs r3, #0 5801 0064 4366 str r3, [r0, #100] 3490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5802 .loc 1 3490 3 is_stmt 1 view .LVU1945 3490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5803 .loc 1 3490 12 is_stmt 0 view .LVU1946 5804 0066 036E ldr r3, [r0, #96] 3490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5805 .loc 1 3490 6 view .LVU1947 5806 0068 012B cmp r3, #1 5807 006a 0CD0 beq .L229 3508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5808 .loc 1 3508 5 is_stmt 1 view .LVU1948 5809 006c FFF7FEFF bl HAL_UART_RxCpltCallback 5810 .LVL516: 5811 .L220: 3511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5812 .loc 1 3511 1 is_stmt 0 view .LVU1949 5813 0070 08BD pop {r3, pc} 5814 .LVL517: 5815 .L225: 3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5816 .loc 1 3480 7 is_stmt 1 discriminator 1 view .LVU1950 5817 .LBB695: 3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5818 .loc 1 3480 7 discriminator 1 view .LVU1951 3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5819 .loc 1 3480 7 discriminator 1 view .LVU1952 3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5820 .loc 1 3480 7 discriminator 1 view .LVU1953 5821 0072 0268 ldr r2, [r0] 5822 .LVL518: 5823 .LBB696: 5824 .LBI696: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5825 .loc 2 1068 31 view .LVU1954 5826 .LBB697: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 5827 .loc 2 1070 5 view .LVU1955 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5828 .loc 2 1072 4 view .LVU1956 5829 .syntax unified 5830 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 ARM GAS /tmp/ccQxTlMj.s page 223 5831 0074 52E8003F ldrex r3, [r2] 5832 @ 0 "" 2 5833 .LVL519: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5834 .loc 2 1073 4 view .LVU1957 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 5835 .loc 2 1073 4 is_stmt 0 view .LVU1958 5836 .thumb 5837 .syntax unified 5838 .LBE697: 5839 .LBE696: 3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5840 .loc 1 3480 7 discriminator 1 view .LVU1959 5841 0078 23F01003 bic r3, r3, #16 5842 .LVL520: 3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5843 .loc 1 3480 7 is_stmt 1 discriminator 1 view .LVU1960 5844 .LBB698: 5845 .LBI698: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 5846 .loc 2 1119 31 view .LVU1961 5847 .LBB699: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 5848 .loc 2 1121 4 view .LVU1962 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 5849 .loc 2 1123 4 view .LVU1963 5850 .syntax unified 5851 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5852 007c 42E80031 strex r1, r3, [r2] 5853 @ 0 "" 2 5854 .LVL521: 5855 .loc 2 1124 4 view .LVU1964 5856 .loc 2 1124 4 is_stmt 0 view .LVU1965 5857 .thumb 5858 .syntax unified 5859 .LBE699: 5860 .LBE698: 3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5861 .loc 1 3480 7 discriminator 1 view .LVU1966 5862 0080 0029 cmp r1, #0 5863 0082 F6D1 bne .L225 5864 0084 EDE7 b .L221 5865 .LVL522: 5866 .L229: 3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5867 .loc 1 3480 7 discriminator 1 view .LVU1967 5868 .LBE695: 3497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5869 .loc 1 3497 5 is_stmt 1 view .LVU1968 5870 0086 B0F85810 ldrh r1, [r0, #88] 5871 008a FFF7FEFF bl HAL_UARTEx_RxEventCallback 5872 .LVL523: 3497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 5873 .loc 1 3497 5 is_stmt 0 view .LVU1969 5874 008e EFE7 b .L220 5875 .cfi_endproc 5876 .LFE195: ARM GAS /tmp/ccQxTlMj.s page 224 5878 .section .text.HAL_UARTEx_WakeupCallback,"ax",%progbits 5879 .align 1 5880 .weak HAL_UARTEx_WakeupCallback 5881 .syntax unified 5882 .thumb 5883 .thumb_func 5885 HAL_UARTEx_WakeupCallback: 5886 .LVL524: 5887 .LFB173: 2574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 5888 .loc 1 2574 1 is_stmt 1 view -0 5889 .cfi_startproc 5890 @ args = 0, pretend = 0, frame = 0 5891 @ frame_needed = 0, uses_anonymous_args = 0 5892 @ link register save eliminated. 2576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5893 .loc 1 2576 3 view .LVU1971 2581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5894 .loc 1 2581 1 is_stmt 0 view .LVU1972 5895 0000 7047 bx lr 5896 .cfi_endproc 5897 .LFE173: 5899 .section .text.HAL_UART_IRQHandler,"ax",%progbits 5900 .align 1 5901 .global HAL_UART_IRQHandler 5902 .syntax unified 5903 .thumb 5904 .thumb_func 5906 HAL_UART_IRQHandler: 5907 .LVL525: 5908 .LFB163: 2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5909 .loc 1 2129 1 is_stmt 1 view -0 5910 .cfi_startproc 5911 @ args = 0, pretend = 0, frame = 0 5912 @ frame_needed = 0, uses_anonymous_args = 0 2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 5913 .loc 1 2129 1 is_stmt 0 view .LVU1974 5914 0000 70B5 push {r4, r5, r6, lr} 5915 .LCFI28: 5916 .cfi_def_cfa_offset 16 5917 .cfi_offset 4, -16 5918 .cfi_offset 5, -12 5919 .cfi_offset 6, -8 5920 .cfi_offset 14, -4 5921 0002 0446 mov r4, r0 2130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5922 .loc 1 2130 3 is_stmt 1 view .LVU1975 2130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5923 .loc 1 2130 25 is_stmt 0 view .LVU1976 5924 0004 0268 ldr r2, [r0] 2130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 5925 .loc 1 2130 12 view .LVU1977 5926 0006 D369 ldr r3, [r2, #28] 5927 .LVL526: 2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 5928 .loc 1 2131 3 is_stmt 1 view .LVU1978 ARM GAS /tmp/ccQxTlMj.s page 225 2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 5929 .loc 1 2131 12 is_stmt 0 view .LVU1979 5930 0008 1168 ldr r1, [r2] 5931 .LVL527: 2132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5932 .loc 1 2132 3 is_stmt 1 view .LVU1980 2132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5933 .loc 1 2132 12 is_stmt 0 view .LVU1981 5934 000a 9068 ldr r0, [r2, #8] 5935 .LVL528: 2134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t errorcode; 5936 .loc 1 2134 3 is_stmt 1 view .LVU1982 2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 5937 .loc 1 2135 3 view .LVU1983 2138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (errorflags == 0U) 5938 .loc 1 2138 3 view .LVU1984 2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5939 .loc 1 2139 3 view .LVU1985 2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5940 .loc 1 2139 6 is_stmt 0 view .LVU1986 5941 000c 40F60F0C movw ip, #2063 5942 0010 13EA0C0F tst r3, ip 5943 0014 0AD1 bne .L232 2142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5944 .loc 1 2142 5 is_stmt 1 view .LVU1987 2142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 5945 .loc 1 2142 8 is_stmt 0 view .LVU1988 5946 0016 13F0200F tst r3, #32 5947 001a 0DD0 beq .L233 2143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5948 .loc 1 2143 9 view .LVU1989 5949 001c 11F0200F tst r1, #32 5950 0020 0AD0 beq .L233 2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5951 .loc 1 2145 7 is_stmt 1 view .LVU1990 2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5952 .loc 1 2145 16 is_stmt 0 view .LVU1991 5953 0022 A36E ldr r3, [r4, #104] 5954 .LVL529: 2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5955 .loc 1 2145 10 view .LVU1992 5956 0024 0BB3 cbz r3, .L231 2147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5957 .loc 1 2147 9 is_stmt 1 view .LVU1993 5958 0026 2046 mov r0, r4 5959 .LVL530: 2147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5960 .loc 1 2147 9 is_stmt 0 view .LVU1994 5961 0028 9847 blx r3 5962 .LVL531: 2149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 5963 .loc 1 2149 7 is_stmt 1 view .LVU1995 5964 002a 1EE0 b .L231 5965 .LVL532: 5966 .L232: 2155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 5967 .loc 1 2155 7 is_stmt 0 view .LVU1996 ARM GAS /tmp/ccQxTlMj.s page 226 5968 002c 10F00105 ands r5, r0, #1 5969 0030 1CD1 bne .L236 2156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5970 .loc 1 2156 11 view .LVU1997 5971 0032 AB4E ldr r6, .L270 5972 0034 3142 tst r1, r6 5973 0036 19D1 bne .L236 5974 .L233: 2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5975 .loc 1 2292 3 is_stmt 1 view .LVU1998 2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5976 .loc 1 2292 13 is_stmt 0 view .LVU1999 5977 0038 256E ldr r5, [r4, #96] 2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U) 5978 .loc 1 2292 6 view .LVU2000 5979 003a 012D cmp r5, #1 5980 003c 00F0A480 beq .L266 5981 .L250: 2390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5982 .loc 1 2390 3 is_stmt 1 view .LVU2001 2390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5983 .loc 1 2390 6 is_stmt 0 view .LVU2002 5984 0040 13F4801F tst r3, #1048576 5985 0044 03D0 beq .L262 2390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5986 .loc 1 2390 42 discriminator 1 view .LVU2003 5987 0046 10F4800F tst r0, #4194304 5988 004a 40F03781 bne .L267 5989 .L262: 2410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 5990 .loc 1 2410 3 is_stmt 1 view .LVU2004 2410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U)) 5991 .loc 1 2410 6 is_stmt 0 view .LVU2005 5992 004e 13F0800F tst r3, #128 5993 0052 03D0 beq .L263 2411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5994 .loc 1 2411 7 view .LVU2006 5995 0054 11F0800F tst r1, #128 5996 0058 40F03781 bne .L268 5997 .L263: 2421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5998 .loc 1 2421 3 is_stmt 1 view .LVU2007 2421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 5999 .loc 1 2421 6 is_stmt 0 view .LVU2008 6000 005c 13F0400F tst r3, #64 6001 0060 03D0 beq .L231 2421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6002 .loc 1 2421 41 discriminator 1 view .LVU2009 6003 0062 11F0400F tst r1, #64 6004 0066 40F03781 bne .L269 6005 .LVL533: 6006 .L231: 2427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6007 .loc 1 2427 1 view .LVU2010 6008 006a 70BD pop {r4, r5, r6, pc} 6009 .LVL534: 6010 .L236: ARM GAS /tmp/ccQxTlMj.s page 227 2159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6011 .loc 1 2159 5 is_stmt 1 view .LVU2011 2159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6012 .loc 1 2159 8 is_stmt 0 view .LVU2012 6013 006c 13F0010F tst r3, #1 6014 0070 09D0 beq .L237 2159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6015 .loc 1 2159 43 discriminator 1 view .LVU2013 6016 0072 11F4807F tst r1, #256 6017 0076 06D0 beq .L237 2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6018 .loc 1 2161 7 is_stmt 1 view .LVU2014 6019 0078 0120 movs r0, #1 6020 .LVL535: 2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6021 .loc 1 2161 7 is_stmt 0 view .LVU2015 6022 007a 1062 str r0, [r2, #32] 2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6023 .loc 1 2163 7 is_stmt 1 view .LVU2016 2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6024 .loc 1 2163 12 is_stmt 0 view .LVU2017 6025 007c D4F88420 ldr r2, [r4, #132] 2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6026 .loc 1 2163 24 view .LVU2018 6027 0080 0243 orrs r2, r2, r0 6028 0082 C4F88420 str r2, [r4, #132] 6029 .L237: 2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6030 .loc 1 2167 5 is_stmt 1 view .LVU2019 2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6031 .loc 1 2167 8 is_stmt 0 view .LVU2020 6032 0086 13F0020F tst r3, #2 6033 008a 09D0 beq .L238 2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6034 .loc 1 2167 43 discriminator 1 view .LVU2021 6035 008c 45B1 cbz r5, .L238 2169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6036 .loc 1 2169 7 is_stmt 1 view .LVU2022 6037 008e 2268 ldr r2, [r4] 6038 0090 0220 movs r0, #2 6039 0092 1062 str r0, [r2, #32] 2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6040 .loc 1 2171 7 view .LVU2023 2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6041 .loc 1 2171 12 is_stmt 0 view .LVU2024 6042 0094 D4F88420 ldr r2, [r4, #132] 2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6043 .loc 1 2171 24 view .LVU2025 6044 0098 42F00402 orr r2, r2, #4 6045 009c C4F88420 str r2, [r4, #132] 6046 .L238: 2175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6047 .loc 1 2175 5 is_stmt 1 view .LVU2026 2175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6048 .loc 1 2175 8 is_stmt 0 view .LVU2027 6049 00a0 13F0040F tst r3, #4 6050 00a4 09D0 beq .L239 ARM GAS /tmp/ccQxTlMj.s page 228 2175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6051 .loc 1 2175 43 discriminator 1 view .LVU2028 6052 00a6 45B1 cbz r5, .L239 2177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6053 .loc 1 2177 7 is_stmt 1 view .LVU2029 6054 00a8 2268 ldr r2, [r4] 6055 00aa 0420 movs r0, #4 6056 00ac 1062 str r0, [r2, #32] 2179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6057 .loc 1 2179 7 view .LVU2030 2179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6058 .loc 1 2179 12 is_stmt 0 view .LVU2031 6059 00ae D4F88420 ldr r2, [r4, #132] 2179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6060 .loc 1 2179 24 view .LVU2032 6061 00b2 42F00202 orr r2, r2, #2 6062 00b6 C4F88420 str r2, [r4, #132] 6063 .L239: 2183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 6064 .loc 1 2183 5 is_stmt 1 view .LVU2033 2183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) || 6065 .loc 1 2183 8 is_stmt 0 view .LVU2034 6066 00ba 13F0080F tst r3, #8 6067 00be 0BD0 beq .L240 2184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 6068 .loc 1 2184 9 view .LVU2035 6069 00c0 11F0200F tst r1, #32 6070 00c4 00D1 bne .L241 2184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U))) 6071 .loc 1 2184 49 discriminator 1 view .LVU2036 6072 00c6 3DB1 cbz r5, .L240 6073 .L241: 2187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6074 .loc 1 2187 7 is_stmt 1 view .LVU2037 6075 00c8 2268 ldr r2, [r4] 6076 00ca 0820 movs r0, #8 6077 00cc 1062 str r0, [r2, #32] 2189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6078 .loc 1 2189 7 view .LVU2038 2189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6079 .loc 1 2189 12 is_stmt 0 view .LVU2039 6080 00ce D4F88420 ldr r2, [r4, #132] 2189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6081 .loc 1 2189 24 view .LVU2040 6082 00d2 0243 orrs r2, r2, r0 6083 00d4 C4F88420 str r2, [r4, #132] 6084 .L240: 2193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6085 .loc 1 2193 5 is_stmt 1 view .LVU2041 2193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6086 .loc 1 2193 8 is_stmt 0 view .LVU2042 6087 00d8 13F4006F tst r3, #2048 6088 00dc 0CD0 beq .L242 2193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6089 .loc 1 2193 45 discriminator 1 view .LVU2043 6090 00de 11F0806F tst r1, #67108864 6091 00e2 09D0 beq .L242 ARM GAS /tmp/ccQxTlMj.s page 229 2195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6092 .loc 1 2195 7 is_stmt 1 view .LVU2044 6093 00e4 2268 ldr r2, [r4] 6094 00e6 4FF40060 mov r0, #2048 6095 00ea 1062 str r0, [r2, #32] 2197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6096 .loc 1 2197 7 view .LVU2045 2197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6097 .loc 1 2197 12 is_stmt 0 view .LVU2046 6098 00ec D4F88420 ldr r2, [r4, #132] 2197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6099 .loc 1 2197 24 view .LVU2047 6100 00f0 42F02002 orr r2, r2, #32 6101 00f4 C4F88420 str r2, [r4, #132] 6102 .L242: 2201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6103 .loc 1 2201 5 is_stmt 1 view .LVU2048 2201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6104 .loc 1 2201 14 is_stmt 0 view .LVU2049 6105 00f8 D4F88420 ldr r2, [r4, #132] 2201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6106 .loc 1 2201 8 view .LVU2050 6107 00fc 002A cmp r2, #0 6108 00fe B4D0 beq .L231 2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 6109 .loc 1 2204 7 is_stmt 1 view .LVU2051 2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U)) 6110 .loc 1 2204 10 is_stmt 0 view .LVU2052 6111 0100 13F0200F tst r3, #32 6112 0104 06D0 beq .L244 2205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6113 .loc 1 2205 11 view .LVU2053 6114 0106 11F0200F tst r1, #32 6115 010a 03D0 beq .L244 2207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6116 .loc 1 2207 9 is_stmt 1 view .LVU2054 2207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6117 .loc 1 2207 18 is_stmt 0 view .LVU2055 6118 010c A36E ldr r3, [r4, #104] 6119 .LVL536: 2207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6120 .loc 1 2207 12 view .LVU2056 6121 010e 0BB1 cbz r3, .L244 2209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6122 .loc 1 2209 11 is_stmt 1 view .LVU2057 6123 0110 2046 mov r0, r4 6124 0112 9847 blx r3 6125 .LVL537: 6126 .L244: 2218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 6127 .loc 1 2218 7 view .LVU2058 2218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 6128 .loc 1 2218 17 is_stmt 0 view .LVU2059 6129 0114 D4F88420 ldr r2, [r4, #132] 6130 .LVL538: 2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 6131 .loc 1 2219 7 is_stmt 1 view .LVU2060 ARM GAS /tmp/ccQxTlMj.s page 230 2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 6132 .loc 1 2219 12 is_stmt 0 view .LVU2061 6133 0118 2368 ldr r3, [r4] 6134 011a 9B68 ldr r3, [r3, #8] 2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 6135 .loc 1 2219 10 view .LVU2062 6136 011c 13F0400F tst r3, #64 6137 0120 02D1 bne .L245 2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 6138 .loc 1 2219 66 discriminator 1 view .LVU2063 6139 0122 12F0280F tst r2, #40 6140 0126 28D0 beq .L246 6141 .L245: 2225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6142 .loc 1 2225 9 is_stmt 1 view .LVU2064 6143 0128 2046 mov r0, r4 6144 012a FFF7FEFF bl UART_EndRxTransfer 6145 .LVL539: 2228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6146 .loc 1 2228 9 view .LVU2065 2228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6147 .loc 1 2228 13 is_stmt 0 view .LVU2066 6148 012e 2368 ldr r3, [r4] 6149 0130 9B68 ldr r3, [r3, #8] 2228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6150 .loc 1 2228 12 view .LVU2067 6151 0132 13F0400F tst r3, #64 6152 0136 1CD0 beq .L247 6153 .L248: 2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6154 .loc 1 2231 11 is_stmt 1 discriminator 1 view .LVU2068 6155 .LBB700: 2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6156 .loc 1 2231 11 discriminator 1 view .LVU2069 2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6157 .loc 1 2231 11 discriminator 1 view .LVU2070 2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6158 .loc 1 2231 11 discriminator 1 view .LVU2071 6159 0138 2268 ldr r2, [r4] 6160 .LVL540: 6161 .LBB701: 6162 .LBI701: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6163 .loc 2 1068 31 view .LVU2072 6164 .LBB702: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6165 .loc 2 1070 5 view .LVU2073 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6166 .loc 2 1072 4 view .LVU2074 6167 013a 02F10803 add r3, r2, #8 6168 .LVL541: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6169 .loc 2 1072 4 is_stmt 0 view .LVU2075 6170 .syntax unified 6171 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6172 013e 53E8003F ldrex r3, [r3] 6173 @ 0 "" 2 ARM GAS /tmp/ccQxTlMj.s page 231 6174 .LVL542: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6175 .loc 2 1073 4 is_stmt 1 view .LVU2076 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6176 .loc 2 1073 4 is_stmt 0 view .LVU2077 6177 .thumb 6178 .syntax unified 6179 .LBE702: 6180 .LBE701: 2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6181 .loc 1 2231 11 discriminator 1 view .LVU2078 6182 0142 23F04003 bic r3, r3, #64 6183 .LVL543: 2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6184 .loc 1 2231 11 is_stmt 1 discriminator 1 view .LVU2079 6185 .LBB703: 6186 .LBI703: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6187 .loc 2 1119 31 view .LVU2080 6188 .LBB704: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6189 .loc 2 1121 4 view .LVU2081 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6190 .loc 2 1123 4 view .LVU2082 6191 0146 0832 adds r2, r2, #8 6192 .LVL544: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6193 .loc 2 1123 4 is_stmt 0 view .LVU2083 6194 .syntax unified 6195 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6196 0148 42E80031 strex r1, r3, [r2] 6197 @ 0 "" 2 6198 .LVL545: 6199 .loc 2 1124 4 is_stmt 1 view .LVU2084 6200 .loc 2 1124 4 is_stmt 0 view .LVU2085 6201 .thumb 6202 .syntax unified 6203 .LBE704: 6204 .LBE703: 2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6205 .loc 1 2231 11 discriminator 1 view .LVU2086 6206 014c 0029 cmp r1, #0 6207 014e F3D1 bne .L248 6208 .LBE700: 2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6209 .loc 1 2231 11 is_stmt 1 discriminator 2 view .LVU2087 2234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6210 .loc 1 2234 11 view .LVU2088 2234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6211 .loc 1 2234 20 is_stmt 0 view .LVU2089 6212 0150 636F ldr r3, [r4, #116] 6213 .LVL546: 2234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6214 .loc 1 2234 14 view .LVU2090 6215 0152 53B1 cbz r3, .L249 2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6216 .loc 1 2238 13 is_stmt 1 view .LVU2091 ARM GAS /tmp/ccQxTlMj.s page 232 2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6217 .loc 1 2238 46 is_stmt 0 view .LVU2092 6218 0154 634A ldr r2, .L270+4 6219 0156 1A65 str r2, [r3, #80] 2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6220 .loc 1 2241 13 is_stmt 1 view .LVU2093 2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6221 .loc 1 2241 17 is_stmt 0 view .LVU2094 6222 0158 606F ldr r0, [r4, #116] 6223 015a FFF7FEFF bl HAL_DMA_Abort_IT 6224 .LVL547: 2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6225 .loc 1 2241 16 discriminator 1 view .LVU2095 6226 015e 0028 cmp r0, #0 6227 0160 83D0 beq .L231 2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6228 .loc 1 2244 15 is_stmt 1 view .LVU2096 2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6229 .loc 1 2244 20 is_stmt 0 view .LVU2097 6230 0162 606F ldr r0, [r4, #116] 2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6231 .loc 1 2244 28 view .LVU2098 6232 0164 036D ldr r3, [r0, #80] 2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6233 .loc 1 2244 15 view .LVU2099 6234 0166 9847 blx r3 6235 .LVL548: 6236 0168 7FE7 b .L231 6237 .L249: 2255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6238 .loc 1 2255 13 is_stmt 1 view .LVU2100 6239 016a 2046 mov r0, r4 6240 016c FFF7FEFF bl HAL_UART_ErrorCallback 6241 .LVL549: 6242 0170 7BE7 b .L231 6243 .LVL550: 6244 .L247: 2268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6245 .loc 1 2268 11 view .LVU2101 6246 0172 2046 mov r0, r4 6247 0174 FFF7FEFF bl HAL_UART_ErrorCallback 6248 .LVL551: 6249 0178 77E7 b .L231 6250 .LVL552: 6251 .L246: 2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6252 .loc 1 2281 9 view .LVU2102 6253 017a 2046 mov r0, r4 6254 017c FFF7FEFF bl HAL_UART_ErrorCallback 6255 .LVL553: 2283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6256 .loc 1 2283 9 view .LVU2103 2283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6257 .loc 1 2283 26 is_stmt 0 view .LVU2104 6258 0180 0023 movs r3, #0 6259 0182 C4F88430 str r3, [r4, #132] 2286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 233 6260 .loc 1 2286 5 is_stmt 1 view .LVU2105 6261 0186 70E7 b .L231 6262 .LVL554: 6263 .L266: 2293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U)) 6264 .loc 1 2293 7 is_stmt 0 view .LVU2106 6265 0188 13F0100F tst r3, #16 6266 018c 3FF458AF beq .L250 2294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6267 .loc 1 2294 7 view .LVU2107 6268 0190 11F0100F tst r1, #16 6269 0194 3FF454AF beq .L250 2296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6270 .loc 1 2296 5 is_stmt 1 view .LVU2108 6271 0198 1023 movs r3, #16 6272 .LVL555: 2296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6273 .loc 1 2296 5 is_stmt 0 view .LVU2109 6274 019a 1362 str r3, [r2, #32] 2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6275 .loc 1 2299 5 is_stmt 1 view .LVU2110 2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6276 .loc 1 2299 9 is_stmt 0 view .LVU2111 6277 019c 2368 ldr r3, [r4] 6278 019e 9B68 ldr r3, [r3, #8] 2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6279 .loc 1 2299 8 view .LVU2112 6280 01a0 13F0400F tst r3, #64 6281 01a4 50D0 beq .L251 6282 .LBB705: 2305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6283 .loc 1 2305 7 is_stmt 1 view .LVU2113 2305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6284 .loc 1 2305 50 is_stmt 0 view .LVU2114 6285 01a6 626F ldr r2, [r4, #116] 6286 01a8 1368 ldr r3, [r2] 6287 01aa 5B68 ldr r3, [r3, #4] 2305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U) 6288 .loc 1 2305 16 view .LVU2115 6289 01ac 9BB2 uxth r3, r3 6290 .LVL556: 2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 6291 .loc 1 2306 7 is_stmt 1 view .LVU2116 2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize)) 6292 .loc 1 2306 10 is_stmt 0 view .LVU2117 6293 01ae 002B cmp r3, #0 6294 01b0 3FF45BAF beq .L231 2307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6295 .loc 1 2307 43 view .LVU2118 6296 01b4 B4F85810 ldrh r1, [r4, #88] 6297 .LVL557: 2307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6298 .loc 1 2307 11 view .LVU2119 6299 01b8 9942 cmp r1, r3 6300 01ba 7FF656AF bls .L231 2310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6301 .loc 1 2310 9 is_stmt 1 view .LVU2120 ARM GAS /tmp/ccQxTlMj.s page 234 2310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6302 .loc 1 2310 28 is_stmt 0 view .LVU2121 6303 01be A4F85A30 strh r3, [r4, #90] @ movhi 2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6304 .loc 1 2313 9 is_stmt 1 view .LVU2122 2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6305 .loc 1 2313 32 is_stmt 0 view .LVU2123 6306 01c2 D369 ldr r3, [r2, #28] 6307 .LVL558: 2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6308 .loc 1 2313 12 view .LVU2124 6309 01c4 B3F5807F cmp r3, #256 6310 01c8 31D0 beq .L253 6311 .L254: 2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6312 .loc 1 2316 11 is_stmt 1 discriminator 1 view .LVU2125 6313 .LBB706: 2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6314 .loc 1 2316 11 discriminator 1 view .LVU2126 2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6315 .loc 1 2316 11 discriminator 1 view .LVU2127 2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6316 .loc 1 2316 11 discriminator 1 view .LVU2128 6317 01ca 2268 ldr r2, [r4] 6318 .LVL559: 6319 .LBB707: 6320 .LBI707: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6321 .loc 2 1068 31 view .LVU2129 6322 .LBB708: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6323 .loc 2 1070 5 view .LVU2130 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6324 .loc 2 1072 4 view .LVU2131 6325 .syntax unified 6326 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6327 01cc 52E8003F ldrex r3, [r2] 6328 @ 0 "" 2 6329 .LVL560: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6330 .loc 2 1073 4 view .LVU2132 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6331 .loc 2 1073 4 is_stmt 0 view .LVU2133 6332 .thumb 6333 .syntax unified 6334 .LBE708: 6335 .LBE707: 2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6336 .loc 1 2316 11 discriminator 1 view .LVU2134 6337 01d0 23F48073 bic r3, r3, #256 6338 .LVL561: 2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6339 .loc 1 2316 11 is_stmt 1 discriminator 1 view .LVU2135 6340 .LBB709: 6341 .LBI709: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6342 .loc 2 1119 31 view .LVU2136 ARM GAS /tmp/ccQxTlMj.s page 235 6343 .LBB710: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6344 .loc 2 1121 4 view .LVU2137 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6345 .loc 2 1123 4 view .LVU2138 6346 .syntax unified 6347 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6348 01d4 42E80031 strex r1, r3, [r2] 6349 @ 0 "" 2 6350 .LVL562: 6351 .loc 2 1124 4 view .LVU2139 6352 .loc 2 1124 4 is_stmt 0 view .LVU2140 6353 .thumb 6354 .syntax unified 6355 .LBE710: 6356 .LBE709: 2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6357 .loc 1 2316 11 discriminator 1 view .LVU2141 6358 01d8 0029 cmp r1, #0 6359 01da F6D1 bne .L254 6360 .LVL563: 6361 .L255: 2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6362 .loc 1 2316 11 discriminator 1 view .LVU2142 6363 .LBE706: 2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6364 .loc 1 2316 11 is_stmt 1 discriminator 2 view .LVU2143 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6365 .loc 1 2317 11 discriminator 1 view .LVU2144 6366 .LBB711: 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6367 .loc 1 2317 11 discriminator 1 view .LVU2145 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6368 .loc 1 2317 11 discriminator 1 view .LVU2146 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6369 .loc 1 2317 11 discriminator 1 view .LVU2147 6370 01dc 2268 ldr r2, [r4] 6371 .LVL564: 6372 .LBB712: 6373 .LBI712: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6374 .loc 2 1068 31 view .LVU2148 6375 .LBB713: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6376 .loc 2 1070 5 view .LVU2149 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6377 .loc 2 1072 4 view .LVU2150 6378 01de 02F10803 add r3, r2, #8 6379 .LVL565: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6380 .loc 2 1072 4 is_stmt 0 view .LVU2151 6381 .syntax unified 6382 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6383 01e2 53E8003F ldrex r3, [r3] 6384 @ 0 "" 2 6385 .LVL566: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } ARM GAS /tmp/ccQxTlMj.s page 236 6386 .loc 2 1073 4 is_stmt 1 view .LVU2152 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6387 .loc 2 1073 4 is_stmt 0 view .LVU2153 6388 .thumb 6389 .syntax unified 6390 .LBE713: 6391 .LBE712: 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6392 .loc 1 2317 11 discriminator 1 view .LVU2154 6393 01e6 23F00103 bic r3, r3, #1 6394 .LVL567: 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6395 .loc 1 2317 11 is_stmt 1 discriminator 1 view .LVU2155 6396 .LBB714: 6397 .LBI714: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6398 .loc 2 1119 31 view .LVU2156 6399 .LBB715: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6400 .loc 2 1121 4 view .LVU2157 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6401 .loc 2 1123 4 view .LVU2158 6402 01ea 0832 adds r2, r2, #8 6403 .LVL568: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6404 .loc 2 1123 4 is_stmt 0 view .LVU2159 6405 .syntax unified 6406 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6407 01ec 42E80031 strex r1, r3, [r2] 6408 @ 0 "" 2 6409 .LVL569: 6410 .loc 2 1124 4 is_stmt 1 view .LVU2160 6411 .loc 2 1124 4 is_stmt 0 view .LVU2161 6412 .thumb 6413 .syntax unified 6414 .LBE715: 6415 .LBE714: 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6416 .loc 1 2317 11 discriminator 1 view .LVU2162 6417 01f0 0029 cmp r1, #0 6418 01f2 F3D1 bne .L255 6419 .LVL570: 6420 .L256: 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6421 .loc 1 2317 11 discriminator 1 view .LVU2163 6422 .LBE711: 2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6423 .loc 1 2317 11 is_stmt 1 discriminator 2 view .LVU2164 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6424 .loc 1 2321 11 discriminator 1 view .LVU2165 6425 .LBB716: 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6426 .loc 1 2321 11 discriminator 1 view .LVU2166 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6427 .loc 1 2321 11 discriminator 1 view .LVU2167 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6428 .loc 1 2321 11 discriminator 1 view .LVU2168 ARM GAS /tmp/ccQxTlMj.s page 237 6429 01f4 2268 ldr r2, [r4] 6430 .LVL571: 6431 .LBB717: 6432 .LBI717: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6433 .loc 2 1068 31 view .LVU2169 6434 .LBB718: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6435 .loc 2 1070 5 view .LVU2170 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6436 .loc 2 1072 4 view .LVU2171 6437 01f6 02F10803 add r3, r2, #8 6438 .LVL572: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6439 .loc 2 1072 4 is_stmt 0 view .LVU2172 6440 .syntax unified 6441 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6442 01fa 53E8003F ldrex r3, [r3] 6443 @ 0 "" 2 6444 .LVL573: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6445 .loc 2 1073 4 is_stmt 1 view .LVU2173 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6446 .loc 2 1073 4 is_stmt 0 view .LVU2174 6447 .thumb 6448 .syntax unified 6449 .LBE718: 6450 .LBE717: 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6451 .loc 1 2321 11 discriminator 1 view .LVU2175 6452 01fe 23F04003 bic r3, r3, #64 6453 .LVL574: 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6454 .loc 1 2321 11 is_stmt 1 discriminator 1 view .LVU2176 6455 .LBB719: 6456 .LBI719: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6457 .loc 2 1119 31 view .LVU2177 6458 .LBB720: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6459 .loc 2 1121 4 view .LVU2178 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6460 .loc 2 1123 4 view .LVU2179 6461 0202 0832 adds r2, r2, #8 6462 .LVL575: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6463 .loc 2 1123 4 is_stmt 0 view .LVU2180 6464 .syntax unified 6465 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6466 0204 42E80031 strex r1, r3, [r2] 6467 @ 0 "" 2 6468 .LVL576: 6469 .loc 2 1124 4 is_stmt 1 view .LVU2181 6470 .loc 2 1124 4 is_stmt 0 view .LVU2182 6471 .thumb 6472 .syntax unified 6473 .LBE720: ARM GAS /tmp/ccQxTlMj.s page 238 6474 .LBE719: 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6475 .loc 1 2321 11 discriminator 1 view .LVU2183 6476 0208 0029 cmp r1, #0 6477 020a F3D1 bne .L256 6478 .LBE716: 2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6479 .loc 1 2321 11 is_stmt 1 discriminator 2 view .LVU2184 2324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6480 .loc 1 2324 11 view .LVU2185 2324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6481 .loc 1 2324 26 is_stmt 0 view .LVU2186 6482 020c 2023 movs r3, #32 6483 .LVL577: 2324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6484 .loc 1 2324 26 view .LVU2187 6485 020e C4F88030 str r3, [r4, #128] 6486 .LVL578: 2325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6487 .loc 1 2325 11 is_stmt 1 view .LVU2188 2325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6488 .loc 1 2325 32 is_stmt 0 view .LVU2189 6489 0212 0023 movs r3, #0 6490 0214 2366 str r3, [r4, #96] 6491 .L257: 2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6492 .loc 1 2327 11 is_stmt 1 discriminator 1 view .LVU2190 6493 .LBB721: 2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6494 .loc 1 2327 11 discriminator 1 view .LVU2191 2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6495 .loc 1 2327 11 discriminator 1 view .LVU2192 2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6496 .loc 1 2327 11 discriminator 1 view .LVU2193 6497 0216 2268 ldr r2, [r4] 6498 .LVL579: 6499 .LBB722: 6500 .LBI722: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6501 .loc 2 1068 31 view .LVU2194 6502 .LBB723: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6503 .loc 2 1070 5 view .LVU2195 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6504 .loc 2 1072 4 view .LVU2196 6505 .syntax unified 6506 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6507 0218 52E8003F ldrex r3, [r2] 6508 @ 0 "" 2 6509 .LVL580: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6510 .loc 2 1073 4 view .LVU2197 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6511 .loc 2 1073 4 is_stmt 0 view .LVU2198 6512 .thumb 6513 .syntax unified 6514 .LBE723: ARM GAS /tmp/ccQxTlMj.s page 239 6515 .LBE722: 2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6516 .loc 1 2327 11 discriminator 1 view .LVU2199 6517 021c 23F01003 bic r3, r3, #16 6518 .LVL581: 2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6519 .loc 1 2327 11 is_stmt 1 discriminator 1 view .LVU2200 6520 .LBB724: 6521 .LBI724: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6522 .loc 2 1119 31 view .LVU2201 6523 .LBB725: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6524 .loc 2 1121 4 view .LVU2202 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6525 .loc 2 1123 4 view .LVU2203 6526 .syntax unified 6527 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6528 0220 42E80031 strex r1, r3, [r2] 6529 @ 0 "" 2 6530 .LVL582: 6531 .loc 2 1124 4 view .LVU2204 6532 .loc 2 1124 4 is_stmt 0 view .LVU2205 6533 .thumb 6534 .syntax unified 6535 .LBE725: 6536 .LBE724: 2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6537 .loc 1 2327 11 discriminator 1 view .LVU2206 6538 0224 0029 cmp r1, #0 6539 0226 F6D1 bne .L257 6540 .LBE721: 2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6541 .loc 1 2327 11 is_stmt 1 discriminator 2 view .LVU2207 2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6542 .loc 1 2330 11 view .LVU2208 2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6543 .loc 1 2330 17 is_stmt 0 view .LVU2209 6544 0228 606F ldr r0, [r4, #116] 6545 .LVL583: 2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6546 .loc 1 2330 17 view .LVU2210 6547 022a FFF7FEFF bl HAL_DMA_Abort 6548 .LVL584: 6549 .L253: 2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6550 .loc 1 2335 9 is_stmt 1 view .LVU2211 2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6551 .loc 1 2335 28 is_stmt 0 view .LVU2212 6552 022e 0223 movs r3, #2 6553 0230 6366 str r3, [r4, #100] 2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6554 .loc 1 2342 9 is_stmt 1 view .LVU2213 2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6555 .loc 1 2342 49 is_stmt 0 view .LVU2214 6556 0232 B4F85810 ldrh r1, [r4, #88] 2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ ARM GAS /tmp/ccQxTlMj.s page 240 6557 .loc 1 2342 69 view .LVU2215 6558 0236 B4F85A30 ldrh r3, [r4, #90] 6559 023a 9BB2 uxth r3, r3 2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6560 .loc 1 2342 9 view .LVU2216 6561 023c C91A subs r1, r1, r3 6562 023e 89B2 uxth r1, r1 6563 0240 2046 mov r0, r4 6564 0242 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6565 .LVL585: 2345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6566 .loc 1 2345 7 is_stmt 1 view .LVU2217 6567 0246 10E7 b .L231 6568 .LVL586: 6569 .L251: 2345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6570 .loc 1 2345 7 is_stmt 0 view .LVU2218 6571 .LBE705: 6572 .LBB726: 2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6573 .loc 1 2352 7 is_stmt 1 view .LVU2219 2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6574 .loc 1 2352 34 is_stmt 0 view .LVU2220 6575 0248 B4F85810 ldrh r1, [r4, #88] 6576 .LVL587: 2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6577 .loc 1 2352 54 view .LVU2221 6578 024c B4F85A30 ldrh r3, [r4, #90] 6579 0250 9BB2 uxth r3, r3 2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->RxXferCount > 0U) 6580 .loc 1 2352 16 view .LVU2222 6581 0252 C91A subs r1, r1, r3 6582 0254 89B2 uxth r1, r1 6583 .LVL588: 2353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_rx_data > 0U)) 6584 .loc 1 2353 7 is_stmt 1 view .LVU2223 2353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_rx_data > 0U)) 6585 .loc 1 2353 17 is_stmt 0 view .LVU2224 6586 0256 B4F85A30 ldrh r3, [r4, #90] 6587 025a 9BB2 uxth r3, r3 2353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_rx_data > 0U)) 6588 .loc 1 2353 10 view .LVU2225 6589 025c 002B cmp r3, #0 6590 025e 3FF404AF beq .L231 2354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6591 .loc 1 2354 11 view .LVU2226 6592 0262 0029 cmp r1, #0 6593 0264 3FF401AF beq .L231 6594 .LVL589: 6595 .L259: 2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6596 .loc 1 2357 9 is_stmt 1 discriminator 1 view .LVU2227 6597 .LBB727: 2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6598 .loc 1 2357 9 discriminator 1 view .LVU2228 2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6599 .loc 1 2357 9 discriminator 1 view .LVU2229 ARM GAS /tmp/ccQxTlMj.s page 241 2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6600 .loc 1 2357 9 discriminator 1 view .LVU2230 6601 0268 2268 ldr r2, [r4] 6602 .LVL590: 6603 .LBB728: 6604 .LBI728: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6605 .loc 2 1068 31 view .LVU2231 6606 .LBB729: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6607 .loc 2 1070 5 view .LVU2232 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6608 .loc 2 1072 4 view .LVU2233 6609 .syntax unified 6610 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6611 026a 52E8003F ldrex r3, [r2] 6612 @ 0 "" 2 6613 .LVL591: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6614 .loc 2 1073 4 view .LVU2234 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6615 .loc 2 1073 4 is_stmt 0 view .LVU2235 6616 .thumb 6617 .syntax unified 6618 .LBE729: 6619 .LBE728: 2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6620 .loc 1 2357 9 discriminator 1 view .LVU2236 6621 026e 23F49073 bic r3, r3, #288 6622 .LVL592: 2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6623 .loc 1 2357 9 is_stmt 1 discriminator 1 view .LVU2237 6624 .LBB730: 6625 .LBI730: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6626 .loc 2 1119 31 view .LVU2238 6627 .LBB731: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6628 .loc 2 1121 4 view .LVU2239 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6629 .loc 2 1123 4 view .LVU2240 6630 .syntax unified 6631 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6632 0272 42E80030 strex r0, r3, [r2] 6633 @ 0 "" 2 6634 .LVL593: 6635 .loc 2 1124 4 view .LVU2241 6636 .loc 2 1124 4 is_stmt 0 view .LVU2242 6637 .thumb 6638 .syntax unified 6639 .LBE731: 6640 .LBE730: 2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6641 .loc 1 2357 9 discriminator 1 view .LVU2243 6642 0276 0028 cmp r0, #0 6643 0278 F6D1 bne .L259 6644 .LVL594: ARM GAS /tmp/ccQxTlMj.s page 242 6645 .L260: 2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6646 .loc 1 2357 9 discriminator 1 view .LVU2244 6647 .LBE727: 2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6648 .loc 1 2357 9 is_stmt 1 discriminator 2 view .LVU2245 2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6649 .loc 1 2360 9 discriminator 1 view .LVU2246 6650 .LBB732: 2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6651 .loc 1 2360 9 discriminator 1 view .LVU2247 2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6652 .loc 1 2360 9 discriminator 1 view .LVU2248 2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6653 .loc 1 2360 9 discriminator 1 view .LVU2249 6654 027a 2268 ldr r2, [r4] 6655 .LVL595: 6656 .LBB733: 6657 .LBI733: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6658 .loc 2 1068 31 view .LVU2250 6659 .LBB734: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6660 .loc 2 1070 5 view .LVU2251 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6661 .loc 2 1072 4 view .LVU2252 6662 027c 02F10803 add r3, r2, #8 6663 .LVL596: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6664 .loc 2 1072 4 is_stmt 0 view .LVU2253 6665 .syntax unified 6666 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6667 0280 53E8003F ldrex r3, [r3] 6668 @ 0 "" 2 6669 .LVL597: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6670 .loc 2 1073 4 is_stmt 1 view .LVU2254 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6671 .loc 2 1073 4 is_stmt 0 view .LVU2255 6672 .thumb 6673 .syntax unified 6674 .LBE734: 6675 .LBE733: 2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6676 .loc 1 2360 9 discriminator 1 view .LVU2256 6677 0284 23F00103 bic r3, r3, #1 6678 .LVL598: 2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6679 .loc 1 2360 9 is_stmt 1 discriminator 1 view .LVU2257 6680 .LBB735: 6681 .LBI735: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6682 .loc 2 1119 31 view .LVU2258 6683 .LBB736: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6684 .loc 2 1121 4 view .LVU2259 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS /tmp/ccQxTlMj.s page 243 6685 .loc 2 1123 4 view .LVU2260 6686 0288 0832 adds r2, r2, #8 6687 .LVL599: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6688 .loc 2 1123 4 is_stmt 0 view .LVU2261 6689 .syntax unified 6690 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6691 028a 42E80030 strex r0, r3, [r2] 6692 @ 0 "" 2 6693 .LVL600: 6694 .loc 2 1124 4 is_stmt 1 view .LVU2262 6695 .loc 2 1124 4 is_stmt 0 view .LVU2263 6696 .thumb 6697 .syntax unified 6698 .LBE736: 6699 .LBE735: 2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6700 .loc 1 2360 9 discriminator 1 view .LVU2264 6701 028e 0028 cmp r0, #0 6702 0290 F3D1 bne .L260 6703 .LBE732: 2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6704 .loc 1 2360 9 is_stmt 1 discriminator 2 view .LVU2265 2363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6705 .loc 1 2363 9 view .LVU2266 2363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6706 .loc 1 2363 24 is_stmt 0 view .LVU2267 6707 0292 2023 movs r3, #32 6708 .LVL601: 2363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 6709 .loc 1 2363 24 view .LVU2268 6710 0294 C4F88030 str r3, [r4, #128] 2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6711 .loc 1 2364 9 is_stmt 1 view .LVU2269 2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6712 .loc 1 2364 30 is_stmt 0 view .LVU2270 6713 0298 0023 movs r3, #0 6714 029a 2366 str r3, [r4, #96] 2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6715 .loc 1 2367 9 is_stmt 1 view .LVU2271 2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6716 .loc 1 2367 22 is_stmt 0 view .LVU2272 6717 029c A366 str r3, [r4, #104] 6718 .L261: 2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6719 .loc 1 2369 9 is_stmt 1 discriminator 1 view .LVU2273 6720 .LBB737: 2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6721 .loc 1 2369 9 discriminator 1 view .LVU2274 2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6722 .loc 1 2369 9 discriminator 1 view .LVU2275 2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6723 .loc 1 2369 9 discriminator 1 view .LVU2276 6724 029e 2268 ldr r2, [r4] 6725 .LVL602: 6726 .LBB738: 6727 .LBI738: ARM GAS /tmp/ccQxTlMj.s page 244 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6728 .loc 2 1068 31 view .LVU2277 6729 .LBB739: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 6730 .loc 2 1070 5 view .LVU2278 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6731 .loc 2 1072 4 view .LVU2279 6732 .syntax unified 6733 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6734 02a0 52E8003F ldrex r3, [r2] 6735 @ 0 "" 2 6736 .LVL603: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6737 .loc 2 1073 4 view .LVU2280 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 6738 .loc 2 1073 4 is_stmt 0 view .LVU2281 6739 .thumb 6740 .syntax unified 6741 .LBE739: 6742 .LBE738: 2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6743 .loc 1 2369 9 discriminator 1 view .LVU2282 6744 02a4 23F01003 bic r3, r3, #16 6745 .LVL604: 2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6746 .loc 1 2369 9 is_stmt 1 discriminator 1 view .LVU2283 6747 .LBB740: 6748 .LBI740: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 6749 .loc 2 1119 31 view .LVU2284 6750 .LBB741: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 6751 .loc 2 1121 4 view .LVU2285 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 6752 .loc 2 1123 4 view .LVU2286 6753 .syntax unified 6754 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6755 02a8 42E80030 strex r0, r3, [r2] 6756 @ 0 "" 2 6757 .LVL605: 6758 .loc 2 1124 4 view .LVU2287 6759 .loc 2 1124 4 is_stmt 0 view .LVU2288 6760 .thumb 6761 .syntax unified 6762 .LBE741: 6763 .LBE740: 2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6764 .loc 1 2369 9 discriminator 1 view .LVU2289 6765 02ac 0028 cmp r0, #0 6766 02ae F6D1 bne .L261 6767 .LBE737: 2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6768 .loc 1 2369 9 is_stmt 1 discriminator 2 view .LVU2290 2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6769 .loc 1 2373 9 view .LVU2291 2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6770 .loc 1 2373 28 is_stmt 0 view .LVU2292 ARM GAS /tmp/ccQxTlMj.s page 245 6771 02b0 0223 movs r3, #2 6772 .LVL606: 2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6773 .loc 1 2373 28 view .LVU2293 6774 02b2 6366 str r3, [r4, #100] 2380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 6775 .loc 1 2380 9 is_stmt 1 view .LVU2294 6776 02b4 2046 mov r0, r4 6777 02b6 FFF7FEFF bl HAL_UARTEx_RxEventCallback 6778 .LVL607: 2383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6779 .loc 1 2383 7 view .LVU2295 6780 02ba D6E6 b .L231 6781 .LVL608: 6782 .L267: 2383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6783 .loc 1 2383 7 is_stmt 0 view .LVU2296 6784 .LBE726: 2392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6785 .loc 1 2392 5 is_stmt 1 view .LVU2297 6786 02bc 4FF48013 mov r3, #1048576 6787 .LVL609: 2392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6788 .loc 1 2392 5 is_stmt 0 view .LVU2298 6789 02c0 1362 str r3, [r2, #32] 2402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6790 .loc 1 2402 5 is_stmt 1 view .LVU2299 6791 02c2 2046 mov r0, r4 6792 .LVL610: 2402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 6793 .loc 1 2402 5 is_stmt 0 view .LVU2300 6794 02c4 FFF7FEFF bl HAL_UARTEx_WakeupCallback 6795 .LVL611: 2404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6796 .loc 1 2404 5 is_stmt 1 view .LVU2301 6797 02c8 CFE6 b .L231 6798 .LVL612: 6799 .L268: 2413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6800 .loc 1 2413 5 view .LVU2302 2413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6801 .loc 1 2413 14 is_stmt 0 view .LVU2303 6802 02ca E36E ldr r3, [r4, #108] 6803 .LVL613: 2413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6804 .loc 1 2413 8 view .LVU2304 6805 02cc 002B cmp r3, #0 6806 02ce 3FF4CCAE beq .L231 2415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6807 .loc 1 2415 7 is_stmt 1 view .LVU2305 6808 02d2 2046 mov r0, r4 6809 .LVL614: 2415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6810 .loc 1 2415 7 is_stmt 0 view .LVU2306 6811 02d4 9847 blx r3 6812 .LVL615: 2417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } ARM GAS /tmp/ccQxTlMj.s page 246 6813 .loc 1 2417 5 is_stmt 1 view .LVU2307 6814 02d6 C8E6 b .L231 6815 .LVL616: 6816 .L269: 2423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 6817 .loc 1 2423 5 view .LVU2308 6818 02d8 2046 mov r0, r4 6819 .LVL617: 2423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return; 6820 .loc 1 2423 5 is_stmt 0 view .LVU2309 6821 02da FFF7FEFF bl UART_EndTransmit_IT 6822 .LVL618: 2424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6823 .loc 1 2424 5 is_stmt 1 view .LVU2310 6824 02de C4E6 b .L231 6825 .L271: 6826 .align 2 6827 .L270: 6828 02e0 20010004 .word 67109152 6829 02e4 00000000 .word UART_DMAAbortOnError 6830 .cfi_endproc 6831 .LFE163: 6833 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits 6834 .align 1 6835 .global HAL_UART_ReceiverTimeout_Config 6836 .syntax unified 6837 .thumb 6838 .thumb_func 6840 HAL_UART_ReceiverTimeout_Config: 6841 .LVL619: 6842 .LFB174: 2622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 6843 .loc 1 2622 1 view -0 6844 .cfi_startproc 6845 @ args = 0, pretend = 0, frame = 0 6846 @ frame_needed = 0, uses_anonymous_args = 0 6847 @ link register save eliminated. 2623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 6848 .loc 1 2623 3 view .LVU2312 2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6849 .loc 1 2624 3 view .LVU2313 6850 0000 0268 ldr r2, [r0] 6851 0002 5369 ldr r3, [r2, #20] 6852 0004 03F07F43 and r3, r3, #-16777216 6853 0008 0B43 orrs r3, r3, r1 6854 000a 5361 str r3, [r2, #20] 2625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6855 .loc 1 2625 1 is_stmt 0 view .LVU2314 6856 000c 7047 bx lr 6857 .cfi_endproc 6858 .LFE174: 6860 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits 6861 .align 1 6862 .global HAL_UART_EnableReceiverTimeout 6863 .syntax unified 6864 .thumb 6865 .thumb_func ARM GAS /tmp/ccQxTlMj.s page 247 6867 HAL_UART_EnableReceiverTimeout: 6868 .LVL620: 6869 .LFB175: 2634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 6870 .loc 1 2634 1 is_stmt 1 view -0 6871 .cfi_startproc 6872 @ args = 0, pretend = 0, frame = 0 6873 @ frame_needed = 0, uses_anonymous_args = 0 6874 @ link register save eliminated. 2635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6875 .loc 1 2635 3 view .LVU2316 2635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6876 .loc 1 2635 12 is_stmt 0 view .LVU2317 6877 0000 C36F ldr r3, [r0, #124] 2635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6878 .loc 1 2635 6 view .LVU2318 6879 0002 202B cmp r3, #32 6880 0004 14D1 bne .L275 2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6881 .loc 1 2638 5 is_stmt 1 view .LVU2319 2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6882 .loc 1 2638 5 view .LVU2320 6883 0006 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 6884 000a 012B cmp r3, #1 6885 000c 12D0 beq .L276 2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6886 .loc 1 2638 5 discriminator 2 view .LVU2321 6887 000e 0123 movs r3, #1 6888 0010 80F87830 strb r3, [r0, #120] 2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6889 .loc 1 2638 5 discriminator 2 view .LVU2322 2640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6890 .loc 1 2640 5 view .LVU2323 2640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6891 .loc 1 2640 19 is_stmt 0 view .LVU2324 6892 0014 2423 movs r3, #36 6893 0016 C367 str r3, [r0, #124] 2643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6894 .loc 1 2643 5 is_stmt 1 view .LVU2325 6895 0018 0268 ldr r2, [r0] 6896 001a 5368 ldr r3, [r2, #4] 6897 001c 43F40003 orr r3, r3, #8388608 6898 0020 5360 str r3, [r2, #4] 2645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6899 .loc 1 2645 5 view .LVU2326 2645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6900 .loc 1 2645 19 is_stmt 0 view .LVU2327 6901 0022 2023 movs r3, #32 6902 0024 C367 str r3, [r0, #124] 2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6903 .loc 1 2648 5 is_stmt 1 view .LVU2328 2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6904 .loc 1 2648 5 view .LVU2329 6905 0026 0023 movs r3, #0 6906 0028 80F87830 strb r3, [r0, #120] 2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6907 .loc 1 2648 5 view .LVU2330 ARM GAS /tmp/ccQxTlMj.s page 248 2650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6908 .loc 1 2650 5 view .LVU2331 2650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6909 .loc 1 2650 12 is_stmt 0 view .LVU2332 6910 002c 1846 mov r0, r3 6911 .LVL621: 2650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6912 .loc 1 2650 12 view .LVU2333 6913 002e 7047 bx lr 6914 .LVL622: 6915 .L275: 2654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6916 .loc 1 2654 12 view .LVU2334 6917 0030 0220 movs r0, #2 6918 .LVL623: 2654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6919 .loc 1 2654 12 view .LVU2335 6920 0032 7047 bx lr 6921 .LVL624: 6922 .L276: 2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6923 .loc 1 2638 5 discriminator 1 view .LVU2336 6924 0034 0220 movs r0, #2 6925 .LVL625: 2656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6926 .loc 1 2656 1 view .LVU2337 6927 0036 7047 bx lr 6928 .cfi_endproc 6929 .LFE175: 6931 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits 6932 .align 1 6933 .global HAL_UART_DisableReceiverTimeout 6934 .syntax unified 6935 .thumb 6936 .thumb_func 6938 HAL_UART_DisableReceiverTimeout: 6939 .LVL626: 6940 .LFB176: 2665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 6941 .loc 1 2665 1 is_stmt 1 view -0 6942 .cfi_startproc 6943 @ args = 0, pretend = 0, frame = 0 6944 @ frame_needed = 0, uses_anonymous_args = 0 6945 @ link register save eliminated. 2666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6946 .loc 1 2666 3 view .LVU2339 2666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6947 .loc 1 2666 12 is_stmt 0 view .LVU2340 6948 0000 C36F ldr r3, [r0, #124] 2666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 6949 .loc 1 2666 6 view .LVU2341 6950 0002 202B cmp r3, #32 6951 0004 14D1 bne .L279 2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6952 .loc 1 2669 5 is_stmt 1 view .LVU2342 2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6953 .loc 1 2669 5 view .LVU2343 ARM GAS /tmp/ccQxTlMj.s page 249 6954 0006 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 6955 000a 012B cmp r3, #1 6956 000c 12D0 beq .L280 2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6957 .loc 1 2669 5 discriminator 2 view .LVU2344 6958 000e 0123 movs r3, #1 6959 0010 80F87830 strb r3, [r0, #120] 2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6960 .loc 1 2669 5 discriminator 2 view .LVU2345 2671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6961 .loc 1 2671 5 view .LVU2346 2671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6962 .loc 1 2671 19 is_stmt 0 view .LVU2347 6963 0014 2423 movs r3, #36 6964 0016 C367 str r3, [r0, #124] 2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6965 .loc 1 2674 5 is_stmt 1 view .LVU2348 6966 0018 0268 ldr r2, [r0] 6967 001a 5368 ldr r3, [r2, #4] 6968 001c 23F40003 bic r3, r3, #8388608 6969 0020 5360 str r3, [r2, #4] 2676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6970 .loc 1 2676 5 view .LVU2349 2676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6971 .loc 1 2676 19 is_stmt 0 view .LVU2350 6972 0022 2023 movs r3, #32 6973 0024 C367 str r3, [r0, #124] 2679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6974 .loc 1 2679 5 is_stmt 1 view .LVU2351 2679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6975 .loc 1 2679 5 view .LVU2352 6976 0026 0023 movs r3, #0 6977 0028 80F87830 strb r3, [r0, #120] 2679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6978 .loc 1 2679 5 view .LVU2353 2681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6979 .loc 1 2681 5 view .LVU2354 2681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6980 .loc 1 2681 12 is_stmt 0 view .LVU2355 6981 002c 1846 mov r0, r3 6982 .LVL627: 2681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6983 .loc 1 2681 12 view .LVU2356 6984 002e 7047 bx lr 6985 .LVL628: 6986 .L279: 2685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6987 .loc 1 2685 12 view .LVU2357 6988 0030 0220 movs r0, #2 6989 .LVL629: 2685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 6990 .loc 1 2685 12 view .LVU2358 6991 0032 7047 bx lr 6992 .LVL630: 6993 .L280: 2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6994 .loc 1 2669 5 discriminator 1 view .LVU2359 ARM GAS /tmp/ccQxTlMj.s page 250 6995 0034 0220 movs r0, #2 6996 .LVL631: 2687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 6997 .loc 1 2687 1 view .LVU2360 6998 0036 7047 bx lr 6999 .cfi_endproc 7000 .LFE176: 7002 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits 7003 .align 1 7004 .global HAL_MultiProcessor_EnterMuteMode 7005 .syntax unified 7006 .thumb 7007 .thumb_func 7009 HAL_MultiProcessor_EnterMuteMode: 7010 .LVL632: 7011 .LFB179: 2736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 7012 .loc 1 2736 1 is_stmt 1 view -0 7013 .cfi_startproc 7014 @ args = 0, pretend = 0, frame = 0 7015 @ frame_needed = 0, uses_anonymous_args = 0 7016 @ link register save eliminated. 2737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7017 .loc 1 2737 3 view .LVU2362 7018 0000 0268 ldr r2, [r0] 7019 0002 9369 ldr r3, [r2, #24] 7020 0004 43F00403 orr r3, r3, #4 7021 0008 9361 str r3, [r2, #24] 2738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7022 .loc 1 2738 1 is_stmt 0 view .LVU2363 7023 000a 7047 bx lr 7024 .cfi_endproc 7025 .LFE179: 7027 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits 7028 .align 1 7029 .global HAL_HalfDuplex_EnableTransmitter 7030 .syntax unified 7031 .thumb 7032 .thumb_func 7034 HAL_HalfDuplex_EnableTransmitter: 7035 .LVL633: 7036 .LFB180: 2746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 7037 .loc 1 2746 1 is_stmt 1 view -0 7038 .cfi_startproc 7039 @ args = 0, pretend = 0, frame = 0 7040 @ frame_needed = 0, uses_anonymous_args = 0 7041 @ link register save eliminated. 2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7042 .loc 1 2747 3 view .LVU2365 2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7043 .loc 1 2747 3 view .LVU2366 7044 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 7045 0004 012B cmp r3, #1 7046 0006 1DD0 beq .L286 2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7047 .loc 1 2747 3 discriminator 2 view .LVU2367 ARM GAS /tmp/ccQxTlMj.s page 251 7048 0008 0123 movs r3, #1 7049 000a 80F87830 strb r3, [r0, #120] 2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7050 .loc 1 2747 3 discriminator 2 view .LVU2368 2748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7051 .loc 1 2748 3 view .LVU2369 2748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7052 .loc 1 2748 17 is_stmt 0 view .LVU2370 7053 000e 2423 movs r3, #36 7054 0010 C367 str r3, [r0, #124] 7055 .L284: 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7056 .loc 1 2751 3 is_stmt 1 discriminator 1 view .LVU2371 7057 .LBB742: 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7058 .loc 1 2751 3 discriminator 1 view .LVU2372 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7059 .loc 1 2751 3 discriminator 1 view .LVU2373 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7060 .loc 1 2751 3 discriminator 1 view .LVU2374 7061 0012 0268 ldr r2, [r0] 7062 .LVL634: 7063 .LBB743: 7064 .LBI743: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7065 .loc 2 1068 31 view .LVU2375 7066 .LBB744: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7067 .loc 2 1070 5 view .LVU2376 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7068 .loc 2 1072 4 view .LVU2377 7069 .syntax unified 7070 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7071 0014 52E8003F ldrex r3, [r2] 7072 @ 0 "" 2 7073 .LVL635: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7074 .loc 2 1073 4 view .LVU2378 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7075 .loc 2 1073 4 is_stmt 0 view .LVU2379 7076 .thumb 7077 .syntax unified 7078 .LBE744: 7079 .LBE743: 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7080 .loc 1 2751 3 discriminator 1 view .LVU2380 7081 0018 23F00C03 bic r3, r3, #12 7082 .LVL636: 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7083 .loc 1 2751 3 is_stmt 1 discriminator 1 view .LVU2381 7084 .LBB745: 7085 .LBI745: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7086 .loc 2 1119 31 view .LVU2382 7087 .LBB746: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7088 .loc 2 1121 4 view .LVU2383 ARM GAS /tmp/ccQxTlMj.s page 252 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7089 .loc 2 1123 4 view .LVU2384 7090 .syntax unified 7091 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7092 001c 42E80031 strex r1, r3, [r2] 7093 @ 0 "" 2 7094 .LVL637: 7095 .loc 2 1124 4 view .LVU2385 7096 .loc 2 1124 4 is_stmt 0 view .LVU2386 7097 .thumb 7098 .syntax unified 7099 .LBE746: 7100 .LBE745: 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7101 .loc 1 2751 3 discriminator 1 view .LVU2387 7102 0020 0029 cmp r1, #0 7103 0022 F6D1 bne .L284 7104 .LVL638: 7105 .L285: 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7106 .loc 1 2751 3 discriminator 1 view .LVU2388 7107 .LBE742: 2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7108 .loc 1 2751 3 is_stmt 1 discriminator 2 view .LVU2389 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7109 .loc 1 2754 3 discriminator 1 view .LVU2390 7110 .LBB747: 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7111 .loc 1 2754 3 discriminator 1 view .LVU2391 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7112 .loc 1 2754 3 discriminator 1 view .LVU2392 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7113 .loc 1 2754 3 discriminator 1 view .LVU2393 7114 0024 0268 ldr r2, [r0] 7115 .LVL639: 7116 .LBB748: 7117 .LBI748: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7118 .loc 2 1068 31 view .LVU2394 7119 .LBB749: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7120 .loc 2 1070 5 view .LVU2395 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7121 .loc 2 1072 4 view .LVU2396 7122 .syntax unified 7123 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7124 0026 52E8003F ldrex r3, [r2] 7125 @ 0 "" 2 7126 .LVL640: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7127 .loc 2 1073 4 view .LVU2397 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7128 .loc 2 1073 4 is_stmt 0 view .LVU2398 7129 .thumb 7130 .syntax unified 7131 .LBE749: 7132 .LBE748: ARM GAS /tmp/ccQxTlMj.s page 253 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7133 .loc 1 2754 3 discriminator 1 view .LVU2399 7134 002a 43F00803 orr r3, r3, #8 7135 .LVL641: 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7136 .loc 1 2754 3 is_stmt 1 discriminator 1 view .LVU2400 7137 .LBB750: 7138 .LBI750: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7139 .loc 2 1119 31 view .LVU2401 7140 .LBB751: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7141 .loc 2 1121 4 view .LVU2402 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7142 .loc 2 1123 4 view .LVU2403 7143 .syntax unified 7144 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7145 002e 42E80031 strex r1, r3, [r2] 7146 @ 0 "" 2 7147 .LVL642: 7148 .loc 2 1124 4 view .LVU2404 7149 .loc 2 1124 4 is_stmt 0 view .LVU2405 7150 .thumb 7151 .syntax unified 7152 .LBE751: 7153 .LBE750: 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7154 .loc 1 2754 3 discriminator 1 view .LVU2406 7155 0032 0029 cmp r1, #0 7156 0034 F6D1 bne .L285 7157 .LBE747: 2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7158 .loc 1 2754 3 is_stmt 1 discriminator 2 view .LVU2407 2756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7159 .loc 1 2756 3 view .LVU2408 2756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7160 .loc 1 2756 17 is_stmt 0 view .LVU2409 7161 0036 2023 movs r3, #32 7162 .LVL643: 2756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7163 .loc 1 2756 17 view .LVU2410 7164 0038 C367 str r3, [r0, #124] 2758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7165 .loc 1 2758 3 is_stmt 1 view .LVU2411 2758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7166 .loc 1 2758 3 view .LVU2412 7167 003a 0023 movs r3, #0 7168 003c 80F87830 strb r3, [r0, #120] 2758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7169 .loc 1 2758 3 view .LVU2413 2760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7170 .loc 1 2760 3 view .LVU2414 2760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7171 .loc 1 2760 10 is_stmt 0 view .LVU2415 7172 0040 1846 mov r0, r3 7173 .LVL644: 2760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } ARM GAS /tmp/ccQxTlMj.s page 254 7174 .loc 1 2760 10 view .LVU2416 7175 0042 7047 bx lr 7176 .LVL645: 7177 .L286: 2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7178 .loc 1 2747 3 discriminator 1 view .LVU2417 7179 0044 0220 movs r0, #2 7180 .LVL646: 2761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7181 .loc 1 2761 1 view .LVU2418 7182 0046 7047 bx lr 7183 .cfi_endproc 7184 .LFE180: 7186 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits 7187 .align 1 7188 .global HAL_HalfDuplex_EnableReceiver 7189 .syntax unified 7190 .thumb 7191 .thumb_func 7193 HAL_HalfDuplex_EnableReceiver: 7194 .LVL647: 7195 .LFB181: 2769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 7196 .loc 1 2769 1 is_stmt 1 view -0 7197 .cfi_startproc 7198 @ args = 0, pretend = 0, frame = 0 7199 @ frame_needed = 0, uses_anonymous_args = 0 7200 @ link register save eliminated. 2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7201 .loc 1 2770 3 view .LVU2420 2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7202 .loc 1 2770 3 view .LVU2421 7203 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 7204 0004 012B cmp r3, #1 7205 0006 1DD0 beq .L291 2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7206 .loc 1 2770 3 discriminator 2 view .LVU2422 7207 0008 0123 movs r3, #1 7208 000a 80F87830 strb r3, [r0, #120] 2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7209 .loc 1 2770 3 discriminator 2 view .LVU2423 2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7210 .loc 1 2771 3 view .LVU2424 2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7211 .loc 1 2771 17 is_stmt 0 view .LVU2425 7212 000e 2423 movs r3, #36 7213 0010 C367 str r3, [r0, #124] 7214 .L289: 2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7215 .loc 1 2774 3 is_stmt 1 discriminator 1 view .LVU2426 7216 .LBB752: 2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7217 .loc 1 2774 3 discriminator 1 view .LVU2427 2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7218 .loc 1 2774 3 discriminator 1 view .LVU2428 2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7219 .loc 1 2774 3 discriminator 1 view .LVU2429 ARM GAS /tmp/ccQxTlMj.s page 255 7220 0012 0268 ldr r2, [r0] 7221 .LVL648: 7222 .LBB753: 7223 .LBI753: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7224 .loc 2 1068 31 view .LVU2430 7225 .LBB754: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7226 .loc 2 1070 5 view .LVU2431 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7227 .loc 2 1072 4 view .LVU2432 7228 .syntax unified 7229 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7230 0014 52E8003F ldrex r3, [r2] 7231 @ 0 "" 2 7232 .LVL649: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7233 .loc 2 1073 4 view .LVU2433 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7234 .loc 2 1073 4 is_stmt 0 view .LVU2434 7235 .thumb 7236 .syntax unified 7237 .LBE754: 7238 .LBE753: 2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7239 .loc 1 2774 3 discriminator 1 view .LVU2435 7240 0018 23F00C03 bic r3, r3, #12 7241 .LVL650: 2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7242 .loc 1 2774 3 is_stmt 1 discriminator 1 view .LVU2436 7243 .LBB755: 7244 .LBI755: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7245 .loc 2 1119 31 view .LVU2437 7246 .LBB756: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7247 .loc 2 1121 4 view .LVU2438 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7248 .loc 2 1123 4 view .LVU2439 7249 .syntax unified 7250 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7251 001c 42E80031 strex r1, r3, [r2] 7252 @ 0 "" 2 7253 .LVL651: 7254 .loc 2 1124 4 view .LVU2440 7255 .loc 2 1124 4 is_stmt 0 view .LVU2441 7256 .thumb 7257 .syntax unified 7258 .LBE756: 7259 .LBE755: 2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7260 .loc 1 2774 3 discriminator 1 view .LVU2442 7261 0020 0029 cmp r1, #0 7262 0022 F6D1 bne .L289 7263 .LVL652: 7264 .L290: 2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 256 7265 .loc 1 2774 3 discriminator 1 view .LVU2443 7266 .LBE752: 2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7267 .loc 1 2774 3 is_stmt 1 discriminator 2 view .LVU2444 2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7268 .loc 1 2777 3 discriminator 1 view .LVU2445 7269 .LBB757: 2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7270 .loc 1 2777 3 discriminator 1 view .LVU2446 2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7271 .loc 1 2777 3 discriminator 1 view .LVU2447 2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7272 .loc 1 2777 3 discriminator 1 view .LVU2448 7273 0024 0268 ldr r2, [r0] 7274 .LVL653: 7275 .LBB758: 7276 .LBI758: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7277 .loc 2 1068 31 view .LVU2449 7278 .LBB759: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 7279 .loc 2 1070 5 view .LVU2450 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7280 .loc 2 1072 4 view .LVU2451 7281 .syntax unified 7282 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7283 0026 52E8003F ldrex r3, [r2] 7284 @ 0 "" 2 7285 .LVL654: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7286 .loc 2 1073 4 view .LVU2452 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 7287 .loc 2 1073 4 is_stmt 0 view .LVU2453 7288 .thumb 7289 .syntax unified 7290 .LBE759: 7291 .LBE758: 2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7292 .loc 1 2777 3 discriminator 1 view .LVU2454 7293 002a 43F00403 orr r3, r3, #4 7294 .LVL655: 2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7295 .loc 1 2777 3 is_stmt 1 discriminator 1 view .LVU2455 7296 .LBB760: 7297 .LBI760: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 7298 .loc 2 1119 31 view .LVU2456 7299 .LBB761: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 7300 .loc 2 1121 4 view .LVU2457 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 7301 .loc 2 1123 4 view .LVU2458 7302 .syntax unified 7303 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 7304 002e 42E80031 strex r1, r3, [r2] 7305 @ 0 "" 2 7306 .LVL656: ARM GAS /tmp/ccQxTlMj.s page 257 7307 .loc 2 1124 4 view .LVU2459 7308 .loc 2 1124 4 is_stmt 0 view .LVU2460 7309 .thumb 7310 .syntax unified 7311 .LBE761: 7312 .LBE760: 2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7313 .loc 1 2777 3 discriminator 1 view .LVU2461 7314 0032 0029 cmp r1, #0 7315 0034 F6D1 bne .L290 7316 .LBE757: 2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7317 .loc 1 2777 3 is_stmt 1 discriminator 2 view .LVU2462 2779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7318 .loc 1 2779 3 view .LVU2463 2779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7319 .loc 1 2779 17 is_stmt 0 view .LVU2464 7320 0036 2023 movs r3, #32 7321 .LVL657: 2779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7322 .loc 1 2779 17 view .LVU2465 7323 0038 C367 str r3, [r0, #124] 2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7324 .loc 1 2781 3 is_stmt 1 view .LVU2466 2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7325 .loc 1 2781 3 view .LVU2467 7326 003a 0023 movs r3, #0 7327 003c 80F87830 strb r3, [r0, #120] 2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7328 .loc 1 2781 3 view .LVU2468 2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7329 .loc 1 2783 3 view .LVU2469 2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7330 .loc 1 2783 10 is_stmt 0 view .LVU2470 7331 0040 1846 mov r0, r3 7332 .LVL658: 2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7333 .loc 1 2783 10 view .LVU2471 7334 0042 7047 bx lr 7335 .LVL659: 7336 .L291: 2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 7337 .loc 1 2770 3 discriminator 1 view .LVU2472 7338 0044 0220 movs r0, #2 7339 .LVL660: 2784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7340 .loc 1 2784 1 view .LVU2473 7341 0046 7047 bx lr 7342 .cfi_endproc 7343 .LFE181: 7345 .section .text.HAL_LIN_SendBreak,"ax",%progbits 7346 .align 1 7347 .global HAL_LIN_SendBreak 7348 .syntax unified 7349 .thumb 7350 .thumb_func 7352 HAL_LIN_SendBreak: ARM GAS /tmp/ccQxTlMj.s page 258 7353 .LVL661: 7354 .LFB182: 2793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */ 7355 .loc 1 2793 1 is_stmt 1 view -0 7356 .cfi_startproc 7357 @ args = 0, pretend = 0, frame = 0 7358 @ frame_needed = 0, uses_anonymous_args = 0 7359 @ link register save eliminated. 2795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7360 .loc 1 2795 3 view .LVU2475 2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7361 .loc 1 2797 3 view .LVU2476 2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7362 .loc 1 2797 3 view .LVU2477 7363 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 7364 0004 012B cmp r3, #1 7365 0006 10D0 beq .L294 2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7366 .loc 1 2797 3 discriminator 2 view .LVU2478 7367 0008 0123 movs r3, #1 7368 000a 80F87830 strb r3, [r0, #120] 2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7369 .loc 1 2797 3 discriminator 2 view .LVU2479 2799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7370 .loc 1 2799 3 view .LVU2480 2799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7371 .loc 1 2799 17 is_stmt 0 view .LVU2481 7372 000e 2423 movs r3, #36 7373 0010 C367 str r3, [r0, #124] 2802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7374 .loc 1 2802 3 is_stmt 1 view .LVU2482 7375 0012 0268 ldr r2, [r0] 7376 0014 9369 ldr r3, [r2, #24] 7377 0016 43F00203 orr r3, r3, #2 7378 001a 9361 str r3, [r2, #24] 2804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7379 .loc 1 2804 3 view .LVU2483 2804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7380 .loc 1 2804 17 is_stmt 0 view .LVU2484 7381 001c 2023 movs r3, #32 7382 001e C367 str r3, [r0, #124] 2806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7383 .loc 1 2806 3 is_stmt 1 view .LVU2485 2806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7384 .loc 1 2806 3 view .LVU2486 7385 0020 0023 movs r3, #0 7386 0022 80F87830 strb r3, [r0, #120] 2806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7387 .loc 1 2806 3 view .LVU2487 2808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7388 .loc 1 2808 3 view .LVU2488 2808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7389 .loc 1 2808 10 is_stmt 0 view .LVU2489 7390 0026 1846 mov r0, r3 7391 .LVL662: 2808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7392 .loc 1 2808 10 view .LVU2490 ARM GAS /tmp/ccQxTlMj.s page 259 7393 0028 7047 bx lr 7394 .LVL663: 7395 .L294: 2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7396 .loc 1 2797 3 discriminator 1 view .LVU2491 7397 002a 0220 movs r0, #2 7398 .LVL664: 2809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7399 .loc 1 2809 1 view .LVU2492 7400 002c 7047 bx lr 7401 .cfi_endproc 7402 .LFE182: 7404 .section .text.HAL_UART_GetState,"ax",%progbits 7405 .align 1 7406 .global HAL_UART_GetState 7407 .syntax unified 7408 .thumb 7409 .thumb_func 7411 HAL_UART_GetState: 7412 .LVL665: 7413 .LFB183: 2838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t temp1; 7414 .loc 1 2838 1 is_stmt 1 view -0 7415 .cfi_startproc 7416 @ args = 0, pretend = 0, frame = 0 7417 @ frame_needed = 0, uses_anonymous_args = 0 7418 @ link register save eliminated. 2839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t temp2; 7419 .loc 1 2839 3 view .LVU2494 2840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** temp1 = huart->gState; 7420 .loc 1 2840 3 view .LVU2495 2841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** temp2 = huart->RxState; 7421 .loc 1 2841 3 view .LVU2496 2841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** temp2 = huart->RxState; 7422 .loc 1 2841 9 is_stmt 0 view .LVU2497 7423 0000 C26F ldr r2, [r0, #124] 7424 .LVL666: 2842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7425 .loc 1 2842 3 is_stmt 1 view .LVU2498 2842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7426 .loc 1 2842 9 is_stmt 0 view .LVU2499 7427 0002 D0F88000 ldr r0, [r0, #128] 7428 .LVL667: 2844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7429 .loc 1 2844 3 is_stmt 1 view .LVU2500 2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7430 .loc 1 2845 1 is_stmt 0 view .LVU2501 7431 0006 1043 orrs r0, r0, r2 7432 .LVL668: 2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7433 .loc 1 2845 1 view .LVU2502 7434 0008 7047 bx lr 7435 .cfi_endproc 7436 .LFE183: 7438 .section .text.HAL_UART_GetError,"ax",%progbits 7439 .align 1 7440 .global HAL_UART_GetError ARM GAS /tmp/ccQxTlMj.s page 260 7441 .syntax unified 7442 .thumb 7443 .thumb_func 7445 HAL_UART_GetError: 7446 .LVL669: 7447 .LFB184: 2854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return huart->ErrorCode; 7448 .loc 1 2854 1 is_stmt 1 view -0 7449 .cfi_startproc 7450 @ args = 0, pretend = 0, frame = 0 7451 @ frame_needed = 0, uses_anonymous_args = 0 7452 @ link register save eliminated. 2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7453 .loc 1 2855 3 view .LVU2504 2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7454 .loc 1 2855 15 is_stmt 0 view .LVU2505 7455 0000 D0F88400 ldr r0, [r0, #132] 7456 .LVL670: 2856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** 7457 .loc 1 2856 1 view .LVU2506 7458 0004 7047 bx lr 7459 .cfi_endproc 7460 .LFE184: 7462 .section .text.UART_SetConfig,"ax",%progbits 7463 .align 1 7464 .global UART_SetConfig 7465 .syntax unified 7466 .thumb 7467 .thumb_func 7469 UART_SetConfig: 7470 .LVL671: 7471 .LFB185: 2902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tmpreg; 7472 .loc 1 2902 1 is_stmt 1 view -0 7473 .cfi_startproc 7474 @ args = 0, pretend = 0, frame = 0 7475 @ frame_needed = 0, uses_anonymous_args = 0 2902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tmpreg; 7476 .loc 1 2902 1 is_stmt 0 view .LVU2508 7477 0000 10B5 push {r4, lr} 7478 .LCFI29: 7479 .cfi_def_cfa_offset 8 7480 .cfi_offset 4, -8 7481 .cfi_offset 14, -4 7482 0002 0446 mov r4, r0 2903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t brrtemp; 7483 .loc 1 2903 3 is_stmt 1 view .LVU2509 2904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 7484 .loc 1 2904 3 view .LVU2510 2905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t usartdiv; 7485 .loc 1 2905 3 view .LVU2511 2906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 7486 .loc 1 2906 3 view .LVU2512 2907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t pclk; 7487 .loc 1 2907 3 view .LVU2513 7488 .LVL672: 2908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 261 7489 .loc 1 2908 3 view .LVU2514 2911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 7490 .loc 1 2911 3 view .LVU2515 2912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 7491 .loc 1 2912 3 view .LVU2516 2913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 7492 .loc 1 2913 3 view .LVU2517 2914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7493 .loc 1 2914 3 view .LVU2518 2916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 7494 .loc 1 2916 3 view .LVU2519 2917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 7495 .loc 1 2917 3 view .LVU2520 2918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 7496 .loc 1 2918 3 view .LVU2521 2919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7497 .loc 1 2919 3 view .LVU2522 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7498 .loc 1 2928 3 view .LVU2523 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7499 .loc 1 2928 33 is_stmt 0 view .LVU2524 7500 0004 8368 ldr r3, [r0, #8] 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7501 .loc 1 2928 58 view .LVU2525 7502 0006 0269 ldr r2, [r0, #16] 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7503 .loc 1 2928 45 view .LVU2526 7504 0008 1343 orrs r3, r3, r2 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7505 .loc 1 2928 79 view .LVU2527 7506 000a 4269 ldr r2, [r0, #20] 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7507 .loc 1 2928 66 view .LVU2528 7508 000c 1343 orrs r3, r3, r2 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7509 .loc 1 2928 98 view .LVU2529 7510 000e C269 ldr r2, [r0, #28] 2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 7511 .loc 1 2928 10 view .LVU2530 7512 0010 1343 orrs r3, r3, r2 7513 .LVL673: 2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7514 .loc 1 2929 3 is_stmt 1 view .LVU2531 7515 0012 0168 ldr r1, [r0] 7516 0014 0868 ldr r0, [r1] 7517 .LVL674: 2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7518 .loc 1 2929 3 is_stmt 0 view .LVU2532 7519 0016 914A ldr r2, .L384 7520 0018 0240 ands r2, r2, r0 7521 001a 1A43 orrs r2, r2, r3 7522 001c 0A60 str r2, [r1] 2934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7523 .loc 1 2934 3 is_stmt 1 view .LVU2533 7524 001e 2268 ldr r2, [r4] 7525 0020 5368 ldr r3, [r2, #4] 7526 .LVL675: ARM GAS /tmp/ccQxTlMj.s page 262 2934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7527 .loc 1 2934 3 is_stmt 0 view .LVU2534 7528 0022 23F44053 bic r3, r3, #12288 7529 0026 E168 ldr r1, [r4, #12] 7530 0028 0B43 orrs r3, r3, r1 7531 002a 5360 str r3, [r2, #4] 2942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7532 .loc 1 2942 3 is_stmt 1 view .LVU2535 2942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7533 .loc 1 2942 10 is_stmt 0 view .LVU2536 7534 002c A269 ldr r2, [r4, #24] 7535 .LVL676: 2944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 7536 .loc 1 2944 3 is_stmt 1 view .LVU2537 2944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 7537 .loc 1 2944 24 is_stmt 0 view .LVU2538 7538 002e 236A ldr r3, [r4, #32] 2944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 7539 .loc 1 2944 10 view .LVU2539 7540 0030 1A43 orrs r2, r2, r3 7541 .LVL677: 2945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7542 .loc 1 2945 3 is_stmt 1 view .LVU2540 7543 0032 2168 ldr r1, [r4] 7544 0034 8B68 ldr r3, [r1, #8] 7545 0036 23F43063 bic r3, r3, #2816 7546 003a 1343 orrs r3, r3, r2 7547 003c 8B60 str r3, [r1, #8] 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7548 .loc 1 2949 3 view .LVU2541 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7549 .loc 1 2949 3 view .LVU2542 7550 003e 2368 ldr r3, [r4] 7551 0040 874A ldr r2, .L384+4 7552 .LVL678: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7553 .loc 1 2949 3 is_stmt 0 view .LVU2543 7554 0042 9342 cmp r3, r2 7555 0044 18D0 beq .L375 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7556 .loc 1 2949 3 is_stmt 1 discriminator 2 view .LVU2544 7557 0046 874A ldr r2, .L384+8 7558 0048 9342 cmp r3, r2 7559 004a 3AD0 beq .L376 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7560 .loc 1 2949 3 discriminator 9 view .LVU2545 7561 004c 864A ldr r2, .L384+12 7562 004e 9342 cmp r3, r2 7563 0050 4FD0 beq .L377 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7564 .loc 1 2949 3 discriminator 16 view .LVU2546 7565 0052 864A ldr r2, .L384+16 7566 0054 9342 cmp r3, r2 7567 0056 5ED0 beq .L378 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7568 .loc 1 2949 3 discriminator 23 view .LVU2547 7569 0058 854A ldr r2, .L384+20 ARM GAS /tmp/ccQxTlMj.s page 263 7570 005a 9342 cmp r3, r2 7571 005c 6DD0 beq .L379 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7572 .loc 1 2949 3 discriminator 30 view .LVU2548 7573 005e 854A ldr r2, .L384+24 7574 0060 9342 cmp r3, r2 7575 0062 7FD0 beq .L380 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7576 .loc 1 2949 3 discriminator 37 view .LVU2549 7577 0064 844A ldr r2, .L384+28 7578 0066 9342 cmp r3, r2 7579 0068 00F09180 beq .L381 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7580 .loc 1 2949 3 discriminator 44 view .LVU2550 7581 006c 834A ldr r2, .L384+32 7582 006e 9342 cmp r3, r2 7583 0070 00F0A280 beq .L382 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7584 .loc 1 2949 3 is_stmt 0 discriminator 51 view .LVU2551 7585 0074 1023 movs r3, #16 7586 0076 0BE0 b .L302 7587 .L375: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7588 .loc 1 2949 3 is_stmt 1 discriminator 1 view .LVU2552 7589 0078 814B ldr r3, .L384+36 7590 007a D3F89030 ldr r3, [r3, #144] 7591 007e 03F00303 and r3, r3, #3 7592 0082 032B cmp r3, #3 7593 0084 1BD8 bhi .L299 7594 0086 DFE803F0 tbb [pc, r3] 7595 .L301: 7596 008a 02 .byte (.L304-.L301)/2 7597 008b 16 .byte (.L303-.L301)/2 7598 008c AB .byte (.L338-.L301)/2 7599 008d 18 .byte (.L300-.L301)/2 7600 .p2align 1 7601 .L304: 7602 008e 0123 movs r3, #1 7603 .L302: 7604 .LVL679: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7605 .loc 1 2949 3 discriminator 57 view .LVU2553 2951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 7606 .loc 1 2951 3 view .LVU2554 2951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 7607 .loc 1 2951 18 is_stmt 0 view .LVU2555 7608 0090 E069 ldr r0, [r4, #28] 2951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 7609 .loc 1 2951 6 view .LVU2556 7610 0092 B0F5004F cmp r0, #32768 7611 0096 00F0D780 beq .L383 2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 7612 .loc 1 2994 5 is_stmt 1 view .LVU2557 7613 009a 082B cmp r3, #8 7614 009c 00F23881 bhi .L369 7615 00a0 DFE813F0 tbh [pc, r3, lsl #1] 7616 .L332: ARM GAS /tmp/ccQxTlMj.s page 264 7617 00a4 1401 .2byte (.L336-.L332)/2 7618 00a6 2701 .2byte (.L335-.L332)/2 7619 00a8 1201 .2byte (.L334-.L332)/2 7620 00aa 3601 .2byte (.L369-.L332)/2 7621 00ac 2A01 .2byte (.L333-.L332)/2 7622 00ae 3601 .2byte (.L369-.L332)/2 7623 00b0 3601 .2byte (.L369-.L332)/2 7624 00b2 3601 .2byte (.L369-.L332)/2 7625 00b4 2D01 .2byte (.L370-.L332)/2 7626 .LVL680: 7627 .p2align 1 7628 .L303: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7629 .loc 1 2949 3 discriminator 5 view .LVU2558 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7630 .loc 1 2949 3 discriminator 5 view .LVU2559 7631 00b6 0423 movs r3, #4 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7632 .loc 1 2949 3 is_stmt 0 view .LVU2560 7633 00b8 EAE7 b .L302 7634 .LVL681: 7635 .L300: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7636 .loc 1 2949 3 is_stmt 1 discriminator 7 view .LVU2561 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7637 .loc 1 2949 3 discriminator 7 view .LVU2562 7638 00ba 0823 movs r3, #8 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7639 .loc 1 2949 3 is_stmt 0 view .LVU2563 7640 00bc E8E7 b .L302 7641 .LVL682: 7642 .L299: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7643 .loc 1 2949 3 is_stmt 1 discriminator 3 view .LVU2564 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7644 .loc 1 2949 3 discriminator 3 view .LVU2565 7645 00be 1023 movs r3, #16 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7646 .loc 1 2949 3 is_stmt 0 view .LVU2566 7647 00c0 E6E7 b .L302 7648 .LVL683: 7649 .L376: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7650 .loc 1 2949 3 is_stmt 1 discriminator 8 view .LVU2567 7651 00c2 6F4B ldr r3, .L384+36 7652 00c4 D3F89030 ldr r3, [r3, #144] 7653 00c8 03F00C03 and r3, r3, #12 7654 00cc 0C2B cmp r3, #12 7655 00ce 0ED8 bhi .L306 7656 00d0 DFE803F0 tbb [pc, r3] 7657 .L308: 7658 00d4 07 .byte (.L310-.L308)/2 7659 00d5 0D .byte (.L306-.L308)/2 7660 00d6 0D .byte (.L306-.L308)/2 7661 00d7 0D .byte (.L306-.L308)/2 7662 00d8 09 .byte (.L309-.L308)/2 7663 00d9 0D .byte (.L306-.L308)/2 ARM GAS /tmp/ccQxTlMj.s page 265 7664 00da 0D .byte (.L306-.L308)/2 7665 00db 0D .byte (.L306-.L308)/2 7666 00dc 88 .byte (.L339-.L308)/2 7667 00dd 0D .byte (.L306-.L308)/2 7668 00de 0D .byte (.L306-.L308)/2 7669 00df 0D .byte (.L306-.L308)/2 7670 00e0 0B .byte (.L307-.L308)/2 7671 00e1 00 .p2align 1 7672 .L310: 7673 00e2 0023 movs r3, #0 7674 00e4 D4E7 b .L302 7675 .L309: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7676 .loc 1 2949 3 discriminator 12 view .LVU2568 7677 .LVL684: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7678 .loc 1 2949 3 discriminator 12 view .LVU2569 7679 00e6 0423 movs r3, #4 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7680 .loc 1 2949 3 is_stmt 0 view .LVU2570 7681 00e8 D2E7 b .L302 7682 .LVL685: 7683 .L307: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7684 .loc 1 2949 3 is_stmt 1 discriminator 14 view .LVU2571 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7685 .loc 1 2949 3 discriminator 14 view .LVU2572 7686 00ea 0823 movs r3, #8 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7687 .loc 1 2949 3 is_stmt 0 view .LVU2573 7688 00ec D0E7 b .L302 7689 .LVL686: 7690 .L306: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7691 .loc 1 2949 3 is_stmt 1 discriminator 10 view .LVU2574 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7692 .loc 1 2949 3 discriminator 10 view .LVU2575 7693 00ee 1023 movs r3, #16 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7694 .loc 1 2949 3 is_stmt 0 view .LVU2576 7695 00f0 CEE7 b .L302 7696 .LVL687: 7697 .L377: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7698 .loc 1 2949 3 is_stmt 1 discriminator 15 view .LVU2577 7699 00f2 634B ldr r3, .L384+36 7700 00f4 D3F89030 ldr r3, [r3, #144] 7701 00f8 03F03003 and r3, r3, #48 7702 00fc 202B cmp r3, #32 7703 00fe 73D0 beq .L340 7704 0100 05D8 bhi .L312 7705 0102 002B cmp r3, #0 7706 0104 72D0 beq .L341 7707 0106 102B cmp r3, #16 7708 0108 72D1 bne .L342 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7709 .loc 1 2949 3 is_stmt 0 discriminator 19 view .LVU2578 ARM GAS /tmp/ccQxTlMj.s page 266 7710 010a 0423 movs r3, #4 7711 010c C0E7 b .L302 7712 .L312: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7713 .loc 1 2949 3 discriminator 15 view .LVU2579 7714 010e 302B cmp r3, #48 7715 0110 70D1 bne .L343 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7716 .loc 1 2949 3 discriminator 21 view .LVU2580 7717 0112 0823 movs r3, #8 7718 0114 BCE7 b .L302 7719 .L378: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7720 .loc 1 2949 3 is_stmt 1 discriminator 22 view .LVU2581 7721 0116 5A4B ldr r3, .L384+36 7722 0118 D3F89030 ldr r3, [r3, #144] 7723 011c 03F0C003 and r3, r3, #192 7724 0120 802B cmp r3, #128 7725 0122 69D0 beq .L344 7726 0124 05D8 bhi .L314 7727 0126 002B cmp r3, #0 7728 0128 68D0 beq .L345 7729 012a 402B cmp r3, #64 7730 012c 68D1 bne .L346 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7731 .loc 1 2949 3 is_stmt 0 discriminator 26 view .LVU2582 7732 012e 0423 movs r3, #4 7733 0130 AEE7 b .L302 7734 .L314: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7735 .loc 1 2949 3 discriminator 22 view .LVU2583 7736 0132 C02B cmp r3, #192 7737 0134 66D1 bne .L347 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7738 .loc 1 2949 3 discriminator 28 view .LVU2584 7739 0136 0823 movs r3, #8 7740 0138 AAE7 b .L302 7741 .L379: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7742 .loc 1 2949 3 is_stmt 1 discriminator 29 view .LVU2585 7743 013a 514B ldr r3, .L384+36 7744 013c D3F89030 ldr r3, [r3, #144] 7745 0140 03F44073 and r3, r3, #768 7746 0144 B3F5007F cmp r3, #512 7747 0148 5ED0 beq .L348 7748 014a 06D8 bhi .L316 7749 014c 002B cmp r3, #0 7750 014e 5DD0 beq .L349 7751 0150 B3F5807F cmp r3, #256 7752 0154 5CD1 bne .L350 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7753 .loc 1 2949 3 is_stmt 0 discriminator 33 view .LVU2586 7754 0156 0423 movs r3, #4 7755 0158 9AE7 b .L302 7756 .L316: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7757 .loc 1 2949 3 discriminator 29 view .LVU2587 ARM GAS /tmp/ccQxTlMj.s page 267 7758 015a B3F5407F cmp r3, #768 7759 015e 59D1 bne .L351 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7760 .loc 1 2949 3 discriminator 35 view .LVU2588 7761 0160 0823 movs r3, #8 7762 0162 95E7 b .L302 7763 .L380: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7764 .loc 1 2949 3 is_stmt 1 discriminator 36 view .LVU2589 7765 0164 464B ldr r3, .L384+36 7766 0166 D3F89030 ldr r3, [r3, #144] 7767 016a 03F44063 and r3, r3, #3072 7768 016e B3F5006F cmp r3, #2048 7769 0172 51D0 beq .L352 7770 0174 06D8 bhi .L318 7771 0176 002B cmp r3, #0 7772 0178 50D0 beq .L353 7773 017a B3F5806F cmp r3, #1024 7774 017e 4FD1 bne .L354 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7775 .loc 1 2949 3 is_stmt 0 discriminator 40 view .LVU2590 7776 0180 0423 movs r3, #4 7777 0182 85E7 b .L302 7778 .L318: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7779 .loc 1 2949 3 discriminator 36 view .LVU2591 7780 0184 B3F5406F cmp r3, #3072 7781 0188 4CD1 bne .L355 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7782 .loc 1 2949 3 discriminator 42 view .LVU2592 7783 018a 0823 movs r3, #8 7784 018c 80E7 b .L302 7785 .L381: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7786 .loc 1 2949 3 is_stmt 1 discriminator 43 view .LVU2593 7787 018e 3C4B ldr r3, .L384+36 7788 0190 D3F89030 ldr r3, [r3, #144] 7789 0194 03F44053 and r3, r3, #12288 7790 0198 B3F5005F cmp r3, #8192 7791 019c 44D0 beq .L356 7792 019e 06D8 bhi .L320 7793 01a0 002B cmp r3, #0 7794 01a2 43D0 beq .L357 7795 01a4 B3F5805F cmp r3, #4096 7796 01a8 42D1 bne .L358 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7797 .loc 1 2949 3 is_stmt 0 discriminator 47 view .LVU2594 7798 01aa 0423 movs r3, #4 7799 01ac 70E7 b .L302 7800 .L320: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7801 .loc 1 2949 3 discriminator 43 view .LVU2595 7802 01ae B3F5405F cmp r3, #12288 7803 01b2 3FD1 bne .L359 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7804 .loc 1 2949 3 discriminator 49 view .LVU2596 7805 01b4 0823 movs r3, #8 ARM GAS /tmp/ccQxTlMj.s page 268 7806 01b6 6BE7 b .L302 7807 .L382: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7808 .loc 1 2949 3 is_stmt 1 discriminator 50 view .LVU2597 7809 01b8 314B ldr r3, .L384+36 7810 01ba D3F89030 ldr r3, [r3, #144] 7811 01be 03F44043 and r3, r3, #49152 7812 01c2 B3F5004F cmp r3, #32768 7813 01c6 37D0 beq .L361 7814 01c8 05D8 bhi .L321 7815 01ca BBB3 cbz r3, .L362 7816 01cc B3F5804F cmp r3, #16384 7817 01d0 36D1 bne .L363 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7818 .loc 1 2949 3 is_stmt 0 discriminator 54 view .LVU2598 7819 01d2 0423 movs r3, #4 7820 01d4 5CE7 b .L302 7821 .L321: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7822 .loc 1 2949 3 discriminator 50 view .LVU2599 7823 01d6 B3F5404F cmp r3, #49152 7824 01da 33D1 bne .L364 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7825 .loc 1 2949 3 discriminator 56 view .LVU2600 7826 01dc 0823 movs r3, #8 7827 01de 57E7 b .L302 7828 .L338: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7829 .loc 1 2949 3 discriminator 6 view .LVU2601 7830 01e0 0223 movs r3, #2 7831 01e2 55E7 b .L302 7832 .L339: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7833 .loc 1 2949 3 discriminator 13 view .LVU2602 7834 01e4 0223 movs r3, #2 7835 01e6 53E7 b .L302 7836 .L340: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7837 .loc 1 2949 3 discriminator 20 view .LVU2603 7838 01e8 0223 movs r3, #2 7839 01ea 51E7 b .L302 7840 .L341: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7841 .loc 1 2949 3 discriminator 15 view .LVU2604 7842 01ec 0023 movs r3, #0 7843 01ee 4FE7 b .L302 7844 .L342: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7845 .loc 1 2949 3 discriminator 17 view .LVU2605 7846 01f0 1023 movs r3, #16 7847 01f2 4DE7 b .L302 7848 .L343: 7849 01f4 1023 movs r3, #16 7850 01f6 4BE7 b .L302 7851 .L344: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7852 .loc 1 2949 3 discriminator 27 view .LVU2606 ARM GAS /tmp/ccQxTlMj.s page 269 7853 01f8 0223 movs r3, #2 7854 01fa 49E7 b .L302 7855 .L345: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7856 .loc 1 2949 3 discriminator 22 view .LVU2607 7857 01fc 0023 movs r3, #0 7858 01fe 47E7 b .L302 7859 .L346: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7860 .loc 1 2949 3 discriminator 24 view .LVU2608 7861 0200 1023 movs r3, #16 7862 0202 45E7 b .L302 7863 .L347: 7864 0204 1023 movs r3, #16 7865 0206 43E7 b .L302 7866 .L348: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7867 .loc 1 2949 3 discriminator 34 view .LVU2609 7868 0208 0223 movs r3, #2 7869 020a 41E7 b .L302 7870 .L349: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7871 .loc 1 2949 3 discriminator 29 view .LVU2610 7872 020c 0023 movs r3, #0 7873 020e 3FE7 b .L302 7874 .L350: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7875 .loc 1 2949 3 discriminator 31 view .LVU2611 7876 0210 1023 movs r3, #16 7877 0212 3DE7 b .L302 7878 .L351: 7879 0214 1023 movs r3, #16 7880 0216 3BE7 b .L302 7881 .L352: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7882 .loc 1 2949 3 discriminator 41 view .LVU2612 7883 0218 0223 movs r3, #2 7884 021a 39E7 b .L302 7885 .L353: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7886 .loc 1 2949 3 discriminator 36 view .LVU2613 7887 021c 0123 movs r3, #1 7888 021e 37E7 b .L302 7889 .L354: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7890 .loc 1 2949 3 discriminator 38 view .LVU2614 7891 0220 1023 movs r3, #16 7892 0222 35E7 b .L302 7893 .L355: 7894 0224 1023 movs r3, #16 7895 0226 33E7 b .L302 7896 .L356: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7897 .loc 1 2949 3 discriminator 48 view .LVU2615 7898 0228 0223 movs r3, #2 7899 022a 31E7 b .L302 7900 .L357: ARM GAS /tmp/ccQxTlMj.s page 270 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7901 .loc 1 2949 3 discriminator 43 view .LVU2616 7902 022c 0023 movs r3, #0 7903 022e 2FE7 b .L302 7904 .L358: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7905 .loc 1 2949 3 discriminator 45 view .LVU2617 7906 0230 1023 movs r3, #16 7907 0232 2DE7 b .L302 7908 .L359: 7909 0234 1023 movs r3, #16 7910 0236 2BE7 b .L302 7911 .L361: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7912 .loc 1 2949 3 discriminator 55 view .LVU2618 7913 0238 0223 movs r3, #2 7914 023a 29E7 b .L302 7915 .L362: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7916 .loc 1 2949 3 discriminator 50 view .LVU2619 7917 023c 0023 movs r3, #0 7918 023e 27E7 b .L302 7919 .L363: 2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 7920 .loc 1 2949 3 discriminator 52 view .LVU2620 7921 0240 1023 movs r3, #16 7922 0242 25E7 b .L302 7923 .L364: 7924 0244 1023 movs r3, #16 7925 0246 23E7 b .L302 7926 .LVL688: 7927 .L383: 2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 7928 .loc 1 2953 5 is_stmt 1 view .LVU2621 7929 0248 082B cmp r3, #8 7930 024a 5BD8 bhi .L365 7931 024c DFE803F0 tbb [pc, r3] 7932 .L325: 7933 0250 1A .byte (.L329-.L325)/2 7934 0251 34 .byte (.L328-.L325)/2 7935 0252 3A .byte (.L366-.L325)/2 7936 0253 5A .byte (.L365-.L325)/2 7937 0254 37 .byte (.L326-.L325)/2 7938 0255 5A .byte (.L365-.L325)/2 7939 0256 5A .byte (.L365-.L325)/2 7940 0257 5A .byte (.L365-.L325)/2 7941 0258 1E .byte (.L327-.L325)/2 7942 0259 00 .p2align 1 7943 .L385: 7944 025a 00BF .align 2 7945 .L384: 7946 025c F369FFEF .word -268473869 7947 0260 00100140 .word 1073811456 7948 0264 00440040 .word 1073759232 7949 0268 00480040 .word 1073760256 7950 026c 004C0040 .word 1073761280 7951 0270 00500040 .word 1073762304 ARM GAS /tmp/ccQxTlMj.s page 271 7952 0274 00140140 .word 1073812480 7953 0278 00780040 .word 1073772544 7954 027c 007C0040 .word 1073773568 7955 0280 00380240 .word 1073887232 7956 .L329: 2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 7957 .loc 1 2956 9 view .LVU2622 2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 7958 .loc 1 2956 16 is_stmt 0 view .LVU2623 7959 0284 FFF7FEFF bl HAL_RCC_GetPCLK1Freq 7960 .LVL689: 2957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 7961 .loc 1 2957 9 is_stmt 1 view .LVU2624 7962 .L330: 2977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 7963 .loc 1 2977 5 view .LVU2625 2977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 7964 .loc 1 2977 8 is_stmt 0 view .LVU2626 7965 0288 0028 cmp r0, #0 7966 028a 3DD0 beq .L367 7967 .LVL690: 7968 .L327: 2979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 7969 .loc 1 2979 7 is_stmt 1 view .LVU2627 2979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 7970 .loc 1 2979 29 is_stmt 0 view .LVU2628 7971 028c 6268 ldr r2, [r4, #4] 7972 028e 5308 lsrs r3, r2, #1 7973 0290 03EB4003 add r3, r3, r0, lsl #1 2979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 7974 .loc 1 2979 16 view .LVU2629 7975 0294 B3FBF2F3 udiv r3, r3, r2 7976 .LVL691: 2980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 7977 .loc 1 2980 7 is_stmt 1 view .LVU2630 2980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 7978 .loc 1 2980 38 is_stmt 0 view .LVU2631 7979 0298 A3F11001 sub r1, r3, #16 2980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 7980 .loc 1 2980 10 view .LVU2632 7981 029c 4FF6EF72 movw r2, #65519 7982 02a0 9142 cmp r1, r2 7983 02a2 33D8 bhi .L368 2982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 7984 .loc 1 2982 9 is_stmt 1 view .LVU2633 2982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 7985 .loc 1 2982 19 is_stmt 0 view .LVU2634 7986 02a4 9AB2 uxth r2, r3 2982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 7987 .loc 1 2982 17 view .LVU2635 7988 02a6 22F00F02 bic r2, r2, #15 7989 .LVL692: 2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 7990 .loc 1 2983 9 is_stmt 1 view .LVU2636 2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 7991 .loc 1 2983 20 is_stmt 0 view .LVU2637 7992 02aa C3F34203 ubfx r3, r3, #1, #3 ARM GAS /tmp/ccQxTlMj.s page 272 7993 .LVL693: 2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 7994 .loc 1 2983 17 view .LVU2638 7995 02ae 1343 orrs r3, r3, r2 7996 .LVL694: 2984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7997 .loc 1 2984 9 is_stmt 1 view .LVU2639 2984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 7998 .loc 1 2984 14 is_stmt 0 view .LVU2640 7999 02b0 2268 ldr r2, [r4] 2984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8000 .loc 1 2984 30 view .LVU2641 8001 02b2 D360 str r3, [r2, #12] 8002 02b4 0020 movs r0, #0 8003 02b6 30E0 b .L323 8004 .LVL695: 8005 .L328: 2959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8006 .loc 1 2959 9 is_stmt 1 view .LVU2642 2959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8007 .loc 1 2959 16 is_stmt 0 view .LVU2643 8008 02b8 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 8009 .LVL696: 2960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 8010 .loc 1 2960 9 is_stmt 1 view .LVU2644 8011 02bc E4E7 b .L330 8012 .LVL697: 8013 .L326: 2965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8014 .loc 1 2965 9 view .LVU2645 2965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8015 .loc 1 2965 16 is_stmt 0 view .LVU2646 8016 02be FFF7FEFF bl HAL_RCC_GetSysClockFreq 8017 .LVL698: 2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 8018 .loc 1 2966 9 is_stmt 1 view .LVU2647 8019 02c2 E1E7 b .L330 8020 .LVL699: 8021 .L366: 2962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8022 .loc 1 2962 14 is_stmt 0 view .LVU2648 8023 02c4 1748 ldr r0, .L386 8024 02c6 E1E7 b .L327 8025 .L334: 2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8026 .loc 1 2994 5 view .LVU2649 8027 02c8 1648 ldr r0, .L386 8028 02ca 02E0 b .L331 8029 .L336: 2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8030 .loc 1 2997 9 is_stmt 1 view .LVU2650 2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8031 .loc 1 2997 16 is_stmt 0 view .LVU2651 8032 02cc FFF7FEFF bl HAL_RCC_GetPCLK1Freq 8033 .LVL700: 2998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2: 8034 .loc 1 2998 9 is_stmt 1 view .LVU2652 ARM GAS /tmp/ccQxTlMj.s page 273 8035 .L337: 3017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8036 .loc 1 3017 5 view .LVU2653 3017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8037 .loc 1 3017 8 is_stmt 0 view .LVU2654 8038 02d0 00B3 cbz r0, .L371 8039 .LVL701: 8040 .L331: 3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8041 .loc 1 3020 7 is_stmt 1 view .LVU2655 3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8042 .loc 1 3020 29 is_stmt 0 view .LVU2656 8043 02d2 6368 ldr r3, [r4, #4] 8044 02d4 00EB5300 add r0, r0, r3, lsr #1 3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 8045 .loc 1 3020 16 view .LVU2657 8046 02d8 B0FBF3F0 udiv r0, r0, r3 8047 .LVL702: 3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8048 .loc 1 3021 7 is_stmt 1 view .LVU2658 3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8049 .loc 1 3021 38 is_stmt 0 view .LVU2659 8050 02dc A0F11002 sub r2, r0, #16 3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8051 .loc 1 3021 10 view .LVU2660 8052 02e0 4FF6EF73 movw r3, #65519 8053 02e4 9A42 cmp r2, r3 8054 02e6 17D8 bhi .L372 3023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8055 .loc 1 3023 9 is_stmt 1 view .LVU2661 3023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8056 .loc 1 3023 14 is_stmt 0 view .LVU2662 8057 02e8 2368 ldr r3, [r4] 8058 02ea 80B2 uxth r0, r0 8059 .LVL703: 3023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8060 .loc 1 3023 30 view .LVU2663 8061 02ec D860 str r0, [r3, #12] 8062 02ee 0020 movs r0, #0 8063 02f0 13E0 b .L323 8064 .LVL704: 8065 .L335: 3000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8066 .loc 1 3000 9 is_stmt 1 view .LVU2664 3000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8067 .loc 1 3000 16 is_stmt 0 view .LVU2665 8068 02f2 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 8069 .LVL705: 3001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 8070 .loc 1 3001 9 is_stmt 1 view .LVU2666 8071 02f6 EBE7 b .L337 8072 .LVL706: 8073 .L333: 3006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8074 .loc 1 3006 9 view .LVU2667 3006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8075 .loc 1 3006 16 is_stmt 0 view .LVU2668 ARM GAS /tmp/ccQxTlMj.s page 274 8076 02f8 FFF7FEFF bl HAL_RCC_GetSysClockFreq 8077 .LVL707: 3007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 8078 .loc 1 3007 9 is_stmt 1 view .LVU2669 8079 02fc E8E7 b .L337 8080 .LVL708: 8081 .L370: 3009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break; 8082 .loc 1 3009 14 is_stmt 0 view .LVU2670 8083 02fe 4FF40040 mov r0, #32768 8084 0302 E6E7 b .L331 8085 .L365: 2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8086 .loc 1 2953 5 view .LVU2671 8087 0304 0120 movs r0, #1 8088 0306 08E0 b .L323 8089 .LVL709: 8090 .L367: 2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8091 .loc 1 2953 5 view .LVU2672 8092 0308 0020 movs r0, #0 8093 .LVL710: 2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8094 .loc 1 2953 5 view .LVU2673 8095 030a 06E0 b .L323 8096 .LVL711: 8097 .L368: 2988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8098 .loc 1 2988 13 view .LVU2674 8099 030c 0120 movs r0, #1 8100 030e 04E0 b .L323 8101 .LVL712: 8102 .L369: 2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8103 .loc 1 2994 5 view .LVU2675 8104 0310 0120 movs r0, #1 8105 0312 02E0 b .L323 8106 .LVL713: 8107 .L371: 2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8108 .loc 1 2994 5 view .LVU2676 8109 0314 0020 movs r0, #0 8110 .LVL714: 2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8111 .loc 1 2994 5 view .LVU2677 8112 0316 00E0 b .L323 8113 .LVL715: 8114 .L372: 3027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8115 .loc 1 3027 13 view .LVU2678 8116 0318 0120 movs r0, #1 8117 .LVL716: 8118 .L323: 3034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 8119 .loc 1 3034 3 is_stmt 1 view .LVU2679 3034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL; 8120 .loc 1 3034 16 is_stmt 0 view .LVU2680 ARM GAS /tmp/ccQxTlMj.s page 275 8121 031a 0023 movs r3, #0 8122 031c A366 str r3, [r4, #104] 3035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8123 .loc 1 3035 3 is_stmt 1 view .LVU2681 3035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8124 .loc 1 3035 16 is_stmt 0 view .LVU2682 8125 031e E366 str r3, [r4, #108] 3037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8126 .loc 1 3037 3 is_stmt 1 view .LVU2683 3038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8127 .loc 1 3038 1 is_stmt 0 view .LVU2684 8128 0320 10BD pop {r4, pc} 8129 .LVL717: 8130 .L387: 3038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8131 .loc 1 3038 1 view .LVU2685 8132 0322 00BF .align 2 8133 .L386: 8134 0324 0024F400 .word 16000000 8135 .cfi_endproc 8136 .LFE185: 8138 .section .text.UART_AdvFeatureConfig,"ax",%progbits 8139 .align 1 8140 .global UART_AdvFeatureConfig 8141 .syntax unified 8142 .thumb 8143 .thumb_func 8145 UART_AdvFeatureConfig: 8146 .LVL718: 8147 .LFB186: 3046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 8148 .loc 1 3046 1 is_stmt 1 view -0 8149 .cfi_startproc 8150 @ args = 0, pretend = 0, frame = 0 8151 @ frame_needed = 0, uses_anonymous_args = 0 8152 @ link register save eliminated. 3048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8153 .loc 1 3048 3 view .LVU2687 3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8154 .loc 1 3051 3 view .LVU2688 3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8155 .loc 1 3051 7 is_stmt 0 view .LVU2689 8156 0000 436A ldr r3, [r0, #36] 3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8157 .loc 1 3051 6 view .LVU2690 8158 0002 13F0080F tst r3, #8 8159 0006 06D0 beq .L389 3053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 8160 .loc 1 3053 5 is_stmt 1 view .LVU2691 3054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8161 .loc 1 3054 5 view .LVU2692 8162 0008 0268 ldr r2, [r0] 8163 000a 5368 ldr r3, [r2, #4] 8164 000c 23F40043 bic r3, r3, #32768 8165 0010 416B ldr r1, [r0, #52] 8166 0012 0B43 orrs r3, r3, r1 8167 0014 5360 str r3, [r2, #4] ARM GAS /tmp/ccQxTlMj.s page 276 8168 .L389: 3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8169 .loc 1 3058 3 view .LVU2693 3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8170 .loc 1 3058 7 is_stmt 0 view .LVU2694 8171 0016 436A ldr r3, [r0, #36] 3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8172 .loc 1 3058 6 view .LVU2695 8173 0018 13F0010F tst r3, #1 8174 001c 06D0 beq .L390 3060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 8175 .loc 1 3060 5 is_stmt 1 view .LVU2696 3061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8176 .loc 1 3061 5 view .LVU2697 8177 001e 0268 ldr r2, [r0] 8178 0020 5368 ldr r3, [r2, #4] 8179 0022 23F40033 bic r3, r3, #131072 8180 0026 816A ldr r1, [r0, #40] 8181 0028 0B43 orrs r3, r3, r1 8182 002a 5360 str r3, [r2, #4] 8183 .L390: 3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8184 .loc 1 3065 3 view .LVU2698 3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8185 .loc 1 3065 7 is_stmt 0 view .LVU2699 8186 002c 436A ldr r3, [r0, #36] 3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8187 .loc 1 3065 6 view .LVU2700 8188 002e 13F0020F tst r3, #2 8189 0032 06D0 beq .L391 3067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 8190 .loc 1 3067 5 is_stmt 1 view .LVU2701 3068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8191 .loc 1 3068 5 view .LVU2702 8192 0034 0268 ldr r2, [r0] 8193 0036 5368 ldr r3, [r2, #4] 8194 0038 23F48033 bic r3, r3, #65536 8195 003c C16A ldr r1, [r0, #44] 8196 003e 0B43 orrs r3, r3, r1 8197 0040 5360 str r3, [r2, #4] 8198 .L391: 3072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8199 .loc 1 3072 3 view .LVU2703 3072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8200 .loc 1 3072 7 is_stmt 0 view .LVU2704 8201 0042 436A ldr r3, [r0, #36] 3072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8202 .loc 1 3072 6 view .LVU2705 8203 0044 13F0040F tst r3, #4 8204 0048 06D0 beq .L392 3074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 8205 .loc 1 3074 5 is_stmt 1 view .LVU2706 3075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8206 .loc 1 3075 5 view .LVU2707 8207 004a 0268 ldr r2, [r0] 8208 004c 5368 ldr r3, [r2, #4] 8209 004e 23F48023 bic r3, r3, #262144 ARM GAS /tmp/ccQxTlMj.s page 277 8210 0052 016B ldr r1, [r0, #48] 8211 0054 0B43 orrs r3, r3, r1 8212 0056 5360 str r3, [r2, #4] 8213 .L392: 3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8214 .loc 1 3079 3 view .LVU2708 3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8215 .loc 1 3079 7 is_stmt 0 view .LVU2709 8216 0058 436A ldr r3, [r0, #36] 3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8217 .loc 1 3079 6 view .LVU2710 8218 005a 13F0100F tst r3, #16 8219 005e 06D0 beq .L393 3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 8220 .loc 1 3081 5 is_stmt 1 view .LVU2711 3082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8221 .loc 1 3082 5 view .LVU2712 8222 0060 0268 ldr r2, [r0] 8223 0062 9368 ldr r3, [r2, #8] 8224 0064 23F48053 bic r3, r3, #4096 8225 0068 816B ldr r1, [r0, #56] 8226 006a 0B43 orrs r3, r3, r1 8227 006c 9360 str r3, [r2, #8] 8228 .L393: 3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8229 .loc 1 3086 3 view .LVU2713 3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8230 .loc 1 3086 7 is_stmt 0 view .LVU2714 8231 006e 436A ldr r3, [r0, #36] 3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8232 .loc 1 3086 6 view .LVU2715 8233 0070 13F0200F tst r3, #32 8234 0074 06D0 beq .L394 3088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 8235 .loc 1 3088 5 is_stmt 1 view .LVU2716 3089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8236 .loc 1 3089 5 view .LVU2717 8237 0076 0268 ldr r2, [r0] 8238 0078 9368 ldr r3, [r2, #8] 8239 007a 23F40053 bic r3, r3, #8192 8240 007e C16B ldr r1, [r0, #60] 8241 0080 0B43 orrs r3, r3, r1 8242 0082 9360 str r3, [r2, #8] 8243 .L394: 3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8244 .loc 1 3093 3 view .LVU2718 3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8245 .loc 1 3093 7 is_stmt 0 view .LVU2719 8246 0084 436A ldr r3, [r0, #36] 3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8247 .loc 1 3093 6 view .LVU2720 8248 0086 13F0400F tst r3, #64 8249 008a 0AD0 beq .L395 3095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 8250 .loc 1 3095 5 is_stmt 1 view .LVU2721 3096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 8251 .loc 1 3096 5 view .LVU2722 ARM GAS /tmp/ccQxTlMj.s page 278 3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 8252 .loc 1 3097 5 view .LVU2723 8253 008c 0268 ldr r2, [r0] 8254 008e 5368 ldr r3, [r2, #4] 8255 0090 23F48013 bic r3, r3, #1048576 8256 0094 016C ldr r1, [r0, #64] 8257 0096 0B43 orrs r3, r3, r1 8258 0098 5360 str r3, [r2, #4] 3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8259 .loc 1 3099 5 view .LVU2724 3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8260 .loc 1 3099 28 is_stmt 0 view .LVU2725 8261 009a 036C ldr r3, [r0, #64] 3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8262 .loc 1 3099 8 view .LVU2726 8263 009c B3F5801F cmp r3, #1048576 8264 00a0 0BD0 beq .L397 8265 .L395: 3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8266 .loc 1 3107 3 is_stmt 1 view .LVU2727 3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8267 .loc 1 3107 7 is_stmt 0 view .LVU2728 8268 00a2 436A ldr r3, [r0, #36] 3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8269 .loc 1 3107 6 view .LVU2729 8270 00a4 13F0800F tst r3, #128 8271 00a8 06D0 beq .L388 3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 8272 .loc 1 3109 5 is_stmt 1 view .LVU2730 3110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8273 .loc 1 3110 5 view .LVU2731 8274 00aa 0268 ldr r2, [r0] 8275 00ac 5368 ldr r3, [r2, #4] 8276 00ae 23F40023 bic r3, r3, #524288 8277 00b2 816C ldr r1, [r0, #72] 8278 00b4 0B43 orrs r3, r3, r1 8279 00b6 5360 str r3, [r2, #4] 8280 .L388: 3112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8281 .loc 1 3112 1 is_stmt 0 view .LVU2732 8282 00b8 7047 bx lr 8283 .L397: 3101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 8284 .loc 1 3101 7 is_stmt 1 view .LVU2733 3102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8285 .loc 1 3102 7 view .LVU2734 8286 00ba 0268 ldr r2, [r0] 8287 00bc 5368 ldr r3, [r2, #4] 8288 00be 23F4C003 bic r3, r3, #6291456 8289 00c2 416C ldr r1, [r0, #68] 8290 00c4 0B43 orrs r3, r3, r1 8291 00c6 5360 str r3, [r2, #4] 8292 00c8 EBE7 b .L395 8293 .cfi_endproc 8294 .LFE186: 8296 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits 8297 .align 1 ARM GAS /tmp/ccQxTlMj.s page 279 8298 .global UART_WaitOnFlagUntilTimeout 8299 .syntax unified 8300 .thumb 8301 .thumb_func 8303 UART_WaitOnFlagUntilTimeout: 8304 .LVL719: 8305 .LFB188: 3192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Wait until flag is set */ 8306 .loc 1 3192 1 view -0 8307 .cfi_startproc 8308 @ args = 4, pretend = 0, frame = 0 8309 @ frame_needed = 0, uses_anonymous_args = 0 3192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Wait until flag is set */ 8310 .loc 1 3192 1 is_stmt 0 view .LVU2736 8311 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 8312 .LCFI30: 8313 .cfi_def_cfa_offset 32 8314 .cfi_offset 3, -32 8315 .cfi_offset 4, -28 8316 .cfi_offset 5, -24 8317 .cfi_offset 6, -20 8318 .cfi_offset 7, -16 8319 .cfi_offset 8, -12 8320 .cfi_offset 9, -8 8321 .cfi_offset 14, -4 8322 0004 0546 mov r5, r0 8323 0006 0E46 mov r6, r1 8324 0008 1746 mov r7, r2 8325 000a 9946 mov r9, r3 8326 000c DDF82080 ldr r8, [sp, #32] 3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8327 .loc 1 3194 3 is_stmt 1 view .LVU2737 8328 .LVL720: 8329 .L400: 3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8330 .loc 1 3194 59 view .LVU2738 3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8331 .loc 1 3194 11 is_stmt 0 view .LVU2739 8332 0010 2B68 ldr r3, [r5] 8333 0012 DC69 ldr r4, [r3, #28] 3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8334 .loc 1 3194 50 view .LVU2740 8335 0014 36EA0404 bics r4, r6, r4 8336 0018 0CBF ite eq 8337 001a 0124 moveq r4, #1 8338 001c 0024 movne r4, #0 3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8339 .loc 1 3194 59 view .LVU2741 8340 001e BC42 cmp r4, r7 8341 0020 3AD1 bne .L407 3197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8342 .loc 1 3197 5 is_stmt 1 view .LVU2742 3197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8343 .loc 1 3197 8 is_stmt 0 view .LVU2743 8344 0022 B8F1FF3F cmp r8, #-1 8345 0026 F3D0 beq .L400 3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 280 8346 .loc 1 3199 7 is_stmt 1 view .LVU2744 3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8347 .loc 1 3199 13 is_stmt 0 view .LVU2745 8348 0028 FFF7FEFF bl HAL_GetTick 8349 .LVL721: 3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8350 .loc 1 3199 27 discriminator 1 view .LVU2746 8351 002c A0EB0900 sub r0, r0, r9 3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8352 .loc 1 3199 10 discriminator 1 view .LVU2747 8353 0030 4045 cmp r0, r8 8354 0032 34D8 bhi .L404 3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8355 .loc 1 3199 51 discriminator 1 view .LVU2748 8356 0034 B8F1000F cmp r8, #0 8357 0038 33D0 beq .L405 3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8358 .loc 1 3205 7 is_stmt 1 view .LVU2749 3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8359 .loc 1 3205 12 is_stmt 0 view .LVU2750 8360 003a 2B68 ldr r3, [r5] 8361 003c 1A68 ldr r2, [r3] 3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8362 .loc 1 3205 10 view .LVU2751 8363 003e 12F0040F tst r2, #4 8364 0042 E5D0 beq .L400 3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8365 .loc 1 3205 100 discriminator 1 view .LVU2752 8366 0044 B6F14002 subs r2, r6, #64 8367 0048 18BF it ne 8368 004a 0122 movne r2, #1 3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8369 .loc 1 3205 91 discriminator 1 view .LVU2753 8370 004c 802E cmp r6, #128 8371 004e DFD0 beq .L400 8372 0050 002A cmp r2, #0 8373 0052 DDD0 beq .L400 3207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8374 .loc 1 3207 9 is_stmt 1 view .LVU2754 3207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8375 .loc 1 3207 13 is_stmt 0 view .LVU2755 8376 0054 DA69 ldr r2, [r3, #28] 3207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8377 .loc 1 3207 12 view .LVU2756 8378 0056 12F0080F tst r2, #8 8379 005a 11D1 bne .L408 3224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8380 .loc 1 3224 9 is_stmt 1 view .LVU2757 3224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8381 .loc 1 3224 13 is_stmt 0 view .LVU2758 8382 005c DA69 ldr r2, [r3, #28] 3224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8383 .loc 1 3224 12 view .LVU2759 8384 005e 12F4006F tst r2, #2048 8385 0062 D5D0 beq .L400 3227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8386 .loc 1 3227 11 is_stmt 1 view .LVU2760 ARM GAS /tmp/ccQxTlMj.s page 281 8387 0064 4FF40062 mov r2, #2048 8388 0068 1A62 str r2, [r3, #32] 3232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8389 .loc 1 3232 11 view .LVU2761 8390 006a 2846 mov r0, r5 8391 006c FFF7FEFF bl UART_EndRxTransfer 8392 .LVL722: 3234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8393 .loc 1 3234 11 view .LVU2762 3234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8394 .loc 1 3234 28 is_stmt 0 view .LVU2763 8395 0070 2023 movs r3, #32 8396 0072 C5F88430 str r3, [r5, #132] 3237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8397 .loc 1 3237 11 is_stmt 1 view .LVU2764 3237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8398 .loc 1 3237 11 view .LVU2765 8399 0076 0023 movs r3, #0 8400 0078 85F87830 strb r3, [r5, #120] 3237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8401 .loc 1 3237 11 view .LVU2766 3239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8402 .loc 1 3239 11 view .LVU2767 3239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8403 .loc 1 3239 18 is_stmt 0 view .LVU2768 8404 007c 0320 movs r0, #3 8405 007e 0CE0 b .L401 8406 .L408: 3210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8407 .loc 1 3210 11 is_stmt 1 view .LVU2769 8408 0080 0824 movs r4, #8 8409 0082 1C62 str r4, [r3, #32] 3215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8410 .loc 1 3215 11 view .LVU2770 8411 0084 2846 mov r0, r5 8412 0086 FFF7FEFF bl UART_EndRxTransfer 8413 .LVL723: 3217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8414 .loc 1 3217 11 view .LVU2771 3217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8415 .loc 1 3217 28 is_stmt 0 view .LVU2772 8416 008a C5F88440 str r4, [r5, #132] 3220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8417 .loc 1 3220 11 is_stmt 1 view .LVU2773 3220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8418 .loc 1 3220 11 view .LVU2774 8419 008e 0023 movs r3, #0 8420 0090 85F87830 strb r3, [r5, #120] 3220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8421 .loc 1 3220 11 view .LVU2775 3222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8422 .loc 1 3222 11 view .LVU2776 3222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8423 .loc 1 3222 18 is_stmt 0 view .LVU2777 8424 0094 0120 movs r0, #1 8425 0096 00E0 b .L401 8426 .L407: ARM GAS /tmp/ccQxTlMj.s page 282 3244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8427 .loc 1 3244 10 view .LVU2778 8428 0098 0020 movs r0, #0 8429 .L401: 3245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8430 .loc 1 3245 1 view .LVU2779 8431 009a BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 8432 .LVL724: 8433 .L404: 3202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8434 .loc 1 3202 16 view .LVU2780 8435 009e 0320 movs r0, #3 8436 00a0 FBE7 b .L401 8437 .L405: 8438 00a2 0320 movs r0, #3 8439 00a4 F9E7 b .L401 8440 .cfi_endproc 8441 .LFE188: 8443 .section .text.HAL_UART_Transmit,"ax",%progbits 8444 .align 1 8445 .global HAL_UART_Transmit 8446 .syntax unified 8447 .thumb 8448 .thumb_func 8450 HAL_UART_Transmit: 8451 .LVL725: 8452 .LFB148: 1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint8_t *pdata8bits; 8453 .loc 1 1090 1 is_stmt 1 view -0 8454 .cfi_startproc 8455 @ args = 0, pretend = 0, frame = 0 8456 @ frame_needed = 0, uses_anonymous_args = 0 1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint8_t *pdata8bits; 8457 .loc 1 1090 1 is_stmt 0 view .LVU2782 8458 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 8459 .LCFI31: 8460 .cfi_def_cfa_offset 24 8461 .cfi_offset 4, -24 8462 .cfi_offset 5, -20 8463 .cfi_offset 6, -16 8464 .cfi_offset 7, -12 8465 .cfi_offset 8, -8 8466 .cfi_offset 14, -4 8467 0004 82B0 sub sp, sp, #8 8468 .LCFI32: 8469 .cfi_def_cfa_offset 32 8470 0006 1E46 mov r6, r3 1091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint16_t *pdata16bits; 8471 .loc 1 1091 3 is_stmt 1 view .LVU2783 1092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart; 8472 .loc 1 1092 3 view .LVU2784 1093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8473 .loc 1 1093 3 view .LVU2785 1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8474 .loc 1 1096 3 view .LVU2786 1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8475 .loc 1 1096 12 is_stmt 0 view .LVU2787 ARM GAS /tmp/ccQxTlMj.s page 283 8476 0008 C36F ldr r3, [r0, #124] 8477 .LVL726: 1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8478 .loc 1 1096 6 view .LVU2788 8479 000a 202B cmp r3, #32 8480 000c 57D1 bne .L418 8481 000e 0446 mov r4, r0 8482 0010 0D46 mov r5, r1 8483 0012 9046 mov r8, r2 1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8484 .loc 1 1098 5 is_stmt 1 view .LVU2789 1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8485 .loc 1 1098 8 is_stmt 0 view .LVU2790 8486 0014 002A cmp r2, #0 8487 0016 18BF it ne 8488 0018 0029 cmpne r1, #0 8489 001a 01D1 bne .L423 1100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8490 .loc 1 1100 15 view .LVU2791 8491 001c 0120 movs r0, #1 8492 .LVL727: 1100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8493 .loc 1 1100 15 view .LVU2792 8494 001e 4FE0 b .L410 8495 .LVL728: 8496 .L423: 1103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 8497 .loc 1 1103 5 is_stmt 1 view .LVU2793 1103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 8498 .loc 1 1103 22 is_stmt 0 view .LVU2794 8499 0020 0023 movs r3, #0 8500 0022 C0F88430 str r3, [r0, #132] 1104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8501 .loc 1 1104 5 is_stmt 1 view .LVU2795 1104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8502 .loc 1 1104 19 is_stmt 0 view .LVU2796 8503 0026 2123 movs r3, #33 8504 0028 C367 str r3, [r0, #124] 1107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8505 .loc 1 1107 5 is_stmt 1 view .LVU2797 1107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8506 .loc 1 1107 17 is_stmt 0 view .LVU2798 8507 002a FFF7FEFF bl HAL_GetTick 8508 .LVL729: 1107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8509 .loc 1 1107 17 view .LVU2799 8510 002e 0746 mov r7, r0 8511 .LVL730: 1109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size; 8512 .loc 1 1109 5 is_stmt 1 view .LVU2800 1109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size; 8513 .loc 1 1109 24 is_stmt 0 view .LVU2801 8514 0030 A4F85080 strh r8, [r4, #80] @ movhi 1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8515 .loc 1 1110 5 is_stmt 1 view .LVU2802 1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8516 .loc 1 1110 24 is_stmt 0 view .LVU2803 ARM GAS /tmp/ccQxTlMj.s page 284 8517 0034 A4F85280 strh r8, [r4, #82] @ movhi 1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8518 .loc 1 1113 5 is_stmt 1 view .LVU2804 1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8519 .loc 1 1113 21 is_stmt 0 view .LVU2805 8520 0038 A368 ldr r3, [r4, #8] 1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8521 .loc 1 1113 8 view .LVU2806 8522 003a B3F5805F cmp r3, #4096 8523 003e 02D0 beq .L424 1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8524 .loc 1 1121 19 view .LVU2807 8525 0040 4FF00008 mov r8, #0 8526 .LVL731: 1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8527 .loc 1 1121 19 view .LVU2808 8528 0044 15E0 b .L415 8529 .L424: 1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8530 .loc 1 1113 71 discriminator 1 view .LVU2809 8531 0046 2369 ldr r3, [r4, #16] 1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8532 .loc 1 1113 56 discriminator 1 view .LVU2810 8533 0048 3BB3 cbz r3, .L421 1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8534 .loc 1 1121 19 view .LVU2811 8535 004a 4FF00008 mov r8, #0 8536 004e 10E0 b .L415 8537 .LVL732: 8538 .L426: 1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8539 .loc 1 1129 9 is_stmt 1 view .LVU2812 1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8540 .loc 1 1129 23 is_stmt 0 view .LVU2813 8541 0050 2023 movs r3, #32 8542 0052 E367 str r3, [r4, #124] 1131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8543 .loc 1 1131 9 is_stmt 1 view .LVU2814 1131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8544 .loc 1 1131 16 is_stmt 0 view .LVU2815 8545 0054 0320 movs r0, #3 8546 0056 33E0 b .L410 8547 .L427: 1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 8548 .loc 1 1135 9 is_stmt 1 view .LVU2816 1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 8549 .loc 1 1135 43 is_stmt 0 view .LVU2817 8550 0058 38F8023B ldrh r3, [r8], #2 8551 .LVL733: 1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 8552 .loc 1 1135 14 view .LVU2818 8553 005c 2268 ldr r2, [r4] 1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 8554 .loc 1 1135 32 view .LVU2819 8555 005e C3F30803 ubfx r3, r3, #0, #9 1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 8556 .loc 1 1135 30 view .LVU2820 ARM GAS /tmp/ccQxTlMj.s page 285 8557 0062 9362 str r3, [r2, #40] 1136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8558 .loc 1 1136 9 is_stmt 1 view .LVU2821 8559 .LVL734: 8560 .L414: 1143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8561 .loc 1 1143 7 view .LVU2822 1143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8562 .loc 1 1143 12 is_stmt 0 view .LVU2823 8563 0064 B4F85220 ldrh r2, [r4, #82] 8564 0068 92B2 uxth r2, r2 1143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8565 .loc 1 1143 25 view .LVU2824 8566 006a 013A subs r2, r2, #1 8567 006c 92B2 uxth r2, r2 8568 006e A4F85220 strh r2, [r4, #82] @ movhi 8569 .LVL735: 8570 .L415: 1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8571 .loc 1 1124 31 is_stmt 1 view .LVU2825 1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8572 .loc 1 1124 17 is_stmt 0 view .LVU2826 8573 0072 B4F85230 ldrh r3, [r4, #82] 8574 0076 9BB2 uxth r3, r3 1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8575 .loc 1 1124 31 view .LVU2827 8576 0078 93B1 cbz r3, .L425 1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8577 .loc 1 1126 7 is_stmt 1 view .LVU2828 1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8578 .loc 1 1126 11 is_stmt 0 view .LVU2829 8579 007a 0096 str r6, [sp] 8580 007c 3B46 mov r3, r7 8581 007e 0022 movs r2, #0 8582 0080 8021 movs r1, #128 8583 0082 2046 mov r0, r4 8584 0084 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 8585 .LVL736: 1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8586 .loc 1 1126 10 discriminator 1 view .LVU2830 8587 0088 0028 cmp r0, #0 8588 008a E1D1 bne .L426 1133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8589 .loc 1 1133 7 is_stmt 1 view .LVU2831 1133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8590 .loc 1 1133 10 is_stmt 0 view .LVU2832 8591 008c 002D cmp r5, #0 8592 008e E3D0 beq .L427 1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 8593 .loc 1 1140 9 is_stmt 1 view .LVU2833 1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 8594 .loc 1 1140 42 is_stmt 0 view .LVU2834 8595 0090 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2 8596 .LVL737: 1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 8597 .loc 1 1140 14 view .LVU2835 8598 0094 2368 ldr r3, [r4] ARM GAS /tmp/ccQxTlMj.s page 286 1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 8599 .loc 1 1140 30 view .LVU2836 8600 0096 9A62 str r2, [r3, #40] 1141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8601 .loc 1 1141 9 is_stmt 1 view .LVU2837 8602 .LVL738: 1141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8603 .loc 1 1141 9 is_stmt 0 view .LVU2838 8604 0098 E4E7 b .L414 8605 .LVL739: 8606 .L421: 1116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8607 .loc 1 1116 19 view .LVU2839 8608 009a A846 mov r8, r5 1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 8609 .loc 1 1115 19 view .LVU2840 8610 009c 0025 movs r5, #0 8611 .LVL740: 1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData; 8612 .loc 1 1115 19 view .LVU2841 8613 009e E8E7 b .L415 8614 .LVL741: 8615 .L425: 1146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8616 .loc 1 1146 5 is_stmt 1 view .LVU2842 1146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8617 .loc 1 1146 9 is_stmt 0 view .LVU2843 8618 00a0 0096 str r6, [sp] 8619 00a2 3B46 mov r3, r7 8620 00a4 0022 movs r2, #0 8621 00a6 4021 movs r1, #64 8622 00a8 2046 mov r0, r4 8623 00aa FFF7FEFF bl UART_WaitOnFlagUntilTimeout 8624 .LVL742: 1146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8625 .loc 1 1146 8 discriminator 1 view .LVU2844 8626 00ae 10B9 cbnz r0, .L428 1154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8627 .loc 1 1154 5 is_stmt 1 view .LVU2845 1154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8628 .loc 1 1154 19 is_stmt 0 view .LVU2846 8629 00b0 2023 movs r3, #32 8630 00b2 E367 str r3, [r4, #124] 1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8631 .loc 1 1156 5 is_stmt 1 view .LVU2847 1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8632 .loc 1 1156 12 is_stmt 0 view .LVU2848 8633 00b4 04E0 b .L410 8634 .L428: 1148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8635 .loc 1 1148 7 is_stmt 1 view .LVU2849 1148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8636 .loc 1 1148 21 is_stmt 0 view .LVU2850 8637 00b6 2023 movs r3, #32 8638 00b8 E367 str r3, [r4, #124] 1150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8639 .loc 1 1150 7 is_stmt 1 view .LVU2851 ARM GAS /tmp/ccQxTlMj.s page 287 1150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8640 .loc 1 1150 14 is_stmt 0 view .LVU2852 8641 00ba 0320 movs r0, #3 8642 00bc 00E0 b .L410 8643 .LVL743: 8644 .L418: 1160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8645 .loc 1 1160 12 view .LVU2853 8646 00be 0220 movs r0, #2 8647 .LVL744: 8648 .L410: 1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8649 .loc 1 1162 1 view .LVU2854 8650 00c0 02B0 add sp, sp, #8 8651 .LCFI33: 8652 .cfi_def_cfa_offset 24 8653 @ sp needed 8654 00c2 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8655 .loc 1 1162 1 view .LVU2855 8656 .cfi_endproc 8657 .LFE148: 8659 .section .text.HAL_UART_Receive,"ax",%progbits 8660 .align 1 8661 .global HAL_UART_Receive 8662 .syntax unified 8663 .thumb 8664 .thumb_func 8666 HAL_UART_Receive: 8667 .LVL745: 8668 .LFB149: 1176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint8_t *pdata8bits; 8669 .loc 1 1176 1 is_stmt 1 view -0 8670 .cfi_startproc 8671 @ args = 0, pretend = 0, frame = 0 8672 @ frame_needed = 0, uses_anonymous_args = 0 1176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint8_t *pdata8bits; 8673 .loc 1 1176 1 is_stmt 0 view .LVU2857 8674 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 8675 .LCFI34: 8676 .cfi_def_cfa_offset 28 8677 .cfi_offset 4, -28 8678 .cfi_offset 5, -24 8679 .cfi_offset 6, -20 8680 .cfi_offset 7, -16 8681 .cfi_offset 8, -12 8682 .cfi_offset 9, -8 8683 .cfi_offset 14, -4 8684 0004 83B0 sub sp, sp, #12 8685 .LCFI35: 8686 .cfi_def_cfa_offset 40 8687 0006 1E46 mov r6, r3 1177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t *pdata16bits; 8688 .loc 1 1177 3 is_stmt 1 view .LVU2858 1178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhMask; 8689 .loc 1 1178 3 view .LVU2859 1179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart; ARM GAS /tmp/ccQxTlMj.s page 288 8690 .loc 1 1179 3 view .LVU2860 1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8691 .loc 1 1180 3 view .LVU2861 1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8692 .loc 1 1183 3 view .LVU2862 1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8693 .loc 1 1183 12 is_stmt 0 view .LVU2863 8694 0008 D0F88030 ldr r3, [r0, #128] 8695 .LVL746: 1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8696 .loc 1 1183 6 view .LVU2864 8697 000c 202B cmp r3, #32 8698 000e 7ED1 bne .L444 8699 0010 0446 mov r4, r0 8700 0012 0D46 mov r5, r1 8701 0014 9046 mov r8, r2 1185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8702 .loc 1 1185 5 is_stmt 1 view .LVU2865 1185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8703 .loc 1 1185 8 is_stmt 0 view .LVU2866 8704 0016 002A cmp r2, #0 8705 0018 18BF it ne 8706 001a 0029 cmpne r1, #0 8707 001c 01D1 bne .L449 1187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8708 .loc 1 1187 15 view .LVU2867 8709 001e 0120 movs r0, #1 8710 .LVL747: 1187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8711 .loc 1 1187 15 view .LVU2868 8712 0020 76E0 b .L430 8713 .LVL748: 8714 .L449: 1190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 8715 .loc 1 1190 5 is_stmt 1 view .LVU2869 1190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 8716 .loc 1 1190 22 is_stmt 0 view .LVU2870 8717 0022 0023 movs r3, #0 8718 0024 C0F88430 str r3, [r0, #132] 1191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 8719 .loc 1 1191 5 is_stmt 1 view .LVU2871 1191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 8720 .loc 1 1191 20 is_stmt 0 view .LVU2872 8721 0028 2222 movs r2, #34 8722 .LVL749: 1191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 8723 .loc 1 1191 20 view .LVU2873 8724 002a C0F88020 str r2, [r0, #128] 1192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8725 .loc 1 1192 5 is_stmt 1 view .LVU2874 1192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8726 .loc 1 1192 26 is_stmt 0 view .LVU2875 8727 002e 0366 str r3, [r0, #96] 1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8728 .loc 1 1195 5 is_stmt 1 view .LVU2876 1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8729 .loc 1 1195 17 is_stmt 0 view .LVU2877 ARM GAS /tmp/ccQxTlMj.s page 289 8730 0030 FFF7FEFF bl HAL_GetTick 8731 .LVL750: 1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8732 .loc 1 1195 17 view .LVU2878 8733 0034 0746 mov r7, r0 8734 .LVL751: 1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size; 8735 .loc 1 1197 5 is_stmt 1 view .LVU2879 1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size; 8736 .loc 1 1197 24 is_stmt 0 view .LVU2880 8737 0036 A4F85880 strh r8, [r4, #88] @ movhi 1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8738 .loc 1 1198 5 is_stmt 1 view .LVU2881 1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8739 .loc 1 1198 24 is_stmt 0 view .LVU2882 8740 003a A4F85A80 strh r8, [r4, #90] @ movhi 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8741 .loc 1 1201 5 is_stmt 1 view .LVU2883 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8742 .loc 1 1201 5 view .LVU2884 8743 003e A368 ldr r3, [r4, #8] 8744 0040 B3F5805F cmp r3, #4096 8745 0044 06D0 beq .L450 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8746 .loc 1 1201 5 discriminator 2 view .LVU2885 8747 0046 A3B9 cbnz r3, .L434 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8748 .loc 1 1201 5 discriminator 5 view .LVU2886 8749 0048 2269 ldr r2, [r4, #16] 8750 004a 72B9 cbnz r2, .L435 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8751 .loc 1 1201 5 discriminator 7 view .LVU2887 8752 004c FF22 movs r2, #255 8753 004e A4F85C20 strh r2, [r4, #92] @ movhi 8754 0052 14E0 b .L433 8755 .L450: 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8756 .loc 1 1201 5 discriminator 1 view .LVU2888 8757 0054 2269 ldr r2, [r4, #16] 8758 0056 22B9 cbnz r2, .L432 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8759 .loc 1 1201 5 discriminator 3 view .LVU2889 8760 0058 40F2FF12 movw r2, #511 8761 005c A4F85C20 strh r2, [r4, #92] @ movhi 8762 0060 0DE0 b .L433 8763 .L432: 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8764 .loc 1 1201 5 discriminator 4 view .LVU2890 8765 0062 FF22 movs r2, #255 8766 0064 A4F85C20 strh r2, [r4, #92] @ movhi 8767 0068 09E0 b .L433 8768 .L435: 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8769 .loc 1 1201 5 discriminator 8 view .LVU2891 8770 006a 7F22 movs r2, #127 8771 006c A4F85C20 strh r2, [r4, #92] @ movhi 8772 0070 05E0 b .L433 ARM GAS /tmp/ccQxTlMj.s page 290 8773 .L434: 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8774 .loc 1 1201 5 discriminator 6 view .LVU2892 8775 0072 B3F1805F cmp r3, #268435456 8776 0076 0AD0 beq .L451 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8777 .loc 1 1201 5 discriminator 10 view .LVU2893 8778 0078 0022 movs r2, #0 8779 007a A4F85C20 strh r2, [r4, #92] @ movhi 8780 .L433: 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8781 .loc 1 1201 5 discriminator 13 view .LVU2894 1202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8782 .loc 1 1202 5 view .LVU2895 1202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8783 .loc 1 1202 12 is_stmt 0 view .LVU2896 8784 007e B4F85C80 ldrh r8, [r4, #92] 8785 .LVL752: 1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8786 .loc 1 1205 5 is_stmt 1 view .LVU2897 1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8787 .loc 1 1205 8 is_stmt 0 view .LVU2898 8788 0082 B3F5805F cmp r3, #4096 8789 0086 0CD0 beq .L452 1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8790 .loc 1 1213 19 view .LVU2899 8791 0088 4FF00009 mov r9, #0 8792 008c 24E0 b .L439 8793 .LVL753: 8794 .L451: 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8795 .loc 1 1201 5 is_stmt 1 discriminator 9 view .LVU2900 8796 008e 2269 ldr r2, [r4, #16] 8797 0090 1AB9 cbnz r2, .L437 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8798 .loc 1 1201 5 discriminator 11 view .LVU2901 8799 0092 7F22 movs r2, #127 8800 0094 A4F85C20 strh r2, [r4, #92] @ movhi 8801 0098 F1E7 b .L433 8802 .L437: 1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask; 8803 .loc 1 1201 5 discriminator 12 view .LVU2902 8804 009a 3F22 movs r2, #63 8805 009c A4F85C20 strh r2, [r4, #92] @ movhi 8806 00a0 EDE7 b .L433 8807 .LVL754: 8808 .L452: 1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8809 .loc 1 1205 71 is_stmt 0 discriminator 1 view .LVU2903 8810 00a2 2369 ldr r3, [r4, #16] 1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8811 .loc 1 1205 56 discriminator 1 view .LVU2904 8812 00a4 13B1 cbz r3, .L447 1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8813 .loc 1 1213 19 view .LVU2905 8814 00a6 4FF00009 mov r9, #0 8815 00aa 15E0 b .L439 ARM GAS /tmp/ccQxTlMj.s page 291 8816 .L447: 1208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8817 .loc 1 1208 19 view .LVU2906 8818 00ac A946 mov r9, r5 1207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 8819 .loc 1 1207 19 view .LVU2907 8820 00ae 0025 movs r5, #0 8821 .LVL755: 1207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 8822 .loc 1 1207 19 view .LVU2908 8823 00b0 12E0 b .L439 8824 .LVL756: 8825 .L454: 1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8826 .loc 1 1221 9 is_stmt 1 view .LVU2909 1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8827 .loc 1 1221 24 is_stmt 0 view .LVU2910 8828 00b2 2023 movs r3, #32 8829 00b4 C4F88030 str r3, [r4, #128] 1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8830 .loc 1 1223 9 is_stmt 1 view .LVU2911 1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8831 .loc 1 1223 16 is_stmt 0 view .LVU2912 8832 00b8 0320 movs r0, #3 8833 00ba 29E0 b .L430 8834 .L441: 1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 8835 .loc 1 1232 9 is_stmt 1 view .LVU2913 1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 8836 .loc 1 1232 38 is_stmt 0 view .LVU2914 8837 00bc 2368 ldr r3, [r4] 1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 8838 .loc 1 1232 48 view .LVU2915 8839 00be 5A6A ldr r2, [r3, #36] 1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 8840 .loc 1 1232 56 view .LVU2916 8841 00c0 5FFA88F3 uxtb r3, r8 1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 8842 .loc 1 1232 23 view .LVU2917 8843 00c4 1340 ands r3, r3, r2 1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++; 8844 .loc 1 1232 21 view .LVU2918 8845 00c6 05F8013B strb r3, [r5], #1 8846 .LVL757: 1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8847 .loc 1 1233 9 is_stmt 1 view .LVU2919 8848 .L442: 1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8849 .loc 1 1235 7 view .LVU2920 1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8850 .loc 1 1235 12 is_stmt 0 view .LVU2921 8851 00ca B4F85A20 ldrh r2, [r4, #90] 8852 00ce 92B2 uxth r2, r2 1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8853 .loc 1 1235 25 view .LVU2922 8854 00d0 013A subs r2, r2, #1 8855 00d2 92B2 uxth r2, r2 ARM GAS /tmp/ccQxTlMj.s page 292 8856 00d4 A4F85A20 strh r2, [r4, #90] @ movhi 8857 .LVL758: 8858 .L439: 1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8859 .loc 1 1217 31 is_stmt 1 view .LVU2923 1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8860 .loc 1 1217 17 is_stmt 0 view .LVU2924 8861 00d8 B4F85A30 ldrh r3, [r4, #90] 8862 00dc 9BB2 uxth r3, r3 1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8863 .loc 1 1217 31 view .LVU2925 8864 00de 8BB1 cbz r3, .L453 1219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8865 .loc 1 1219 7 is_stmt 1 view .LVU2926 1219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8866 .loc 1 1219 11 is_stmt 0 view .LVU2927 8867 00e0 0096 str r6, [sp] 8868 00e2 3B46 mov r3, r7 8869 00e4 0022 movs r2, #0 8870 00e6 2021 movs r1, #32 8871 00e8 2046 mov r0, r4 8872 00ea FFF7FEFF bl UART_WaitOnFlagUntilTimeout 8873 .LVL759: 1219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8874 .loc 1 1219 10 discriminator 1 view .LVU2928 8875 00ee 0028 cmp r0, #0 8876 00f0 DFD1 bne .L454 1225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8877 .loc 1 1225 7 is_stmt 1 view .LVU2929 1225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8878 .loc 1 1225 10 is_stmt 0 view .LVU2930 8879 00f2 002D cmp r5, #0 8880 00f4 E2D1 bne .L441 1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 8881 .loc 1 1227 9 is_stmt 1 view .LVU2931 1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 8882 .loc 1 1227 40 is_stmt 0 view .LVU2932 8883 00f6 2368 ldr r3, [r4] 1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 8884 .loc 1 1227 50 view .LVU2933 8885 00f8 5B6A ldr r3, [r3, #36] 1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 8886 .loc 1 1227 24 view .LVU2934 8887 00fa 08EA0303 and r3, r8, r3 1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++; 8888 .loc 1 1227 22 view .LVU2935 8889 00fe 29F8023B strh r3, [r9], #2 @ movhi 8890 .LVL760: 1228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8891 .loc 1 1228 9 is_stmt 1 view .LVU2936 1228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8892 .loc 1 1228 9 is_stmt 0 view .LVU2937 8893 0102 E2E7 b .L442 8894 .L453: 1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8895 .loc 1 1239 5 is_stmt 1 view .LVU2938 1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 293 8896 .loc 1 1239 20 is_stmt 0 view .LVU2939 8897 0104 2023 movs r3, #32 8898 0106 C4F88030 str r3, [r4, #128] 1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8899 .loc 1 1241 5 is_stmt 1 view .LVU2940 1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8900 .loc 1 1241 12 is_stmt 0 view .LVU2941 8901 010a 0020 movs r0, #0 8902 010c 00E0 b .L430 8903 .LVL761: 8904 .L444: 1245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8905 .loc 1 1245 12 view .LVU2942 8906 010e 0220 movs r0, #2 8907 .LVL762: 8908 .L430: 1247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8909 .loc 1 1247 1 view .LVU2943 8910 0110 03B0 add sp, sp, #12 8911 .LCFI36: 8912 .cfi_def_cfa_offset 28 8913 @ sp needed 8914 0112 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 1247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8915 .loc 1 1247 1 view .LVU2944 8916 .cfi_endproc 8917 .LFE149: 8919 .section .text.UART_CheckIdleState,"ax",%progbits 8920 .align 1 8921 .global UART_CheckIdleState 8922 .syntax unified 8923 .thumb 8924 .thumb_func 8926 UART_CheckIdleState: 8927 .LVL763: 8928 .LFB187: 3120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart; 8929 .loc 1 3120 1 is_stmt 1 view -0 8930 .cfi_startproc 8931 @ args = 0, pretend = 0, frame = 0 8932 @ frame_needed = 0, uses_anonymous_args = 0 3120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart; 8933 .loc 1 3120 1 is_stmt 0 view .LVU2946 8934 0000 30B5 push {r4, r5, lr} 8935 .LCFI37: 8936 .cfi_def_cfa_offset 12 8937 .cfi_offset 4, -12 8938 .cfi_offset 5, -8 8939 .cfi_offset 14, -4 8940 0002 83B0 sub sp, sp, #12 8941 .LCFI38: 8942 .cfi_def_cfa_offset 24 8943 0004 0446 mov r4, r0 3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8944 .loc 1 3121 3 is_stmt 1 view .LVU2947 3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8945 .loc 1 3124 3 view .LVU2948 ARM GAS /tmp/ccQxTlMj.s page 294 3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8946 .loc 1 3124 20 is_stmt 0 view .LVU2949 8947 0006 0023 movs r3, #0 8948 0008 C0F88430 str r3, [r0, #132] 3127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8949 .loc 1 3127 3 is_stmt 1 view .LVU2950 3127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8950 .loc 1 3127 15 is_stmt 0 view .LVU2951 8951 000c FFF7FEFF bl HAL_GetTick 8952 .LVL764: 3127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8953 .loc 1 3127 15 view .LVU2952 8954 0010 0546 mov r5, r0 8955 .LVL765: 3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8956 .loc 1 3130 3 is_stmt 1 view .LVU2953 3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8957 .loc 1 3130 13 is_stmt 0 view .LVU2954 8958 0012 2268 ldr r2, [r4] 3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8959 .loc 1 3130 23 view .LVU2955 8960 0014 1268 ldr r2, [r2] 3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8961 .loc 1 3130 6 view .LVU2956 8962 0016 12F0080F tst r2, #8 8963 001a 0FD1 bne .L463 8964 .LVL766: 8965 .L456: 3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8966 .loc 1 3149 3 is_stmt 1 view .LVU2957 3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8967 .loc 1 3149 13 is_stmt 0 view .LVU2958 8968 001c 2368 ldr r3, [r4] 3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8969 .loc 1 3149 23 view .LVU2959 8970 001e 1B68 ldr r3, [r3] 3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 8971 .loc 1 3149 6 view .LVU2960 8972 0020 13F0040F tst r3, #4 8973 0024 26D1 bne .L464 8974 .L459: 3170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 8975 .loc 1 3170 3 is_stmt 1 view .LVU2961 3170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 8976 .loc 1 3170 17 is_stmt 0 view .LVU2962 8977 0026 2023 movs r3, #32 8978 0028 E367 str r3, [r4, #124] 3171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 8979 .loc 1 3171 3 is_stmt 1 view .LVU2963 3171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 8980 .loc 1 3171 18 is_stmt 0 view .LVU2964 8981 002a C4F88030 str r3, [r4, #128] 3172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 8982 .loc 1 3172 3 is_stmt 1 view .LVU2965 3172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC; 8983 .loc 1 3172 24 is_stmt 0 view .LVU2966 8984 002e 0020 movs r0, #0 ARM GAS /tmp/ccQxTlMj.s page 295 8985 0030 2066 str r0, [r4, #96] 3173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8986 .loc 1 3173 3 is_stmt 1 view .LVU2967 3173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8987 .loc 1 3173 22 is_stmt 0 view .LVU2968 8988 0032 6066 str r0, [r4, #100] 3175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8989 .loc 1 3175 3 is_stmt 1 view .LVU2969 3175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8990 .loc 1 3175 3 view .LVU2970 8991 0034 84F87800 strb r0, [r4, #120] 3175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8992 .loc 1 3175 3 view .LVU2971 3177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 8993 .loc 1 3177 3 view .LVU2972 8994 .L458: 3178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8995 .loc 1 3178 1 is_stmt 0 view .LVU2973 8996 0038 03B0 add sp, sp, #12 8997 .LCFI39: 8998 .cfi_remember_state 8999 .cfi_def_cfa_offset 12 9000 @ sp needed 9001 003a 30BD pop {r4, r5, pc} 9002 .LVL767: 9003 .L463: 9004 .LCFI40: 9005 .cfi_restore_state 3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9006 .loc 1 3133 5 is_stmt 1 view .LVU2974 3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9007 .loc 1 3133 9 is_stmt 0 view .LVU2975 9008 003c 6FF07E43 mvn r3, #-33554432 9009 0040 0093 str r3, [sp] 9010 0042 0346 mov r3, r0 9011 0044 0022 movs r2, #0 9012 0046 4FF40011 mov r1, #2097152 9013 004a 2046 mov r0, r4 9014 .LVL768: 3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9015 .loc 1 3133 9 view .LVU2976 9016 004c FFF7FEFF bl UART_WaitOnFlagUntilTimeout 9017 .LVL769: 3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9018 .loc 1 3133 8 discriminator 1 view .LVU2977 9019 0050 0028 cmp r0, #0 9020 0052 E3D0 beq .L456 9021 .L457: 3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9022 .loc 1 3136 7 is_stmt 1 discriminator 1 view .LVU2978 9023 .LBB762: 3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9024 .loc 1 3136 7 discriminator 1 view .LVU2979 3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9025 .loc 1 3136 7 discriminator 1 view .LVU2980 3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9026 .loc 1 3136 7 discriminator 1 view .LVU2981 ARM GAS /tmp/ccQxTlMj.s page 296 9027 0054 2268 ldr r2, [r4] 9028 .LVL770: 9029 .LBB763: 9030 .LBI763: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9031 .loc 2 1068 31 view .LVU2982 9032 .LBB764: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9033 .loc 2 1070 5 view .LVU2983 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9034 .loc 2 1072 4 view .LVU2984 9035 .syntax unified 9036 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9037 0056 52E8003F ldrex r3, [r2] 9038 @ 0 "" 2 9039 .LVL771: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9040 .loc 2 1073 4 view .LVU2985 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9041 .loc 2 1073 4 is_stmt 0 view .LVU2986 9042 .thumb 9043 .syntax unified 9044 .LBE764: 9045 .LBE763: 3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9046 .loc 1 3136 7 discriminator 1 view .LVU2987 9047 005a 23F08003 bic r3, r3, #128 9048 .LVL772: 3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9049 .loc 1 3136 7 is_stmt 1 discriminator 1 view .LVU2988 9050 .LBB765: 9051 .LBI765: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9052 .loc 2 1119 31 view .LVU2989 9053 .LBB766: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9054 .loc 2 1121 4 view .LVU2990 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9055 .loc 2 1123 4 view .LVU2991 9056 .syntax unified 9057 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9058 005e 42E80031 strex r1, r3, [r2] 9059 @ 0 "" 2 9060 .LVL773: 9061 .loc 2 1124 4 view .LVU2992 9062 .loc 2 1124 4 is_stmt 0 view .LVU2993 9063 .thumb 9064 .syntax unified 9065 .LBE766: 9066 .LBE765: 3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9067 .loc 1 3136 7 discriminator 1 view .LVU2994 9068 0062 0029 cmp r1, #0 9069 0064 F6D1 bne .L457 9070 .LBE762: 3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9071 .loc 1 3136 7 is_stmt 1 discriminator 2 view .LVU2995 ARM GAS /tmp/ccQxTlMj.s page 297 3138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9072 .loc 1 3138 7 view .LVU2996 3138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9073 .loc 1 3138 21 is_stmt 0 view .LVU2997 9074 0066 2023 movs r3, #32 9075 .LVL774: 3138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9076 .loc 1 3138 21 view .LVU2998 9077 0068 E367 str r3, [r4, #124] 3140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9078 .loc 1 3140 7 is_stmt 1 view .LVU2999 3140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9079 .loc 1 3140 7 view .LVU3000 9080 006a 0023 movs r3, #0 9081 006c 84F87830 strb r3, [r4, #120] 3140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9082 .loc 1 3140 7 view .LVU3001 3143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9083 .loc 1 3143 7 view .LVU3002 3143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9084 .loc 1 3143 14 is_stmt 0 view .LVU3003 9085 0070 0320 movs r0, #3 9086 0072 E1E7 b .L458 9087 .LVL775: 9088 .L464: 3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9089 .loc 1 3152 5 is_stmt 1 view .LVU3004 3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9090 .loc 1 3152 9 is_stmt 0 view .LVU3005 9091 0074 6FF07E43 mvn r3, #-33554432 9092 0078 0093 str r3, [sp] 9093 007a 2B46 mov r3, r5 9094 007c 0022 movs r2, #0 9095 007e 4FF48001 mov r1, #4194304 9096 0082 2046 mov r0, r4 9097 0084 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 9098 .LVL776: 3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9099 .loc 1 3152 8 discriminator 1 view .LVU3006 9100 0088 0028 cmp r0, #0 9101 008a CCD0 beq .L459 9102 .L460: 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9103 .loc 1 3156 7 is_stmt 1 discriminator 1 view .LVU3007 9104 .LBB767: 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9105 .loc 1 3156 7 discriminator 1 view .LVU3008 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9106 .loc 1 3156 7 discriminator 1 view .LVU3009 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9107 .loc 1 3156 7 discriminator 1 view .LVU3010 9108 008c 2268 ldr r2, [r4] 9109 .LVL777: 9110 .LBB768: 9111 .LBI768: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9112 .loc 2 1068 31 view .LVU3011 ARM GAS /tmp/ccQxTlMj.s page 298 9113 .LBB769: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9114 .loc 2 1070 5 view .LVU3012 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9115 .loc 2 1072 4 view .LVU3013 9116 .syntax unified 9117 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9118 008e 52E8003F ldrex r3, [r2] 9119 @ 0 "" 2 9120 .LVL778: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9121 .loc 2 1073 4 view .LVU3014 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9122 .loc 2 1073 4 is_stmt 0 view .LVU3015 9123 .thumb 9124 .syntax unified 9125 .LBE769: 9126 .LBE768: 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9127 .loc 1 3156 7 discriminator 1 view .LVU3016 9128 0092 23F49073 bic r3, r3, #288 9129 .LVL779: 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9130 .loc 1 3156 7 is_stmt 1 discriminator 1 view .LVU3017 9131 .LBB770: 9132 .LBI770: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9133 .loc 2 1119 31 view .LVU3018 9134 .LBB771: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9135 .loc 2 1121 4 view .LVU3019 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9136 .loc 2 1123 4 view .LVU3020 9137 .syntax unified 9138 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9139 0096 42E80031 strex r1, r3, [r2] 9140 @ 0 "" 2 9141 .LVL780: 9142 .loc 2 1124 4 view .LVU3021 9143 .loc 2 1124 4 is_stmt 0 view .LVU3022 9144 .thumb 9145 .syntax unified 9146 .LBE771: 9147 .LBE770: 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9148 .loc 1 3156 7 discriminator 1 view .LVU3023 9149 009a 0029 cmp r1, #0 9150 009c F6D1 bne .L460 9151 .LVL781: 9152 .L461: 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9153 .loc 1 3156 7 discriminator 1 view .LVU3024 9154 .LBE767: 3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 9155 .loc 1 3156 7 is_stmt 1 discriminator 2 view .LVU3025 3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9156 .loc 1 3157 7 discriminator 1 view .LVU3026 ARM GAS /tmp/ccQxTlMj.s page 299 9157 .LBB772: 3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9158 .loc 1 3157 7 discriminator 1 view .LVU3027 3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9159 .loc 1 3157 7 discriminator 1 view .LVU3028 3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9160 .loc 1 3157 7 discriminator 1 view .LVU3029 9161 009e 2268 ldr r2, [r4] 9162 .LVL782: 9163 .LBB773: 9164 .LBI773: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9165 .loc 2 1068 31 view .LVU3030 9166 .LBB774: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9167 .loc 2 1070 5 view .LVU3031 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9168 .loc 2 1072 4 view .LVU3032 9169 00a0 02F10803 add r3, r2, #8 9170 .LVL783: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9171 .loc 2 1072 4 is_stmt 0 view .LVU3033 9172 .syntax unified 9173 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9174 00a4 53E8003F ldrex r3, [r3] 9175 @ 0 "" 2 9176 .LVL784: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9177 .loc 2 1073 4 is_stmt 1 view .LVU3034 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9178 .loc 2 1073 4 is_stmt 0 view .LVU3035 9179 .thumb 9180 .syntax unified 9181 .LBE774: 9182 .LBE773: 3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9183 .loc 1 3157 7 discriminator 1 view .LVU3036 9184 00a8 23F00103 bic r3, r3, #1 9185 .LVL785: 3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9186 .loc 1 3157 7 is_stmt 1 discriminator 1 view .LVU3037 9187 .LBB775: 9188 .LBI775: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9189 .loc 2 1119 31 view .LVU3038 9190 .LBB776: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9191 .loc 2 1121 4 view .LVU3039 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9192 .loc 2 1123 4 view .LVU3040 9193 00ac 0832 adds r2, r2, #8 9194 .LVL786: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9195 .loc 2 1123 4 is_stmt 0 view .LVU3041 9196 .syntax unified 9197 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9198 00ae 42E80031 strex r1, r3, [r2] ARM GAS /tmp/ccQxTlMj.s page 300 9199 @ 0 "" 2 9200 .LVL787: 9201 .loc 2 1124 4 is_stmt 1 view .LVU3042 9202 .loc 2 1124 4 is_stmt 0 view .LVU3043 9203 .thumb 9204 .syntax unified 9205 .LBE776: 9206 .LBE775: 3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9207 .loc 1 3157 7 discriminator 1 view .LVU3044 9208 00b2 0029 cmp r1, #0 9209 00b4 F3D1 bne .L461 9210 .LBE772: 3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9211 .loc 1 3157 7 is_stmt 1 discriminator 2 view .LVU3045 3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9212 .loc 1 3159 7 view .LVU3046 3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9213 .loc 1 3159 22 is_stmt 0 view .LVU3047 9214 00b6 2023 movs r3, #32 9215 .LVL788: 3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9216 .loc 1 3159 22 view .LVU3048 9217 00b8 C4F88030 str r3, [r4, #128] 3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9218 .loc 1 3161 7 is_stmt 1 view .LVU3049 3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9219 .loc 1 3161 7 view .LVU3050 9220 00bc 0023 movs r3, #0 9221 00be 84F87830 strb r3, [r4, #120] 3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9222 .loc 1 3161 7 view .LVU3051 3164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9223 .loc 1 3164 7 view .LVU3052 3164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9224 .loc 1 3164 14 is_stmt 0 view .LVU3053 9225 00c2 0320 movs r0, #3 9226 00c4 B8E7 b .L458 9227 .cfi_endproc 9228 .LFE187: 9230 .section .text.HAL_UART_Init,"ax",%progbits 9231 .align 1 9232 .global HAL_UART_Init 9233 .syntax unified 9234 .thumb 9235 .thumb_func 9237 HAL_UART_Init: 9238 .LVL789: 9239 .LFB141: 290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 9240 .loc 1 290 1 is_stmt 1 view -0 9241 .cfi_startproc 9242 @ args = 0, pretend = 0, frame = 0 9243 @ frame_needed = 0, uses_anonymous_args = 0 292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9244 .loc 1 292 3 view .LVU3055 292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 301 9245 .loc 1 292 6 is_stmt 0 view .LVU3056 9246 0000 68B3 cbz r0, .L469 290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 9247 .loc 1 290 1 view .LVU3057 9248 0002 10B5 push {r4, lr} 9249 .LCFI41: 9250 .cfi_def_cfa_offset 8 9251 .cfi_offset 4, -8 9252 .cfi_offset 14, -4 9253 0004 0446 mov r4, r0 297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9254 .loc 1 297 3 is_stmt 1 view .LVU3058 300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9255 .loc 1 300 5 view .LVU3059 305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9256 .loc 1 305 5 view .LVU3060 308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9257 .loc 1 308 3 view .LVU3061 308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9258 .loc 1 308 12 is_stmt 0 view .LVU3062 9259 0006 C36F ldr r3, [r0, #124] 308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9260 .loc 1 308 6 view .LVU3063 9261 0008 03B3 cbz r3, .L474 9262 .LVL790: 9263 .L467: 329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9264 .loc 1 329 3 is_stmt 1 view .LVU3064 329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9265 .loc 1 329 17 is_stmt 0 view .LVU3065 9266 000a 2423 movs r3, #36 9267 000c E367 str r3, [r4, #124] 331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9268 .loc 1 331 3 is_stmt 1 view .LVU3066 9269 000e 2268 ldr r2, [r4] 9270 0010 1368 ldr r3, [r2] 9271 0012 23F00103 bic r3, r3, #1 9272 0016 1360 str r3, [r2] 335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9273 .loc 1 335 3 view .LVU3067 335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9274 .loc 1 335 26 is_stmt 0 view .LVU3068 9275 0018 636A ldr r3, [r4, #36] 335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9276 .loc 1 335 6 view .LVU3069 9277 001a E3B9 cbnz r3, .L475 9278 .L468: 341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9279 .loc 1 341 3 is_stmt 1 view .LVU3070 341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9280 .loc 1 341 7 is_stmt 0 view .LVU3071 9281 001c 2046 mov r0, r4 9282 001e FFF7FEFF bl UART_SetConfig 9283 .LVL791: 341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9284 .loc 1 341 6 discriminator 1 view .LVU3072 9285 0022 0128 cmp r0, #1 ARM GAS /tmp/ccQxTlMj.s page 302 9286 0024 11D0 beq .L466 349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 9287 .loc 1 349 3 is_stmt 1 view .LVU3073 9288 0026 2268 ldr r2, [r4] 9289 0028 5368 ldr r3, [r2, #4] 9290 002a 23F49043 bic r3, r3, #18432 9291 002e 5360 str r3, [r2, #4] 350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9292 .loc 1 350 3 view .LVU3074 9293 0030 2268 ldr r2, [r4] 9294 0032 9368 ldr r3, [r2, #8] 9295 0034 23F02A03 bic r3, r3, #42 9296 0038 9360 str r3, [r2, #8] 352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9297 .loc 1 352 3 view .LVU3075 9298 003a 2268 ldr r2, [r4] 9299 003c 1368 ldr r3, [r2] 9300 003e 43F00103 orr r3, r3, #1 9301 0042 1360 str r3, [r2] 355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9302 .loc 1 355 3 view .LVU3076 355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9303 .loc 1 355 11 is_stmt 0 view .LVU3077 9304 0044 2046 mov r0, r4 9305 0046 FFF7FEFF bl UART_CheckIdleState 9306 .LVL792: 9307 .L466: 356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9308 .loc 1 356 1 view .LVU3078 9309 004a 10BD pop {r4, pc} 9310 .LVL793: 9311 .L474: 311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9312 .loc 1 311 5 is_stmt 1 view .LVU3079 311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9313 .loc 1 311 17 is_stmt 0 view .LVU3080 9314 004c 80F87830 strb r3, [r0, #120] 325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9315 .loc 1 325 5 is_stmt 1 view .LVU3081 9316 0050 FFF7FEFF bl HAL_UART_MspInit 9317 .LVL794: 325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9318 .loc 1 325 5 is_stmt 0 view .LVU3082 9319 0054 D9E7 b .L467 9320 .L475: 337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9321 .loc 1 337 5 is_stmt 1 view .LVU3083 9322 0056 2046 mov r0, r4 9323 0058 FFF7FEFF bl UART_AdvFeatureConfig 9324 .LVL795: 9325 005c DEE7 b .L468 9326 .LVL796: 9327 .L469: 9328 .LCFI42: 9329 .cfi_def_cfa_offset 0 9330 .cfi_restore 4 9331 .cfi_restore 14 ARM GAS /tmp/ccQxTlMj.s page 303 294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9332 .loc 1 294 12 is_stmt 0 view .LVU3084 9333 005e 0120 movs r0, #1 9334 .LVL797: 356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9335 .loc 1 356 1 view .LVU3085 9336 0060 7047 bx lr 9337 .cfi_endproc 9338 .LFE141: 9340 .section .text.HAL_HalfDuplex_Init,"ax",%progbits 9341 .align 1 9342 .global HAL_HalfDuplex_Init 9343 .syntax unified 9344 .thumb 9345 .thumb_func 9347 HAL_HalfDuplex_Init: 9348 .LVL798: 9349 .LFB142: 365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 9350 .loc 1 365 1 is_stmt 1 view -0 9351 .cfi_startproc 9352 @ args = 0, pretend = 0, frame = 0 9353 @ frame_needed = 0, uses_anonymous_args = 0 367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9354 .loc 1 367 3 view .LVU3087 367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9355 .loc 1 367 6 is_stmt 0 view .LVU3088 9356 0000 0028 cmp r0, #0 9357 0002 32D0 beq .L480 365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 9358 .loc 1 365 1 view .LVU3089 9359 0004 10B5 push {r4, lr} 9360 .LCFI43: 9361 .cfi_def_cfa_offset 8 9362 .cfi_offset 4, -8 9363 .cfi_offset 14, -4 9364 0006 0446 mov r4, r0 373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9365 .loc 1 373 3 is_stmt 1 view .LVU3090 375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9366 .loc 1 375 3 view .LVU3091 375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9367 .loc 1 375 12 is_stmt 0 view .LVU3092 9368 0008 C36F ldr r3, [r0, #124] 375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9369 .loc 1 375 6 view .LVU3093 9370 000a 2BB3 cbz r3, .L485 9371 .LVL799: 9372 .L478: 396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9373 .loc 1 396 3 is_stmt 1 view .LVU3094 396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9374 .loc 1 396 17 is_stmt 0 view .LVU3095 9375 000c 2423 movs r3, #36 9376 000e E367 str r3, [r4, #124] 398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9377 .loc 1 398 3 is_stmt 1 view .LVU3096 ARM GAS /tmp/ccQxTlMj.s page 304 9378 0010 2268 ldr r2, [r4] 9379 0012 1368 ldr r3, [r2] 9380 0014 23F00103 bic r3, r3, #1 9381 0018 1360 str r3, [r2] 402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9382 .loc 1 402 3 view .LVU3097 402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9383 .loc 1 402 26 is_stmt 0 view .LVU3098 9384 001a 636A ldr r3, [r4, #36] 402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9385 .loc 1 402 6 view .LVU3099 9386 001c 0BBB cbnz r3, .L486 9387 .L479: 408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9388 .loc 1 408 3 is_stmt 1 view .LVU3100 408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9389 .loc 1 408 7 is_stmt 0 view .LVU3101 9390 001e 2046 mov r0, r4 9391 0020 FFF7FEFF bl UART_SetConfig 9392 .LVL800: 408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9393 .loc 1 408 6 discriminator 1 view .LVU3102 9394 0024 0128 cmp r0, #1 9395 0026 16D0 beq .L477 416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 9396 .loc 1 416 3 is_stmt 1 view .LVU3103 9397 0028 2268 ldr r2, [r4] 9398 002a 5368 ldr r3, [r2, #4] 9399 002c 23F49043 bic r3, r3, #18432 9400 0030 5360 str r3, [r2, #4] 417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9401 .loc 1 417 3 view .LVU3104 9402 0032 2268 ldr r2, [r4] 9403 0034 9368 ldr r3, [r2, #8] 9404 0036 23F02203 bic r3, r3, #34 9405 003a 9360 str r3, [r2, #8] 420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9406 .loc 1 420 3 view .LVU3105 9407 003c 2268 ldr r2, [r4] 9408 003e 9368 ldr r3, [r2, #8] 9409 0040 43F00803 orr r3, r3, #8 9410 0044 9360 str r3, [r2, #8] 422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9411 .loc 1 422 3 view .LVU3106 9412 0046 2268 ldr r2, [r4] 9413 0048 1368 ldr r3, [r2] 9414 004a 43F00103 orr r3, r3, #1 9415 004e 1360 str r3, [r2] 425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9416 .loc 1 425 3 view .LVU3107 425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9417 .loc 1 425 11 is_stmt 0 view .LVU3108 9418 0050 2046 mov r0, r4 9419 0052 FFF7FEFF bl UART_CheckIdleState 9420 .LVL801: 9421 .L477: 426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 305 9422 .loc 1 426 1 view .LVU3109 9423 0056 10BD pop {r4, pc} 9424 .LVL802: 9425 .L485: 378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9426 .loc 1 378 5 is_stmt 1 view .LVU3110 378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9427 .loc 1 378 17 is_stmt 0 view .LVU3111 9428 0058 80F87830 strb r3, [r0, #120] 392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9429 .loc 1 392 5 is_stmt 1 view .LVU3112 9430 005c FFF7FEFF bl HAL_UART_MspInit 9431 .LVL803: 392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9432 .loc 1 392 5 is_stmt 0 view .LVU3113 9433 0060 D4E7 b .L478 9434 .L486: 404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9435 .loc 1 404 5 is_stmt 1 view .LVU3114 9436 0062 2046 mov r0, r4 9437 0064 FFF7FEFF bl UART_AdvFeatureConfig 9438 .LVL804: 9439 0068 D9E7 b .L479 9440 .LVL805: 9441 .L480: 9442 .LCFI44: 9443 .cfi_def_cfa_offset 0 9444 .cfi_restore 4 9445 .cfi_restore 14 369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9446 .loc 1 369 12 is_stmt 0 view .LVU3115 9447 006a 0120 movs r0, #1 9448 .LVL806: 426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9449 .loc 1 426 1 view .LVU3116 9450 006c 7047 bx lr 9451 .cfi_endproc 9452 .LFE142: 9454 .section .text.HAL_LIN_Init,"ax",%progbits 9455 .align 1 9456 .global HAL_LIN_Init 9457 .syntax unified 9458 .thumb 9459 .thumb_func 9461 HAL_LIN_Init: 9462 .LVL807: 9463 .LFB143: 440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 9464 .loc 1 440 1 is_stmt 1 view -0 9465 .cfi_startproc 9466 @ args = 0, pretend = 0, frame = 0 9467 @ frame_needed = 0, uses_anonymous_args = 0 442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9468 .loc 1 442 3 view .LVU3118 442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9469 .loc 1 442 6 is_stmt 0 view .LVU3119 9470 0000 0028 cmp r0, #0 ARM GAS /tmp/ccQxTlMj.s page 306 9471 0002 40D0 beq .L491 440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 9472 .loc 1 440 1 view .LVU3120 9473 0004 38B5 push {r3, r4, r5, lr} 9474 .LCFI45: 9475 .cfi_def_cfa_offset 16 9476 .cfi_offset 3, -16 9477 .cfi_offset 4, -12 9478 .cfi_offset 5, -8 9479 .cfi_offset 14, -4 9480 0006 0D46 mov r5, r1 9481 0008 0446 mov r4, r0 448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the Break detection length parameter */ 9482 .loc 1 448 3 is_stmt 1 view .LVU3121 450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9483 .loc 1 450 3 view .LVU3122 453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9484 .loc 1 453 3 view .LVU3123 453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9485 .loc 1 453 18 is_stmt 0 view .LVU3124 9486 000a C369 ldr r3, [r0, #28] 453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9487 .loc 1 453 6 view .LVU3125 9488 000c B3F5004F cmp r3, #32768 9489 0010 3BD0 beq .L492 458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9490 .loc 1 458 3 is_stmt 1 view .LVU3126 458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9491 .loc 1 458 18 is_stmt 0 view .LVU3127 9492 0012 8368 ldr r3, [r0, #8] 458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9493 .loc 1 458 6 view .LVU3128 9494 0014 002B cmp r3, #0 9495 0016 3AD1 bne .L493 463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9496 .loc 1 463 3 is_stmt 1 view .LVU3129 463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9497 .loc 1 463 12 is_stmt 0 view .LVU3130 9498 0018 C36F ldr r3, [r0, #124] 463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9499 .loc 1 463 6 view .LVU3131 9500 001a 5BB3 cbz r3, .L498 9501 .LVL808: 9502 .L489: 484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9503 .loc 1 484 3 is_stmt 1 view .LVU3132 484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9504 .loc 1 484 17 is_stmt 0 view .LVU3133 9505 001c 2423 movs r3, #36 9506 001e E367 str r3, [r4, #124] 486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9507 .loc 1 486 3 is_stmt 1 view .LVU3134 9508 0020 2268 ldr r2, [r4] 9509 0022 1368 ldr r3, [r2] 9510 0024 23F00103 bic r3, r3, #1 9511 0028 1360 str r3, [r2] 490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 307 9512 .loc 1 490 3 view .LVU3135 490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9513 .loc 1 490 26 is_stmt 0 view .LVU3136 9514 002a 636A ldr r3, [r4, #36] 490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9515 .loc 1 490 6 view .LVU3137 9516 002c 3BBB cbnz r3, .L499 9517 .L490: 496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9518 .loc 1 496 3 is_stmt 1 view .LVU3138 496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9519 .loc 1 496 7 is_stmt 0 view .LVU3139 9520 002e 2046 mov r0, r4 9521 0030 FFF7FEFF bl UART_SetConfig 9522 .LVL809: 496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9523 .loc 1 496 6 discriminator 1 view .LVU3140 9524 0034 0128 cmp r0, #1 9525 0036 1CD0 beq .L488 504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 9526 .loc 1 504 3 is_stmt 1 view .LVU3141 9527 0038 2268 ldr r2, [r4] 9528 003a 5368 ldr r3, [r2, #4] 9529 003c 23F40063 bic r3, r3, #2048 9530 0040 5360 str r3, [r2, #4] 505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9531 .loc 1 505 3 view .LVU3142 9532 0042 2268 ldr r2, [r4] 9533 0044 9368 ldr r3, [r2, #8] 9534 0046 23F02A03 bic r3, r3, #42 9535 004a 9360 str r3, [r2, #8] 508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9536 .loc 1 508 3 view .LVU3143 9537 004c 2268 ldr r2, [r4] 9538 004e 5368 ldr r3, [r2, #4] 9539 0050 43F48043 orr r3, r3, #16384 9540 0054 5360 str r3, [r2, #4] 511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9541 .loc 1 511 3 view .LVU3144 9542 0056 2268 ldr r2, [r4] 9543 0058 5368 ldr r3, [r2, #4] 9544 005a 23F02003 bic r3, r3, #32 9545 005e 2B43 orrs r3, r3, r5 9546 0060 5360 str r3, [r2, #4] 513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9547 .loc 1 513 3 view .LVU3145 9548 0062 2268 ldr r2, [r4] 9549 0064 1368 ldr r3, [r2] 9550 0066 43F00103 orr r3, r3, #1 9551 006a 1360 str r3, [r2] 516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9552 .loc 1 516 3 view .LVU3146 516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9553 .loc 1 516 11 is_stmt 0 view .LVU3147 9554 006c 2046 mov r0, r4 9555 006e FFF7FEFF bl UART_CheckIdleState 9556 .LVL810: ARM GAS /tmp/ccQxTlMj.s page 308 9557 .L488: 517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9558 .loc 1 517 1 view .LVU3148 9559 0072 38BD pop {r3, r4, r5, pc} 9560 .LVL811: 9561 .L498: 466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9562 .loc 1 466 5 is_stmt 1 view .LVU3149 466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9563 .loc 1 466 17 is_stmt 0 view .LVU3150 9564 0074 80F87830 strb r3, [r0, #120] 480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9565 .loc 1 480 5 is_stmt 1 view .LVU3151 9566 0078 FFF7FEFF bl HAL_UART_MspInit 9567 .LVL812: 480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9568 .loc 1 480 5 is_stmt 0 view .LVU3152 9569 007c CEE7 b .L489 9570 .L499: 492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9571 .loc 1 492 5 is_stmt 1 view .LVU3153 9572 007e 2046 mov r0, r4 9573 0080 FFF7FEFF bl UART_AdvFeatureConfig 9574 .LVL813: 9575 0084 D3E7 b .L490 9576 .LVL814: 9577 .L491: 9578 .LCFI46: 9579 .cfi_def_cfa_offset 0 9580 .cfi_restore 3 9581 .cfi_restore 4 9582 .cfi_restore 5 9583 .cfi_restore 14 444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9584 .loc 1 444 12 is_stmt 0 view .LVU3154 9585 0086 0120 movs r0, #1 9586 .LVL815: 517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9587 .loc 1 517 1 view .LVU3155 9588 0088 7047 bx lr 9589 .LVL816: 9590 .L492: 9591 .LCFI47: 9592 .cfi_def_cfa_offset 16 9593 .cfi_offset 3, -16 9594 .cfi_offset 4, -12 9595 .cfi_offset 5, -8 9596 .cfi_offset 14, -4 455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9597 .loc 1 455 12 view .LVU3156 9598 008a 0120 movs r0, #1 9599 .LVL817: 455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9600 .loc 1 455 12 view .LVU3157 9601 008c F1E7 b .L488 9602 .LVL818: 9603 .L493: ARM GAS /tmp/ccQxTlMj.s page 309 460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9604 .loc 1 460 12 view .LVU3158 9605 008e 0120 movs r0, #1 9606 .LVL819: 460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9607 .loc 1 460 12 view .LVU3159 9608 0090 EFE7 b .L488 9609 .cfi_endproc 9610 .LFE143: 9612 .section .text.HAL_MultiProcessor_Init,"ax",%progbits 9613 .align 1 9614 .global HAL_MultiProcessor_Init 9615 .syntax unified 9616 .thumb 9617 .thumb_func 9619 HAL_MultiProcessor_Init: 9620 .LVL820: 9621 .LFB144: 539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 9622 .loc 1 539 1 is_stmt 1 view -0 9623 .cfi_startproc 9624 @ args = 0, pretend = 0, frame = 0 9625 @ frame_needed = 0, uses_anonymous_args = 0 541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9626 .loc 1 541 3 view .LVU3161 541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9627 .loc 1 541 6 is_stmt 0 view .LVU3162 9628 0000 0028 cmp r0, #0 9629 0002 40D0 beq .L505 539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */ 9630 .loc 1 539 1 view .LVU3163 9631 0004 70B5 push {r4, r5, r6, lr} 9632 .LCFI48: 9633 .cfi_def_cfa_offset 16 9634 .cfi_offset 4, -16 9635 .cfi_offset 5, -12 9636 .cfi_offset 6, -8 9637 .cfi_offset 14, -4 9638 0006 0E46 mov r6, r1 9639 0008 1546 mov r5, r2 9640 000a 0446 mov r4, r0 547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9641 .loc 1 547 3 is_stmt 1 view .LVU3164 549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9642 .loc 1 549 3 view .LVU3165 549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9643 .loc 1 549 12 is_stmt 0 view .LVU3166 9644 000c C36F ldr r3, [r0, #124] 549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9645 .loc 1 549 6 view .LVU3167 9646 000e 4BB3 cbz r3, .L510 9647 .LVL821: 9648 .L502: 570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9649 .loc 1 570 3 is_stmt 1 view .LVU3168 570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9650 .loc 1 570 17 is_stmt 0 view .LVU3169 ARM GAS /tmp/ccQxTlMj.s page 310 9651 0010 2423 movs r3, #36 9652 0012 E367 str r3, [r4, #124] 572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9653 .loc 1 572 3 is_stmt 1 view .LVU3170 9654 0014 2268 ldr r2, [r4] 9655 0016 1368 ldr r3, [r2] 9656 0018 23F00103 bic r3, r3, #1 9657 001c 1360 str r3, [r2] 576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9658 .loc 1 576 3 view .LVU3171 576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9659 .loc 1 576 26 is_stmt 0 view .LVU3172 9660 001e 636A ldr r3, [r4, #36] 576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9661 .loc 1 576 6 view .LVU3173 9662 0020 2BBB cbnz r3, .L511 9663 .L503: 582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9664 .loc 1 582 3 is_stmt 1 view .LVU3174 582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9665 .loc 1 582 7 is_stmt 0 view .LVU3175 9666 0022 2046 mov r0, r4 9667 0024 FFF7FEFF bl UART_SetConfig 9668 .LVL822: 582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9669 .loc 1 582 6 discriminator 1 view .LVU3176 9670 0028 0128 cmp r0, #1 9671 002a 1AD0 beq .L501 590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 9672 .loc 1 590 3 is_stmt 1 view .LVU3177 9673 002c 2268 ldr r2, [r4] 9674 002e 5368 ldr r3, [r2, #4] 9675 0030 23F49043 bic r3, r3, #18432 9676 0034 5360 str r3, [r2, #4] 591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9677 .loc 1 591 3 view .LVU3178 9678 0036 2268 ldr r2, [r4] 9679 0038 9368 ldr r3, [r2, #8] 9680 003a 23F02A03 bic r3, r3, #42 9681 003e 9360 str r3, [r2, #8] 593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9682 .loc 1 593 3 view .LVU3179 593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 9683 .loc 1 593 6 is_stmt 0 view .LVU3180 9684 0040 B5F5006F cmp r5, #2048 9685 0044 17D0 beq .L512 9686 .L504: 600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9687 .loc 1 600 3 is_stmt 1 view .LVU3181 9688 0046 2268 ldr r2, [r4] 9689 0048 1368 ldr r3, [r2] 9690 004a 23F40063 bic r3, r3, #2048 9691 004e 2B43 orrs r3, r3, r5 9692 0050 1360 str r3, [r2] 602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9693 .loc 1 602 3 view .LVU3182 9694 0052 2268 ldr r2, [r4] ARM GAS /tmp/ccQxTlMj.s page 311 9695 0054 1368 ldr r3, [r2] 9696 0056 43F00103 orr r3, r3, #1 9697 005a 1360 str r3, [r2] 605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9698 .loc 1 605 3 view .LVU3183 605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9699 .loc 1 605 11 is_stmt 0 view .LVU3184 9700 005c 2046 mov r0, r4 9701 005e FFF7FEFF bl UART_CheckIdleState 9702 .LVL823: 9703 .L501: 606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9704 .loc 1 606 1 view .LVU3185 9705 0062 70BD pop {r4, r5, r6, pc} 9706 .LVL824: 9707 .L510: 552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9708 .loc 1 552 5 is_stmt 1 view .LVU3186 552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9709 .loc 1 552 17 is_stmt 0 view .LVU3187 9710 0064 80F87830 strb r3, [r0, #120] 566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9711 .loc 1 566 5 is_stmt 1 view .LVU3188 9712 0068 FFF7FEFF bl HAL_UART_MspInit 9713 .LVL825: 566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 9714 .loc 1 566 5 is_stmt 0 view .LVU3189 9715 006c D0E7 b .L502 9716 .L511: 578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9717 .loc 1 578 5 is_stmt 1 view .LVU3190 9718 006e 2046 mov r0, r4 9719 0070 FFF7FEFF bl UART_AdvFeatureConfig 9720 .LVL826: 9721 0074 D5E7 b .L503 9722 .L512: 596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9723 .loc 1 596 5 view .LVU3191 9724 0076 2268 ldr r2, [r4] 9725 0078 5368 ldr r3, [r2, #4] 9726 007a 23F07F43 bic r3, r3, #-16777216 9727 007e 43EA0663 orr r3, r3, r6, lsl #24 9728 0082 5360 str r3, [r2, #4] 9729 0084 DFE7 b .L504 9730 .LVL827: 9731 .L505: 9732 .LCFI49: 9733 .cfi_def_cfa_offset 0 9734 .cfi_restore 4 9735 .cfi_restore 5 9736 .cfi_restore 6 9737 .cfi_restore 14 543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9738 .loc 1 543 12 is_stmt 0 view .LVU3192 9739 0086 0120 movs r0, #1 9740 .LVL828: 606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 312 9741 .loc 1 606 1 view .LVU3193 9742 0088 7047 bx lr 9743 .cfi_endproc 9744 .LFE144: 9746 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits 9747 .align 1 9748 .global HAL_MultiProcessor_EnableMuteMode 9749 .syntax unified 9750 .thumb 9751 .thumb_func 9753 HAL_MultiProcessor_EnableMuteMode: 9754 .LVL829: 9755 .LFB177: 2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 9756 .loc 1 2696 1 is_stmt 1 view -0 9757 .cfi_startproc 9758 @ args = 0, pretend = 0, frame = 0 9759 @ frame_needed = 0, uses_anonymous_args = 0 2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 9760 .loc 1 2696 1 is_stmt 0 view .LVU3195 9761 0000 08B5 push {r3, lr} 9762 .LCFI50: 9763 .cfi_def_cfa_offset 8 9764 .cfi_offset 3, -8 9765 .cfi_offset 14, -4 2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9766 .loc 1 2697 3 is_stmt 1 view .LVU3196 2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9767 .loc 1 2697 3 view .LVU3197 9768 0002 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 9769 0006 012B cmp r3, #1 9770 0008 12D0 beq .L516 2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9771 .loc 1 2697 3 discriminator 2 view .LVU3198 9772 000a 0123 movs r3, #1 9773 000c 80F87830 strb r3, [r0, #120] 2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9774 .loc 1 2697 3 discriminator 2 view .LVU3199 2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9775 .loc 1 2699 3 view .LVU3200 2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9776 .loc 1 2699 17 is_stmt 0 view .LVU3201 9777 0010 2423 movs r3, #36 9778 0012 C367 str r3, [r0, #124] 9779 .L515: 2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9780 .loc 1 2702 3 is_stmt 1 discriminator 1 view .LVU3202 9781 .LBB777: 2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9782 .loc 1 2702 3 discriminator 1 view .LVU3203 2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9783 .loc 1 2702 3 discriminator 1 view .LVU3204 2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9784 .loc 1 2702 3 discriminator 1 view .LVU3205 9785 0014 0268 ldr r2, [r0] 9786 .LVL830: 9787 .LBB778: ARM GAS /tmp/ccQxTlMj.s page 313 9788 .LBI778: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9789 .loc 2 1068 31 view .LVU3206 9790 .LBB779: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9791 .loc 2 1070 5 view .LVU3207 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9792 .loc 2 1072 4 view .LVU3208 9793 .syntax unified 9794 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9795 0016 52E8003F ldrex r3, [r2] 9796 @ 0 "" 2 9797 .LVL831: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9798 .loc 2 1073 4 view .LVU3209 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9799 .loc 2 1073 4 is_stmt 0 view .LVU3210 9800 .thumb 9801 .syntax unified 9802 .LBE779: 9803 .LBE778: 2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9804 .loc 1 2702 3 discriminator 1 view .LVU3211 9805 001a 43F40053 orr r3, r3, #8192 9806 .LVL832: 2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9807 .loc 1 2702 3 is_stmt 1 discriminator 1 view .LVU3212 9808 .LBB780: 9809 .LBI780: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9810 .loc 2 1119 31 view .LVU3213 9811 .LBB781: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9812 .loc 2 1121 4 view .LVU3214 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9813 .loc 2 1123 4 view .LVU3215 9814 .syntax unified 9815 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9816 001e 42E80031 strex r1, r3, [r2] 9817 @ 0 "" 2 9818 .LVL833: 9819 .loc 2 1124 4 view .LVU3216 9820 .loc 2 1124 4 is_stmt 0 view .LVU3217 9821 .thumb 9822 .syntax unified 9823 .LBE781: 9824 .LBE780: 2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9825 .loc 1 2702 3 discriminator 1 view .LVU3218 9826 0022 0029 cmp r1, #0 9827 0024 F6D1 bne .L515 9828 .LBE777: 2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9829 .loc 1 2702 3 is_stmt 1 discriminator 2 view .LVU3219 2704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9830 .loc 1 2704 3 view .LVU3220 2704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 314 9831 .loc 1 2704 17 is_stmt 0 view .LVU3221 9832 0026 2023 movs r3, #32 9833 .LVL834: 2704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9834 .loc 1 2704 17 view .LVU3222 9835 0028 C367 str r3, [r0, #124] 2706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9836 .loc 1 2706 3 is_stmt 1 view .LVU3223 2706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9837 .loc 1 2706 11 is_stmt 0 view .LVU3224 9838 002a FFF7FEFF bl UART_CheckIdleState 9839 .LVL835: 9840 .L514: 2707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9841 .loc 1 2707 1 view .LVU3225 9842 002e 08BD pop {r3, pc} 9843 .LVL836: 9844 .L516: 2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9845 .loc 1 2697 3 discriminator 1 view .LVU3226 9846 0030 0220 movs r0, #2 9847 .LVL837: 2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9848 .loc 1 2697 3 discriminator 1 view .LVU3227 9849 0032 FCE7 b .L514 9850 .cfi_endproc 9851 .LFE177: 9853 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits 9854 .align 1 9855 .global HAL_MultiProcessor_DisableMuteMode 9856 .syntax unified 9857 .thumb 9858 .thumb_func 9860 HAL_MultiProcessor_DisableMuteMode: 9861 .LVL838: 9862 .LFB178: 2716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 9863 .loc 1 2716 1 is_stmt 1 view -0 9864 .cfi_startproc 9865 @ args = 0, pretend = 0, frame = 0 9866 @ frame_needed = 0, uses_anonymous_args = 0 2716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart); 9867 .loc 1 2716 1 is_stmt 0 view .LVU3229 9868 0000 08B5 push {r3, lr} 9869 .LCFI51: 9870 .cfi_def_cfa_offset 8 9871 .cfi_offset 3, -8 9872 .cfi_offset 14, -4 2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9873 .loc 1 2717 3 is_stmt 1 view .LVU3230 2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9874 .loc 1 2717 3 view .LVU3231 9875 0002 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2 9876 0006 012B cmp r3, #1 9877 0008 12D0 beq .L521 2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9878 .loc 1 2717 3 discriminator 2 view .LVU3232 ARM GAS /tmp/ccQxTlMj.s page 315 9879 000a 0123 movs r3, #1 9880 000c 80F87830 strb r3, [r0, #120] 2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9881 .loc 1 2717 3 discriminator 2 view .LVU3233 2719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9882 .loc 1 2719 3 view .LVU3234 2719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9883 .loc 1 2719 17 is_stmt 0 view .LVU3235 9884 0010 2423 movs r3, #36 9885 0012 C367 str r3, [r0, #124] 9886 .L520: 2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9887 .loc 1 2722 3 is_stmt 1 discriminator 1 view .LVU3236 9888 .LBB782: 2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9889 .loc 1 2722 3 discriminator 1 view .LVU3237 2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9890 .loc 1 2722 3 discriminator 1 view .LVU3238 2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9891 .loc 1 2722 3 discriminator 1 view .LVU3239 9892 0014 0268 ldr r2, [r0] 9893 .LVL839: 9894 .LBB783: 9895 .LBI783: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9896 .loc 2 1068 31 view .LVU3240 9897 .LBB784: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 9898 .loc 2 1070 5 view .LVU3241 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9899 .loc 2 1072 4 view .LVU3242 9900 .syntax unified 9901 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9902 0016 52E8003F ldrex r3, [r2] 9903 @ 0 "" 2 9904 .LVL840: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9905 .loc 2 1073 4 view .LVU3243 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9906 .loc 2 1073 4 is_stmt 0 view .LVU3244 9907 .thumb 9908 .syntax unified 9909 .LBE784: 9910 .LBE783: 2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9911 .loc 1 2722 3 discriminator 1 view .LVU3245 9912 001a 23F40053 bic r3, r3, #8192 9913 .LVL841: 2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9914 .loc 1 2722 3 is_stmt 1 discriminator 1 view .LVU3246 9915 .LBB785: 9916 .LBI785: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 9917 .loc 2 1119 31 view .LVU3247 9918 .LBB786: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 9919 .loc 2 1121 4 view .LVU3248 ARM GAS /tmp/ccQxTlMj.s page 316 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 9920 .loc 2 1123 4 view .LVU3249 9921 .syntax unified 9922 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9923 001e 42E80031 strex r1, r3, [r2] 9924 @ 0 "" 2 9925 .LVL842: 9926 .loc 2 1124 4 view .LVU3250 9927 .loc 2 1124 4 is_stmt 0 view .LVU3251 9928 .thumb 9929 .syntax unified 9930 .LBE786: 9931 .LBE785: 2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9932 .loc 1 2722 3 discriminator 1 view .LVU3252 9933 0022 0029 cmp r1, #0 9934 0024 F6D1 bne .L520 9935 .LBE782: 2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9936 .loc 1 2722 3 is_stmt 1 discriminator 2 view .LVU3253 2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9937 .loc 1 2724 3 view .LVU3254 2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9938 .loc 1 2724 17 is_stmt 0 view .LVU3255 9939 0026 2023 movs r3, #32 9940 .LVL843: 2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9941 .loc 1 2724 17 view .LVU3256 9942 0028 C367 str r3, [r0, #124] 2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9943 .loc 1 2726 3 is_stmt 1 view .LVU3257 2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 9944 .loc 1 2726 11 is_stmt 0 view .LVU3258 9945 002a FFF7FEFF bl UART_CheckIdleState 9946 .LVL844: 9947 .L519: 2727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9948 .loc 1 2727 1 view .LVU3259 9949 002e 08BD pop {r3, pc} 9950 .LVL845: 9951 .L521: 2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9952 .loc 1 2717 3 discriminator 1 view .LVU3260 9953 0030 0220 movs r0, #2 9954 .LVL846: 2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9955 .loc 1 2717 3 discriminator 1 view .LVU3261 9956 0032 FCE7 b .L519 9957 .cfi_endproc 9958 .LFE178: 9960 .section .text.UART_Start_Receive_IT,"ax",%progbits 9961 .align 1 9962 .global UART_Start_Receive_IT 9963 .syntax unified 9964 .thumb 9965 .thumb_func 9967 UART_Start_Receive_IT: ARM GAS /tmp/ccQxTlMj.s page 317 9968 .LVL847: 9969 .LFB189: 3259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = pData; 9970 .loc 1 3259 1 is_stmt 1 view -0 9971 .cfi_startproc 9972 @ args = 0, pretend = 0, frame = 0 9973 @ frame_needed = 0, uses_anonymous_args = 0 9974 @ link register save eliminated. 3260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size; 9975 .loc 1 3260 3 view .LVU3263 3260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size; 9976 .loc 1 3260 22 is_stmt 0 view .LVU3264 9977 0000 4165 str r1, [r0, #84] 3261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size; 9978 .loc 1 3261 3 is_stmt 1 view .LVU3265 3261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size; 9979 .loc 1 3261 22 is_stmt 0 view .LVU3266 9980 0002 A0F85820 strh r2, [r0, #88] @ movhi 3262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL; 9981 .loc 1 3262 3 is_stmt 1 view .LVU3267 3262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL; 9982 .loc 1 3262 22 is_stmt 0 view .LVU3268 9983 0006 A0F85A20 strh r2, [r0, #90] @ movhi 3263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9984 .loc 1 3263 3 is_stmt 1 view .LVU3269 3263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9985 .loc 1 3263 22 is_stmt 0 view .LVU3270 9986 000a 0023 movs r3, #0 9987 000c 8366 str r3, [r0, #104] 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9988 .loc 1 3266 3 is_stmt 1 view .LVU3271 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9989 .loc 1 3266 3 view .LVU3272 9990 000e 8368 ldr r3, [r0, #8] 9991 0010 B3F5805F cmp r3, #4096 9992 0014 06D0 beq .L537 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9993 .loc 1 3266 3 discriminator 2 view .LVU3273 9994 0016 A3B9 cbnz r3, .L527 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9995 .loc 1 3266 3 discriminator 5 view .LVU3274 9996 0018 0369 ldr r3, [r0, #16] 9997 001a 73B9 cbnz r3, .L528 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 9998 .loc 1 3266 3 discriminator 7 view .LVU3275 9999 001c FF23 movs r3, #255 10000 001e A0F85C30 strh r3, [r0, #92] @ movhi 10001 0022 14E0 b .L526 10002 .L537: 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10003 .loc 1 3266 3 discriminator 1 view .LVU3276 10004 0024 0369 ldr r3, [r0, #16] 10005 0026 23B9 cbnz r3, .L525 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10006 .loc 1 3266 3 discriminator 3 view .LVU3277 10007 0028 40F2FF13 movw r3, #511 10008 002c A0F85C30 strh r3, [r0, #92] @ movhi ARM GAS /tmp/ccQxTlMj.s page 318 10009 0030 0DE0 b .L526 10010 .L525: 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10011 .loc 1 3266 3 discriminator 4 view .LVU3278 10012 0032 FF23 movs r3, #255 10013 0034 A0F85C30 strh r3, [r0, #92] @ movhi 10014 0038 09E0 b .L526 10015 .L528: 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10016 .loc 1 3266 3 discriminator 8 view .LVU3279 10017 003a 7F23 movs r3, #127 10018 003c A0F85C30 strh r3, [r0, #92] @ movhi 10019 0040 05E0 b .L526 10020 .L527: 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10021 .loc 1 3266 3 discriminator 6 view .LVU3280 10022 0042 B3F1805F cmp r3, #268435456 10023 0046 27D0 beq .L538 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10024 .loc 1 3266 3 discriminator 10 view .LVU3281 10025 0048 0023 movs r3, #0 10026 004a A0F85C30 strh r3, [r0, #92] @ movhi 10027 .L526: 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10028 .loc 1 3266 3 discriminator 13 view .LVU3282 3268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10029 .loc 1 3268 3 view .LVU3283 3268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10030 .loc 1 3268 20 is_stmt 0 view .LVU3284 10031 004e 0023 movs r3, #0 10032 0050 C0F88430 str r3, [r0, #132] 3269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10033 .loc 1 3269 3 is_stmt 1 view .LVU3285 3269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10034 .loc 1 3269 18 is_stmt 0 view .LVU3286 10035 0054 2223 movs r3, #34 10036 0056 C0F88030 str r3, [r0, #128] 10037 .LVL848: 10038 .L531: 3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10039 .loc 1 3272 3 is_stmt 1 discriminator 1 view .LVU3287 10040 .LBB787: 3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10041 .loc 1 3272 3 discriminator 1 view .LVU3288 3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10042 .loc 1 3272 3 discriminator 1 view .LVU3289 3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10043 .loc 1 3272 3 discriminator 1 view .LVU3290 10044 005a 0268 ldr r2, [r0] 10045 .LVL849: 10046 .LBB788: 10047 .LBI788: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10048 .loc 2 1068 31 view .LVU3291 10049 .LBB789: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10050 .loc 2 1070 5 view .LVU3292 ARM GAS /tmp/ccQxTlMj.s page 319 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10051 .loc 2 1072 4 view .LVU3293 10052 005c 02F10803 add r3, r2, #8 10053 .LVL850: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10054 .loc 2 1072 4 is_stmt 0 view .LVU3294 10055 .syntax unified 10056 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10057 0060 53E8003F ldrex r3, [r3] 10058 @ 0 "" 2 10059 .LVL851: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10060 .loc 2 1073 4 is_stmt 1 view .LVU3295 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10061 .loc 2 1073 4 is_stmt 0 view .LVU3296 10062 .thumb 10063 .syntax unified 10064 .LBE789: 10065 .LBE788: 3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10066 .loc 1 3272 3 discriminator 1 view .LVU3297 10067 0064 43F00103 orr r3, r3, #1 10068 .LVL852: 3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10069 .loc 1 3272 3 is_stmt 1 discriminator 1 view .LVU3298 10070 .LBB790: 10071 .LBI790: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10072 .loc 2 1119 31 view .LVU3299 10073 .LBB791: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10074 .loc 2 1121 4 view .LVU3300 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10075 .loc 2 1123 4 view .LVU3301 10076 0068 0832 adds r2, r2, #8 10077 .LVL853: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10078 .loc 2 1123 4 is_stmt 0 view .LVU3302 10079 .syntax unified 10080 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10081 006a 42E80031 strex r1, r3, [r2] 10082 @ 0 "" 2 10083 .LVL854: 10084 .loc 2 1124 4 is_stmt 1 view .LVU3303 10085 .loc 2 1124 4 is_stmt 0 view .LVU3304 10086 .thumb 10087 .syntax unified 10088 .LBE791: 10089 .LBE790: 3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10090 .loc 1 3272 3 discriminator 1 view .LVU3305 10091 006e 0029 cmp r1, #0 10092 0070 F3D1 bne .L531 10093 .LBE787: 3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10094 .loc 1 3272 3 is_stmt 1 discriminator 2 view .LVU3306 3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 320 10095 .loc 1 3275 3 view .LVU3307 3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10096 .loc 1 3275 19 is_stmt 0 view .LVU3308 10097 0072 8368 ldr r3, [r0, #8] 10098 .LVL855: 3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10099 .loc 1 3275 6 view .LVU3309 10100 0074 B3F5805F cmp r3, #4096 10101 0078 18D0 beq .L539 10102 .L532: 3281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10103 .loc 1 3281 5 is_stmt 1 view .LVU3310 3281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10104 .loc 1 3281 18 is_stmt 0 view .LVU3311 10105 007a 144B ldr r3, .L540 10106 007c 8366 str r3, [r0, #104] 10107 .L533: 3285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10108 .loc 1 3285 3 is_stmt 1 view .LVU3312 3285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10109 .loc 1 3285 18 is_stmt 0 view .LVU3313 10110 007e 0369 ldr r3, [r0, #16] 3285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10111 .loc 1 3285 6 view .LVU3314 10112 0080 D3B1 cbz r3, .L534 10113 .L535: 3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10114 .loc 1 3287 5 is_stmt 1 discriminator 1 view .LVU3315 10115 .LBB792: 3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10116 .loc 1 3287 5 discriminator 1 view .LVU3316 3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10117 .loc 1 3287 5 discriminator 1 view .LVU3317 3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10118 .loc 1 3287 5 discriminator 1 view .LVU3318 10119 0082 0268 ldr r2, [r0] 10120 .LVL856: 10121 .LBB793: 10122 .LBI793: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10123 .loc 2 1068 31 view .LVU3319 10124 .LBB794: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10125 .loc 2 1070 5 view .LVU3320 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10126 .loc 2 1072 4 view .LVU3321 10127 .syntax unified 10128 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10129 0084 52E8003F ldrex r3, [r2] 10130 @ 0 "" 2 10131 .LVL857: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10132 .loc 2 1073 4 view .LVU3322 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10133 .loc 2 1073 4 is_stmt 0 view .LVU3323 10134 .thumb 10135 .syntax unified ARM GAS /tmp/ccQxTlMj.s page 321 10136 .LBE794: 10137 .LBE793: 3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10138 .loc 1 3287 5 discriminator 1 view .LVU3324 10139 0088 43F49073 orr r3, r3, #288 10140 .LVL858: 3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10141 .loc 1 3287 5 is_stmt 1 discriminator 1 view .LVU3325 10142 .LBB795: 10143 .LBI795: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10144 .loc 2 1119 31 view .LVU3326 10145 .LBB796: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10146 .loc 2 1121 4 view .LVU3327 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10147 .loc 2 1123 4 view .LVU3328 10148 .syntax unified 10149 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10150 008c 42E80031 strex r1, r3, [r2] 10151 @ 0 "" 2 10152 .LVL859: 10153 .loc 2 1124 4 view .LVU3329 10154 .loc 2 1124 4 is_stmt 0 view .LVU3330 10155 .thumb 10156 .syntax unified 10157 .LBE796: 10158 .LBE795: 3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10159 .loc 1 3287 5 discriminator 1 view .LVU3331 10160 0090 0029 cmp r1, #0 10161 0092 F6D1 bne .L535 10162 .LVL860: 10163 .L536: 3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10164 .loc 1 3287 5 discriminator 1 view .LVU3332 10165 .LBE792: 3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10166 .loc 1 3291 5 is_stmt 1 discriminator 2 view .LVU3333 3293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10167 .loc 1 3293 3 view .LVU3334 3294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10168 .loc 1 3294 1 is_stmt 0 view .LVU3335 10169 0094 0020 movs r0, #0 10170 .LVL861: 3294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10171 .loc 1 3294 1 view .LVU3336 10172 0096 7047 bx lr 10173 .LVL862: 10174 .L538: 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10175 .loc 1 3266 3 is_stmt 1 discriminator 9 view .LVU3337 10176 0098 0369 ldr r3, [r0, #16] 10177 009a 1BB9 cbnz r3, .L530 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10178 .loc 1 3266 3 discriminator 11 view .LVU3338 10179 009c 7F23 movs r3, #127 ARM GAS /tmp/ccQxTlMj.s page 322 10180 009e A0F85C30 strh r3, [r0, #92] @ movhi 10181 00a2 D4E7 b .L526 10182 .L530: 3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10183 .loc 1 3266 3 discriminator 12 view .LVU3339 10184 00a4 3F23 movs r3, #63 10185 00a6 A0F85C30 strh r3, [r0, #92] @ movhi 10186 00aa D0E7 b .L526 10187 .LVL863: 10188 .L539: 3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10189 .loc 1 3275 69 is_stmt 0 discriminator 1 view .LVU3340 10190 00ac 0369 ldr r3, [r0, #16] 3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10191 .loc 1 3275 54 discriminator 1 view .LVU3341 10192 00ae 002B cmp r3, #0 10193 00b0 E3D1 bne .L532 3277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10194 .loc 1 3277 5 is_stmt 1 view .LVU3342 3277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10195 .loc 1 3277 18 is_stmt 0 view .LVU3343 10196 00b2 074B ldr r3, .L540+4 10197 00b4 8366 str r3, [r0, #104] 10198 00b6 E2E7 b .L533 10199 .L534: 3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10200 .loc 1 3291 5 is_stmt 1 discriminator 1 view .LVU3344 10201 .LBB797: 3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10202 .loc 1 3291 5 discriminator 1 view .LVU3345 3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10203 .loc 1 3291 5 discriminator 1 view .LVU3346 3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10204 .loc 1 3291 5 discriminator 1 view .LVU3347 10205 00b8 0268 ldr r2, [r0] 10206 .LVL864: 10207 .LBB798: 10208 .LBI798: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10209 .loc 2 1068 31 view .LVU3348 10210 .LBB799: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10211 .loc 2 1070 5 view .LVU3349 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10212 .loc 2 1072 4 view .LVU3350 10213 .syntax unified 10214 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10215 00ba 52E8003F ldrex r3, [r2] 10216 @ 0 "" 2 10217 .LVL865: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10218 .loc 2 1073 4 view .LVU3351 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10219 .loc 2 1073 4 is_stmt 0 view .LVU3352 10220 .thumb 10221 .syntax unified 10222 .LBE799: ARM GAS /tmp/ccQxTlMj.s page 323 10223 .LBE798: 3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10224 .loc 1 3291 5 discriminator 1 view .LVU3353 10225 00be 43F02003 orr r3, r3, #32 10226 .LVL866: 3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10227 .loc 1 3291 5 is_stmt 1 discriminator 1 view .LVU3354 10228 .LBB800: 10229 .LBI800: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10230 .loc 2 1119 31 view .LVU3355 10231 .LBB801: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10232 .loc 2 1121 4 view .LVU3356 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10233 .loc 2 1123 4 view .LVU3357 10234 .syntax unified 10235 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10236 00c2 42E80031 strex r1, r3, [r2] 10237 @ 0 "" 2 10238 .LVL867: 10239 .loc 2 1124 4 view .LVU3358 10240 .loc 2 1124 4 is_stmt 0 view .LVU3359 10241 .thumb 10242 .syntax unified 10243 .LBE801: 10244 .LBE800: 3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10245 .loc 1 3291 5 discriminator 1 view .LVU3360 10246 00c6 0029 cmp r1, #0 10247 00c8 F6D1 bne .L534 10248 00ca E3E7 b .L536 10249 .L541: 10250 .align 2 10251 .L540: 10252 00cc 00000000 .word UART_RxISR_8BIT 10253 00d0 00000000 .word UART_RxISR_16BIT 10254 .LBE797: 10255 .cfi_endproc 10256 .LFE189: 10258 .section .text.HAL_UART_Receive_IT,"ax",%progbits 10259 .align 1 10260 .global HAL_UART_Receive_IT 10261 .syntax unified 10262 .thumb 10263 .thumb_func 10265 HAL_UART_Receive_IT: 10266 .LVL868: 10267 .LFB151: 1309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 10268 .loc 1 1309 1 is_stmt 1 view -0 10269 .cfi_startproc 10270 @ args = 0, pretend = 0, frame = 0 10271 @ frame_needed = 0, uses_anonymous_args = 0 1309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 10272 .loc 1 1309 1 is_stmt 0 view .LVU3362 10273 0000 38B5 push {r3, r4, r5, lr} ARM GAS /tmp/ccQxTlMj.s page 324 10274 .LCFI52: 10275 .cfi_def_cfa_offset 16 10276 .cfi_offset 3, -16 10277 .cfi_offset 4, -12 10278 .cfi_offset 5, -8 10279 .cfi_offset 14, -4 1311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10280 .loc 1 1311 3 is_stmt 1 view .LVU3363 1311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10281 .loc 1 1311 12 is_stmt 0 view .LVU3364 10282 0002 D0F88030 ldr r3, [r0, #128] 1311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10283 .loc 1 1311 6 view .LVU3365 10284 0006 202B cmp r3, #32 10285 0008 16D1 bne .L546 1313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10286 .loc 1 1313 5 is_stmt 1 view .LVU3366 1313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10287 .loc 1 1313 8 is_stmt 0 view .LVU3367 10288 000a 002A cmp r2, #0 10289 000c 18BF it ne 10290 000e 0029 cmpne r1, #0 10291 0010 14D0 beq .L547 1319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10292 .loc 1 1319 5 is_stmt 1 view .LVU3368 1319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10293 .loc 1 1319 26 is_stmt 0 view .LVU3369 10294 0012 0023 movs r3, #0 10295 0014 0366 str r3, [r0, #96] 1322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10296 .loc 1 1322 5 is_stmt 1 view .LVU3370 1322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10297 .loc 1 1322 9 is_stmt 0 view .LVU3371 10298 0016 0368 ldr r3, [r0] 10299 0018 5B68 ldr r3, [r3, #4] 1322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10300 .loc 1 1322 8 view .LVU3372 10301 001a 13F4000F tst r3, #8388608 10302 001e 08D0 beq .L544 10303 .L545: 1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10304 .loc 1 1325 7 is_stmt 1 discriminator 1 view .LVU3373 10305 .LBB802: 1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10306 .loc 1 1325 7 discriminator 1 view .LVU3374 1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10307 .loc 1 1325 7 discriminator 1 view .LVU3375 1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10308 .loc 1 1325 7 discriminator 1 view .LVU3376 10309 0020 0468 ldr r4, [r0] 10310 .LVL869: 10311 .LBB803: 10312 .LBI803: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10313 .loc 2 1068 31 view .LVU3377 10314 .LBB804: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/ccQxTlMj.s page 325 10315 .loc 2 1070 5 view .LVU3378 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10316 .loc 2 1072 4 view .LVU3379 10317 .syntax unified 10318 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10319 0022 54E8003F ldrex r3, [r4] 10320 @ 0 "" 2 10321 .LVL870: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10322 .loc 2 1073 4 view .LVU3380 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10323 .loc 2 1073 4 is_stmt 0 view .LVU3381 10324 .thumb 10325 .syntax unified 10326 .LBE804: 10327 .LBE803: 1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10328 .loc 1 1325 7 discriminator 1 view .LVU3382 10329 0026 43F08063 orr r3, r3, #67108864 10330 .LVL871: 1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10331 .loc 1 1325 7 is_stmt 1 discriminator 1 view .LVU3383 10332 .LBB805: 10333 .LBI805: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10334 .loc 2 1119 31 view .LVU3384 10335 .LBB806: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10336 .loc 2 1121 4 view .LVU3385 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10337 .loc 2 1123 4 view .LVU3386 10338 .syntax unified 10339 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10340 002a 44E80035 strex r5, r3, [r4] 10341 @ 0 "" 2 10342 .LVL872: 10343 .loc 2 1124 4 view .LVU3387 10344 .loc 2 1124 4 is_stmt 0 view .LVU3388 10345 .thumb 10346 .syntax unified 10347 .LBE806: 10348 .LBE805: 1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10349 .loc 1 1325 7 discriminator 1 view .LVU3389 10350 002e 002D cmp r5, #0 10351 0030 F6D1 bne .L545 10352 .LVL873: 10353 .L544: 1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10354 .loc 1 1325 7 discriminator 1 view .LVU3390 10355 .LBE802: 1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10356 .loc 1 1325 7 is_stmt 1 discriminator 2 view .LVU3391 1328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10357 .loc 1 1328 5 view .LVU3392 1328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10358 .loc 1 1328 13 is_stmt 0 view .LVU3393 ARM GAS /tmp/ccQxTlMj.s page 326 10359 0032 FFF7FEFF bl UART_Start_Receive_IT 10360 .LVL874: 1328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10361 .loc 1 1328 13 view .LVU3394 10362 0036 00E0 b .L543 10363 .LVL875: 10364 .L546: 1332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10365 .loc 1 1332 12 view .LVU3395 10366 0038 0220 movs r0, #2 10367 .LVL876: 10368 .L543: 1334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10369 .loc 1 1334 1 view .LVU3396 10370 003a 38BD pop {r3, r4, r5, pc} 10371 .LVL877: 10372 .L547: 1315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10373 .loc 1 1315 14 view .LVU3397 10374 003c 0120 movs r0, #1 10375 .LVL878: 1315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10376 .loc 1 1315 14 view .LVU3398 10377 003e FCE7 b .L543 10378 .cfi_endproc 10379 .LFE151: 10381 .section .text.UART_Start_Receive_DMA,"ax",%progbits 10382 .align 1 10383 .global UART_Start_Receive_DMA 10384 .syntax unified 10385 .thumb 10386 .thumb_func 10388 UART_Start_Receive_DMA: 10389 .LVL879: 10390 .LFB190: 3308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = pData; 10391 .loc 1 3308 1 is_stmt 1 view -0 10392 .cfi_startproc 10393 @ args = 0, pretend = 0, frame = 0 10394 @ frame_needed = 0, uses_anonymous_args = 0 3308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = pData; 10395 .loc 1 3308 1 is_stmt 0 view .LVU3400 10396 0000 10B5 push {r4, lr} 10397 .LCFI53: 10398 .cfi_def_cfa_offset 8 10399 .cfi_offset 4, -8 10400 .cfi_offset 14, -4 10401 0002 0446 mov r4, r0 10402 0004 1346 mov r3, r2 3309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size; 10403 .loc 1 3309 3 is_stmt 1 view .LVU3401 3309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size; 10404 .loc 1 3309 21 is_stmt 0 view .LVU3402 10405 0006 4165 str r1, [r0, #84] 3310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10406 .loc 1 3310 3 is_stmt 1 view .LVU3403 3310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 327 10407 .loc 1 3310 21 is_stmt 0 view .LVU3404 10408 0008 A0F85820 strh r2, [r0, #88] @ movhi 3312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10409 .loc 1 3312 3 is_stmt 1 view .LVU3405 3312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10410 .loc 1 3312 20 is_stmt 0 view .LVU3406 10411 000c 0022 movs r2, #0 10412 .LVL880: 3312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 10413 .loc 1 3312 20 view .LVU3407 10414 000e C0F88420 str r2, [r0, #132] 3313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10415 .loc 1 3313 3 is_stmt 1 view .LVU3408 3313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10416 .loc 1 3313 18 is_stmt 0 view .LVU3409 10417 0012 2222 movs r2, #34 10418 0014 C0F88020 str r2, [r0, #128] 3315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10419 .loc 1 3315 3 is_stmt 1 view .LVU3410 3315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10420 .loc 1 3315 12 is_stmt 0 view .LVU3411 10421 0018 426F ldr r2, [r0, #116] 3315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10422 .loc 1 3315 6 view .LVU3412 10423 001a 8AB1 cbz r2, .L550 3318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10424 .loc 1 3318 5 is_stmt 1 view .LVU3413 3318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10425 .loc 1 3318 37 is_stmt 0 view .LVU3414 10426 001c 1F49 ldr r1, .L558 10427 .LVL881: 3318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10428 .loc 1 3318 37 view .LVU3415 10429 001e D163 str r1, [r2, #60] 10430 .LVL882: 3321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10431 .loc 1 3321 5 is_stmt 1 view .LVU3416 3321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10432 .loc 1 3321 10 is_stmt 0 view .LVU3417 10433 0020 426F ldr r2, [r0, #116] 3321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10434 .loc 1 3321 41 view .LVU3418 10435 0022 1F49 ldr r1, .L558+4 10436 0024 1164 str r1, [r2, #64] 3324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10437 .loc 1 3324 5 is_stmt 1 view .LVU3419 3324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10438 .loc 1 3324 10 is_stmt 0 view .LVU3420 10439 0026 426F ldr r2, [r0, #116] 3324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10440 .loc 1 3324 38 view .LVU3421 10441 0028 1E49 ldr r1, .L558+8 10442 002a D164 str r1, [r2, #76] 3327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10443 .loc 1 3327 5 is_stmt 1 view .LVU3422 3327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10444 .loc 1 3327 10 is_stmt 0 view .LVU3423 ARM GAS /tmp/ccQxTlMj.s page 328 10445 002c 426F ldr r2, [r0, #116] 3327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10446 .loc 1 3327 38 view .LVU3424 10447 002e 0021 movs r1, #0 10448 0030 1165 str r1, [r2, #80] 3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10449 .loc 1 3330 5 is_stmt 1 view .LVU3425 3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10450 .loc 1 3330 57 is_stmt 0 view .LVU3426 10451 0032 0168 ldr r1, [r0] 3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10452 .loc 1 3330 9 view .LVU3427 10453 0034 426D ldr r2, [r0, #84] 10454 0036 2431 adds r1, r1, #36 10455 0038 406F ldr r0, [r0, #116] 10456 .LVL883: 3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10457 .loc 1 3330 9 view .LVU3428 10458 003a FFF7FEFF bl HAL_DMA_Start_IT 10459 .LVL884: 3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10460 .loc 1 3330 8 discriminator 1 view .LVU3429 10461 003e 20BB cbnz r0, .L557 10462 .L550: 3343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10463 .loc 1 3343 3 is_stmt 1 view .LVU3430 3343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10464 .loc 1 3343 18 is_stmt 0 view .LVU3431 10465 0040 2369 ldr r3, [r4, #16] 3343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10466 .loc 1 3343 6 view .LVU3432 10467 0042 43B1 cbz r3, .L554 10468 .L553: 3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10469 .loc 1 3345 5 is_stmt 1 discriminator 1 view .LVU3433 10470 .LBB807: 3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10471 .loc 1 3345 5 discriminator 1 view .LVU3434 3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10472 .loc 1 3345 5 discriminator 1 view .LVU3435 3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10473 .loc 1 3345 5 discriminator 1 view .LVU3436 10474 0044 2268 ldr r2, [r4] 10475 .LVL885: 10476 .LBB808: 10477 .LBI808: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10478 .loc 2 1068 31 view .LVU3437 10479 .LBB809: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10480 .loc 2 1070 5 view .LVU3438 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10481 .loc 2 1072 4 view .LVU3439 10482 .syntax unified 10483 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10484 0046 52E8003F ldrex r3, [r2] 10485 @ 0 "" 2 ARM GAS /tmp/ccQxTlMj.s page 329 10486 .LVL886: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10487 .loc 2 1073 4 view .LVU3440 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10488 .loc 2 1073 4 is_stmt 0 view .LVU3441 10489 .thumb 10490 .syntax unified 10491 .LBE809: 10492 .LBE808: 3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10493 .loc 1 3345 5 discriminator 1 view .LVU3442 10494 004a 43F48073 orr r3, r3, #256 10495 .LVL887: 3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10496 .loc 1 3345 5 is_stmt 1 discriminator 1 view .LVU3443 10497 .LBB810: 10498 .LBI810: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10499 .loc 2 1119 31 view .LVU3444 10500 .LBB811: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10501 .loc 2 1121 4 view .LVU3445 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10502 .loc 2 1123 4 view .LVU3446 10503 .syntax unified 10504 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10505 004e 42E80031 strex r1, r3, [r2] 10506 @ 0 "" 2 10507 .LVL888: 10508 .loc 2 1124 4 view .LVU3447 10509 .loc 2 1124 4 is_stmt 0 view .LVU3448 10510 .thumb 10511 .syntax unified 10512 .LBE811: 10513 .LBE810: 3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10514 .loc 1 3345 5 discriminator 1 view .LVU3449 10515 0052 0029 cmp r1, #0 10516 0054 F6D1 bne .L553 10517 .LVL889: 10518 .L554: 3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10519 .loc 1 3345 5 discriminator 1 view .LVU3450 10520 .LBE807: 3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10521 .loc 1 3345 5 is_stmt 1 discriminator 2 view .LVU3451 3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10522 .loc 1 3349 3 discriminator 1 view .LVU3452 10523 .LBB812: 3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10524 .loc 1 3349 3 discriminator 1 view .LVU3453 3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10525 .loc 1 3349 3 discriminator 1 view .LVU3454 3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10526 .loc 1 3349 3 discriminator 1 view .LVU3455 10527 0056 2268 ldr r2, [r4] 10528 .LVL890: ARM GAS /tmp/ccQxTlMj.s page 330 10529 .LBB813: 10530 .LBI813: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10531 .loc 2 1068 31 view .LVU3456 10532 .LBB814: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10533 .loc 2 1070 5 view .LVU3457 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10534 .loc 2 1072 4 view .LVU3458 10535 0058 02F10803 add r3, r2, #8 10536 .LVL891: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10537 .loc 2 1072 4 is_stmt 0 view .LVU3459 10538 .syntax unified 10539 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10540 005c 53E8003F ldrex r3, [r3] 10541 @ 0 "" 2 10542 .LVL892: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10543 .loc 2 1073 4 is_stmt 1 view .LVU3460 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10544 .loc 2 1073 4 is_stmt 0 view .LVU3461 10545 .thumb 10546 .syntax unified 10547 .LBE814: 10548 .LBE813: 3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10549 .loc 1 3349 3 discriminator 1 view .LVU3462 10550 0060 43F00103 orr r3, r3, #1 10551 .LVL893: 3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10552 .loc 1 3349 3 is_stmt 1 discriminator 1 view .LVU3463 10553 .LBB815: 10554 .LBI815: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10555 .loc 2 1119 31 view .LVU3464 10556 .LBB816: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10557 .loc 2 1121 4 view .LVU3465 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10558 .loc 2 1123 4 view .LVU3466 10559 0064 0832 adds r2, r2, #8 10560 .LVL894: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10561 .loc 2 1123 4 is_stmt 0 view .LVU3467 10562 .syntax unified 10563 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10564 0066 42E80031 strex r1, r3, [r2] 10565 @ 0 "" 2 10566 .LVL895: 10567 .loc 2 1124 4 is_stmt 1 view .LVU3468 10568 .loc 2 1124 4 is_stmt 0 view .LVU3469 10569 .thumb 10570 .syntax unified 10571 .LBE816: 10572 .LBE815: 3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ARM GAS /tmp/ccQxTlMj.s page 331 10573 .loc 1 3349 3 discriminator 1 view .LVU3470 10574 006a 0029 cmp r1, #0 10575 006c F3D1 bne .L554 10576 .LVL896: 10577 .L555: 3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10578 .loc 1 3349 3 discriminator 1 view .LVU3471 10579 .LBE812: 3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10580 .loc 1 3349 3 is_stmt 1 discriminator 2 view .LVU3472 3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10581 .loc 1 3353 3 discriminator 1 view .LVU3473 10582 .LBB817: 3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10583 .loc 1 3353 3 discriminator 1 view .LVU3474 3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10584 .loc 1 3353 3 discriminator 1 view .LVU3475 3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10585 .loc 1 3353 3 discriminator 1 view .LVU3476 10586 006e 2268 ldr r2, [r4] 10587 .LVL897: 10588 .LBB818: 10589 .LBI818: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10590 .loc 2 1068 31 view .LVU3477 10591 .LBB819: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10592 .loc 2 1070 5 view .LVU3478 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10593 .loc 2 1072 4 view .LVU3479 10594 0070 02F10803 add r3, r2, #8 10595 .LVL898: 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10596 .loc 2 1072 4 is_stmt 0 view .LVU3480 10597 .syntax unified 10598 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10599 0074 53E8003F ldrex r3, [r3] 10600 @ 0 "" 2 10601 .LVL899: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10602 .loc 2 1073 4 is_stmt 1 view .LVU3481 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10603 .loc 2 1073 4 is_stmt 0 view .LVU3482 10604 .thumb 10605 .syntax unified 10606 .LBE819: 10607 .LBE818: 3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10608 .loc 1 3353 3 discriminator 1 view .LVU3483 10609 0078 43F04003 orr r3, r3, #64 10610 .LVL900: 3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10611 .loc 1 3353 3 is_stmt 1 discriminator 1 view .LVU3484 10612 .LBB820: 10613 .LBI820: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10614 .loc 2 1119 31 view .LVU3485 ARM GAS /tmp/ccQxTlMj.s page 332 10615 .LBB821: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10616 .loc 2 1121 4 view .LVU3486 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10617 .loc 2 1123 4 view .LVU3487 10618 007c 0832 adds r2, r2, #8 10619 .LVL901: 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10620 .loc 2 1123 4 is_stmt 0 view .LVU3488 10621 .syntax unified 10622 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10623 007e 42E80031 strex r1, r3, [r2] 10624 @ 0 "" 2 10625 .LVL902: 10626 .loc 2 1124 4 is_stmt 1 view .LVU3489 10627 .loc 2 1124 4 is_stmt 0 view .LVU3490 10628 .thumb 10629 .syntax unified 10630 .LBE821: 10631 .LBE820: 3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10632 .loc 1 3353 3 discriminator 1 view .LVU3491 10633 0082 0029 cmp r1, #0 10634 0084 F3D1 bne .L555 10635 .LBE817: 3355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10636 .loc 1 3355 10 view .LVU3492 10637 0086 0020 movs r0, #0 10638 .LVL903: 10639 .L551: 3356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10640 .loc 1 3356 1 view .LVU3493 10641 0088 10BD pop {r4, pc} 10642 .LVL904: 10643 .L557: 3333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10644 .loc 1 3333 7 is_stmt 1 view .LVU3494 3333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10645 .loc 1 3333 24 is_stmt 0 view .LVU3495 10646 008a 1023 movs r3, #16 10647 008c C4F88430 str r3, [r4, #132] 3336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10648 .loc 1 3336 7 is_stmt 1 view .LVU3496 3336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10649 .loc 1 3336 22 is_stmt 0 view .LVU3497 10650 0090 2023 movs r3, #32 10651 0092 C4F88030 str r3, [r4, #128] 3338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10652 .loc 1 3338 7 is_stmt 1 view .LVU3498 3338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10653 .loc 1 3338 14 is_stmt 0 view .LVU3499 10654 0096 0120 movs r0, #1 10655 0098 F6E7 b .L551 10656 .L559: 10657 009a 00BF .align 2 10658 .L558: 10659 009c 00000000 .word UART_DMAReceiveCplt ARM GAS /tmp/ccQxTlMj.s page 333 10660 00a0 00000000 .word UART_DMARxHalfCplt 10661 00a4 00000000 .word UART_DMAError 10662 .cfi_endproc 10663 .LFE190: 10665 .section .text.HAL_UART_Receive_DMA,"ax",%progbits 10666 .align 1 10667 .global HAL_UART_Receive_DMA 10668 .syntax unified 10669 .thumb 10670 .thumb_func 10672 HAL_UART_Receive_DMA: 10673 .LVL905: 10674 .LFB153: 1417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 10675 .loc 1 1417 1 is_stmt 1 view -0 10676 .cfi_startproc 10677 @ args = 0, pretend = 0, frame = 0 10678 @ frame_needed = 0, uses_anonymous_args = 0 1417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 10679 .loc 1 1417 1 is_stmt 0 view .LVU3501 10680 0000 38B5 push {r3, r4, r5, lr} 10681 .LCFI54: 10682 .cfi_def_cfa_offset 16 10683 .cfi_offset 3, -16 10684 .cfi_offset 4, -12 10685 .cfi_offset 5, -8 10686 .cfi_offset 14, -4 1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10687 .loc 1 1419 3 is_stmt 1 view .LVU3502 1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10688 .loc 1 1419 12 is_stmt 0 view .LVU3503 10689 0002 D0F88030 ldr r3, [r0, #128] 1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10690 .loc 1 1419 6 view .LVU3504 10691 0006 202B cmp r3, #32 10692 0008 16D1 bne .L564 1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10693 .loc 1 1421 5 is_stmt 1 view .LVU3505 1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10694 .loc 1 1421 8 is_stmt 0 view .LVU3506 10695 000a 002A cmp r2, #0 10696 000c 18BF it ne 10697 000e 0029 cmpne r1, #0 10698 0010 14D0 beq .L565 1427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10699 .loc 1 1427 5 is_stmt 1 view .LVU3507 1427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10700 .loc 1 1427 26 is_stmt 0 view .LVU3508 10701 0012 0023 movs r3, #0 10702 0014 0366 str r3, [r0, #96] 1430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10703 .loc 1 1430 5 is_stmt 1 view .LVU3509 1430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { 10704 .loc 1 1430 9 is_stmt 0 view .LVU3510 10705 0016 0368 ldr r3, [r0] 10706 0018 5B68 ldr r3, [r3, #4] 1430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** { ARM GAS /tmp/ccQxTlMj.s page 334 10707 .loc 1 1430 8 view .LVU3511 10708 001a 13F4000F tst r3, #8388608 10709 001e 08D0 beq .L562 10710 .L563: 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10711 .loc 1 1433 7 is_stmt 1 discriminator 1 view .LVU3512 10712 .LBB822: 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10713 .loc 1 1433 7 discriminator 1 view .LVU3513 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10714 .loc 1 1433 7 discriminator 1 view .LVU3514 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10715 .loc 1 1433 7 discriminator 1 view .LVU3515 10716 0020 0468 ldr r4, [r0] 10717 .LVL906: 10718 .LBB823: 10719 .LBI823: 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10720 .loc 2 1068 31 view .LVU3516 10721 .LBB824: 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** 10722 .loc 2 1070 5 view .LVU3517 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10723 .loc 2 1072 4 view .LVU3518 10724 .syntax unified 10725 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10726 0022 54E8003F ldrex r3, [r4] 10727 @ 0 "" 2 10728 .LVL907: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10729 .loc 2 1073 4 view .LVU3519 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } 10730 .loc 2 1073 4 is_stmt 0 view .LVU3520 10731 .thumb 10732 .syntax unified 10733 .LBE824: 10734 .LBE823: 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10735 .loc 1 1433 7 discriminator 1 view .LVU3521 10736 0026 43F08063 orr r3, r3, #67108864 10737 .LVL908: 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10738 .loc 1 1433 7 is_stmt 1 discriminator 1 view .LVU3522 10739 .LBB825: 10740 .LBI825: 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { 10741 .loc 2 1119 31 view .LVU3523 10742 .LBB826: 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** 10743 .loc 2 1121 4 view .LVU3524 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 10744 .loc 2 1123 4 view .LVU3525 10745 .syntax unified 10746 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 10747 002a 44E80035 strex r5, r3, [r4] 10748 @ 0 "" 2 10749 .LVL909: ARM GAS /tmp/ccQxTlMj.s page 335 10750 .loc 2 1124 4 view .LVU3526 10751 .loc 2 1124 4 is_stmt 0 view .LVU3527 10752 .thumb 10753 .syntax unified 10754 .LBE826: 10755 .LBE825: 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10756 .loc 1 1433 7 discriminator 1 view .LVU3528 10757 002e 002D cmp r5, #0 10758 0030 F6D1 bne .L563 10759 .LVL910: 10760 .L562: 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10761 .loc 1 1433 7 discriminator 1 view .LVU3529 10762 .LBE822: 1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10763 .loc 1 1433 7 is_stmt 1 discriminator 2 view .LVU3530 1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10764 .loc 1 1436 5 view .LVU3531 1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10765 .loc 1 1436 13 is_stmt 0 view .LVU3532 10766 0032 FFF7FEFF bl UART_Start_Receive_DMA 10767 .LVL911: 1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10768 .loc 1 1436 13 view .LVU3533 10769 0036 00E0 b .L561 10770 .LVL912: 10771 .L564: 1440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10772 .loc 1 1440 12 view .LVU3534 10773 0038 0220 movs r0, #2 10774 .LVL913: 10775 .L561: 1442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 10776 .loc 1 1442 1 view .LVU3535 10777 003a 38BD pop {r3, r4, r5, pc} 10778 .LVL914: 10779 .L565: 1423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10780 .loc 1 1423 14 view .LVU3536 10781 003c 0120 movs r0, #1 10782 .LVL915: 1423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } 10783 .loc 1 1423 14 view .LVU3537 10784 003e FCE7 b .L561 10785 .cfi_endproc 10786 .LFE153: 10788 .text 10789 .Letext0: 10790 .file 3 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h" 10791 .file 4 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h" 10792 .file 5 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h" 10793 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h" 10794 .file 7 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h" 10795 .file 8 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart.h" 10796 .file 9 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h" 10797 .file 10 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h" ARM GAS /tmp/ccQxTlMj.s page 336 ARM GAS /tmp/ccQxTlMj.s page 337 DEFINED SYMBOLS *ABS*:00000000 stm32f7xx_hal_uart.c /tmp/ccQxTlMj.s:20 .text.UART_EndTxTransfer:00000000 $t /tmp/ccQxTlMj.s:25 .text.UART_EndTxTransfer:00000000 UART_EndTxTransfer /tmp/ccQxTlMj.s:97 .text.UART_EndRxTransfer:00000000 $t /tmp/ccQxTlMj.s:102 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer /tmp/ccQxTlMj.s:297 .text.UART_TxISR_8BIT:00000000 $t /tmp/ccQxTlMj.s:302 .text.UART_TxISR_8BIT:00000000 UART_TxISR_8BIT /tmp/ccQxTlMj.s:462 .text.UART_TxISR_16BIT:00000000 $t /tmp/ccQxTlMj.s:467 .text.UART_TxISR_16BIT:00000000 UART_TxISR_16BIT /tmp/ccQxTlMj.s:634 .text.HAL_UART_MspInit:00000000 $t /tmp/ccQxTlMj.s:640 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit /tmp/ccQxTlMj.s:655 .text.HAL_UART_MspDeInit:00000000 $t /tmp/ccQxTlMj.s:661 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit /tmp/ccQxTlMj.s:676 .text.HAL_UART_DeInit:00000000 $t /tmp/ccQxTlMj.s:682 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit /tmp/ccQxTlMj.s:771 .text.HAL_UART_Transmit_IT:00000000 $t /tmp/ccQxTlMj.s:777 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT /tmp/ccQxTlMj.s:915 .text.HAL_UART_Transmit_IT:0000005c $d /tmp/ccQxTlMj.s:921 .text.HAL_UART_Transmit_DMA:00000000 $t /tmp/ccQxTlMj.s:927 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA /tmp/ccQxTlMj.s:1120 .text.HAL_UART_Transmit_DMA:00000088 $d /tmp/ccQxTlMj.s:2935 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt /tmp/ccQxTlMj.s:3205 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt /tmp/ccQxTlMj.s:3300 .text.UART_DMAError:00000000 UART_DMAError /tmp/ccQxTlMj.s:1127 .text.HAL_UART_DMAPause:00000000 $t /tmp/ccQxTlMj.s:1133 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause /tmp/ccQxTlMj.s:1427 .text.HAL_UART_DMAResume:00000000 $t /tmp/ccQxTlMj.s:1433 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume /tmp/ccQxTlMj.s:1706 .text.HAL_UART_DMAStop:00000000 $t /tmp/ccQxTlMj.s:1712 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop /tmp/ccQxTlMj.s:1960 .text.HAL_UART_Abort:00000000 $t /tmp/ccQxTlMj.s:1966 .text.HAL_UART_Abort:00000000 HAL_UART_Abort /tmp/ccQxTlMj.s:2394 .text.HAL_UART_AbortTransmit:00000000 $t /tmp/ccQxTlMj.s:2400 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit /tmp/ccQxTlMj.s:2586 .text.HAL_UART_AbortReceive:00000000 $t /tmp/ccQxTlMj.s:2592 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive /tmp/ccQxTlMj.s:2909 .text.HAL_UART_TxCpltCallback:00000000 $t /tmp/ccQxTlMj.s:2915 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback /tmp/ccQxTlMj.s:2930 .text.UART_DMATransmitCplt:00000000 $t /tmp/ccQxTlMj.s:3091 .text.UART_EndTransmit_IT:00000000 $t /tmp/ccQxTlMj.s:3096 .text.UART_EndTransmit_IT:00000000 UART_EndTransmit_IT /tmp/ccQxTlMj.s:3179 .text.HAL_UART_TxHalfCpltCallback:00000000 $t /tmp/ccQxTlMj.s:3185 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback /tmp/ccQxTlMj.s:3200 .text.UART_DMATxHalfCplt:00000000 $t /tmp/ccQxTlMj.s:3232 .text.HAL_UART_RxCpltCallback:00000000 $t /tmp/ccQxTlMj.s:3238 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback /tmp/ccQxTlMj.s:3253 .text.HAL_UART_RxHalfCpltCallback:00000000 $t /tmp/ccQxTlMj.s:3259 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback /tmp/ccQxTlMj.s:3274 .text.HAL_UART_ErrorCallback:00000000 $t /tmp/ccQxTlMj.s:3280 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback /tmp/ccQxTlMj.s:3295 .text.UART_DMAError:00000000 $t /tmp/ccQxTlMj.s:3390 .text.UART_DMAAbortOnError:00000000 $t /tmp/ccQxTlMj.s:3395 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError /tmp/ccQxTlMj.s:3428 .text.HAL_UART_AbortCpltCallback:00000000 $t /tmp/ccQxTlMj.s:3434 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback /tmp/ccQxTlMj.s:3449 .text.HAL_UART_Abort_IT:00000000 $t ARM GAS /tmp/ccQxTlMj.s page 338 /tmp/ccQxTlMj.s:3455 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT /tmp/ccQxTlMj.s:3931 .text.HAL_UART_Abort_IT:00000128 $d /tmp/ccQxTlMj.s:4020 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback /tmp/ccQxTlMj.s:3942 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback /tmp/ccQxTlMj.s:3937 .text.UART_DMARxAbortCallback:00000000 $t /tmp/ccQxTlMj.s:4015 .text.UART_DMATxAbortCallback:00000000 $t /tmp/ccQxTlMj.s:4088 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t /tmp/ccQxTlMj.s:4094 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback /tmp/ccQxTlMj.s:4109 .text.HAL_UART_AbortTransmit_IT:00000000 $t /tmp/ccQxTlMj.s:4115 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT /tmp/ccQxTlMj.s:4323 .text.HAL_UART_AbortTransmit_IT:0000007c $d /tmp/ccQxTlMj.s:4333 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback /tmp/ccQxTlMj.s:4328 .text.UART_DMATxOnlyAbortCallback:00000000 $t /tmp/ccQxTlMj.s:4367 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t /tmp/ccQxTlMj.s:4373 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback /tmp/ccQxTlMj.s:4388 .text.HAL_UART_AbortReceive_IT:00000000 $t /tmp/ccQxTlMj.s:4394 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT /tmp/ccQxTlMj.s:4739 .text.HAL_UART_AbortReceive_IT:000000c8 $d /tmp/ccQxTlMj.s:4749 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback /tmp/ccQxTlMj.s:4744 .text.UART_DMARxOnlyAbortCallback:00000000 $t /tmp/ccQxTlMj.s:4795 .text.HAL_UARTEx_RxEventCallback:00000000 $t /tmp/ccQxTlMj.s:4801 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback /tmp/ccQxTlMj.s:4817 .text.UART_RxISR_8BIT:00000000 $t /tmp/ccQxTlMj.s:4822 .text.UART_RxISR_8BIT:00000000 UART_RxISR_8BIT /tmp/ccQxTlMj.s:5172 .text.UART_RxISR_16BIT:00000000 $t /tmp/ccQxTlMj.s:5177 .text.UART_RxISR_16BIT:00000000 UART_RxISR_16BIT /tmp/ccQxTlMj.s:5527 .text.UART_DMARxHalfCplt:00000000 $t /tmp/ccQxTlMj.s:5532 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt /tmp/ccQxTlMj.s:5580 .text.UART_DMAReceiveCplt:00000000 $t /tmp/ccQxTlMj.s:5585 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt /tmp/ccQxTlMj.s:5879 .text.HAL_UARTEx_WakeupCallback:00000000 $t /tmp/ccQxTlMj.s:5885 .text.HAL_UARTEx_WakeupCallback:00000000 HAL_UARTEx_WakeupCallback /tmp/ccQxTlMj.s:5900 .text.HAL_UART_IRQHandler:00000000 $t /tmp/ccQxTlMj.s:5906 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler /tmp/ccQxTlMj.s:6828 .text.HAL_UART_IRQHandler:000002e0 $d /tmp/ccQxTlMj.s:6834 .text.HAL_UART_ReceiverTimeout_Config:00000000 $t /tmp/ccQxTlMj.s:6840 .text.HAL_UART_ReceiverTimeout_Config:00000000 HAL_UART_ReceiverTimeout_Config /tmp/ccQxTlMj.s:6861 .text.HAL_UART_EnableReceiverTimeout:00000000 $t /tmp/ccQxTlMj.s:6867 .text.HAL_UART_EnableReceiverTimeout:00000000 HAL_UART_EnableReceiverTimeout /tmp/ccQxTlMj.s:6932 .text.HAL_UART_DisableReceiverTimeout:00000000 $t /tmp/ccQxTlMj.s:6938 .text.HAL_UART_DisableReceiverTimeout:00000000 HAL_UART_DisableReceiverTimeout /tmp/ccQxTlMj.s:7003 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t /tmp/ccQxTlMj.s:7009 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode /tmp/ccQxTlMj.s:7028 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t /tmp/ccQxTlMj.s:7034 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter /tmp/ccQxTlMj.s:7187 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t /tmp/ccQxTlMj.s:7193 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver /tmp/ccQxTlMj.s:7346 .text.HAL_LIN_SendBreak:00000000 $t /tmp/ccQxTlMj.s:7352 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak /tmp/ccQxTlMj.s:7405 .text.HAL_UART_GetState:00000000 $t /tmp/ccQxTlMj.s:7411 .text.HAL_UART_GetState:00000000 HAL_UART_GetState /tmp/ccQxTlMj.s:7439 .text.HAL_UART_GetError:00000000 $t /tmp/ccQxTlMj.s:7445 .text.HAL_UART_GetError:00000000 HAL_UART_GetError /tmp/ccQxTlMj.s:7463 .text.UART_SetConfig:00000000 $t /tmp/ccQxTlMj.s:7469 .text.UART_SetConfig:00000000 UART_SetConfig /tmp/ccQxTlMj.s:7596 .text.UART_SetConfig:0000008a $d /tmp/ccQxTlMj.s:7600 .text.UART_SetConfig:0000008e $t ARM GAS /tmp/ccQxTlMj.s page 339 /tmp/ccQxTlMj.s:7617 .text.UART_SetConfig:000000a4 $d /tmp/ccQxTlMj.s:7627 .text.UART_SetConfig:000000b6 $t /tmp/ccQxTlMj.s:7658 .text.UART_SetConfig:000000d4 $d /tmp/ccQxTlMj.s:7933 .text.UART_SetConfig:00000250 $d /tmp/ccQxTlMj.s:7946 .text.UART_SetConfig:0000025c $d /tmp/ccQxTlMj.s:7959 .text.UART_SetConfig:00000284 $t /tmp/ccQxTlMj.s:8134 .text.UART_SetConfig:00000324 $d /tmp/ccQxTlMj.s:8139 .text.UART_AdvFeatureConfig:00000000 $t /tmp/ccQxTlMj.s:8145 .text.UART_AdvFeatureConfig:00000000 UART_AdvFeatureConfig /tmp/ccQxTlMj.s:8297 .text.UART_WaitOnFlagUntilTimeout:00000000 $t /tmp/ccQxTlMj.s:8303 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout /tmp/ccQxTlMj.s:8444 .text.HAL_UART_Transmit:00000000 $t /tmp/ccQxTlMj.s:8450 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit /tmp/ccQxTlMj.s:8660 .text.HAL_UART_Receive:00000000 $t /tmp/ccQxTlMj.s:8666 .text.HAL_UART_Receive:00000000 HAL_UART_Receive /tmp/ccQxTlMj.s:8920 .text.UART_CheckIdleState:00000000 $t /tmp/ccQxTlMj.s:8926 .text.UART_CheckIdleState:00000000 UART_CheckIdleState /tmp/ccQxTlMj.s:9231 .text.HAL_UART_Init:00000000 $t /tmp/ccQxTlMj.s:9237 .text.HAL_UART_Init:00000000 HAL_UART_Init /tmp/ccQxTlMj.s:9341 .text.HAL_HalfDuplex_Init:00000000 $t /tmp/ccQxTlMj.s:9347 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init /tmp/ccQxTlMj.s:9455 .text.HAL_LIN_Init:00000000 $t /tmp/ccQxTlMj.s:9461 .text.HAL_LIN_Init:00000000 HAL_LIN_Init /tmp/ccQxTlMj.s:9613 .text.HAL_MultiProcessor_Init:00000000 $t /tmp/ccQxTlMj.s:9619 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init /tmp/ccQxTlMj.s:9747 .text.HAL_MultiProcessor_EnableMuteMode:00000000 $t /tmp/ccQxTlMj.s:9753 .text.HAL_MultiProcessor_EnableMuteMode:00000000 HAL_MultiProcessor_EnableMuteMode /tmp/ccQxTlMj.s:9854 .text.HAL_MultiProcessor_DisableMuteMode:00000000 $t /tmp/ccQxTlMj.s:9860 .text.HAL_MultiProcessor_DisableMuteMode:00000000 HAL_MultiProcessor_DisableMuteMode /tmp/ccQxTlMj.s:9961 .text.UART_Start_Receive_IT:00000000 $t /tmp/ccQxTlMj.s:9967 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT /tmp/ccQxTlMj.s:10252 .text.UART_Start_Receive_IT:000000cc $d /tmp/ccQxTlMj.s:10259 .text.HAL_UART_Receive_IT:00000000 $t /tmp/ccQxTlMj.s:10265 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT /tmp/ccQxTlMj.s:10382 .text.UART_Start_Receive_DMA:00000000 $t /tmp/ccQxTlMj.s:10388 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA /tmp/ccQxTlMj.s:10659 .text.UART_Start_Receive_DMA:0000009c $d /tmp/ccQxTlMj.s:10666 .text.HAL_UART_Receive_DMA:00000000 $t /tmp/ccQxTlMj.s:10672 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA /tmp/ccQxTlMj.s:7671 .text.UART_SetConfig:000000e1 $d /tmp/ccQxTlMj.s:7671 .text.UART_SetConfig:000000e2 $t /tmp/ccQxTlMj.s:7942 .text.UART_SetConfig:00000259 $d /tmp/ccQxTlMj.s:7942 .text.UART_SetConfig:0000025a $t UNDEFINED SYMBOLS HAL_DMA_Start_IT HAL_DMA_Abort HAL_DMA_GetError HAL_DMA_Abort_IT HAL_RCC_GetPCLK1Freq HAL_RCC_GetPCLK2Freq HAL_RCC_GetSysClockFreq HAL_GetTick