ARM GAS /tmp/ccizsdzp.s page 1 1 .cpu cortex-m7 2 .eabi_attribute 28, 1 3 .eabi_attribute 20, 1 4 .eabi_attribute 21, 1 5 .eabi_attribute 23, 3 6 .eabi_attribute 24, 1 7 .eabi_attribute 25, 1 8 .eabi_attribute 26, 1 9 .eabi_attribute 30, 1 10 .eabi_attribute 34, 1 11 .eabi_attribute 18, 4 12 .file "stm32h7xx_hal_uart.c" 13 .text 14 .Ltext0: 15 .cfi_sections .debug_frame 16 .section .text.UART_EndTxTransfer,"ax",%progbits 17 .align 1 18 .arch armv7e-m 19 .syntax unified 20 .thumb 21 .thumb_func 22 .fpu fpv5-d16 24 UART_EndTxTransfer: 25 .LVL0: 26 .LFB187: 27 .file 1 "Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c" 1:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ****************************************************************************** 3:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @file stm32h7xx_hal_uart.c 4:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @author MCD Application Team 5:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief UART HAL module driver. 6:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART). 8:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * + Initialization and de-initialization functions 9:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * + IO operation functions 10:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * + Peripheral Control functions 11:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * 12:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * 13:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @verbatim 14:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** =============================================================================== 15:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ##### How to use this driver ##### 16:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** =============================================================================== 17:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 18:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** The UART HAL driver can be used as follows: 19:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 20:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart). 21:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API: 22:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) Enable the USARTx interface clock. 23:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) UART pins configuration: 24:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs. 25:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up. 26:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT() 27:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs): 28:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority. 29:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle. 30:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) UART interrupts handling: 31:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt, ARM GAS /tmp/ccizsdzp.s page 2 32:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** RXNE interrupt, RX/TX FIFOs related interrupts and Error Interrupts) 33:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() 34:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** inside the transmit and receive processes. 35:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA() 36:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs): 37:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel. 38:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+++) Enable the DMAx interface clock. 39:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters. 40:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel. 41:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle. 42:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on 43:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 44:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Prescaler value , Hardware 45:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure. 46:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 47:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...) 48:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** in the huart handle AdvancedInit structure. 49:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 50:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling 51:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_Init() API. 52:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 53:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling 54:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_HalfDuplex_Init() API. 55:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 56:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers 57:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** by calling the HAL_LIN_Init() API. 58:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 59:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers 60:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API. 61:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 62:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers 63:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API. 64:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 65:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 66:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini 67:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by 68:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API. 69:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 70:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ##### Callback registration ##### 71:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ================================== 72:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 73:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 74:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1 75:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks. 76:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 77:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 78:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Use Function @ref HAL_UART_RegisterCallback() to register a user callback. 79:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Function @ref HAL_UART_RegisterCallback() allows to register following callbacks: 80:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 81:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 82:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 83:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 84:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 85:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 86:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 87:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 88:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback. ARM GAS /tmp/ccizsdzp.s page 3 89:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) RxFifoFullCallback : Rx Fifo Full Callback. 90:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) TxFifoEmptyCallback : Tx Fifo Empty Callback. 91:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 92:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 93:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** and a pointer to the user callback function. 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 96:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Use function @ref HAL_UART_UnRegisterCallback() to reset a callback to the default 98:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** weak (surcharged) function. 99:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @ref HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle, 100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** and the Callback ID. 101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** This function allows to reset following callbacks: 102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback. 103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback. 104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback. 105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback. 106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) ErrorCallback : Error Callback. 107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback. 108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback. 109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback. 110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback. 111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) RxFifoFullCallback : Rx Fifo Full Callback. 112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) TxFifoEmptyCallback : Tx Fifo Empty Callback. 113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) MspInitCallback : UART MspInit. 114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit. 115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** By default, after the @ref HAL_UART_Init() and when the state is HAL_UART_STATE_RESET 118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions: 119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** examples @ref HAL_UART_TxCpltCallback(), @ref HAL_UART_RxHalfCpltCallback(). 120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively 121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the @ref HAL_UART_Init() 122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** and @ref HAL_UART_DeInit() only when these callbacks are null (not registered beforehand). 123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the @ref HAL_UART_Init() and @ref HAL_UART_DeInit() 124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand). 125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only. 128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered 129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user) 130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit. 131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks 132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** using @ref HAL_UART_RegisterCallback() before calling @ref HAL_UART_DeInit() 133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** or @ref HAL_UART_Init() function. 134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or 137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** not defined, the callback registration feature is not available 138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** and weak (surcharged) callbacks are used. 139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @endverbatim 142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ****************************************************************************** 143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @attention 144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * 145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *

© Copyright (c) 2017 STMicroelectronics. ARM GAS /tmp/ccizsdzp.s page 4 146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * All rights reserved.

147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * 148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This software component is licensed by ST under BSD 3-Clause license, 149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the "License"; You may not use this file except in compliance with the 150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * License. You may obtain a copy of the License at: 151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * opensource.org/licenses/BSD-3-Clause 152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * 153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ****************************************************************************** 154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/ 157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #include "stm32h7xx_hal.h" 158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** @addtogroup STM32H7xx_HAL_Driver 160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @{ 161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** @defgroup UART UART 164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief HAL UART module driver 165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @{ 166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED 169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/ 171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/ 172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants 173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @{ 174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | \ 176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** USART_CR1_TE | USART_CR1_RE | USART_CR1_OVER8| \ 177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** USART_CR1_FIFOEN )) /*!< UART or USART C 178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE | USART_CR3_ONEBIT| \ 180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** USART_CR3_TXFTCFG | USART_CR3_RXFTCFG )) /*!< UART or USART 181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #define LPUART_BRR_MIN 0x00000300U /* LPUART BRR minimum authorized value */ 183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #define LPUART_BRR_MAX 0x000FFFFFU /* LPUART BRR maximum authorized value */ 184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #define UART_BRR_MIN 0x10U /* UART BRR minimum authorized value */ 186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #define UART_BRR_MAX 0x0000FFFFU /* UART BRR maximum authorized value */ 187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @} 190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/ 193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/ 194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const uint16_t UARTPrescTable[12] = {1U, 2U, 4U, 6U, 8U, 10U, 12U, 16U, 32U, 64U, 128U, 256U}; 195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/ 197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** @addtogroup UART_Private_Functions 198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @{ 199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart); 201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart); 202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma); ARM GAS /tmp/ccizsdzp.s page 5 203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma); 204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma); 205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma); 206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma); 207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma); 208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma); 209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma); 210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma); 212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart); 213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart); 214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_TxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart); 215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_TxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart); 216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart); 217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart); 218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart); 219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_RxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart); 220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_RxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart); 221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @} 223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/ 226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions 228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @{ 229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions 232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Initialization and Configuration functions 233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * 234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @verbatim 235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** =============================================================================== 236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ##### Initialization and Configuration functions ##### 237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** =============================================================================== 238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy 240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** in asynchronous mode. 241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) For the asynchronous mode the parameters below can be configured: 242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) Baud Rate 243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) Word Length 244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) Stop Bit 245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written 246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit. 247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) Hardware flow control 248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) Receiver/transmitter modes 249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) Over Sampling Method 250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) One-Bit Sampling Method 251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) For the asynchronous mode, the following advanced features can be configured as well: 252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) TX and/or RX pin level inversion 253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) data logical level inversion 254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) RX and TX pins swap 255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) RX overrun detection disabling 256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) DMA disabling on RX error 257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) MSB first on communication line 258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (++) auto Baud rate detection 259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] ARM GAS /tmp/ccizsdzp.s page 6 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API 261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, UART LIN mode 262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** and UART multiprocessor mode configuration procedures (details for the procedures 263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** are available in reference manual). 264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @endverbatim 266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit, 268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 8-bit or 9-bit), the possible UART formats are listed in the 269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** following table. 270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Table 1. UART frame format. 272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** +-----------------------------------------------------------------------+ 273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** | M1 bit | M0 bit | PCE bit | UART frame | 274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | | 276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | | 278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | | 280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | | 282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | | 284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------| 285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | | 286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** +-----------------------------------------------------------------------+ 287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @{ 289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Initialize the UART mode according to the specified 293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart) 298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart == NULL) 301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE) 306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the parameters */ 308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance)); 309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the parameters */ 313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param((IS_UART_INSTANCE(huart->Instance)) || (IS_LPUART_INSTANCE(huart->Instance))); 314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) ARM GAS /tmp/ccizsdzp.s page 7 317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init the low level hardware */ 330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback(huart); 331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_MspInit(huart); 334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART Communication parameters */ 342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared: 353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/ 355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified 366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart) 371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart == NULL) ARM GAS /tmp/ccizsdzp.s page 8 374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check UART instance */ 379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance)); 380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init the low level hardware */ 395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback(huart); 396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_MspInit(huart); 399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART Communication parameters */ 407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared: 418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ 424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL); 425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 9 431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified 435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle. 436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length. 438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This parameter can be one of the following values: 439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection 440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection 441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength) 444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart == NULL) 447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the LIN UART instance */ 452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the Break detection length parameter */ 454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength)); 455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */ 457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */ 462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B) 463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init the low level hardware */ 481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback(huart); 482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_MspInit(huart); 485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 10 488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART Communication parameters */ 493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared: 504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/ 506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN); 507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ 510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN); 511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the USART LIN Break detection length. */ 513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength); 514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified 524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle. 525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long). 527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method. 528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This parameter can be one of the following values: 529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection 530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark 531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter 532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * is useless and ignored by the initialization function. 533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection 534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to 535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API 536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after 537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * HAL_MultiProcessor_Init(). 538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake 541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart == NULL) 544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 11 545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the wake up method parameter */ 549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod)); 550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET) 552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Allocate lock resource and initialize it */ 554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED; 555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart); 558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->MspInitCallback == NULL) 560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init the low level hardware */ 565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback(huart); 566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */ 568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_MspInit(huart); 569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART Communication parameters */ 577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR) 578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) 583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_AdvFeatureConfig(huart); 585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared: 588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register, 589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */ 590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); 591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK) 594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */ 596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS) 597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */ 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod); 601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 12 602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_ENABLE(huart); 603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ 605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DeInitialize the UART peripheral. 611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) 615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart == NULL) 618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the parameters */ 623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param((IS_UART_INSTANCE(huart->Instance)) || (IS_LPUART_INSTANCE(huart->Instance))); 624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_DISABLE(huart); 628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->CR1 = 0x0U; 630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL) 635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* DeInit the low level hardware */ 639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspDeInitCallback(huart); 640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* DeInit the low level hardware */ 642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_MspDeInit(huart); 643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Initialize the UART MSP. 656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ ARM GAS /tmp/ccizsdzp.s page 13 659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart) 660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UNUSED(huart); 663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file 666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DeInitialize the UART MSP. 671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart) 675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UNUSED(huart); 678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file 681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Register a User UART Callback 687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * To be used instead of the weak predefined callback 688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart uart handle 689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered 690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This parameter can be one of the following values: 691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID 700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_FIFO_FULL_CB_ID Rx Fifo Full Callback ID 701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_FIFO_EMPTY_CB_ID Tx Fifo Empty Callback ID 702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param pCallback pointer to the Callback function 705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C 708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pUART_CallbackTypeDef pCallback) 709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (pCallback == NULL) 713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 14 716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** switch (CallbackID) 724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback; 727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxCpltCallback = pCallback; 731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback; 735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxCpltCallback = pCallback; 739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCallback = pCallback; 743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortCpltCallback = pCallback; 747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback; 751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback; 755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->WakeupCallback = pCallback; 759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_RX_FIFO_FULL_CB_ID : 762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxFifoFullCallback = pCallback; 763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_TX_FIFO_EMPTY_CB_ID : 766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxFifoEmptyCallback = pCallback; 767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback = pCallback; 771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 15 773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** default : 778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** status = HAL_ERROR; 781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET) 785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** switch (CallbackID) 787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback = pCallback; 790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspDeInitCallback = pCallback; 794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** default : 797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** status = HAL_ERROR; 800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** status = HAL_ERROR; 808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return status; 813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Unregister an UART Callback 817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback 818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart uart handle 819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered 820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This parameter can be one of the following values: 821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID 822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID 823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID 824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID 825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID 826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID 827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID 828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID 829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID ARM GAS /tmp/ccizsdzp.s page 16 830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_FIFO_FULL_CB_ID Rx Fifo Full Callback ID 831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_FIFO_EMPTY_CB_ID Tx Fifo Empty Callback ID 832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID 833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID 834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef 837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK; 839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState) 843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** switch (CallbackID) 845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID : 847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa 848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID : 851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl 852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID : 855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal 856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID : 859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl 860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID : 863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error 864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID : 867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort 868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID : 871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak Abort 872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID : 875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak Abort 876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID : 879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu 880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_RX_FIFO_FULL_CB_ID : 883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxFifoFullCallback = HAL_UARTEx_RxFifoFullCallback; /* Legacy weak RxFif 884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_TX_FIFO_EMPTY_CB_ID : ARM GAS /tmp/ccizsdzp.s page 17 887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxFifoEmptyCallback = HAL_UARTEx_TxFifoEmptyCallback; /* Legacy weak TxFif 888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn 892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe 896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** default : 899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** status = HAL_ERROR; 902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState) 906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** switch (CallbackID) 908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID : 910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; 911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID : 914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; 915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** default : 918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** status = HAL_ERROR; 921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK; 927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** status = HAL_ERROR; 929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return status; 934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @} 939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions 942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief UART Transmit/Receive functions 943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * ARM GAS /tmp/ccizsdzp.s page 18 944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @verbatim 945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** =============================================================================== 946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ##### IO operation functions ##### 947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** =============================================================================== 948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous 949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** and Half duplex data transfers. 950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) There are two mode of transfer: 952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode. 953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** The HAL status of all data processing is returned by the same function 954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** after finishing transfer. 955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts 956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** or DMA, These API's return the HAL status. 957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** The end of the data processing will be indicated through the 958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when 959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** using DMA mode. 960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks 961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process 962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is 963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) Blocking mode API's are : 965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_Transmit() 966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_Receive() 967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are : 969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_Transmit_IT() 970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_Receive_IT() 971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_IRQHandler() 972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are : 974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA() 975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_Receive_DMA() 976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_DMAPause() 977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_DMAResume() 978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_DMAStop() 979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode: 981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback() 982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback() 983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback() 984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback() 985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_ErrorCallback() 986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's : 988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_Abort() 989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_AbortTransmit() 990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_AbortReceive() 991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_Abort_IT() 992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT() 993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT() 994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call 996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback() 997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback() 998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback() 999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories. ARM GAS /tmp/ccizsdzp.s page 19 1001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Errors are handled as follows : 1002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er 1003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Inte 1004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow 1005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART 1006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user. 1007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte 1008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode. 1009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() use 1010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit 1012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful. 1013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @endverbatim 1015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @{ 1016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Send an amount of data in blocking mode. 1020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * of u16 provided through pData. 1023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When FIFO mode is enabled, writing a data in the TDR register adds one 1024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * data to the TXFIFO. Write operations to the TDR register are performed 1025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * when TXFNF flag is set. From hardware perspective, TXFNF flag and 1026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * TXE are mapped on the same bit-field. 1027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Timeout Timeout duration. 1031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint3 1034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint8_t *pdata8bits; 1036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t *pdata16bits; 1037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t tickstart; 1038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 1045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 1048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init tickstart for timeout managment*/ 1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tickstart = HAL_GetTick(); 1054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferSize = Size; 1056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = Size; 1057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 20 1058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */ 1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits = NULL; 1062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits = pData; 1067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits = NULL; 1068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** while (huart->TxXferCount > 0U) 1073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) 1075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; 1077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (pdata8bits == NULL) 1079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU); 1081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 1082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU); 1086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 1087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 1089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK) 1092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; 1094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 1097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_BUSY; 1104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode. 1109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * of u16 available through pData. 1112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When FIFO mode is enabled, the RXFNE flag is set as long as the RXFIFO 1113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * is not empty. Read operations from the RDR register are performed when 1114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * RXFNE flag is set. From hardware perspective, RXFNE flag and ARM GAS /tmp/ccizsdzp.s page 21 1115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * RXNE are mapped on the same bit-field. 1116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Timeout Timeout duration. 1120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32 1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint8_t *pdata8bits; 1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t *pdata16bits; 1126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t uhMask; 1127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t tickstart; 1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 1135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 1138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init tickstart for timeout managment*/ 1143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tickstart = HAL_GetTick(); 1144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferSize = Size; 1146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = Size; 1147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 1151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */ 1153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE)) 1154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits = NULL; 1156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 1157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits = pData; 1161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits = NULL; 1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* as long as data have to be received */ 1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** while (huart->RxXferCount > 0U) 1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK) 1170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; ARM GAS /tmp/ccizsdzp.s page 22 1172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (pdata8bits == NULL) 1174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask); 1176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 1177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask); 1181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 1182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 1184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 1187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_BUSY; 1194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode. 1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * of u16 provided through pData. 1202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 1218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferSize = Size; 1221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = Size; 1222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 1223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Configure Tx interrupt processing */ 1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) ARM GAS /tmp/ccizsdzp.s page 23 1229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */ 1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE 1232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT_FIFOEN; 1234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT_FIFOEN; 1238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the TX FIFO threshold interrupt */ 1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 1244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */ 1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE 1249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT; 1251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT; 1255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */ 1260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); 1261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_BUSY; 1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode. 1273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * of u16 available through pData. 1276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 24 1286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 1289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 1292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr = pData; 1294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferSize = Size; 1295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = Size; 1296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = NULL; 1297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */ 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_MASK_COMPUTATION(huart); 1300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 1305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Configure Rx interrupt processing*/ 1308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((huart->FifoMode == UART_FIFOMODE_ENABLE) && (Size >= huart->NbRxDataToProcess)) 1309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */ 1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE 1312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT_FIFOEN; 1314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT_FIFOEN; 1318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and RX FIFO Threshold interrupt */ 1323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 1325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */ 1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE 1330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT; 1332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT; 1336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */ 1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE); 1342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 25 1343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_BUSY; 1349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Send an amount of data in DMA mode. 1354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number 1356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * of u16 provided through pData. 1357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent. 1360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 1366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 1370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 1373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr = pData; 1375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferSize = Size; 1376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = Size; 1377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 1384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; 1385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 1387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; 1388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the DMA error callback */ 1390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError; 1391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the DMA abort callback */ 1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART transmit DMA channel */ 1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance-> 1397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set error code to DMA */ 1399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; ARM GAS /tmp/ccizsdzp.s page 26 1400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->gState to ready */ 1404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 1407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the TC flag in the ICR register */ 1410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); 1411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit 1415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** in the UART CR3 register */ 1416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_BUSY; 1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode. 1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain 1429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the parity bit (MSB position). 1430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1- 1431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb 1432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * of u16 available through pData. 1433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements). 1435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received. 1436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY) 1442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U)) 1444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 1446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 1449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr = pData; 1451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferSize = Size; 1452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmarx != NULL) ARM GAS /tmp/ccizsdzp.s page 27 1457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */ 1459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt; 1460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */ 1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt; 1463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the DMA error callback */ 1465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError; 1466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the DMA abort callback */ 1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the DMA channel */ 1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuff 1472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set error code to DMA */ 1474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->gState to ready */ 1479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 1482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */ 1487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 1490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit 1493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** in the UART CR3 register */ 1494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_BUSY; 1501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Pause the DMA Transfer. 1506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart) 1510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 28 1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 1515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Tx request */ 1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Rx request */ 1530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Resume the DMA Transfer. 1540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart) 1544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 1546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 1548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART DMA Tx request */ 1550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 1553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */ 1555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 1556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reenable PE and ERR (Frame error, noise error, overrun error) interrupts */ 1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); 1559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART DMA Rx request */ 1562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** ARM GAS /tmp/ccizsdzp.s page 29 1571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Stop the DMA Transfer. 1572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart) 1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback() 1579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback: 1580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete 1581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of 1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the stream and the corresponding call back is executed. */ 1583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 1589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Tx channel */ 1594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set error code to DMA */ 1601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; 1604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_EndTxTransfer(huart); 1609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 1613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 1618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmarx != NULL) 1619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set error code to DMA */ 1625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; ARM GAS /tmp/ccizsdzp.s page 30 1628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_EndRxTransfer(huart); 1633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode). 1640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This procedure performs following operations : 1643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Set handle State to READY 1647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart) 1651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable TXE, TC, RXNE, PE, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interr 1653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_TXEIE_TXFN 1654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE); 1655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set error code to DMA */ 1673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; 1676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); ARM GAS /tmp/ccizsdzp.s page 31 1685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmarx != NULL) 1688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set error code to DMA */ 1698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; 1701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 1709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 1712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 1714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 1715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 1717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Discard the received data */ 1720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode). 1733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This procedure performs following operations : 1736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Set handle State to READY 1740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status ARM GAS /tmp/ccizsdzp.s page 32 1742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart) 1744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */ 1746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TCIE | USART_CR1_TXEIE_TXFNFIE)); 1747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 1748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */ 1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK) 1762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT) 1764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set error code to DMA */ 1766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; 1769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset Tx transfer counter */ 1775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 1776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 1778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 1779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 1781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->gState to Ready */ 1784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode). 1791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 1793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This procedure performs following operations : 1794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 1795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Set handle State to READY 1798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere ARM GAS /tmp/ccizsdzp.s page 33 1799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart) 1802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */ 1804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE)); 1805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 1806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */ 1813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmarx != NULL) 1814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null. 1816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */ 1817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK) 1820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT) 1822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set error code to DMA */ 1824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA; 1825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; 1827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset Rx transfer counter */ 1833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 1834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 1837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Discard the received data */ 1839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 1842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode). 1849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or 1851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This procedure performs following operations : 1852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx) 1853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 1855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Set handle State to READY ARM GAS /tmp/ccizsdzp.s page 34 1856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - At abort completion, call user abort complete callback 1857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 1858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 1859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 1860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 1861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart) 1862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t abortcplt = 1U; 1864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable interrupts */ 1866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_TCIE | USART_CR1_RXNEIE_RXFNEIE | USA 1867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE)); 1868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh 1870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** before any call to DMA Abort functions */ 1871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* DMA Tx Handle is valid */ 1872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. 1875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Otherwise, set it to NULL */ 1876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 1879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* DMA Rx Handle is valid */ 1886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmarx != NULL) 1887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. 1889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Otherwise, set it to NULL */ 1890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 1893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 1901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 1902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable DMA Tx at UART level */ 1904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 1905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmatx != NULL) 1908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised : 1910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort DMA TX */ ARM GAS /tmp/ccizsdzp.s page 35 1913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 1914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 1916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** abortcplt = 0U; 1920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 1926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 1928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 1930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmarx != NULL) 1931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised : 1933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 1934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort DMA RX */ 1936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 1937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 1939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** abortcplt = 1U; 1940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 1942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** abortcplt = 0U; 1944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback * 1949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (abortcplt == 1U) 1950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */ 1952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 1953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 1954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear ISR function pointers */ 1956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = NULL; 1957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 1958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset errorCode */ 1960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 1961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 1963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF 1964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 1966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 1967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 1969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 36 1970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Discard the received data */ 1972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 1973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 1975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 1976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 1979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 1980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Abort complete callback */ 1981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortCpltCallback(huart); 1982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 1983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 1984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 1985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 1986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 1989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 1992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode). 1993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 1994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt 1995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This procedure performs following operations : 1996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable UART Interrupts (Tx) 1997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 1999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Set handle State to READY 2000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 2004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart) 2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable interrupts */ 2008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TCIE | USART_CR1_TXEIE_TXFNFIE)); 2009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 2010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */ 2012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 2013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 2015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ 2017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmatx != NULL) 2018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback; 2022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort DMA TX */ 2024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 2025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */ ARM GAS /tmp/ccizsdzp.s page 37 2027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx); 2028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset Tx transfer counter */ 2033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 2034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear TxISR function pointers */ 2036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 2037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 2046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset Tx transfer counter */ 2054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 2055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear TxISR function pointers */ 2057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 2058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 2060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 2061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 2063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->gState to Ready */ 2066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 2071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 2072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 2073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 2074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 2075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 2079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode). 2083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. ARM GAS /tmp/ccizsdzp.s page 38 2084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt 2085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * This procedure performs following operations : 2086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable UART Interrupts (Rx) 2087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 2089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - Set handle State to READY 2090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - At abort completion, call user abort complete callback 2091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex 2093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 2094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart) 2096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 2098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE)); 2099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 2100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ 2107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmarx != NULL) 2108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ 2111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback; 2112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort DMA RX */ 2114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset Rx transfer counter */ 2123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 2124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear RxISR function pointer */ 2126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F 2130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Discard the received data */ 2132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); ARM GAS /tmp/ccizsdzp.s page 39 2141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 2142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset Rx transfer counter */ 2150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 2151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear RxISR function pointer */ 2153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr = NULL; 2154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 2156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF 2157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 2159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 2160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 2164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 2165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 2166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 2167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 2168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 2172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Handle UART interrupt request. 2176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) 2180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 2182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 2183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 2184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t errorflags; 2186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t errorcode; 2187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* If no error occurs */ 2189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE | 2190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (errorflags == 0U) 2191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/ 2193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE_RXFNE) != 0U) 2194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 2195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 2196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxISR != NULL) ARM GAS /tmp/ccizsdzp.s page 40 2198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR(huart); 2200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 2202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* If some errors occur */ 2206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((errorflags != 0U) 2207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && ((((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U) 2208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))) 2209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/ 2211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 2212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 2214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE; 2216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/ 2219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 2222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE; 2224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/ 2227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 2228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 2230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE; 2232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/ 2235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U) 2236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) || 2237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U))) 2238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 2240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE; 2242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/ 2245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 2246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 2248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO; 2250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/ 2253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE) 2254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 41 2255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/ 2256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE_RXFNE) != 0U) 2257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 2258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 2259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxISR != NULL) 2261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR(huart); 2263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* If Error is to be considered as blocking : 2267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - Receiver Timeout error in Reception 2268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - Overrun error in Reception 2269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** - any error occurs in DMA mode reception 2270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** errorcode = huart->ErrorCode; 2272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 2273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 2274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Blocking error : transfer is aborted 2276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Set the UART state ready to be able to start again the process, 2277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ 2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_EndRxTransfer(huart); 2279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */ 2281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 2282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 2284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort the UART DMA Rx channel */ 2286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmarx != NULL) 2287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the UART DMA Abort callback : 2289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ 2290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 2291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Abort DMA RX */ 2293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 2294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ 2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx); 2297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call user error callback */ 2302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered error callback*/ 2304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCallback(huart); 2305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 2306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak error callback*/ 2307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 42 2312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call user error callback */ 2315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered error callback*/ 2317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCallback(huart); 2318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 2319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak error callback*/ 2320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Non Blocking error : transfer could go on. 2327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** Error is notified to user through user error callback */ 2328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered error callback*/ 2330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCallback(huart); 2331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 2332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak error callback*/ 2333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 2334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 2336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 2339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } /* End if some error occurs */ 2341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/ 2343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U)) 2344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 2346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing. 2348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** If UART handle state fields need to be reset to READY, this could be done in Wakeup callback 2349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Wakeup Callback */ 2352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->WakeupCallback(huart); 2353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 2354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */ 2355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart); 2356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 2358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/ 2361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE_TXFNF) != 0U) 2362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U) 2363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** || ((cr3its & USART_CR3_TXFTIE) != 0U))) 2364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->TxISR != NULL) 2366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR(huart); 2368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 43 2369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 2370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/ 2373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 2374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_EndTransmit_IT(huart); 2376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 2377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART TX Fifo Empty occurred ----------------------------------------------*/ 2380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_TXFE) != 0U) && ((cr1its & USART_CR1_TXFEIE) != 0U)) 2381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Tx Fifo Empty Callback */ 2384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxFifoEmptyCallback(huart); 2385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 2386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Tx Fifo Empty Callback */ 2387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UARTEx_TxFifoEmptyCallback(huart); 2388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 2390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* UART RX Fifo Full occurred ----------------------------------------------*/ 2393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((isrflags & USART_ISR_RXFF) != 0U) && ((cr1its & USART_CR1_RXFFIE) != 0U)) 2394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Rx Fifo Full Callback */ 2397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxFifoFullCallback(huart); 2398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 2399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Rx Fifo Full Callback */ 2400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UARTEx_RxFifoFullCallback(huart); 2401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 2403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Tx Transfer completed callback. 2408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) 2412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UNUSED(huart); 2415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file. 2418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Tx Half Transfer completed callback. 2423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ ARM GAS /tmp/ccizsdzp.s page 44 2426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart) 2427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UNUSED(huart); 2430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file. 2433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Rx Transfer completed callback. 2438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) 2442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UNUSED(huart); 2445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file. 2448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Rx Half Transfer completed callback. 2453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) 2457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UNUSED(huart); 2460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed, 2462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file. 2463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief UART error callback. 2468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) 2472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UNUSED(huart); 2475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file. 2478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief UART Abort Complete callback. ARM GAS /tmp/ccizsdzp.s page 45 2483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) 2487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UNUSED(huart); 2490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file. 2493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief UART Abort Complete callback. 2498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart) 2502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UNUSED(huart); 2505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file. 2508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief UART Abort Receive Complete callback. 2513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart) 2517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UNUSED(huart); 2520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed, 2522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file. 2523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @} 2528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions 2531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief UART control functions 2532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * 2533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @verbatim 2534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** =============================================================================== 2535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ##### Peripheral Control functions ##### 2536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** =============================================================================== 2537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 2538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART. 2539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th ARM GAS /tmp/ccizsdzp.s page 46 2540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature 2541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature 2542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode 2543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode 2544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode 2545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral 2546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features 2547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization 2548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter 2549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver 2550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters 2551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @endverbatim 2552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @{ 2553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register. 2557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the configuration information for the specified UART module. 2559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout 2560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF. 2561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue) 2564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 2566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue)); 2568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 2569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature. 2574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the configuration information for the specified UART module. 2576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 2577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart) 2579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 2581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Process Locked */ 2585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 2586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Set the USART RTOEN bit */ 2590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Process Unlocked */ 2595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 2596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 47 2597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 2598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_BUSY; 2602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 2607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature. 2612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the configuration information for the specified UART module. 2614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 2615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart) 2617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 2619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY) 2621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Process Locked */ 2623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 2624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the USART RTOEN bit */ 2628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN); 2629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Process Unlocked */ 2633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 2634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 2636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_BUSY; 2640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_ERROR; 2645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode; 2650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called). 2651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 2653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ ARM GAS /tmp/ccizsdzp.s page 48 2654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart) 2655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 2657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */ 2661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_MME); 2662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode 2670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * as it may not have been in mute mode at this very moment). 2671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 2673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart) 2675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 2677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */ 2681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME); 2682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return (UART_CheckIdleState(huart)); 2686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode). 2690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called. 2691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 2693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart) 2695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 2697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver. 2701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 2703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart) 2705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 2707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear TE and RE bits */ 2710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); ARM GAS /tmp/ccizsdzp.s page 49 2711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */ 2713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TE); 2714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 2718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 2720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter. 2724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status. 2726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart) 2728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 2730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear TE and RE bits */ 2733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE)); 2734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */ 2736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RE); 2737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 2741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 2743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Transmit break characters. 2748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 2750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart) 2752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the parameters */ 2754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance)); 2755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 2757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 2759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Send break characters */ 2761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST); 2762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 2766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; ARM GAS /tmp/ccizsdzp.s page 50 2768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @} 2772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions 2775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief UART Peripheral State functions 2776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * 2777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @verbatim 2778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ============================================================================== 2779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ##### Peripheral State and Error functions ##### 2780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ============================================================================== 2781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** [..] 2782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** This subsection provides functions allowing to : 2783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) Return the UART handle state. 2784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (+) Return the UART handle error code 2785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** @endverbatim 2787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @{ 2788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Return the UART handle state. 2792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the configuration information for the specified UART. 2794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL state 2795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart) 2797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t temp1; 2799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t temp2; 2800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** temp1 = huart->gState; 2801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** temp2 = huart->RxState; 2802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2); 2804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Return the UART handle error code. 2808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains 2809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the configuration information for the specified UART. 2810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval UART Error Code 2811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart) 2813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return huart->ErrorCode; 2815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @} 2818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @} 2822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions ARM GAS /tmp/ccizsdzp.s page 51 2825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @{ 2826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Initialize the callbacks to their default values. 2830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval none 2832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 2834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart) 2835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init the UART Callback settings */ 2837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC 2838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb 2839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC 2840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb 2841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba 2842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa 2843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm 2844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv 2845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb 2846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxFifoFullCallback = HAL_UARTEx_RxFifoFullCallback; /* Legacy weak RxFifoFullC 2847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxFifoEmptyCallback = HAL_UARTEx_TxFifoEmptyCallback; /* Legacy weak TxFifoEmpty 2848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 2853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Configure the UART peripheral. 2854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 2855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 2856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 2857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart) 2858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t tmpreg; 2860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t brrtemp; 2861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 2862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t usartdiv; 2863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 2864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t lpuart_ker_ck_pres; 2865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** PLL2_ClocksTypeDef pll2_clocks; 2866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** PLL3_ClocksTypeDef pll3_clocks; 2867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t pclk; 2868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the parameters */ 2870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate)); 2871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 2872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart)) 2873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_LPUART_STOPBITS(huart->Init.StopBits)); 2875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits)); 2879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 2880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 52 2882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity)); 2883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 2884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); 2885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 2886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_PRESCALER(huart->Init.ClockPrescaler)); 2887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/ 2889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure 2890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling: 2891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value 2892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value 2893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value 2894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */ 2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O 2896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg |= (uint32_t)huart->FifoMode; 2897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 2898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/ 2900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according 2901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * to huart->Init.StopBits value */ 2902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits); 2903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/ 2905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Configure 2906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according 2907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * to huart->Init.HwFlowCtl value 2908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according 2909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */ 2910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl; 2911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (!(UART_INSTANCE_LOWPOWER(huart))) 2913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling; 2915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); 2917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*-------------------------- USART PRESC Configuration -----------------------*/ 2919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Configure 2920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * - UART Clock Prescaler : set PRESCALER according to huart->Init.ClockPrescaler value */ 2921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->PRESC, USART_PRESC_PRESCALER, huart->Init.ClockPrescaler); 2922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/ 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource); 2925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check LPUART instance */ 2927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart)) 2928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Retrieve frequency clock */ 2930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** switch (clocksource) 2931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_D3PCLK1: 2933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = HAL_RCCEx_GetD3PCLK1Freq(); 2934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 2935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL2: 2936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); 2937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll2_clocks.PLL2_Q_Frequency; 2938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; ARM GAS /tmp/ccizsdzp.s page 53 2939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL3: 2940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); 2941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll3_clocks.PLL3_Q_Frequency; 2942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 2943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 2944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) 2945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t)(HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> 3U)); 2947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 2951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 2953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_CSI: 2954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t) CSI_VALUE; 2955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 2956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 2957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 2958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 2959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** default: 2960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = 0U; 2961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ret = HAL_ERROR; 2962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 2963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* If proper clock source reported */ 2966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (pclk != 0U) 2967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Compute clock after Prescaler */ 2969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** lpuart_ker_ck_pres = (pclk / UARTPrescTable[huart->Init.ClockPrescaler]); 2970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Ensure that Frequency clock is in the range [3 * baudrate, 4096 * baudrate] */ 2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((lpuart_ker_ck_pres < (3U * huart->Init.BaudRate)) || 2973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 2974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ret = HAL_ERROR; 2976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check computed UsartDiv value is in allocated range 2980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (it is forbidden to write values lower than 0x300 in the LPUART_BRR register) */ 2981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_LPUART(pclk, (uint64_t)huart->Init.BaudRate, huart->Init.Clo 2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 2983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->BRR = usartdiv; 2985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 2987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ret = HAL_ERROR; 2989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } /* if ( (lpuart_ker_ck_pres < (3 * huart->Init.BaudRate) ) || (lpuart_ker_ck_pres > (4096 * 2991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } /* if (pclk != 0) */ 2992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check UART Over Sampling to set Baud Rate Register */ 2994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else if (huart->Init.OverSampling == UART_OVERSAMPLING_8) 2995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 54 2996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** switch (clocksource) 2997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_D2PCLK1: 2999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 3000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_D2PCLK2: 3002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 3003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL2: 3005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); 3006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll2_clocks.PLL2_Q_Frequency; 3007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL3: 3009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); 3010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll3_clocks.PLL3_Q_Frequency; 3011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) 3014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t)(HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> 3U)); 3016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_CSI: 3023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t) CSI_VALUE; 3024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** default: 3029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = 0U; 3030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ret = HAL_ERROR; 3031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 3035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (pclk != 0U) 3036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate, huart->Init.ClockPrescal 3038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 3039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U); 3041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 3042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 3043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ret = HAL_ERROR; 3047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** switch (clocksource) ARM GAS /tmp/ccizsdzp.s page 55 3053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_D2PCLK1: 3055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq(); 3056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_D2PCLK2: 3058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq(); 3059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL2: 3061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_RCCEx_GetPLL2ClockFreq(&pll2_clocks); 3062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll2_clocks.PLL2_Q_Frequency; 3063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL3: 3065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_RCCEx_GetPLL3ClockFreq(&pll3_clocks); 3066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll3_clocks.PLL3_Q_Frequency; 3067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 3069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIDIV) != 0U) 3070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t)(HSI_VALUE >> (__HAL_RCC_GET_HSI_DIVIDER() >> 3U)); 3072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE; 3076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_CSI: 3079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t) CSI_VALUE; 3080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE: 3082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE; 3083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** default: 3085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = 0U; 3086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ret = HAL_ERROR; 3087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 3088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (pclk != 0U) 3091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */ 3093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate, huart->Init.ClockPresca 3094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 3095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->BRR = usartdiv; 3097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ret = HAL_ERROR; 3101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Initialize the number of data to process during RX/TX ISR execution */ 3106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->NbTxDataToProcess = 1; 3107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->NbRxDataToProcess = 1; 3108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear ISR function pointers */ ARM GAS /tmp/ccizsdzp.s page 56 3110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = NULL; 3111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 3112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return ret; 3114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features. 3118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart) 3122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 3124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit)); 3125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* if required, configure TX pin active level inversion */ 3127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT)) 3128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert)); 3130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 3131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* if required, configure RX pin active level inversion */ 3134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT)) 3135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert)); 3137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 3138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* if required, configure data inversion */ 3141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT)) 3142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert)); 3144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 3145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* if required, configure RX/TX pins swap */ 3148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT)) 3149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap)); 3151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 3152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */ 3155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT)) 3156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable)); 3158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 3159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */ 3162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT)) 3163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError)); 3165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 3166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 57 3167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */ 3169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT)) 3170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance)); 3172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 3173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 3174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 3175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE) 3176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode)); 3178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); 3179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* if required, configure MSB first on communication line */ 3183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT)) 3184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst)); 3186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 3187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Check the UART Idle State. 3192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 3194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart) 3196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t tickstart; 3198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Initialize the UART ErrorCode */ 3200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Init tickstart for timeout managment*/ 3203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tickstart = HAL_GetTick(); 3204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check if the Transmitter is enabled */ 3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) 3207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Wait until TEACK flag is set */ 3209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Timeout occurred */ 3212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; 3213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check if the Receiver is enabled */ 3217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) 3218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Wait until REACK flag is set */ 3220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU 3221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Timeout occurred */ 3223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; ARM GAS /tmp/ccizsdzp.s page 58 3224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Initialize the UART State */ 3228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 3232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 3234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Handle UART Communication Timeout. 3238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Flag Specifies the UART flag to check 3240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Status Flag status (SET or RESET) 3241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Tickstart Tick start value 3242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param Timeout Timeout duration 3243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval HAL status 3244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus 3246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout) 3247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Wait until flag is set */ 3249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) 3250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check for the Timeout */ 3252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY) 3253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 3255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for t 3257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_TXEI 3258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 3264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; 3266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) 3269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET) 3271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear Receiver Timeout flag*/ 3273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 3274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for 3276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_TX 3277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; ARM GAS /tmp/ccizsdzp.s page 59 3281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 3282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Process Unlocked */ 3284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UNLOCK(huart); 3285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_TIMEOUT; 3287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return HAL_OK; 3292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl 3297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart) 3301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 28 .loc 1 3301 1 view -0 29 .cfi_startproc 30 @ args = 0, pretend = 0, frame = 0 31 @ frame_needed = 0, uses_anonymous_args = 0 32 @ link register save eliminated. 3302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable TXEIE, TCIE, TXFT interrupts */ 3303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); 33 .loc 1 3303 3 view .LVU1 34 0000 0268 ldr r2, [r0] 35 0002 1368 ldr r3, [r2] 36 0004 23F0C003 bic r3, r3, #192 37 0008 1360 str r3, [r2] 3304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_TXFTIE)); 38 .loc 1 3304 3 view .LVU2 39 000a 0268 ldr r2, [r0] 40 000c 9368 ldr r3, [r2, #8] 41 000e 23F40003 bic r3, r3, #8388608 42 0012 9360 str r3, [r2, #8] 3305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */ 3307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 43 .loc 1 3307 3 view .LVU3 44 .loc 1 3307 17 is_stmt 0 view .LVU4 45 0014 2023 movs r3, #32 46 0016 C0F88030 str r3, [r0, #128] 3308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 47 .loc 1 3308 1 view .LVU5 48 001a 7047 bx lr 49 .cfi_endproc 50 .LFE187: 52 .section .text.UART_EndRxTransfer,"ax",%progbits 53 .align 1 54 .syntax unified 55 .thumb 56 .thumb_func 57 .fpu fpv5-d16 ARM GAS /tmp/ccizsdzp.s page 60 59 UART_EndRxTransfer: 60 .LVL1: 61 .LFB188: 3309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp 3313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart) 3317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 62 .loc 1 3317 1 is_stmt 1 view -0 63 .cfi_startproc 64 @ args = 0, pretend = 0, frame = 0 65 @ frame_needed = 0, uses_anonymous_args = 0 66 @ link register save eliminated. 3318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 3319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 67 .loc 1 3319 3 view .LVU7 68 0000 0268 ldr r2, [r0] 69 0002 1368 ldr r3, [r2] 70 0004 23F49073 bic r3, r3, #288 71 0008 1360 str r3, [r2] 3320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 72 .loc 1 3320 3 view .LVU8 73 000a 0268 ldr r2, [r0] 74 000c 9168 ldr r1, [r2, #8] 75 000e 044B ldr r3, .L3 76 0010 0B40 ands r3, r3, r1 77 0012 9360 str r3, [r2, #8] 3321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 78 .loc 1 3323 3 view .LVU9 79 .loc 1 3323 18 is_stmt 0 view .LVU10 80 0014 2023 movs r3, #32 81 0016 C0F88430 str r3, [r0, #132] 3324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset RxIsr function pointer */ 3326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = NULL; 82 .loc 1 3326 3 is_stmt 1 view .LVU11 83 .loc 1 3326 16 is_stmt 0 view .LVU12 84 001a 0023 movs r3, #0 85 001c C366 str r3, [r0, #108] 3327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 86 .loc 1 3327 1 view .LVU13 87 001e 7047 bx lr 88 .L4: 89 .align 2 90 .L3: 91 0020 FEFFFFEF .word -268435458 92 .cfi_endproc 93 .LFE188: 95 .section .text.UART_TxISR_8BIT,"ax",%progbits 96 .align 1 97 .syntax unified ARM GAS /tmp/ccizsdzp.s page 61 98 .thumb 99 .thumb_func 100 .fpu fpv5-d16 102 UART_TxISR_8BIT: 103 .LVL2: 104 .LFB199: 3328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DMA UART transmit process complete callback. 3332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param hdma DMA handle. 3333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma) 3336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* DMA Normal mode */ 3340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR) 3341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 3343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit 3345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** in the UART CR3 register */ 3346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 3347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* DMA Circular mode */ 3352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxCpltCallback(huart); 3357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 3360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback. 3366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param hdma DMA handle. 3367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) 3370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered Tx Half complete callback*/ 3375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxHalfCpltCallback(huart); 3376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/ 3378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart); ARM GAS /tmp/ccizsdzp.s page 62 3379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DMA UART receive process complete callback. 3384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param hdma DMA handle. 3385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 3388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* DMA Normal mode */ 3392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR) 3393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ 3397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit 3401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** in the UART CR3 register */ 3402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 3403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */ 3405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxCpltCallback(huart); 3411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DMA UART receive process half complete callback. 3419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param hdma DMA handle. 3420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) 3423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered Rx Half complete callback*/ 3428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxHalfCpltCallback(huart); 3429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/ 3431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart); 3432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** ARM GAS /tmp/ccizsdzp.s page 63 3436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DMA UART communication error callback. 3437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param hdma DMA handle. 3438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma) 3441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 3445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */ 3448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && 3449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 3452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_EndTxTransfer(huart); 3453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */ 3456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && 3457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_EndRxTransfer(huart); 3461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA; 3464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered error callback*/ 3467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCallback(huart); 3468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak error callback*/ 3470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error 3476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence). 3477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param hdma DMA handle. 3478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) 3481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 3485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered error callback*/ 3488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCallback(huart); 3489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak error callback*/ 3491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart); 3492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ ARM GAS /tmp/ccizsdzp.s page 64 3493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user 3497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request). 3498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle. 3500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param hdma DMA handle. 3501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) 3504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL; 3508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmarx != NULL) 3511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL) 3513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 3515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 3520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset errorCode */ 3523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 3530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 3532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call user Abort complete callback */ 3539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Abort complete callback */ 3541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** ARM GAS /tmp/ccizsdzp.s page 65 3550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user 3551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request). 3552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle. 3554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param hdma DMA handle. 3555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) 3558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL; 3562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check if an Abort process is still ongoing */ 3564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmatx != NULL) 3565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL) 3567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 3569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba 3573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 3574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Reset errorCode */ 3577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE; 3578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Discard the received data */ 3583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */ 3586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call user Abort complete callback */ 3590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Abort complete callback */ 3592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortCpltCallback(huart); 3593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Abort complete callback */ 3595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart); 3596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to 3602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer) 3603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques 3604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution). 3605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param hdma DMA handle. 3606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None ARM GAS /tmp/ccizsdzp.s page 66 3607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 3613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */ 3615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE) 3616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST); 3618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->gState to Ready */ 3621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 3622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call user Abort complete callback */ 3624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */ 3626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart); 3627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */ 3629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart); 3630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to 3635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer) 3636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques 3637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution). 3638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param hdma DMA handle. 3639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma) 3642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 3644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */ 3648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 3649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Discard the received data */ 3651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 3652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Restore huart->RxState to Ready */ 3654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call user Abort complete callback */ 3657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */ 3659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart); 3660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */ 3662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart); 3663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ ARM GAS /tmp/ccizsdzp.s page 67 3664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief TX interrrupt handler for 7 or 8 bits data word length . 3668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note Function is called under interruption only, once 3669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart) 3674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 105 .loc 1 3674 1 is_stmt 1 view -0 106 .cfi_startproc 107 @ args = 0, pretend = 0, frame = 0 108 @ frame_needed = 0, uses_anonymous_args = 0 109 @ link register save eliminated. 3675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 110 .loc 1 3676 3 view .LVU15 111 .loc 1 3676 12 is_stmt 0 view .LVU16 112 0000 D0F88030 ldr r3, [r0, #128] 113 .loc 1 3676 6 view .LVU17 114 0004 212B cmp r3, #33 115 0006 00D0 beq .L8 116 .L5: 3677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); 3682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF); 3689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 3690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 3691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 117 .loc 1 3693 1 view .LVU18 118 0008 7047 bx lr 119 .L8: 3678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 120 .loc 1 3678 5 is_stmt 1 view .LVU19 3678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 121 .loc 1 3678 14 is_stmt 0 view .LVU20 122 000a B0F85630 ldrh r3, [r0, #86] 123 000e 9BB2 uxth r3, r3 3678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 124 .loc 1 3678 8 view .LVU21 125 0010 53B9 cbnz r3, .L7 3681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 126 .loc 1 3681 7 is_stmt 1 view .LVU22 127 0012 0268 ldr r2, [r0] ARM GAS /tmp/ccizsdzp.s page 68 128 0014 1368 ldr r3, [r2] 129 0016 23F08003 bic r3, r3, #128 130 001a 1360 str r3, [r2] 3684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 131 .loc 1 3684 7 view .LVU23 132 001c 0268 ldr r2, [r0] 133 001e 1368 ldr r3, [r2] 134 0020 43F04003 orr r3, r3, #64 135 0024 1360 str r3, [r2] 136 0026 7047 bx lr 137 .L7: 3688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 138 .loc 1 3688 7 view .LVU24 3688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 139 .loc 1 3688 46 is_stmt 0 view .LVU25 140 0028 036D ldr r3, [r0, #80] 3688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 141 .loc 1 3688 40 view .LVU26 142 002a 1A78 ldrb r2, [r3] @ zero_extendqisi2 3688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 143 .loc 1 3688 12 view .LVU27 144 002c 0368 ldr r3, [r0] 3688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 145 .loc 1 3688 28 view .LVU28 146 002e 9A62 str r2, [r3, #40] 3689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 147 .loc 1 3689 7 is_stmt 1 view .LVU29 3689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 148 .loc 1 3689 12 is_stmt 0 view .LVU30 149 0030 036D ldr r3, [r0, #80] 3689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 150 .loc 1 3689 24 view .LVU31 151 0032 0133 adds r3, r3, #1 152 0034 0365 str r3, [r0, #80] 3690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 153 .loc 1 3690 7 is_stmt 1 view .LVU32 3690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 154 .loc 1 3690 12 is_stmt 0 view .LVU33 155 0036 B0F85630 ldrh r3, [r0, #86] 156 003a 9BB2 uxth r3, r3 3690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 157 .loc 1 3690 25 view .LVU34 158 003c 013B subs r3, r3, #1 159 003e 9BB2 uxth r3, r3 160 0040 A0F85630 strh r3, [r0, #86] @ movhi 161 .loc 1 3693 1 view .LVU35 162 0044 E0E7 b .L5 163 .cfi_endproc 164 .LFE199: 166 .section .text.UART_TxISR_16BIT,"ax",%progbits 167 .align 1 168 .syntax unified 169 .thumb 170 .thumb_func 171 .fpu fpv5-d16 173 UART_TxISR_16BIT: 174 .LVL3: ARM GAS /tmp/ccizsdzp.s page 69 175 .LFB200: 3694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief TX interrrupt handler for 9 bits data word length. 3697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note Function is called under interruption only, once 3698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart) 3703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 176 .loc 1 3703 1 is_stmt 1 view -0 177 .cfi_startproc 178 @ args = 0, pretend = 0, frame = 0 179 @ frame_needed = 0, uses_anonymous_args = 0 180 @ link register save eliminated. 3704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t *tmp; 181 .loc 1 3704 3 view .LVU37 3705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 182 .loc 1 3707 3 view .LVU38 183 .loc 1 3707 12 is_stmt 0 view .LVU39 184 0000 D0F88030 ldr r3, [r0, #128] 185 .loc 1 3707 6 view .LVU40 186 0004 212B cmp r3, #33 187 0006 00D0 beq .L12 188 .L9: 3708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */ 3712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); 3713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmp = (uint16_t *) huart->pTxBuffPtr; 3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 3721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 3722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 3723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 189 .loc 1 3725 1 view .LVU41 190 0008 7047 bx lr 191 .L12: 3709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 192 .loc 1 3709 5 is_stmt 1 view .LVU42 3709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 193 .loc 1 3709 14 is_stmt 0 view .LVU43 194 000a B0F85630 ldrh r3, [r0, #86] 195 000e 9BB2 uxth r3, r3 3709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 196 .loc 1 3709 8 view .LVU44 ARM GAS /tmp/ccizsdzp.s page 70 197 0010 53B9 cbnz r3, .L11 3712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 198 .loc 1 3712 7 is_stmt 1 view .LVU45 199 0012 0268 ldr r2, [r0] 200 0014 1368 ldr r3, [r2] 201 0016 23F08003 bic r3, r3, #128 202 001a 1360 str r3, [r2] 3715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 203 .loc 1 3715 7 view .LVU46 204 001c 0268 ldr r2, [r0] 205 001e 1368 ldr r3, [r2] 206 0020 43F04003 orr r3, r3, #64 207 0024 1360 str r3, [r2] 208 0026 7047 bx lr 209 .L11: 3719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 210 .loc 1 3719 7 view .LVU47 3719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 211 .loc 1 3719 11 is_stmt 0 view .LVU48 212 0028 036D ldr r3, [r0, #80] 213 .LVL4: 3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 214 .loc 1 3720 7 is_stmt 1 view .LVU49 3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 215 .loc 1 3720 43 is_stmt 0 view .LVU50 216 002a 1B88 ldrh r3, [r3] 217 .LVL5: 3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 218 .loc 1 3720 12 view .LVU51 219 002c 0268 ldr r2, [r0] 3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 220 .loc 1 3720 50 view .LVU52 221 002e C3F30803 ubfx r3, r3, #0, #9 3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 222 .loc 1 3720 28 view .LVU53 223 0032 9362 str r3, [r2, #40] 224 .LVL6: 3721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 225 .loc 1 3721 7 is_stmt 1 view .LVU54 3721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 226 .loc 1 3721 25 is_stmt 0 view .LVU55 227 0034 036D ldr r3, [r0, #80] 228 0036 0233 adds r3, r3, #2 229 0038 0365 str r3, [r0, #80] 3722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 230 .loc 1 3722 7 is_stmt 1 view .LVU56 3722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 231 .loc 1 3722 12 is_stmt 0 view .LVU57 232 003a B0F85630 ldrh r3, [r0, #86] 233 003e 9BB2 uxth r3, r3 3722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 234 .loc 1 3722 25 view .LVU58 235 0040 013B subs r3, r3, #1 236 0042 9BB2 uxth r3, r3 237 0044 A0F85630 strh r3, [r0, #86] @ movhi 238 .loc 1 3725 1 view .LVU59 239 0048 DEE7 b .L9 ARM GAS /tmp/ccizsdzp.s page 71 240 .cfi_endproc 241 .LFE200: 243 .section .text.UART_TxISR_8BIT_FIFOEN,"ax",%progbits 244 .align 1 245 .syntax unified 246 .thumb 247 .thumb_func 248 .fpu fpv5-d16 250 UART_TxISR_8BIT_FIFOEN: 251 .LVL7: 252 .LFB201: 3726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief TX interrrupt handler for 7 or 8 bits data word length and FIFO mode is enabled. 3729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note Function is called under interruption only, once 3730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_TxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart) 3735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 253 .loc 1 3735 1 is_stmt 1 view -0 254 .cfi_startproc 255 @ args = 0, pretend = 0, frame = 0 256 @ frame_needed = 0, uses_anonymous_args = 0 257 @ link register save eliminated. 3736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t nb_tx_data; 258 .loc 1 3736 3 view .LVU61 3737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 259 .loc 1 3739 3 view .LVU62 260 .loc 1 3739 12 is_stmt 0 view .LVU63 261 0000 D0F88030 ldr r3, [r0, #128] 262 .loc 1 3739 6 view .LVU64 263 0004 212B cmp r3, #33 264 0006 00D0 beq .L19 265 .L13: 3740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** for (nb_tx_data = huart->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--) 3742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the TX FIFO threshold interrupt */ 3746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; /* force exit loop */ 3752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else if (READ_BIT(huart->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U) 3754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF); 3756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 3757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 3758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 72 3759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Nothing to do */ 3762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 266 .loc 1 3765 1 view .LVU65 267 0008 7047 bx lr 268 .L19: 3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 269 .loc 1 3741 5 is_stmt 1 view .LVU66 3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 270 .loc 1 3741 21 is_stmt 0 view .LVU67 271 000a B0F86A30 ldrh r3, [r0, #106] 272 .LVL8: 3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 273 .loc 1 3741 5 view .LVU68 274 000e 0CE0 b .L15 275 .L20: 3746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 276 .loc 1 3746 9 is_stmt 1 view .LVU69 277 0010 0268 ldr r2, [r0] 278 0012 9368 ldr r3, [r2, #8] 279 .LVL9: 3746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 280 .loc 1 3746 9 is_stmt 0 view .LVU70 281 0014 23F40003 bic r3, r3, #8388608 282 0018 9360 str r3, [r2, #8] 3749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 283 .loc 1 3749 9 is_stmt 1 view .LVU71 284 001a 0268 ldr r2, [r0] 285 001c 1368 ldr r3, [r2] 286 001e 43F04003 orr r3, r3, #64 287 0022 1360 str r3, [r2] 3751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 288 .loc 1 3751 9 view .LVU72 289 0024 7047 bx lr 290 .LVL10: 291 .L17: 3762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 292 .loc 1 3762 7 discriminator 2 view .LVU73 3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 293 .loc 1 3741 68 discriminator 2 view .LVU74 3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 294 .loc 1 3741 78 is_stmt 0 discriminator 2 view .LVU75 295 0026 013B subs r3, r3, #1 296 .LVL11: 3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 297 .loc 1 3741 78 discriminator 2 view .LVU76 298 0028 9BB2 uxth r3, r3 299 .LVL12: 300 .L15: 3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 301 .loc 1 3741 50 is_stmt 1 discriminator 1 view .LVU77 3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 302 .loc 1 3741 5 is_stmt 0 discriminator 1 view .LVU78 ARM GAS /tmp/ccizsdzp.s page 73 303 002a 002B cmp r3, #0 304 002c ECD0 beq .L13 3743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 305 .loc 1 3743 7 is_stmt 1 view .LVU79 3743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 306 .loc 1 3743 16 is_stmt 0 view .LVU80 307 002e B0F85620 ldrh r2, [r0, #86] 308 0032 92B2 uxth r2, r2 3743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 309 .loc 1 3743 10 view .LVU81 310 0034 002A cmp r2, #0 311 0036 EBD0 beq .L20 3753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 312 .loc 1 3753 12 is_stmt 1 view .LVU82 3753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 313 .loc 1 3753 16 is_stmt 0 view .LVU83 314 0038 0268 ldr r2, [r0] 315 003a D169 ldr r1, [r2, #28] 3753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 316 .loc 1 3753 15 view .LVU84 317 003c 11F0800F tst r1, #128 318 0040 F1D0 beq .L17 3755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 319 .loc 1 3755 9 is_stmt 1 view .LVU85 3755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 320 .loc 1 3755 48 is_stmt 0 view .LVU86 321 0042 016D ldr r1, [r0, #80] 3755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 322 .loc 1 3755 42 view .LVU87 323 0044 0978 ldrb r1, [r1] @ zero_extendqisi2 3755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr++; 324 .loc 1 3755 30 view .LVU88 325 0046 9162 str r1, [r2, #40] 3756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 326 .loc 1 3756 9 is_stmt 1 view .LVU89 3756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 327 .loc 1 3756 14 is_stmt 0 view .LVU90 328 0048 026D ldr r2, [r0, #80] 3756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 329 .loc 1 3756 26 view .LVU91 330 004a 0132 adds r2, r2, #1 331 004c 0265 str r2, [r0, #80] 3757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 332 .loc 1 3757 9 is_stmt 1 view .LVU92 3757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 333 .loc 1 3757 14 is_stmt 0 view .LVU93 334 004e B0F85620 ldrh r2, [r0, #86] 335 0052 92B2 uxth r2, r2 3757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 336 .loc 1 3757 27 view .LVU94 337 0054 013A subs r2, r2, #1 338 0056 92B2 uxth r2, r2 339 0058 A0F85620 strh r2, [r0, #86] @ movhi 340 005c E3E7 b .L17 341 .cfi_endproc 342 .LFE201: 344 .section .text.UART_TxISR_16BIT_FIFOEN,"ax",%progbits ARM GAS /tmp/ccizsdzp.s page 74 345 .align 1 346 .syntax unified 347 .thumb 348 .thumb_func 349 .fpu fpv5-d16 351 UART_TxISR_16BIT_FIFOEN: 352 .LVL13: 353 .LFB202: 3766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief TX interrrupt handler for 9 bits data word length and FIFO mode is enabled. 3769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note Function is called under interruption only, once 3770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT(). 3771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_TxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart) 3775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 354 .loc 1 3775 1 is_stmt 1 view -0 355 .cfi_startproc 356 @ args = 0, pretend = 0, frame = 0 357 @ frame_needed = 0, uses_anonymous_args = 0 358 @ link register save eliminated. 3776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t *tmp; 359 .loc 1 3776 3 view .LVU96 3777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t nb_tx_data; 360 .loc 1 3777 3 view .LVU97 3778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is ongoing */ 3780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX) 361 .loc 1 3780 3 view .LVU98 362 .loc 1 3780 12 is_stmt 0 view .LVU99 363 0000 D0F88030 ldr r3, [r0, #128] 364 .loc 1 3780 6 view .LVU100 365 0004 212B cmp r3, #33 366 0006 00D0 beq .L27 367 .L21: 3781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** for (nb_tx_data = huart->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--) 3783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->TxXferCount == 0U) 3785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the TX FIFO threshold interrupt */ 3787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 3788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */ 3790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); 3791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; /* force exit loop */ 3793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else if (READ_BIT(huart->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U) 3795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmp = (uint16_t *) huart->pTxBuffPtr; 3797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 3798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 3799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 3800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 75 3801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Nothing to do */ 3804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 368 .loc 1 3807 1 view .LVU101 369 0008 7047 bx lr 370 .L27: 3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 371 .loc 1 3782 5 is_stmt 1 view .LVU102 3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 372 .loc 1 3782 21 is_stmt 0 view .LVU103 373 000a B0F86A30 ldrh r3, [r0, #106] 374 .LVL14: 3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 375 .loc 1 3782 5 view .LVU104 376 000e 0CE0 b .L23 377 .L28: 3787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 378 .loc 1 3787 9 is_stmt 1 view .LVU105 379 0010 0268 ldr r2, [r0] 380 0012 9368 ldr r3, [r2, #8] 381 .LVL15: 3787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 382 .loc 1 3787 9 is_stmt 0 view .LVU106 383 0014 23F40003 bic r3, r3, #8388608 384 0018 9360 str r3, [r2, #8] 3790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 385 .loc 1 3790 9 is_stmt 1 view .LVU107 386 001a 0268 ldr r2, [r0] 387 001c 1368 ldr r3, [r2] 388 001e 43F04003 orr r3, r3, #64 389 0022 1360 str r3, [r2] 3792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 390 .loc 1 3792 9 view .LVU108 391 0024 7047 bx lr 392 .LVL16: 393 .L25: 3804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 394 .loc 1 3804 7 discriminator 2 view .LVU109 3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 395 .loc 1 3782 68 discriminator 2 view .LVU110 3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 396 .loc 1 3782 78 is_stmt 0 discriminator 2 view .LVU111 397 0026 013B subs r3, r3, #1 398 .LVL17: 3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 399 .loc 1 3782 78 discriminator 2 view .LVU112 400 0028 9BB2 uxth r3, r3 401 .LVL18: 402 .L23: 3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 403 .loc 1 3782 50 is_stmt 1 discriminator 1 view .LVU113 3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 404 .loc 1 3782 5 is_stmt 0 discriminator 1 view .LVU114 ARM GAS /tmp/ccizsdzp.s page 76 405 002a 002B cmp r3, #0 406 002c ECD0 beq .L21 3784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 407 .loc 1 3784 7 is_stmt 1 view .LVU115 3784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 408 .loc 1 3784 16 is_stmt 0 view .LVU116 409 002e B0F85620 ldrh r2, [r0, #86] 410 0032 92B2 uxth r2, r2 3784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 411 .loc 1 3784 10 view .LVU117 412 0034 002A cmp r2, #0 413 0036 EBD0 beq .L28 3794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 414 .loc 1 3794 12 is_stmt 1 view .LVU118 3794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 415 .loc 1 3794 16 is_stmt 0 view .LVU119 416 0038 0268 ldr r2, [r0] 417 003a D169 ldr r1, [r2, #28] 3794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 418 .loc 1 3794 15 view .LVU120 419 003c 11F0800F tst r1, #128 420 0040 F1D0 beq .L25 3796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 421 .loc 1 3796 9 is_stmt 1 view .LVU121 3796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL); 422 .loc 1 3796 13 is_stmt 0 view .LVU122 423 0042 016D ldr r1, [r0, #80] 424 .LVL19: 3797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 425 .loc 1 3797 9 is_stmt 1 view .LVU123 3797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 426 .loc 1 3797 45 is_stmt 0 view .LVU124 427 0044 0988 ldrh r1, [r1] 428 .LVL20: 3797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 429 .loc 1 3797 52 view .LVU125 430 0046 C1F30801 ubfx r1, r1, #0, #9 3797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pTxBuffPtr += 2U; 431 .loc 1 3797 30 view .LVU126 432 004a 9162 str r1, [r2, #40] 433 .LVL21: 3798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 434 .loc 1 3798 9 is_stmt 1 view .LVU127 3798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount--; 435 .loc 1 3798 27 is_stmt 0 view .LVU128 436 004c 026D ldr r2, [r0, #80] 437 004e 0232 adds r2, r2, #2 438 0050 0265 str r2, [r0, #80] 3799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 439 .loc 1 3799 9 is_stmt 1 view .LVU129 3799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 440 .loc 1 3799 14 is_stmt 0 view .LVU130 441 0052 B0F85620 ldrh r2, [r0, #86] 442 0056 92B2 uxth r2, r2 3799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 443 .loc 1 3799 27 view .LVU131 444 0058 013A subs r2, r2, #1 ARM GAS /tmp/ccizsdzp.s page 77 445 005a 92B2 uxth r2, r2 446 005c A0F85620 strh r2, [r0, #86] @ movhi 447 0060 E1E7 b .L25 448 .cfi_endproc 449 .LFE202: 451 .section .text.HAL_UART_MspInit,"ax",%progbits 452 .align 1 453 .weak HAL_UART_MspInit 454 .syntax unified 455 .thumb 456 .thumb_func 457 .fpu fpv5-d16 459 HAL_UART_MspInit: 460 .LVL22: 461 .LFB146: 660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 462 .loc 1 660 1 is_stmt 1 view -0 463 .cfi_startproc 464 @ args = 0, pretend = 0, frame = 0 465 @ frame_needed = 0, uses_anonymous_args = 0 466 @ link register save eliminated. 662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 467 .loc 1 662 3 view .LVU133 667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 468 .loc 1 667 1 is_stmt 0 view .LVU134 469 0000 7047 bx lr 470 .cfi_endproc 471 .LFE146: 473 .section .text.HAL_UART_MspDeInit,"ax",%progbits 474 .align 1 475 .weak HAL_UART_MspDeInit 476 .syntax unified 477 .thumb 478 .thumb_func 479 .fpu fpv5-d16 481 HAL_UART_MspDeInit: 482 .LVL23: 483 .LFB147: 675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 484 .loc 1 675 1 is_stmt 1 view -0 485 .cfi_startproc 486 @ args = 0, pretend = 0, frame = 0 487 @ frame_needed = 0, uses_anonymous_args = 0 488 @ link register save eliminated. 677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 489 .loc 1 677 3 view .LVU136 682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 490 .loc 1 682 1 is_stmt 0 view .LVU137 491 0000 7047 bx lr 492 .cfi_endproc 493 .LFE147: 495 .section .text.HAL_UART_DeInit,"ax",%progbits 496 .align 1 497 .global HAL_UART_DeInit 498 .syntax unified 499 .thumb 500 .thumb_func ARM GAS /tmp/ccizsdzp.s page 78 501 .fpu fpv5-d16 503 HAL_UART_DeInit: 504 .LVL24: 505 .LFB145: 615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 506 .loc 1 615 1 is_stmt 1 view -0 507 .cfi_startproc 508 @ args = 0, pretend = 0, frame = 0 509 @ frame_needed = 0, uses_anonymous_args = 0 617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 510 .loc 1 617 3 view .LVU139 617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 511 .loc 1 617 6 is_stmt 0 view .LVU140 512 0000 E0B1 cbz r0, .L33 615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 513 .loc 1 615 1 view .LVU141 514 0002 38B5 push {r3, r4, r5, lr} 515 .LCFI0: 516 .cfi_def_cfa_offset 16 517 .cfi_offset 3, -16 518 .cfi_offset 4, -12 519 .cfi_offset 5, -8 520 .cfi_offset 14, -4 521 0004 0546 mov r5, r0 623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 522 .loc 1 623 3 is_stmt 1 view .LVU142 625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 523 .loc 1 625 3 view .LVU143 625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 524 .loc 1 625 17 is_stmt 0 view .LVU144 525 0006 2423 movs r3, #36 526 0008 C0F88030 str r3, [r0, #128] 627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 527 .loc 1 627 3 is_stmt 1 view .LVU145 528 000c 0268 ldr r2, [r0] 529 000e 1368 ldr r3, [r2] 530 0010 23F00103 bic r3, r3, #1 531 0014 1360 str r3, [r2] 629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 532 .loc 1 629 3 view .LVU146 629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 533 .loc 1 629 8 is_stmt 0 view .LVU147 534 0016 0368 ldr r3, [r0] 629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U; 535 .loc 1 629 24 view .LVU148 536 0018 0024 movs r4, #0 537 001a 1C60 str r4, [r3] 630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 538 .loc 1 630 3 is_stmt 1 view .LVU149 630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 539 .loc 1 630 8 is_stmt 0 view .LVU150 540 001c 0368 ldr r3, [r0] 630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U; 541 .loc 1 630 24 view .LVU151 542 001e 5C60 str r4, [r3, #4] 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 543 .loc 1 631 3 is_stmt 1 view .LVU152 ARM GAS /tmp/ccizsdzp.s page 79 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 544 .loc 1 631 8 is_stmt 0 view .LVU153 545 0020 0368 ldr r3, [r0] 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 546 .loc 1 631 24 view .LVU154 547 0022 9C60 str r4, [r3, #8] 642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 548 .loc 1 642 3 is_stmt 1 view .LVU155 549 0024 FFF7FEFF bl HAL_UART_MspDeInit 550 .LVL25: 645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 551 .loc 1 645 3 view .LVU156 645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET; 552 .loc 1 645 20 is_stmt 0 view .LVU157 553 0028 C5F88840 str r4, [r5, #136] 646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 554 .loc 1 646 3 is_stmt 1 view .LVU158 646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET; 555 .loc 1 646 17 is_stmt 0 view .LVU159 556 002c C5F88040 str r4, [r5, #128] 647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 557 .loc 1 647 3 is_stmt 1 view .LVU160 647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 558 .loc 1 647 18 is_stmt 0 view .LVU161 559 0030 C5F88440 str r4, [r5, #132] 649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 560 .loc 1 649 3 is_stmt 1 view .LVU162 649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 561 .loc 1 649 3 view .LVU163 562 0034 85F87C40 strb r4, [r5, #124] 649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 563 .loc 1 649 3 view .LVU164 651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 564 .loc 1 651 3 view .LVU165 651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 565 .loc 1 651 10 is_stmt 0 view .LVU166 566 0038 2046 mov r0, r4 652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 567 .loc 1 652 1 view .LVU167 568 003a 38BD pop {r3, r4, r5, pc} 569 .LVL26: 570 .L33: 571 .LCFI1: 572 .cfi_def_cfa_offset 0 573 .cfi_restore 3 574 .cfi_restore 4 575 .cfi_restore 5 576 .cfi_restore 14 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 577 .loc 1 619 12 view .LVU168 578 003c 0120 movs r0, #1 579 .LVL27: 652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 580 .loc 1 652 1 view .LVU169 581 003e 7047 bx lr 582 .cfi_endproc 583 .LFE145: ARM GAS /tmp/ccizsdzp.s page 80 585 .section .text.HAL_UART_Transmit_IT,"ax",%progbits 586 .align 1 587 .global HAL_UART_Transmit_IT 588 .syntax unified 589 .thumb 590 .thumb_func 591 .fpu fpv5-d16 593 HAL_UART_Transmit_IT: 594 .LVL28: 595 .LFB150: 1208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 596 .loc 1 1208 1 is_stmt 1 view -0 597 .cfi_startproc 598 @ args = 0, pretend = 0, frame = 0 599 @ frame_needed = 0, uses_anonymous_args = 0 600 @ link register save eliminated. 1210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 601 .loc 1 1210 3 view .LVU171 1210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 602 .loc 1 1210 12 is_stmt 0 view .LVU172 603 0000 D0F88030 ldr r3, [r0, #128] 1210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 604 .loc 1 1210 6 view .LVU173 605 0004 202B cmp r3, #32 606 0006 45D1 bne .L46 1212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 607 .loc 1 1212 5 is_stmt 1 view .LVU174 1212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 608 .loc 1 1212 8 is_stmt 0 view .LVU175 609 0008 002A cmp r2, #0 610 000a 18BF it ne 611 000c 0029 cmpne r1, #0 612 000e 43D0 beq .L47 1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 613 .loc 1 1217 5 is_stmt 1 view .LVU176 1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 614 .loc 1 1217 5 view .LVU177 615 0010 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 616 0014 012B cmp r3, #1 617 0016 41D0 beq .L48 1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 618 .loc 1 1217 5 discriminator 2 view .LVU178 619 0018 0123 movs r3, #1 620 001a 80F87C30 strb r3, [r0, #124] 1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 621 .loc 1 1217 5 discriminator 2 view .LVU179 1219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferSize = Size; 622 .loc 1 1219 5 discriminator 2 view .LVU180 1219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferSize = Size; 623 .loc 1 1219 24 is_stmt 0 discriminator 2 view .LVU181 624 001e 0165 str r1, [r0, #80] 1220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = Size; 625 .loc 1 1220 5 is_stmt 1 discriminator 2 view .LVU182 1220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = Size; 626 .loc 1 1220 24 is_stmt 0 discriminator 2 view .LVU183 627 0020 A0F85420 strh r2, [r0, #84] @ movhi 1221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; ARM GAS /tmp/ccizsdzp.s page 81 628 .loc 1 1221 5 is_stmt 1 discriminator 2 view .LVU184 1221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 629 .loc 1 1221 24 is_stmt 0 discriminator 2 view .LVU185 630 0024 A0F85620 strh r2, [r0, #86] @ movhi 1222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 631 .loc 1 1222 5 is_stmt 1 discriminator 2 view .LVU186 1222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 632 .loc 1 1222 24 is_stmt 0 discriminator 2 view .LVU187 633 0028 0023 movs r3, #0 634 002a 0367 str r3, [r0, #112] 1224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 635 .loc 1 1224 5 is_stmt 1 discriminator 2 view .LVU188 1224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 636 .loc 1 1224 22 is_stmt 0 discriminator 2 view .LVU189 637 002c C0F88830 str r3, [r0, #136] 1225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 638 .loc 1 1225 5 is_stmt 1 discriminator 2 view .LVU190 1225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 639 .loc 1 1225 19 is_stmt 0 discriminator 2 view .LVU191 640 0030 2123 movs r3, #33 641 0032 C0F88030 str r3, [r0, #128] 1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 642 .loc 1 1228 5 is_stmt 1 discriminator 2 view .LVU192 1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 643 .loc 1 1228 14 is_stmt 0 discriminator 2 view .LVU193 644 0036 436E ldr r3, [r0, #100] 1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 645 .loc 1 1228 8 discriminator 2 view .LVU194 646 0038 B3F1005F cmp r3, #536870912 647 003c 0FD0 beq .L49 1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 648 .loc 1 1248 7 is_stmt 1 view .LVU195 1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 649 .loc 1 1248 23 is_stmt 0 view .LVU196 650 003e 8368 ldr r3, [r0, #8] 1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 651 .loc 1 1248 10 view .LVU197 652 0040 B3F5805F cmp r3, #4096 653 0044 20D0 beq .L50 654 .L44: 1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 655 .loc 1 1254 9 is_stmt 1 view .LVU198 1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 656 .loc 1 1254 22 is_stmt 0 view .LVU199 657 0046 164B ldr r3, .L52 658 0048 0367 str r3, [r0, #112] 659 .L45: 1257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 660 .loc 1 1257 7 is_stmt 1 view .LVU200 1257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 661 .loc 1 1257 7 view .LVU201 662 004a 0023 movs r3, #0 663 004c 80F87C30 strb r3, [r0, #124] 1257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 664 .loc 1 1257 7 view .LVU202 1260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 665 .loc 1 1260 7 view .LVU203 ARM GAS /tmp/ccizsdzp.s page 82 666 0050 0268 ldr r2, [r0] 667 .LVL29: 1260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 668 .loc 1 1260 7 is_stmt 0 view .LVU204 669 0052 1368 ldr r3, [r2] 670 0054 43F08003 orr r3, r3, #128 671 0058 1360 str r3, [r2] 672 .LVL30: 673 .L43: 1263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 674 .loc 1 1263 5 is_stmt 1 view .LVU205 1263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 675 .loc 1 1263 12 is_stmt 0 view .LVU206 676 005a 0020 movs r0, #0 677 .LVL31: 1263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 678 .loc 1 1263 12 view .LVU207 679 005c 7047 bx lr 680 .LVL32: 681 .L49: 1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 682 .loc 1 1231 7 is_stmt 1 view .LVU208 1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 683 .loc 1 1231 23 is_stmt 0 view .LVU209 684 005e 8368 ldr r3, [r0, #8] 1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 685 .loc 1 1231 10 view .LVU210 686 0060 B3F5805F cmp r3, #4096 687 0064 0AD0 beq .L51 688 .L41: 1237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 689 .loc 1 1237 9 is_stmt 1 view .LVU211 1237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 690 .loc 1 1237 22 is_stmt 0 view .LVU212 691 0066 0F4B ldr r3, .L52+4 692 0068 0367 str r3, [r0, #112] 693 .L42: 1240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 694 .loc 1 1240 7 is_stmt 1 view .LVU213 1240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 695 .loc 1 1240 7 view .LVU214 696 006a 0023 movs r3, #0 697 006c 80F87C30 strb r3, [r0, #124] 1240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 698 .loc 1 1240 7 view .LVU215 1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 699 .loc 1 1243 7 view .LVU216 700 0070 0268 ldr r2, [r0] 701 .LVL33: 1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 702 .loc 1 1243 7 is_stmt 0 view .LVU217 703 0072 9368 ldr r3, [r2, #8] 704 0074 43F40003 orr r3, r3, #8388608 705 0078 9360 str r3, [r2, #8] 706 .LVL34: 1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 707 .loc 1 1243 7 view .LVU218 ARM GAS /tmp/ccizsdzp.s page 83 708 007a EEE7 b .L43 709 .LVL35: 710 .L51: 1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 711 .loc 1 1231 73 discriminator 1 view .LVU219 712 007c 0369 ldr r3, [r0, #16] 1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 713 .loc 1 1231 58 discriminator 1 view .LVU220 714 007e 002B cmp r3, #0 715 0080 F1D1 bne .L41 1233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 716 .loc 1 1233 9 is_stmt 1 view .LVU221 1233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 717 .loc 1 1233 22 is_stmt 0 view .LVU222 718 0082 094B ldr r3, .L52+8 719 0084 0367 str r3, [r0, #112] 720 0086 F0E7 b .L42 721 .L50: 1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 722 .loc 1 1248 73 discriminator 1 view .LVU223 723 0088 0369 ldr r3, [r0, #16] 1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 724 .loc 1 1248 58 discriminator 1 view .LVU224 725 008a 002B cmp r3, #0 726 008c DBD1 bne .L44 1250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 727 .loc 1 1250 9 is_stmt 1 view .LVU225 1250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 728 .loc 1 1250 22 is_stmt 0 view .LVU226 729 008e 074B ldr r3, .L52+12 730 0090 0367 str r3, [r0, #112] 731 0092 DAE7 b .L45 732 .L46: 1267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 733 .loc 1 1267 12 view .LVU227 734 0094 0220 movs r0, #2 735 .LVL36: 1267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 736 .loc 1 1267 12 view .LVU228 737 0096 7047 bx lr 738 .LVL37: 739 .L47: 1214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 740 .loc 1 1214 14 view .LVU229 741 0098 0120 movs r0, #1 742 .LVL38: 1214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 743 .loc 1 1214 14 view .LVU230 744 009a 7047 bx lr 745 .LVL39: 746 .L48: 1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 747 .loc 1 1217 5 view .LVU231 748 009c 0220 movs r0, #2 749 .LVL40: 1269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 750 .loc 1 1269 1 view .LVU232 ARM GAS /tmp/ccizsdzp.s page 84 751 009e 7047 bx lr 752 .L53: 753 .align 2 754 .L52: 755 00a0 00000000 .word UART_TxISR_8BIT 756 00a4 00000000 .word UART_TxISR_8BIT_FIFOEN 757 00a8 00000000 .word UART_TxISR_16BIT_FIFOEN 758 00ac 00000000 .word UART_TxISR_16BIT 759 .cfi_endproc 760 .LFE150: 762 .section .text.HAL_UART_Receive_IT,"ax",%progbits 763 .align 1 764 .global HAL_UART_Receive_IT 765 .syntax unified 766 .thumb 767 .thumb_func 768 .fpu fpv5-d16 770 HAL_UART_Receive_IT: 771 .LVL41: 772 .LFB151: 1282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 773 .loc 1 1282 1 is_stmt 1 view -0 774 .cfi_startproc 775 @ args = 0, pretend = 0, frame = 0 776 @ frame_needed = 0, uses_anonymous_args = 0 777 @ link register save eliminated. 1284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 778 .loc 1 1284 3 view .LVU234 1284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 779 .loc 1 1284 12 is_stmt 0 view .LVU235 780 0000 D0F88430 ldr r3, [r0, #132] 1284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 781 .loc 1 1284 6 view .LVU236 782 0004 202B cmp r3, #32 783 0006 7ED1 bne .L69 1286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 784 .loc 1 1286 5 is_stmt 1 view .LVU237 1286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 785 .loc 1 1286 8 is_stmt 0 view .LVU238 786 0008 002A cmp r2, #0 787 000a 18BF it ne 788 000c 0029 cmpne r1, #0 789 000e 7CD0 beq .L70 1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 790 .loc 1 1291 5 is_stmt 1 view .LVU239 1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 791 .loc 1 1291 5 view .LVU240 792 0010 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 793 0014 012B cmp r3, #1 794 0016 7AD0 beq .L71 1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 795 .loc 1 1291 5 discriminator 2 view .LVU241 796 0018 0123 movs r3, #1 797 001a 80F87C30 strb r3, [r0, #124] 1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 798 .loc 1 1291 5 discriminator 2 view .LVU242 1293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferSize = Size; ARM GAS /tmp/ccizsdzp.s page 85 799 .loc 1 1293 5 discriminator 2 view .LVU243 1293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferSize = Size; 800 .loc 1 1293 24 is_stmt 0 discriminator 2 view .LVU244 801 001e 8165 str r1, [r0, #88] 1294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = Size; 802 .loc 1 1294 5 is_stmt 1 discriminator 2 view .LVU245 1294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = Size; 803 .loc 1 1294 24 is_stmt 0 discriminator 2 view .LVU246 804 0020 A0F85C20 strh r2, [r0, #92] @ movhi 1295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = NULL; 805 .loc 1 1295 5 is_stmt 1 discriminator 2 view .LVU247 1295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = NULL; 806 .loc 1 1295 24 is_stmt 0 discriminator 2 view .LVU248 807 0024 A0F85E20 strh r2, [r0, #94] @ movhi 1296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 808 .loc 1 1296 5 is_stmt 1 discriminator 2 view .LVU249 1296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 809 .loc 1 1296 24 is_stmt 0 discriminator 2 view .LVU250 810 0028 0023 movs r3, #0 811 002a C366 str r3, [r0, #108] 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 812 .loc 1 1299 5 is_stmt 1 discriminator 2 view .LVU251 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 813 .loc 1 1299 5 discriminator 2 view .LVU252 814 002c 8368 ldr r3, [r0, #8] 815 002e B3F5805F cmp r3, #4096 816 0032 06D0 beq .L72 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 817 .loc 1 1299 5 discriminator 2 view .LVU253 818 0034 A3B9 cbnz r3, .L59 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 819 .loc 1 1299 5 discriminator 5 view .LVU254 820 0036 0369 ldr r3, [r0, #16] 821 0038 73B9 cbnz r3, .L60 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 822 .loc 1 1299 5 discriminator 7 view .LVU255 823 003a FF23 movs r3, #255 824 003c A0F86030 strh r3, [r0, #96] @ movhi 825 0040 14E0 b .L58 826 .L72: 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 827 .loc 1 1299 5 discriminator 1 view .LVU256 828 0042 0369 ldr r3, [r0, #16] 829 0044 23B9 cbnz r3, .L57 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 830 .loc 1 1299 5 discriminator 3 view .LVU257 831 0046 40F2FF13 movw r3, #511 832 004a A0F86030 strh r3, [r0, #96] @ movhi 833 004e 0DE0 b .L58 834 .L57: 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 835 .loc 1 1299 5 discriminator 4 view .LVU258 836 0050 FF23 movs r3, #255 837 0052 A0F86030 strh r3, [r0, #96] @ movhi 838 0056 09E0 b .L58 839 .L60: 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 86 840 .loc 1 1299 5 discriminator 8 view .LVU259 841 0058 7F23 movs r3, #127 842 005a A0F86030 strh r3, [r0, #96] @ movhi 843 005e 05E0 b .L58 844 .L59: 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 845 .loc 1 1299 5 discriminator 6 view .LVU260 846 0060 B3F1805F cmp r3, #268435456 847 0064 21D0 beq .L73 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 848 .loc 1 1299 5 discriminator 10 view .LVU261 849 0066 0023 movs r3, #0 850 0068 A0F86030 strh r3, [r0, #96] @ movhi 851 .L58: 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 852 .loc 1 1299 5 discriminator 13 view .LVU262 1301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 853 .loc 1 1301 5 discriminator 13 view .LVU263 1301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 854 .loc 1 1301 22 is_stmt 0 discriminator 13 view .LVU264 855 006c 0023 movs r3, #0 856 006e C0F88830 str r3, [r0, #136] 1302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 857 .loc 1 1302 5 is_stmt 1 discriminator 13 view .LVU265 1302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 858 .loc 1 1302 20 is_stmt 0 discriminator 13 view .LVU266 859 0072 2223 movs r3, #34 860 0074 C0F88430 str r3, [r0, #132] 1305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 861 .loc 1 1305 5 is_stmt 1 discriminator 13 view .LVU267 862 0078 0168 ldr r1, [r0] 863 .LVL42: 1305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 864 .loc 1 1305 5 is_stmt 0 discriminator 13 view .LVU268 865 007a 8B68 ldr r3, [r1, #8] 866 007c 43F00103 orr r3, r3, #1 867 0080 8B60 str r3, [r1, #8] 868 .LVL43: 1308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 869 .loc 1 1308 5 is_stmt 1 discriminator 13 view .LVU269 1308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 870 .loc 1 1308 15 is_stmt 0 discriminator 13 view .LVU270 871 0082 436E ldr r3, [r0, #100] 1308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 872 .loc 1 1308 8 discriminator 13 view .LVU271 873 0084 B3F1005F cmp r3, #536870912 874 0088 19D0 beq .L74 875 .L63: 1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 876 .loc 1 1329 7 is_stmt 1 view .LVU272 1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 877 .loc 1 1329 23 is_stmt 0 view .LVU273 878 008a 8368 ldr r3, [r0, #8] 1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 879 .loc 1 1329 10 view .LVU274 880 008c B3F5805F cmp r3, #4096 881 0090 33D0 beq .L75 ARM GAS /tmp/ccizsdzp.s page 87 882 .L67: 1335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 883 .loc 1 1335 9 is_stmt 1 view .LVU275 1335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 884 .loc 1 1335 22 is_stmt 0 view .LVU276 885 0092 204B ldr r3, .L77 886 0094 C366 str r3, [r0, #108] 887 .L68: 1338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 888 .loc 1 1338 7 is_stmt 1 view .LVU277 1338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 889 .loc 1 1338 7 view .LVU278 890 0096 0023 movs r3, #0 891 0098 80F87C30 strb r3, [r0, #124] 1338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 892 .loc 1 1338 7 view .LVU279 1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 893 .loc 1 1341 7 view .LVU280 894 009c 0268 ldr r2, [r0] 895 .LVL44: 1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 896 .loc 1 1341 7 is_stmt 0 view .LVU281 897 009e 1368 ldr r3, [r2] 898 00a0 43F49073 orr r3, r3, #288 899 00a4 1360 str r3, [r2] 900 .L66: 1344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 901 .loc 1 1344 5 is_stmt 1 view .LVU282 1344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 902 .loc 1 1344 12 is_stmt 0 view .LVU283 903 00a6 0020 movs r0, #0 904 .LVL45: 1344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 905 .loc 1 1344 12 view .LVU284 906 00a8 7047 bx lr 907 .LVL46: 908 .L73: 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 909 .loc 1 1299 5 is_stmt 1 discriminator 9 view .LVU285 910 00aa 0369 ldr r3, [r0, #16] 911 00ac 1BB9 cbnz r3, .L62 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 912 .loc 1 1299 5 discriminator 11 view .LVU286 913 00ae 7F23 movs r3, #127 914 00b0 A0F86030 strh r3, [r0, #96] @ movhi 915 00b4 DAE7 b .L58 916 .L62: 1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 917 .loc 1 1299 5 discriminator 12 view .LVU287 918 00b6 3F23 movs r3, #63 919 00b8 A0F86030 strh r3, [r0, #96] @ movhi 920 00bc D6E7 b .L58 921 .LVL47: 922 .L74: 1308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 923 .loc 1 1308 68 is_stmt 0 discriminator 1 view .LVU288 924 00be B0F86830 ldrh r3, [r0, #104] ARM GAS /tmp/ccizsdzp.s page 88 1308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 925 .loc 1 1308 51 discriminator 1 view .LVU289 926 00c2 9342 cmp r3, r2 927 00c4 E1D8 bhi .L63 1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 928 .loc 1 1311 7 is_stmt 1 view .LVU290 1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 929 .loc 1 1311 23 is_stmt 0 view .LVU291 930 00c6 8368 ldr r3, [r0, #8] 1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 931 .loc 1 1311 10 view .LVU292 932 00c8 B3F5805F cmp r3, #4096 933 00cc 0FD0 beq .L76 934 .L64: 1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 935 .loc 1 1317 9 is_stmt 1 view .LVU293 1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 936 .loc 1 1317 22 is_stmt 0 view .LVU294 937 00ce 124B ldr r3, .L77+4 938 00d0 C366 str r3, [r0, #108] 939 .L65: 1320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 940 .loc 1 1320 7 is_stmt 1 view .LVU295 1320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 941 .loc 1 1320 7 view .LVU296 942 00d2 0023 movs r3, #0 943 00d4 80F87C30 strb r3, [r0, #124] 1320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 944 .loc 1 1320 7 view .LVU297 1323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 945 .loc 1 1323 7 view .LVU298 946 00d8 0268 ldr r2, [r0] 947 .LVL48: 1323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 948 .loc 1 1323 7 is_stmt 0 view .LVU299 949 00da 1368 ldr r3, [r2] 950 00dc 43F48073 orr r3, r3, #256 951 00e0 1360 str r3, [r2] 1324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 952 .loc 1 1324 7 is_stmt 1 view .LVU300 953 00e2 0268 ldr r2, [r0] 954 00e4 9368 ldr r3, [r2, #8] 955 00e6 43F08053 orr r3, r3, #268435456 956 00ea 9360 str r3, [r2, #8] 957 00ec DBE7 b .L66 958 .LVL49: 959 .L76: 1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 960 .loc 1 1311 73 is_stmt 0 discriminator 1 view .LVU301 961 00ee 0369 ldr r3, [r0, #16] 1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 962 .loc 1 1311 58 discriminator 1 view .LVU302 963 00f0 002B cmp r3, #0 964 00f2 ECD1 bne .L64 1313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 965 .loc 1 1313 9 is_stmt 1 view .LVU303 1313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 89 966 .loc 1 1313 22 is_stmt 0 view .LVU304 967 00f4 094B ldr r3, .L77+8 968 00f6 C366 str r3, [r0, #108] 969 00f8 EBE7 b .L65 970 .L75: 1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 971 .loc 1 1329 73 discriminator 1 view .LVU305 972 00fa 0369 ldr r3, [r0, #16] 1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 973 .loc 1 1329 58 discriminator 1 view .LVU306 974 00fc 002B cmp r3, #0 975 00fe C8D1 bne .L67 1331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 976 .loc 1 1331 9 is_stmt 1 view .LVU307 1331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 977 .loc 1 1331 22 is_stmt 0 view .LVU308 978 0100 074B ldr r3, .L77+12 979 0102 C366 str r3, [r0, #108] 980 0104 C7E7 b .L68 981 .LVL50: 982 .L69: 1348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 983 .loc 1 1348 12 view .LVU309 984 0106 0220 movs r0, #2 985 .LVL51: 1348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 986 .loc 1 1348 12 view .LVU310 987 0108 7047 bx lr 988 .LVL52: 989 .L70: 1288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 990 .loc 1 1288 14 view .LVU311 991 010a 0120 movs r0, #1 992 .LVL53: 1288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 993 .loc 1 1288 14 view .LVU312 994 010c 7047 bx lr 995 .LVL54: 996 .L71: 1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 997 .loc 1 1291 5 view .LVU313 998 010e 0220 movs r0, #2 999 .LVL55: 1350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1000 .loc 1 1350 1 view .LVU314 1001 0110 7047 bx lr 1002 .L78: 1003 0112 00BF .align 2 1004 .L77: 1005 0114 00000000 .word UART_RxISR_8BIT 1006 0118 00000000 .word UART_RxISR_8BIT_FIFOEN 1007 011c 00000000 .word UART_RxISR_16BIT_FIFOEN 1008 0120 00000000 .word UART_RxISR_16BIT 1009 .cfi_endproc 1010 .LFE151: 1012 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits 1013 .align 1 ARM GAS /tmp/ccizsdzp.s page 90 1014 .global HAL_UART_Transmit_DMA 1015 .syntax unified 1016 .thumb 1017 .thumb_func 1018 .fpu fpv5-d16 1020 HAL_UART_Transmit_DMA: 1021 .LVL56: 1022 .LFB152: 1363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1023 .loc 1 1363 1 is_stmt 1 view -0 1024 .cfi_startproc 1025 @ args = 0, pretend = 0, frame = 0 1026 @ frame_needed = 0, uses_anonymous_args = 0 1363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1027 .loc 1 1363 1 is_stmt 0 view .LVU316 1028 0000 1346 mov r3, r2 1365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1029 .loc 1 1365 3 is_stmt 1 view .LVU317 1365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1030 .loc 1 1365 12 is_stmt 0 view .LVU318 1031 0002 D0F88020 ldr r2, [r0, #128] 1032 .LVL57: 1365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1033 .loc 1 1365 6 view .LVU319 1034 0006 202A cmp r2, #32 1035 0008 42D1 bne .L82 1363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */ 1036 .loc 1 1363 1 view .LVU320 1037 000a 10B5 push {r4, lr} 1038 .LCFI2: 1039 .cfi_def_cfa_offset 8 1040 .cfi_offset 4, -8 1041 .cfi_offset 14, -4 1042 000c 0446 mov r4, r0 1367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1043 .loc 1 1367 5 is_stmt 1 view .LVU321 1367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1044 .loc 1 1367 8 is_stmt 0 view .LVU322 1045 000e 002B cmp r3, #0 1046 0010 18BF it ne 1047 0012 0029 cmpne r1, #0 1048 0014 3ED0 beq .L83 1372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1049 .loc 1 1372 5 is_stmt 1 view .LVU323 1372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1050 .loc 1 1372 5 view .LVU324 1051 0016 90F87C20 ldrb r2, [r0, #124] @ zero_extendqisi2 1052 001a 012A cmp r2, #1 1053 001c 3CD0 beq .L84 1372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1054 .loc 1 1372 5 discriminator 2 view .LVU325 1055 001e 0122 movs r2, #1 1056 0020 80F87C20 strb r2, [r0, #124] 1372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1057 .loc 1 1372 5 discriminator 2 view .LVU326 1374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferSize = Size; 1058 .loc 1 1374 5 discriminator 2 view .LVU327 ARM GAS /tmp/ccizsdzp.s page 91 1374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferSize = Size; 1059 .loc 1 1374 24 is_stmt 0 discriminator 2 view .LVU328 1060 0024 0165 str r1, [r0, #80] 1375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = Size; 1061 .loc 1 1375 5 is_stmt 1 discriminator 2 view .LVU329 1375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = Size; 1062 .loc 1 1375 24 is_stmt 0 discriminator 2 view .LVU330 1063 0026 A0F85430 strh r3, [r0, #84] @ movhi 1376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1064 .loc 1 1376 5 is_stmt 1 discriminator 2 view .LVU331 1376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1065 .loc 1 1376 24 is_stmt 0 discriminator 2 view .LVU332 1066 002a A0F85630 strh r3, [r0, #86] @ movhi 1378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1067 .loc 1 1378 5 is_stmt 1 discriminator 2 view .LVU333 1378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 1068 .loc 1 1378 22 is_stmt 0 discriminator 2 view .LVU334 1069 002e 0022 movs r2, #0 1070 0030 C0F88820 str r2, [r0, #136] 1379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1071 .loc 1 1379 5 is_stmt 1 discriminator 2 view .LVU335 1379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1072 .loc 1 1379 19 is_stmt 0 discriminator 2 view .LVU336 1073 0034 2122 movs r2, #33 1074 0036 C0F88020 str r2, [r0, #128] 1381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1075 .loc 1 1381 5 is_stmt 1 discriminator 2 view .LVU337 1381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1076 .loc 1 1381 14 is_stmt 0 discriminator 2 view .LVU338 1077 003a 426F ldr r2, [r0, #116] 1381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1078 .loc 1 1381 8 discriminator 2 view .LVU339 1079 003c E2B1 cbz r2, .L81 1384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1080 .loc 1 1384 7 is_stmt 1 view .LVU340 1384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1081 .loc 1 1384 39 is_stmt 0 view .LVU341 1082 003e 1749 ldr r1, .L89 1083 .LVL58: 1384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1084 .loc 1 1384 39 view .LVU342 1085 0040 D163 str r1, [r2, #60] 1086 .LVL59: 1387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1087 .loc 1 1387 7 is_stmt 1 view .LVU343 1387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1088 .loc 1 1387 12 is_stmt 0 view .LVU344 1089 0042 426F ldr r2, [r0, #116] 1387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1090 .loc 1 1387 43 view .LVU345 1091 0044 1649 ldr r1, .L89+4 1092 0046 1164 str r1, [r2, #64] 1390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1093 .loc 1 1390 7 is_stmt 1 view .LVU346 1390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1094 .loc 1 1390 12 is_stmt 0 view .LVU347 1095 0048 426F ldr r2, [r0, #116] ARM GAS /tmp/ccizsdzp.s page 92 1390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1096 .loc 1 1390 40 view .LVU348 1097 004a 1649 ldr r1, .L89+8 1098 004c D164 str r1, [r2, #76] 1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1099 .loc 1 1393 7 is_stmt 1 view .LVU349 1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1100 .loc 1 1393 12 is_stmt 0 view .LVU350 1101 004e 426F ldr r2, [r0, #116] 1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1102 .loc 1 1393 40 view .LVU351 1103 0050 0021 movs r1, #0 1104 0052 1165 str r1, [r2, #80] 1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1105 .loc 1 1396 7 is_stmt 1 view .LVU352 1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1106 .loc 1 1396 88 is_stmt 0 view .LVU353 1107 0054 0268 ldr r2, [r0] 1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1108 .loc 1 1396 11 view .LVU354 1109 0056 2832 adds r2, r2, #40 1110 0058 016D ldr r1, [r0, #80] 1111 005a 406F ldr r0, [r0, #116] 1112 .LVL60: 1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1113 .loc 1 1396 11 view .LVU355 1114 005c FFF7FEFF bl HAL_DMA_Start_IT 1115 .LVL61: 1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1116 .loc 1 1396 10 view .LVU356 1117 0060 50B1 cbz r0, .L81 1399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1118 .loc 1 1399 9 is_stmt 1 view .LVU357 1399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1119 .loc 1 1399 26 is_stmt 0 view .LVU358 1120 0062 1023 movs r3, #16 1121 0064 C4F88830 str r3, [r4, #136] 1401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1122 .loc 1 1401 9 is_stmt 1 view .LVU359 1401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1123 .loc 1 1401 9 view .LVU360 1124 0068 0023 movs r3, #0 1125 006a 84F87C30 strb r3, [r4, #124] 1401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1126 .loc 1 1401 9 view .LVU361 1404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1127 .loc 1 1404 9 view .LVU362 1404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1128 .loc 1 1404 23 is_stmt 0 view .LVU363 1129 006e 2023 movs r3, #32 1130 0070 C4F88030 str r3, [r4, #128] 1406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1131 .loc 1 1406 9 is_stmt 1 view .LVU364 1406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1132 .loc 1 1406 16 is_stmt 0 view .LVU365 1133 0074 0120 movs r0, #1 1134 0076 0AE0 b .L80 ARM GAS /tmp/ccizsdzp.s page 93 1135 .L81: 1410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1136 .loc 1 1410 5 is_stmt 1 view .LVU366 1137 0078 2368 ldr r3, [r4] 1138 007a 4022 movs r2, #64 1139 007c 1A62 str r2, [r3, #32] 1412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1140 .loc 1 1412 5 view .LVU367 1412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1141 .loc 1 1412 5 view .LVU368 1142 007e 0020 movs r0, #0 1143 0080 84F87C00 strb r0, [r4, #124] 1412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1144 .loc 1 1412 5 view .LVU369 1416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1145 .loc 1 1416 5 view .LVU370 1146 0084 2268 ldr r2, [r4] 1147 0086 9368 ldr r3, [r2, #8] 1148 0088 43F08003 orr r3, r3, #128 1149 008c 9360 str r3, [r2, #8] 1418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1150 .loc 1 1418 5 view .LVU371 1151 .L80: 1424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1152 .loc 1 1424 1 is_stmt 0 view .LVU372 1153 008e 10BD pop {r4, pc} 1154 .LVL62: 1155 .L82: 1156 .LCFI3: 1157 .cfi_def_cfa_offset 0 1158 .cfi_restore 4 1159 .cfi_restore 14 1422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1160 .loc 1 1422 12 view .LVU373 1161 0090 0220 movs r0, #2 1162 .LVL63: 1424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1163 .loc 1 1424 1 view .LVU374 1164 0092 7047 bx lr 1165 .LVL64: 1166 .L83: 1167 .LCFI4: 1168 .cfi_def_cfa_offset 8 1169 .cfi_offset 4, -8 1170 .cfi_offset 14, -4 1369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1171 .loc 1 1369 14 view .LVU375 1172 0094 0120 movs r0, #1 1173 .LVL65: 1369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1174 .loc 1 1369 14 view .LVU376 1175 0096 FAE7 b .L80 1176 .LVL66: 1177 .L84: 1372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1178 .loc 1 1372 5 view .LVU377 1179 0098 0220 movs r0, #2 ARM GAS /tmp/ccizsdzp.s page 94 1180 .LVL67: 1372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1181 .loc 1 1372 5 view .LVU378 1182 009a F8E7 b .L80 1183 .L90: 1184 .align 2 1185 .L89: 1186 009c 00000000 .word UART_DMATransmitCplt 1187 00a0 00000000 .word UART_DMATxHalfCplt 1188 00a4 00000000 .word UART_DMAError 1189 .cfi_endproc 1190 .LFE152: 1192 .section .text.HAL_UART_Receive_DMA,"ax",%progbits 1193 .align 1 1194 .global HAL_UART_Receive_DMA 1195 .syntax unified 1196 .thumb 1197 .thumb_func 1198 .fpu fpv5-d16 1200 HAL_UART_Receive_DMA: 1201 .LVL68: 1202 .LFB153: 1439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1203 .loc 1 1439 1 is_stmt 1 view -0 1204 .cfi_startproc 1205 @ args = 0, pretend = 0, frame = 0 1206 @ frame_needed = 0, uses_anonymous_args = 0 1439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1207 .loc 1 1439 1 is_stmt 0 view .LVU380 1208 0000 1346 mov r3, r2 1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1209 .loc 1 1441 3 is_stmt 1 view .LVU381 1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1210 .loc 1 1441 12 is_stmt 0 view .LVU382 1211 0002 D0F88420 ldr r2, [r0, #132] 1212 .LVL69: 1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1213 .loc 1 1441 6 view .LVU383 1214 0006 202A cmp r2, #32 1215 0008 47D1 bne .L94 1439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */ 1216 .loc 1 1439 1 view .LVU384 1217 000a 10B5 push {r4, lr} 1218 .LCFI5: 1219 .cfi_def_cfa_offset 8 1220 .cfi_offset 4, -8 1221 .cfi_offset 14, -4 1222 000c 0446 mov r4, r0 1443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1223 .loc 1 1443 5 is_stmt 1 view .LVU385 1443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1224 .loc 1 1443 8 is_stmt 0 view .LVU386 1225 000e 002B cmp r3, #0 1226 0010 18BF it ne 1227 0012 0029 cmpne r1, #0 1228 0014 43D0 beq .L95 1448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 95 1229 .loc 1 1448 5 is_stmt 1 view .LVU387 1448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1230 .loc 1 1448 5 view .LVU388 1231 0016 90F87C20 ldrb r2, [r0, #124] @ zero_extendqisi2 1232 001a 012A cmp r2, #1 1233 001c 41D0 beq .L96 1448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1234 .loc 1 1448 5 discriminator 2 view .LVU389 1235 001e 0122 movs r2, #1 1236 0020 80F87C20 strb r2, [r0, #124] 1448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1237 .loc 1 1448 5 discriminator 2 view .LVU390 1450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferSize = Size; 1238 .loc 1 1450 5 discriminator 2 view .LVU391 1450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferSize = Size; 1239 .loc 1 1450 23 is_stmt 0 discriminator 2 view .LVU392 1240 0024 8165 str r1, [r0, #88] 1451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1241 .loc 1 1451 5 is_stmt 1 discriminator 2 view .LVU393 1451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1242 .loc 1 1451 23 is_stmt 0 discriminator 2 view .LVU394 1243 0026 A0F85C30 strh r3, [r0, #92] @ movhi 1453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1244 .loc 1 1453 5 is_stmt 1 discriminator 2 view .LVU395 1453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 1245 .loc 1 1453 22 is_stmt 0 discriminator 2 view .LVU396 1246 002a 0022 movs r2, #0 1247 002c C0F88820 str r2, [r0, #136] 1454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1248 .loc 1 1454 5 is_stmt 1 discriminator 2 view .LVU397 1454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1249 .loc 1 1454 20 is_stmt 0 discriminator 2 view .LVU398 1250 0030 2222 movs r2, #34 1251 0032 C0F88420 str r2, [r0, #132] 1456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1252 .loc 1 1456 5 is_stmt 1 discriminator 2 view .LVU399 1456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1253 .loc 1 1456 14 is_stmt 0 discriminator 2 view .LVU400 1254 0036 826F ldr r2, [r0, #120] 1456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1255 .loc 1 1456 8 discriminator 2 view .LVU401 1256 0038 E2B1 cbz r2, .L93 1459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1257 .loc 1 1459 7 is_stmt 1 view .LVU402 1459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1258 .loc 1 1459 39 is_stmt 0 view .LVU403 1259 003a 1B49 ldr r1, .L101 1260 .LVL70: 1459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1261 .loc 1 1459 39 view .LVU404 1262 003c D163 str r1, [r2, #60] 1263 .LVL71: 1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1264 .loc 1 1462 7 is_stmt 1 view .LVU405 1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1265 .loc 1 1462 12 is_stmt 0 view .LVU406 1266 003e 826F ldr r2, [r0, #120] ARM GAS /tmp/ccizsdzp.s page 96 1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1267 .loc 1 1462 43 view .LVU407 1268 0040 1A49 ldr r1, .L101+4 1269 0042 1164 str r1, [r2, #64] 1465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1270 .loc 1 1465 7 is_stmt 1 view .LVU408 1465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1271 .loc 1 1465 12 is_stmt 0 view .LVU409 1272 0044 826F ldr r2, [r0, #120] 1465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1273 .loc 1 1465 40 view .LVU410 1274 0046 1A49 ldr r1, .L101+8 1275 0048 D164 str r1, [r2, #76] 1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1276 .loc 1 1468 7 is_stmt 1 view .LVU411 1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1277 .loc 1 1468 12 is_stmt 0 view .LVU412 1278 004a 826F ldr r2, [r0, #120] 1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1279 .loc 1 1468 40 view .LVU413 1280 004c 0021 movs r1, #0 1281 004e 1165 str r1, [r2, #80] 1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1282 .loc 1 1471 7 is_stmt 1 view .LVU414 1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1283 .loc 1 1471 59 is_stmt 0 view .LVU415 1284 0050 0168 ldr r1, [r0] 1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1285 .loc 1 1471 11 view .LVU416 1286 0052 826D ldr r2, [r0, #88] 1287 0054 2431 adds r1, r1, #36 1288 0056 806F ldr r0, [r0, #120] 1289 .LVL72: 1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1290 .loc 1 1471 11 view .LVU417 1291 0058 FFF7FEFF bl HAL_DMA_Start_IT 1292 .LVL73: 1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1293 .loc 1 1471 10 view .LVU418 1294 005c 50B1 cbz r0, .L93 1474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1295 .loc 1 1474 9 is_stmt 1 view .LVU419 1474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1296 .loc 1 1474 26 is_stmt 0 view .LVU420 1297 005e 1023 movs r3, #16 1298 0060 C4F88830 str r3, [r4, #136] 1476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1299 .loc 1 1476 9 is_stmt 1 view .LVU421 1476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1300 .loc 1 1476 9 view .LVU422 1301 0064 0023 movs r3, #0 1302 0066 84F87C30 strb r3, [r4, #124] 1476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1303 .loc 1 1476 9 view .LVU423 1479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1304 .loc 1 1479 9 view .LVU424 1479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 97 1305 .loc 1 1479 23 is_stmt 0 view .LVU425 1306 006a 2023 movs r3, #32 1307 006c C4F88030 str r3, [r4, #128] 1481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1308 .loc 1 1481 9 is_stmt 1 view .LVU426 1481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1309 .loc 1 1481 16 is_stmt 0 view .LVU427 1310 0070 0120 movs r0, #1 1311 0072 11E0 b .L92 1312 .L93: 1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1313 .loc 1 1484 5 is_stmt 1 view .LVU428 1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1314 .loc 1 1484 5 view .LVU429 1315 0074 0020 movs r0, #0 1316 0076 84F87C00 strb r0, [r4, #124] 1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1317 .loc 1 1484 5 view .LVU430 1487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1318 .loc 1 1487 5 view .LVU431 1319 007a 2268 ldr r2, [r4] 1320 007c 1368 ldr r3, [r2] 1321 007e 43F48073 orr r3, r3, #256 1322 0082 1360 str r3, [r2] 1490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1323 .loc 1 1490 5 view .LVU432 1324 0084 2268 ldr r2, [r4] 1325 0086 9368 ldr r3, [r2, #8] 1326 0088 43F00103 orr r3, r3, #1 1327 008c 9360 str r3, [r2, #8] 1494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1328 .loc 1 1494 5 view .LVU433 1329 008e 2268 ldr r2, [r4] 1330 0090 9368 ldr r3, [r2, #8] 1331 0092 43F04003 orr r3, r3, #64 1332 0096 9360 str r3, [r2, #8] 1496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1333 .loc 1 1496 5 view .LVU434 1334 .L92: 1502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1335 .loc 1 1502 1 is_stmt 0 view .LVU435 1336 0098 10BD pop {r4, pc} 1337 .LVL74: 1338 .L94: 1339 .LCFI6: 1340 .cfi_def_cfa_offset 0 1341 .cfi_restore 4 1342 .cfi_restore 14 1500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1343 .loc 1 1500 12 view .LVU436 1344 009a 0220 movs r0, #2 1345 .LVL75: 1502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1346 .loc 1 1502 1 view .LVU437 1347 009c 7047 bx lr 1348 .LVL76: 1349 .L95: ARM GAS /tmp/ccizsdzp.s page 98 1350 .LCFI7: 1351 .cfi_def_cfa_offset 8 1352 .cfi_offset 4, -8 1353 .cfi_offset 14, -4 1445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1354 .loc 1 1445 14 view .LVU438 1355 009e 0120 movs r0, #1 1356 .LVL77: 1445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1357 .loc 1 1445 14 view .LVU439 1358 00a0 FAE7 b .L92 1359 .LVL78: 1360 .L96: 1448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1361 .loc 1 1448 5 view .LVU440 1362 00a2 0220 movs r0, #2 1363 .LVL79: 1448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1364 .loc 1 1448 5 view .LVU441 1365 00a4 F8E7 b .L92 1366 .L102: 1367 00a6 00BF .align 2 1368 .L101: 1369 00a8 00000000 .word UART_DMAReceiveCplt 1370 00ac 00000000 .word UART_DMARxHalfCplt 1371 00b0 00000000 .word UART_DMAError 1372 .cfi_endproc 1373 .LFE153: 1375 .section .text.HAL_UART_DMAPause,"ax",%progbits 1376 .align 1 1377 .global HAL_UART_DMAPause 1378 .syntax unified 1379 .thumb 1380 .thumb_func 1381 .fpu fpv5-d16 1383 HAL_UART_DMAPause: 1384 .LVL80: 1385 .LFB154: 1510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1386 .loc 1 1510 1 is_stmt 1 view -0 1387 .cfi_startproc 1388 @ args = 0, pretend = 0, frame = 0 1389 @ frame_needed = 0, uses_anonymous_args = 0 1390 @ link register save eliminated. 1510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState; 1391 .loc 1 1510 1 is_stmt 0 view .LVU443 1392 0000 10B4 push {r4} 1393 .LCFI8: 1394 .cfi_def_cfa_offset 4 1395 .cfi_offset 4, -4 1511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1396 .loc 1 1511 3 is_stmt 1 view .LVU444 1511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1397 .loc 1 1511 31 is_stmt 0 view .LVU445 1398 0002 D0F88040 ldr r4, [r0, #128] 1399 .LVL81: 1512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 99 1400 .loc 1 1512 3 is_stmt 1 view .LVU446 1512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1401 .loc 1 1512 31 is_stmt 0 view .LVU447 1402 0006 D0F88410 ldr r1, [r0, #132] 1403 .LVL82: 1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1404 .loc 1 1514 3 is_stmt 1 view .LVU448 1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1405 .loc 1 1514 3 view .LVU449 1406 000a 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 1407 000e 012B cmp r3, #1 1408 0010 2BD0 beq .L107 1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1409 .loc 1 1514 3 discriminator 2 view .LVU450 1410 0012 0123 movs r3, #1 1411 0014 80F87C30 strb r3, [r0, #124] 1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1412 .loc 1 1514 3 discriminator 2 view .LVU451 1516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1413 .loc 1 1516 3 discriminator 2 view .LVU452 1516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1414 .loc 1 1516 8 is_stmt 0 discriminator 2 view .LVU453 1415 0018 0368 ldr r3, [r0] 1416 001a 9A68 ldr r2, [r3, #8] 1516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1417 .loc 1 1516 6 discriminator 2 view .LVU454 1418 001c 12F0800F tst r2, #128 1419 0020 01D0 beq .L105 1516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1420 .loc 1 1516 62 discriminator 1 view .LVU455 1421 0022 212C cmp r4, #33 1422 0024 0DD0 beq .L109 1423 .L105: 1522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1424 .loc 1 1522 3 is_stmt 1 view .LVU456 1522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1425 .loc 1 1522 8 is_stmt 0 view .LVU457 1426 0026 0368 ldr r3, [r0] 1427 0028 9A68 ldr r2, [r3, #8] 1522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1428 .loc 1 1522 6 view .LVU458 1429 002a 12F0400F tst r2, #64 1430 002e 01D0 beq .L106 1522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1431 .loc 1 1522 62 discriminator 1 view .LVU459 1432 0030 2229 cmp r1, #34 1433 0032 0BD0 beq .L110 1434 .L106: 1533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1435 .loc 1 1533 3 is_stmt 1 view .LVU460 1533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1436 .loc 1 1533 3 view .LVU461 1437 0034 0023 movs r3, #0 1438 0036 80F87C30 strb r3, [r0, #124] 1533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1439 .loc 1 1533 3 view .LVU462 1535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 100 1440 .loc 1 1535 3 view .LVU463 1535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1441 .loc 1 1535 10 is_stmt 0 view .LVU464 1442 003a 1846 mov r0, r3 1443 .LVL83: 1444 .L104: 1536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1445 .loc 1 1536 1 view .LVU465 1446 003c 5DF8044B ldr r4, [sp], #4 1447 .LCFI9: 1448 .cfi_remember_state 1449 .cfi_restore 4 1450 .cfi_def_cfa_offset 0 1451 .LVL84: 1536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1452 .loc 1 1536 1 view .LVU466 1453 0040 7047 bx lr 1454 .LVL85: 1455 .L109: 1456 .LCFI10: 1457 .cfi_restore_state 1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1458 .loc 1 1520 5 is_stmt 1 view .LVU467 1459 0042 9A68 ldr r2, [r3, #8] 1460 0044 22F08002 bic r2, r2, #128 1461 0048 9A60 str r2, [r3, #8] 1462 004a ECE7 b .L105 1463 .L110: 1526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 1464 .loc 1 1526 5 view .LVU468 1465 004c 1A68 ldr r2, [r3] 1466 004e 22F48072 bic r2, r2, #256 1467 0052 1A60 str r2, [r3] 1527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1468 .loc 1 1527 5 view .LVU469 1469 0054 0268 ldr r2, [r0] 1470 0056 9368 ldr r3, [r2, #8] 1471 0058 23F00103 bic r3, r3, #1 1472 005c 9360 str r3, [r2, #8] 1530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1473 .loc 1 1530 5 view .LVU470 1474 005e 0268 ldr r2, [r0] 1475 0060 9368 ldr r3, [r2, #8] 1476 0062 23F04003 bic r3, r3, #64 1477 0066 9360 str r3, [r2, #8] 1478 0068 E4E7 b .L106 1479 .L107: 1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1480 .loc 1 1514 3 is_stmt 0 view .LVU471 1481 006a 0220 movs r0, #2 1482 .LVL86: 1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1483 .loc 1 1514 3 view .LVU472 1484 006c E6E7 b .L104 1485 .cfi_endproc 1486 .LFE154: 1488 .section .text.HAL_UART_DMAResume,"ax",%progbits ARM GAS /tmp/ccizsdzp.s page 101 1489 .align 1 1490 .global HAL_UART_DMAResume 1491 .syntax unified 1492 .thumb 1493 .thumb_func 1494 .fpu fpv5-d16 1496 HAL_UART_DMAResume: 1497 .LVL87: 1498 .LFB155: 1544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 1499 .loc 1 1544 1 is_stmt 1 view -0 1500 .cfi_startproc 1501 @ args = 0, pretend = 0, frame = 0 1502 @ frame_needed = 0, uses_anonymous_args = 0 1503 @ link register save eliminated. 1545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1504 .loc 1 1545 3 view .LVU474 1545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1505 .loc 1 1545 3 view .LVU475 1506 0000 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 1507 0004 012B cmp r3, #1 1508 0006 28D0 beq .L115 1545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1509 .loc 1 1545 3 discriminator 2 view .LVU476 1510 0008 0123 movs r3, #1 1511 000a 80F87C30 strb r3, [r0, #124] 1545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1512 .loc 1 1545 3 discriminator 2 view .LVU477 1547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1513 .loc 1 1547 3 discriminator 2 view .LVU478 1547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1514 .loc 1 1547 12 is_stmt 0 discriminator 2 view .LVU479 1515 000e D0F88030 ldr r3, [r0, #128] 1547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1516 .loc 1 1547 6 discriminator 2 view .LVU480 1517 0012 212B cmp r3, #33 1518 0014 08D0 beq .L116 1519 .L113: 1552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1520 .loc 1 1552 3 is_stmt 1 view .LVU481 1552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1521 .loc 1 1552 12 is_stmt 0 view .LVU482 1522 0016 D0F88430 ldr r3, [r0, #132] 1552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1523 .loc 1 1552 6 view .LVU483 1524 001a 222B cmp r3, #34 1525 001c 0AD0 beq .L117 1526 .L114: 1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1527 .loc 1 1565 3 is_stmt 1 view .LVU484 1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1528 .loc 1 1565 3 view .LVU485 1529 001e 0023 movs r3, #0 1530 0020 80F87C30 strb r3, [r0, #124] 1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1531 .loc 1 1565 3 view .LVU486 1567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 102 1532 .loc 1 1567 3 view .LVU487 1567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1533 .loc 1 1567 10 is_stmt 0 view .LVU488 1534 0024 1846 mov r0, r3 1535 .LVL88: 1567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1536 .loc 1 1567 10 view .LVU489 1537 0026 7047 bx lr 1538 .LVL89: 1539 .L116: 1550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1540 .loc 1 1550 5 is_stmt 1 view .LVU490 1541 0028 0268 ldr r2, [r0] 1542 002a 9368 ldr r3, [r2, #8] 1543 002c 43F08003 orr r3, r3, #128 1544 0030 9360 str r3, [r2, #8] 1545 0032 F0E7 b .L113 1546 .L117: 1555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1547 .loc 1 1555 5 view .LVU491 1548 0034 0368 ldr r3, [r0] 1549 0036 0822 movs r2, #8 1550 0038 1A62 str r2, [r3, #32] 1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE); 1551 .loc 1 1558 5 view .LVU492 1552 003a 0268 ldr r2, [r0] 1553 003c 1368 ldr r3, [r2] 1554 003e 43F48073 orr r3, r3, #256 1555 0042 1360 str r3, [r2] 1559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1556 .loc 1 1559 5 view .LVU493 1557 0044 0268 ldr r2, [r0] 1558 0046 9368 ldr r3, [r2, #8] 1559 0048 43F00103 orr r3, r3, #1 1560 004c 9360 str r3, [r2, #8] 1562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1561 .loc 1 1562 5 view .LVU494 1562 004e 0268 ldr r2, [r0] 1563 0050 9368 ldr r3, [r2, #8] 1564 0052 43F04003 orr r3, r3, #64 1565 0056 9360 str r3, [r2, #8] 1566 0058 E1E7 b .L114 1567 .L115: 1545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1568 .loc 1 1545 3 is_stmt 0 view .LVU495 1569 005a 0220 movs r0, #2 1570 .LVL90: 1568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1571 .loc 1 1568 1 view .LVU496 1572 005c 7047 bx lr 1573 .cfi_endproc 1574 .LFE155: 1576 .section .text.HAL_UART_DMAStop,"ax",%progbits 1577 .align 1 1578 .global HAL_UART_DMAStop 1579 .syntax unified 1580 .thumb ARM GAS /tmp/ccizsdzp.s page 103 1581 .thumb_func 1582 .fpu fpv5-d16 1584 HAL_UART_DMAStop: 1585 .LVL91: 1586 .LFB156: 1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1587 .loc 1 1576 1 is_stmt 1 view -0 1588 .cfi_startproc 1589 @ args = 0, pretend = 0, frame = 0 1590 @ frame_needed = 0, uses_anonymous_args = 0 1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application 1591 .loc 1 1576 1 is_stmt 0 view .LVU498 1592 0000 38B5 push {r3, r4, r5, lr} 1593 .LCFI11: 1594 .cfi_def_cfa_offset 16 1595 .cfi_offset 3, -16 1596 .cfi_offset 4, -12 1597 .cfi_offset 5, -8 1598 .cfi_offset 14, -4 1599 0002 0446 mov r4, r0 1584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1600 .loc 1 1584 3 is_stmt 1 view .LVU499 1584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 1601 .loc 1 1584 31 is_stmt 0 view .LVU500 1602 0004 D0F88010 ldr r1, [r0, #128] 1603 .LVL92: 1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1604 .loc 1 1585 3 is_stmt 1 view .LVU501 1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1605 .loc 1 1585 31 is_stmt 0 view .LVU502 1606 0008 D0F88450 ldr r5, [r0, #132] 1607 .LVL93: 1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1608 .loc 1 1588 3 is_stmt 1 view .LVU503 1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1609 .loc 1 1588 8 is_stmt 0 view .LVU504 1610 000c 0368 ldr r3, [r0] 1611 000e 9A68 ldr r2, [r3, #8] 1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1612 .loc 1 1588 6 view .LVU505 1613 0010 12F0800F tst r2, #128 1614 0014 01D0 beq .L119 1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 1615 .loc 1 1588 62 discriminator 1 view .LVU506 1616 0016 2129 cmp r1, #33 1617 0018 08D0 beq .L126 1618 .LVL94: 1619 .L119: 1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1620 .loc 1 1612 3 is_stmt 1 view .LVU507 1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1621 .loc 1 1612 8 is_stmt 0 view .LVU508 1622 001a 2368 ldr r3, [r4] 1623 001c 9A68 ldr r2, [r3, #8] 1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1624 .loc 1 1612 6 view .LVU509 1625 001e 12F0400F tst r2, #64 ARM GAS /tmp/ccizsdzp.s page 104 1626 0022 32D0 beq .L123 1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 1627 .loc 1 1612 62 discriminator 1 view .LVU510 1628 0024 222D cmp r5, #34 1629 0026 18D0 beq .L127 1635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1630 .loc 1 1635 10 view .LVU511 1631 0028 0020 movs r0, #0 1632 002a 2FE0 b .L121 1633 .LVL95: 1634 .L126: 1591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1635 .loc 1 1591 5 is_stmt 1 view .LVU512 1636 002c 9A68 ldr r2, [r3, #8] 1637 002e 22F08002 bic r2, r2, #128 1638 0032 9A60 str r2, [r3, #8] 1594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1639 .loc 1 1594 5 view .LVU513 1594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1640 .loc 1 1594 14 is_stmt 0 view .LVU514 1641 0034 406F ldr r0, [r0, #116] 1642 .LVL96: 1594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1643 .loc 1 1594 8 view .LVU515 1644 0036 10B1 cbz r0, .L120 1596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1645 .loc 1 1596 7 is_stmt 1 view .LVU516 1596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1646 .loc 1 1596 11 is_stmt 0 view .LVU517 1647 0038 FFF7FEFF bl HAL_DMA_Abort 1648 .LVL97: 1596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1649 .loc 1 1596 10 view .LVU518 1650 003c 18B9 cbnz r0, .L128 1651 .L120: 1608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1652 .loc 1 1608 5 is_stmt 1 view .LVU519 1653 003e 2046 mov r0, r4 1654 0040 FFF7FEFF bl UART_EndTxTransfer 1655 .LVL98: 1656 0044 E9E7 b .L119 1657 .L128: 1598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1658 .loc 1 1598 9 view .LVU520 1598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1659 .loc 1 1598 13 is_stmt 0 view .LVU521 1660 0046 606F ldr r0, [r4, #116] 1661 0048 FFF7FEFF bl HAL_DMA_GetError 1662 .LVL99: 1598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1663 .loc 1 1598 12 view .LVU522 1664 004c 2028 cmp r0, #32 1665 004e F6D1 bne .L120 1601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1666 .loc 1 1601 11 is_stmt 1 view .LVU523 1601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1667 .loc 1 1601 28 is_stmt 0 view .LVU524 ARM GAS /tmp/ccizsdzp.s page 105 1668 0050 1023 movs r3, #16 1669 0052 C4F88830 str r3, [r4, #136] 1603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1670 .loc 1 1603 11 is_stmt 1 view .LVU525 1603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1671 .loc 1 1603 18 is_stmt 0 view .LVU526 1672 0056 0320 movs r0, #3 1673 0058 18E0 b .L121 1674 .L127: 1615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1675 .loc 1 1615 5 is_stmt 1 view .LVU527 1676 005a 9A68 ldr r2, [r3, #8] 1677 005c 22F04002 bic r2, r2, #64 1678 0060 9A60 str r2, [r3, #8] 1618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1679 .loc 1 1618 5 view .LVU528 1618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1680 .loc 1 1618 14 is_stmt 0 view .LVU529 1681 0062 A06F ldr r0, [r4, #120] 1618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1682 .loc 1 1618 8 view .LVU530 1683 0064 10B1 cbz r0, .L122 1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1684 .loc 1 1620 7 is_stmt 1 view .LVU531 1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1685 .loc 1 1620 11 is_stmt 0 view .LVU532 1686 0066 FFF7FEFF bl HAL_DMA_Abort 1687 .LVL100: 1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1688 .loc 1 1620 10 view .LVU533 1689 006a 20B9 cbnz r0, .L129 1690 .L122: 1632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1691 .loc 1 1632 5 is_stmt 1 view .LVU534 1692 006c 2046 mov r0, r4 1693 006e FFF7FEFF bl UART_EndRxTransfer 1694 .LVL101: 1635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1695 .loc 1 1635 10 is_stmt 0 view .LVU535 1696 0072 0020 movs r0, #0 1697 0074 0AE0 b .L121 1698 .L129: 1622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1699 .loc 1 1622 9 is_stmt 1 view .LVU536 1622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1700 .loc 1 1622 13 is_stmt 0 view .LVU537 1701 0076 A06F ldr r0, [r4, #120] 1702 0078 FFF7FEFF bl HAL_DMA_GetError 1703 .LVL102: 1622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1704 .loc 1 1622 12 view .LVU538 1705 007c 2028 cmp r0, #32 1706 007e F5D1 bne .L122 1625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1707 .loc 1 1625 11 is_stmt 1 view .LVU539 1625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1708 .loc 1 1625 28 is_stmt 0 view .LVU540 ARM GAS /tmp/ccizsdzp.s page 106 1709 0080 1023 movs r3, #16 1710 0082 C4F88830 str r3, [r4, #136] 1627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1711 .loc 1 1627 11 is_stmt 1 view .LVU541 1627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1712 .loc 1 1627 18 is_stmt 0 view .LVU542 1713 0086 0320 movs r0, #3 1714 0088 00E0 b .L121 1715 .L123: 1635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1716 .loc 1 1635 10 view .LVU543 1717 008a 0020 movs r0, #0 1718 .L121: 1636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1719 .loc 1 1636 1 view .LVU544 1720 008c 38BD pop {r3, r4, r5, pc} 1636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1721 .loc 1 1636 1 view .LVU545 1722 .cfi_endproc 1723 .LFE156: 1725 .section .text.HAL_UART_Abort,"ax",%progbits 1726 .align 1 1727 .global HAL_UART_Abort 1728 .syntax unified 1729 .thumb 1730 .thumb_func 1731 .fpu fpv5-d16 1733 HAL_UART_Abort: 1734 .LVL103: 1735 .LFB157: 1651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable TXE, TC, RXNE, PE, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interr 1736 .loc 1 1651 1 is_stmt 1 view -0 1737 .cfi_startproc 1738 @ args = 0, pretend = 0, frame = 0 1739 @ frame_needed = 0, uses_anonymous_args = 0 1651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable TXE, TC, RXNE, PE, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interr 1740 .loc 1 1651 1 is_stmt 0 view .LVU547 1741 0000 10B5 push {r4, lr} 1742 .LCFI12: 1743 .cfi_def_cfa_offset 8 1744 .cfi_offset 4, -8 1745 .cfi_offset 14, -4 1746 0002 0446 mov r4, r0 1653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE); 1747 .loc 1 1653 3 is_stmt 1 view .LVU548 1748 0004 0268 ldr r2, [r0] 1749 0006 1368 ldr r3, [r2] 1750 0008 23F4F073 bic r3, r3, #480 1751 000c 1360 str r3, [r2] 1654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1752 .loc 1 1654 3 view .LVU549 1753 000e 0268 ldr r2, [r0] 1754 0010 9168 ldr r1, [r2, #8] 1755 0012 2C4B ldr r3, .L139 1756 0014 0B40 ands r3, r3, r1 1757 0016 9360 str r3, [r2, #8] 1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 107 1758 .loc 1 1657 3 view .LVU550 1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1759 .loc 1 1657 7 is_stmt 0 view .LVU551 1760 0018 0368 ldr r3, [r0] 1761 001a 9A68 ldr r2, [r3, #8] 1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1762 .loc 1 1657 6 view .LVU552 1763 001c 12F0800F tst r2, #128 1764 0020 0BD0 beq .L131 1659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1765 .loc 1 1659 5 is_stmt 1 view .LVU553 1766 0022 9A68 ldr r2, [r3, #8] 1767 0024 22F08002 bic r2, r2, #128 1768 0028 9A60 str r2, [r3, #8] 1662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1769 .loc 1 1662 5 view .LVU554 1662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1770 .loc 1 1662 14 is_stmt 0 view .LVU555 1771 002a 436F ldr r3, [r0, #116] 1662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1772 .loc 1 1662 8 view .LVU556 1773 002c 2BB1 cbz r3, .L131 1666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1774 .loc 1 1666 7 is_stmt 1 view .LVU557 1666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1775 .loc 1 1666 40 is_stmt 0 view .LVU558 1776 002e 0022 movs r2, #0 1777 0030 1A65 str r2, [r3, #80] 1668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1778 .loc 1 1668 7 is_stmt 1 view .LVU559 1668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1779 .loc 1 1668 11 is_stmt 0 view .LVU560 1780 0032 406F ldr r0, [r0, #116] 1781 .LVL104: 1668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1782 .loc 1 1668 11 view .LVU561 1783 0034 FFF7FEFF bl HAL_DMA_Abort 1784 .LVL105: 1668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1785 .loc 1 1668 10 view .LVU562 1786 0038 50BB cbnz r0, .L136 1787 .L131: 1682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1788 .loc 1 1682 3 is_stmt 1 view .LVU563 1682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1789 .loc 1 1682 7 is_stmt 0 view .LVU564 1790 003a 2368 ldr r3, [r4] 1791 003c 9A68 ldr r2, [r3, #8] 1682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1792 .loc 1 1682 6 view .LVU565 1793 003e 12F0400F tst r2, #64 1794 0042 0BD0 beq .L133 1684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1795 .loc 1 1684 5 is_stmt 1 view .LVU566 1796 0044 9A68 ldr r2, [r3, #8] 1797 0046 22F04002 bic r2, r2, #64 1798 004a 9A60 str r2, [r3, #8] ARM GAS /tmp/ccizsdzp.s page 108 1687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1799 .loc 1 1687 5 view .LVU567 1687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1800 .loc 1 1687 14 is_stmt 0 view .LVU568 1801 004c A36F ldr r3, [r4, #120] 1687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1802 .loc 1 1687 8 view .LVU569 1803 004e 2BB1 cbz r3, .L133 1691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1804 .loc 1 1691 7 is_stmt 1 view .LVU570 1691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1805 .loc 1 1691 40 is_stmt 0 view .LVU571 1806 0050 0022 movs r2, #0 1807 0052 1A65 str r2, [r3, #80] 1693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1808 .loc 1 1693 7 is_stmt 1 view .LVU572 1693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1809 .loc 1 1693 11 is_stmt 0 view .LVU573 1810 0054 A06F ldr r0, [r4, #120] 1811 0056 FFF7FEFF bl HAL_DMA_Abort 1812 .LVL106: 1693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1813 .loc 1 1693 10 view .LVU574 1814 005a 18BB cbnz r0, .L137 1815 .L133: 1707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 1816 .loc 1 1707 3 is_stmt 1 view .LVU575 1707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 1817 .loc 1 1707 22 is_stmt 0 view .LVU576 1818 005c 0023 movs r3, #0 1819 005e A4F85630 strh r3, [r4, #86] @ movhi 1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1820 .loc 1 1708 3 is_stmt 1 view .LVU577 1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1821 .loc 1 1708 22 is_stmt 0 view .LVU578 1822 0062 A4F85E30 strh r3, [r4, #94] @ movhi 1711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1823 .loc 1 1711 3 is_stmt 1 view .LVU579 1824 0066 2368 ldr r3, [r4] 1825 0068 0F22 movs r2, #15 1826 006a 1A62 str r2, [r3, #32] 1714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1827 .loc 1 1714 3 view .LVU580 1714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1828 .loc 1 1714 12 is_stmt 0 view .LVU581 1829 006c 636E ldr r3, [r4, #100] 1714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1830 .loc 1 1714 6 view .LVU582 1831 006e B3F1005F cmp r3, #536870912 1832 0072 21D0 beq .L138 1833 .L134: 1720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1834 .loc 1 1720 3 is_stmt 1 view .LVU583 1835 0074 2268 ldr r2, [r4] 1836 0076 9369 ldr r3, [r2, #24] 1837 0078 43F00803 orr r3, r3, #8 1838 007c 9361 str r3, [r2, #24] ARM GAS /tmp/ccizsdzp.s page 109 1723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1839 .loc 1 1723 3 view .LVU584 1723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 1840 .loc 1 1723 18 is_stmt 0 view .LVU585 1841 007e 2023 movs r3, #32 1842 0080 C4F88030 str r3, [r4, #128] 1724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1843 .loc 1 1724 3 is_stmt 1 view .LVU586 1724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1844 .loc 1 1724 18 is_stmt 0 view .LVU587 1845 0084 C4F88430 str r3, [r4, #132] 1726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1846 .loc 1 1726 3 is_stmt 1 view .LVU588 1726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1847 .loc 1 1726 20 is_stmt 0 view .LVU589 1848 0088 0020 movs r0, #0 1849 008a C4F88800 str r0, [r4, #136] 1728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1850 .loc 1 1728 3 is_stmt 1 view .LVU590 1851 .L132: 1729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1852 .loc 1 1729 1 is_stmt 0 view .LVU591 1853 008e 10BD pop {r4, pc} 1854 .LVL107: 1855 .L136: 1670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1856 .loc 1 1670 9 is_stmt 1 view .LVU592 1670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1857 .loc 1 1670 13 is_stmt 0 view .LVU593 1858 0090 606F ldr r0, [r4, #116] 1859 0092 FFF7FEFF bl HAL_DMA_GetError 1860 .LVL108: 1670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1861 .loc 1 1670 12 view .LVU594 1862 0096 2028 cmp r0, #32 1863 0098 CFD1 bne .L131 1673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1864 .loc 1 1673 11 is_stmt 1 view .LVU595 1673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1865 .loc 1 1673 28 is_stmt 0 view .LVU596 1866 009a 1023 movs r3, #16 1867 009c C4F88830 str r3, [r4, #136] 1675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1868 .loc 1 1675 11 is_stmt 1 view .LVU597 1675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1869 .loc 1 1675 18 is_stmt 0 view .LVU598 1870 00a0 0320 movs r0, #3 1871 00a2 F4E7 b .L132 1872 .L137: 1695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1873 .loc 1 1695 9 is_stmt 1 view .LVU599 1695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1874 .loc 1 1695 13 is_stmt 0 view .LVU600 1875 00a4 A06F ldr r0, [r4, #120] 1876 00a6 FFF7FEFF bl HAL_DMA_GetError 1877 .LVL109: 1695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 110 1878 .loc 1 1695 12 view .LVU601 1879 00aa 2028 cmp r0, #32 1880 00ac D6D1 bne .L133 1698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1881 .loc 1 1698 11 is_stmt 1 view .LVU602 1698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1882 .loc 1 1698 28 is_stmt 0 view .LVU603 1883 00ae 1023 movs r3, #16 1884 00b0 C4F88830 str r3, [r4, #136] 1700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1885 .loc 1 1700 11 is_stmt 1 view .LVU604 1700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1886 .loc 1 1700 18 is_stmt 0 view .LVU605 1887 00b4 0320 movs r0, #3 1888 00b6 EAE7 b .L132 1889 .L138: 1716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1890 .loc 1 1716 5 is_stmt 1 view .LVU606 1891 00b8 2268 ldr r2, [r4] 1892 00ba 9369 ldr r3, [r2, #24] 1893 00bc 43F01003 orr r3, r3, #16 1894 00c0 9361 str r3, [r2, #24] 1895 00c2 D7E7 b .L134 1896 .L140: 1897 .align 2 1898 .L139: 1899 00c4 FEFF7FEF .word -276824066 1900 .cfi_endproc 1901 .LFE157: 1903 .section .text.HAL_UART_AbortTransmit,"ax",%progbits 1904 .align 1 1905 .global HAL_UART_AbortTransmit 1906 .syntax unified 1907 .thumb 1908 .thumb_func 1909 .fpu fpv5-d16 1911 HAL_UART_AbortTransmit: 1912 .LVL110: 1913 .LFB158: 1744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */ 1914 .loc 1 1744 1 view -0 1915 .cfi_startproc 1916 @ args = 0, pretend = 0, frame = 0 1917 @ frame_needed = 0, uses_anonymous_args = 0 1744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */ 1918 .loc 1 1744 1 is_stmt 0 view .LVU608 1919 0000 10B5 push {r4, lr} 1920 .LCFI13: 1921 .cfi_def_cfa_offset 8 1922 .cfi_offset 4, -8 1923 .cfi_offset 14, -4 1924 0002 0446 mov r4, r0 1746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 1925 .loc 1 1746 3 is_stmt 1 view .LVU609 1926 0004 0268 ldr r2, [r0] 1927 0006 1368 ldr r3, [r2] 1928 0008 23F0C003 bic r3, r3, #192 ARM GAS /tmp/ccizsdzp.s page 111 1929 000c 1360 str r3, [r2] 1747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1930 .loc 1 1747 3 view .LVU610 1931 000e 0268 ldr r2, [r0] 1932 0010 9368 ldr r3, [r2, #8] 1933 0012 23F40003 bic r3, r3, #8388608 1934 0016 9360 str r3, [r2, #8] 1750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1935 .loc 1 1750 3 view .LVU611 1750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1936 .loc 1 1750 7 is_stmt 0 view .LVU612 1937 0018 0368 ldr r3, [r0] 1938 001a 9A68 ldr r2, [r3, #8] 1750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1939 .loc 1 1750 6 view .LVU613 1940 001c 12F0800F tst r2, #128 1941 0020 0BD0 beq .L142 1752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1942 .loc 1 1752 5 is_stmt 1 view .LVU614 1943 0022 9A68 ldr r2, [r3, #8] 1944 0024 22F08002 bic r2, r2, #128 1945 0028 9A60 str r2, [r3, #8] 1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1946 .loc 1 1755 5 view .LVU615 1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1947 .loc 1 1755 14 is_stmt 0 view .LVU616 1948 002a 436F ldr r3, [r0, #116] 1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1949 .loc 1 1755 8 view .LVU617 1950 002c 2BB1 cbz r3, .L142 1759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1951 .loc 1 1759 7 is_stmt 1 view .LVU618 1759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1952 .loc 1 1759 40 is_stmt 0 view .LVU619 1953 002e 0022 movs r2, #0 1954 0030 1A65 str r2, [r3, #80] 1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1955 .loc 1 1761 7 is_stmt 1 view .LVU620 1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1956 .loc 1 1761 11 is_stmt 0 view .LVU621 1957 0032 406F ldr r0, [r0, #116] 1958 .LVL111: 1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1959 .loc 1 1761 11 view .LVU622 1960 0034 FFF7FEFF bl HAL_DMA_Abort 1961 .LVL112: 1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1962 .loc 1 1761 10 view .LVU623 1963 0038 58B9 cbnz r0, .L146 1964 .L142: 1775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1965 .loc 1 1775 3 is_stmt 1 view .LVU624 1775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1966 .loc 1 1775 22 is_stmt 0 view .LVU625 1967 003a 0023 movs r3, #0 1968 003c A4F85630 strh r3, [r4, #86] @ movhi 1778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 112 1969 .loc 1 1778 3 is_stmt 1 view .LVU626 1778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1970 .loc 1 1778 12 is_stmt 0 view .LVU627 1971 0040 636E ldr r3, [r4, #100] 1778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1972 .loc 1 1778 6 view .LVU628 1973 0042 B3F1005F cmp r3, #536870912 1974 0046 0ED0 beq .L147 1975 .L144: 1784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1976 .loc 1 1784 3 is_stmt 1 view .LVU629 1784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1977 .loc 1 1784 17 is_stmt 0 view .LVU630 1978 0048 2023 movs r3, #32 1979 004a C4F88030 str r3, [r4, #128] 1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1980 .loc 1 1786 3 is_stmt 1 view .LVU631 1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 1981 .loc 1 1786 10 is_stmt 0 view .LVU632 1982 004e 0020 movs r0, #0 1983 .L143: 1787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1984 .loc 1 1787 1 view .LVU633 1985 0050 10BD pop {r4, pc} 1986 .LVL113: 1987 .L146: 1763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1988 .loc 1 1763 9 is_stmt 1 view .LVU634 1763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1989 .loc 1 1763 13 is_stmt 0 view .LVU635 1990 0052 606F ldr r0, [r4, #116] 1991 0054 FFF7FEFF bl HAL_DMA_GetError 1992 .LVL114: 1763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 1993 .loc 1 1763 12 view .LVU636 1994 0058 2028 cmp r0, #32 1995 005a EED1 bne .L142 1766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1996 .loc 1 1766 11 is_stmt 1 view .LVU637 1766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 1997 .loc 1 1766 28 is_stmt 0 view .LVU638 1998 005c 1023 movs r3, #16 1999 005e C4F88830 str r3, [r4, #136] 1768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2000 .loc 1 1768 11 is_stmt 1 view .LVU639 1768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2001 .loc 1 1768 18 is_stmt 0 view .LVU640 2002 0062 0320 movs r0, #3 2003 0064 F4E7 b .L143 2004 .L147: 1780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2005 .loc 1 1780 5 is_stmt 1 view .LVU641 2006 0066 2268 ldr r2, [r4] 2007 0068 9369 ldr r3, [r2, #24] 2008 006a 43F01003 orr r3, r3, #16 2009 006e 9361 str r3, [r2, #24] 2010 0070 EAE7 b .L144 ARM GAS /tmp/ccizsdzp.s page 113 2011 .cfi_endproc 2012 .LFE158: 2014 .section .text.HAL_UART_AbortReceive,"ax",%progbits 2015 .align 1 2016 .global HAL_UART_AbortReceive 2017 .syntax unified 2018 .thumb 2019 .thumb_func 2020 .fpu fpv5-d16 2022 HAL_UART_AbortReceive: 2023 .LVL115: 2024 .LFB159: 1802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */ 2025 .loc 1 1802 1 view -0 2026 .cfi_startproc 2027 @ args = 0, pretend = 0, frame = 0 2028 @ frame_needed = 0, uses_anonymous_args = 0 1802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */ 2029 .loc 1 1802 1 is_stmt 0 view .LVU643 2030 0000 10B5 push {r4, lr} 2031 .LCFI14: 2032 .cfi_def_cfa_offset 8 2033 .cfi_offset 4, -8 2034 .cfi_offset 14, -4 2035 0002 0446 mov r4, r0 1804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE); 2036 .loc 1 1804 3 is_stmt 1 view .LVU644 2037 0004 0268 ldr r2, [r0] 2038 0006 1368 ldr r3, [r2] 2039 0008 23F49073 bic r3, r3, #288 2040 000c 1360 str r3, [r2] 1805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2041 .loc 1 1805 3 view .LVU645 2042 000e 0268 ldr r2, [r0] 2043 0010 9168 ldr r1, [r2, #8] 2044 0012 164B ldr r3, .L153 2045 0014 0B40 ands r3, r3, r1 2046 0016 9360 str r3, [r2, #8] 1808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2047 .loc 1 1808 3 view .LVU646 1808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2048 .loc 1 1808 7 is_stmt 0 view .LVU647 2049 0018 0368 ldr r3, [r0] 2050 001a 9A68 ldr r2, [r3, #8] 1808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2051 .loc 1 1808 6 view .LVU648 2052 001c 12F0400F tst r2, #64 2053 0020 0BD0 beq .L149 1810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2054 .loc 1 1810 5 is_stmt 1 view .LVU649 2055 0022 9A68 ldr r2, [r3, #8] 2056 0024 22F04002 bic r2, r2, #64 2057 0028 9A60 str r2, [r3, #8] 1813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2058 .loc 1 1813 5 view .LVU650 1813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2059 .loc 1 1813 14 is_stmt 0 view .LVU651 ARM GAS /tmp/ccizsdzp.s page 114 2060 002a 836F ldr r3, [r0, #120] 1813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2061 .loc 1 1813 8 view .LVU652 2062 002c 2BB1 cbz r3, .L149 1817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2063 .loc 1 1817 7 is_stmt 1 view .LVU653 1817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2064 .loc 1 1817 40 is_stmt 0 view .LVU654 2065 002e 0022 movs r2, #0 2066 0030 1A65 str r2, [r3, #80] 1819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2067 .loc 1 1819 7 is_stmt 1 view .LVU655 1819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2068 .loc 1 1819 11 is_stmt 0 view .LVU656 2069 0032 806F ldr r0, [r0, #120] 2070 .LVL116: 1819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2071 .loc 1 1819 11 view .LVU657 2072 0034 FFF7FEFF bl HAL_DMA_Abort 2073 .LVL117: 1819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2074 .loc 1 1819 10 view .LVU658 2075 0038 70B9 cbnz r0, .L152 2076 .L149: 1833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2077 .loc 1 1833 3 is_stmt 1 view .LVU659 1833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2078 .loc 1 1833 22 is_stmt 0 view .LVU660 2079 003a 0020 movs r0, #0 2080 003c A4F85E00 strh r0, [r4, #94] @ movhi 1836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2081 .loc 1 1836 3 is_stmt 1 view .LVU661 2082 0040 2368 ldr r3, [r4] 2083 0042 0F22 movs r2, #15 2084 0044 1A62 str r2, [r3, #32] 1839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2085 .loc 1 1839 3 view .LVU662 2086 0046 2268 ldr r2, [r4] 2087 0048 9369 ldr r3, [r2, #24] 2088 004a 43F00803 orr r3, r3, #8 2089 004e 9361 str r3, [r2, #24] 1842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2090 .loc 1 1842 3 view .LVU663 1842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2091 .loc 1 1842 18 is_stmt 0 view .LVU664 2092 0050 2023 movs r3, #32 2093 0052 C4F88430 str r3, [r4, #132] 1844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2094 .loc 1 1844 3 is_stmt 1 view .LVU665 2095 .L150: 1845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2096 .loc 1 1845 1 is_stmt 0 view .LVU666 2097 0056 10BD pop {r4, pc} 2098 .LVL118: 2099 .L152: 1821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2100 .loc 1 1821 9 is_stmt 1 view .LVU667 ARM GAS /tmp/ccizsdzp.s page 115 1821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2101 .loc 1 1821 13 is_stmt 0 view .LVU668 2102 0058 A06F ldr r0, [r4, #120] 2103 005a FFF7FEFF bl HAL_DMA_GetError 2104 .LVL119: 1821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2105 .loc 1 1821 12 view .LVU669 2106 005e 2028 cmp r0, #32 2107 0060 EBD1 bne .L149 1824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2108 .loc 1 1824 11 is_stmt 1 view .LVU670 1824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2109 .loc 1 1824 28 is_stmt 0 view .LVU671 2110 0062 1023 movs r3, #16 2111 0064 C4F88830 str r3, [r4, #136] 1826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2112 .loc 1 1826 11 is_stmt 1 view .LVU672 1826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2113 .loc 1 1826 18 is_stmt 0 view .LVU673 2114 0068 0320 movs r0, #3 2115 006a F4E7 b .L150 2116 .L154: 2117 .align 2 2118 .L153: 2119 006c FEFFFFEF .word -268435458 2120 .cfi_endproc 2121 .LFE159: 2123 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits 2124 .align 1 2125 .weak HAL_UART_TxCpltCallback 2126 .syntax unified 2127 .thumb 2128 .thumb_func 2129 .fpu fpv5-d16 2131 HAL_UART_TxCpltCallback: 2132 .LVL120: 2133 .LFB164: 2412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2134 .loc 1 2412 1 is_stmt 1 view -0 2135 .cfi_startproc 2136 @ args = 0, pretend = 0, frame = 0 2137 @ frame_needed = 0, uses_anonymous_args = 0 2138 @ link register save eliminated. 2414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2139 .loc 1 2414 3 view .LVU675 2419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2140 .loc 1 2419 1 is_stmt 0 view .LVU676 2141 0000 7047 bx lr 2142 .cfi_endproc 2143 .LFE164: 2145 .section .text.UART_DMATransmitCplt,"ax",%progbits 2146 .align 1 2147 .syntax unified 2148 .thumb 2149 .thumb_func 2150 .fpu fpv5-d16 2152 UART_DMATransmitCplt: ARM GAS /tmp/ccizsdzp.s page 116 2153 .LVL121: 2154 .LFB189: 3336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2155 .loc 1 3336 1 is_stmt 1 view -0 2156 .cfi_startproc 2157 @ args = 0, pretend = 0, frame = 0 2158 @ frame_needed = 0, uses_anonymous_args = 0 3336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2159 .loc 1 3336 1 is_stmt 0 view .LVU678 2160 0000 08B5 push {r3, lr} 2161 .LCFI15: 2162 .cfi_def_cfa_offset 8 2163 .cfi_offset 3, -8 2164 .cfi_offset 14, -4 3337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2165 .loc 1 3337 3 is_stmt 1 view .LVU679 3337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2166 .loc 1 3337 23 is_stmt 0 view .LVU680 2167 0002 836B ldr r3, [r0, #56] 2168 .LVL122: 3340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2169 .loc 1 3340 3 is_stmt 1 view .LVU681 3340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2170 .loc 1 3340 17 is_stmt 0 view .LVU682 2171 0004 C269 ldr r2, [r0, #28] 3340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2172 .loc 1 3340 6 view .LVU683 2173 0006 B2F5807F cmp r2, #256 2174 000a 0DD0 beq .L157 3342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2175 .loc 1 3342 5 is_stmt 1 view .LVU684 3342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2176 .loc 1 3342 24 is_stmt 0 view .LVU685 2177 000c 0022 movs r2, #0 2178 000e A3F85620 strh r2, [r3, #86] @ movhi 3346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2179 .loc 1 3346 5 is_stmt 1 view .LVU686 2180 0012 1968 ldr r1, [r3] 2181 0014 8A68 ldr r2, [r1, #8] 2182 0016 22F08002 bic r2, r2, #128 2183 001a 8A60 str r2, [r1, #8] 3349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2184 .loc 1 3349 5 view .LVU687 2185 001c 1A68 ldr r2, [r3] 2186 001e 1368 ldr r3, [r2] 2187 .LVL123: 3349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2188 .loc 1 3349 5 is_stmt 0 view .LVU688 2189 0020 43F04003 orr r3, r3, #64 2190 0024 1360 str r3, [r2] 2191 .LVL124: 2192 .L156: 3362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2193 .loc 1 3362 1 view .LVU689 2194 0026 08BD pop {r3, pc} 2195 .LVL125: 2196 .L157: ARM GAS /tmp/ccizsdzp.s page 117 3359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2197 .loc 1 3359 5 is_stmt 1 view .LVU690 2198 0028 1846 mov r0, r3 2199 .LVL126: 3359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2200 .loc 1 3359 5 is_stmt 0 view .LVU691 2201 002a FFF7FEFF bl HAL_UART_TxCpltCallback 2202 .LVL127: 3362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2203 .loc 1 3362 1 view .LVU692 2204 002e FAE7 b .L156 2205 .cfi_endproc 2206 .LFE189: 2208 .section .text.UART_EndTransmit_IT,"ax",%progbits 2209 .align 1 2210 .syntax unified 2211 .thumb 2212 .thumb_func 2213 .fpu fpv5-d16 2215 UART_EndTransmit_IT: 2216 .LVL128: 2217 .LFB203: 3808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode. 3811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains 3812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * the configuration information for the specified UART module. 3813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart) 3816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2218 .loc 1 3816 1 is_stmt 1 view -0 2219 .cfi_startproc 2220 @ args = 0, pretend = 0, frame = 0 2221 @ frame_needed = 0, uses_anonymous_args = 0 2222 .loc 1 3816 1 is_stmt 0 view .LVU694 2223 0000 08B5 push {r3, lr} 2224 .LCFI16: 2225 .cfi_def_cfa_offset 8 2226 .cfi_offset 3, -8 2227 .cfi_offset 14, -4 3817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */ 3818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 2228 .loc 1 3818 3 is_stmt 1 view .LVU695 2229 0002 0168 ldr r1, [r0] 2230 0004 0A68 ldr r2, [r1] 2231 0006 22F04002 bic r2, r2, #64 2232 000a 0A60 str r2, [r1] 3819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */ 3821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY; 2233 .loc 1 3821 3 view .LVU696 2234 .loc 1 3821 17 is_stmt 0 view .LVU697 2235 000c 2022 movs r2, #32 2236 000e C0F88020 str r2, [r0, #128] 3822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Cleat TxISR function pointer */ ARM GAS /tmp/ccizsdzp.s page 118 3824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 2237 .loc 1 3824 3 is_stmt 1 view .LVU698 2238 .loc 1 3824 16 is_stmt 0 view .LVU699 2239 0012 0022 movs r2, #0 2240 0014 0267 str r2, [r0, #112] 3825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered Tx complete callback*/ 3828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxCpltCallback(huart); 3829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/ 3831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart); 2241 .loc 1 3831 3 is_stmt 1 view .LVU700 2242 0016 FFF7FEFF bl HAL_UART_TxCpltCallback 2243 .LVL129: 3832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2244 .loc 1 3833 1 is_stmt 0 view .LVU701 2245 001a 08BD pop {r3, pc} 2246 .cfi_endproc 2247 .LFE203: 2249 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits 2250 .align 1 2251 .weak HAL_UART_TxHalfCpltCallback 2252 .syntax unified 2253 .thumb 2254 .thumb_func 2255 .fpu fpv5-d16 2257 HAL_UART_TxHalfCpltCallback: 2258 .LVL130: 2259 .LFB165: 2427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2260 .loc 1 2427 1 is_stmt 1 view -0 2261 .cfi_startproc 2262 @ args = 0, pretend = 0, frame = 0 2263 @ frame_needed = 0, uses_anonymous_args = 0 2264 @ link register save eliminated. 2429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2265 .loc 1 2429 3 view .LVU703 2434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2266 .loc 1 2434 1 is_stmt 0 view .LVU704 2267 0000 7047 bx lr 2268 .cfi_endproc 2269 .LFE165: 2271 .section .text.UART_DMATxHalfCplt,"ax",%progbits 2272 .align 1 2273 .syntax unified 2274 .thumb 2275 .thumb_func 2276 .fpu fpv5-d16 2278 UART_DMATxHalfCplt: 2279 .LVL131: 2280 .LFB190: 3370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2281 .loc 1 3370 1 is_stmt 1 view -0 2282 .cfi_startproc 2283 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccizsdzp.s page 119 2284 @ frame_needed = 0, uses_anonymous_args = 0 3370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2285 .loc 1 3370 1 is_stmt 0 view .LVU706 2286 0000 08B5 push {r3, lr} 2287 .LCFI17: 2288 .cfi_def_cfa_offset 8 2289 .cfi_offset 3, -8 2290 .cfi_offset 14, -4 3371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2291 .loc 1 3371 3 is_stmt 1 view .LVU707 2292 .LVL132: 3378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2293 .loc 1 3378 3 view .LVU708 2294 0002 806B ldr r0, [r0, #56] 2295 .LVL133: 3378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2296 .loc 1 3378 3 is_stmt 0 view .LVU709 2297 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback 2298 .LVL134: 3380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2299 .loc 1 3380 1 view .LVU710 2300 0008 08BD pop {r3, pc} 2301 .cfi_endproc 2302 .LFE190: 2304 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits 2305 .align 1 2306 .weak HAL_UART_RxCpltCallback 2307 .syntax unified 2308 .thumb 2309 .thumb_func 2310 .fpu fpv5-d16 2312 HAL_UART_RxCpltCallback: 2313 .LVL135: 2314 .LFB166: 2442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2315 .loc 1 2442 1 is_stmt 1 view -0 2316 .cfi_startproc 2317 @ args = 0, pretend = 0, frame = 0 2318 @ frame_needed = 0, uses_anonymous_args = 0 2319 @ link register save eliminated. 2444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2320 .loc 1 2444 3 view .LVU712 2449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2321 .loc 1 2449 1 is_stmt 0 view .LVU713 2322 0000 7047 bx lr 2323 .cfi_endproc 2324 .LFE166: 2326 .section .text.UART_RxISR_8BIT,"ax",%progbits 2327 .align 1 2328 .syntax unified 2329 .thumb 2330 .thumb_func 2331 .fpu fpv5-d16 2333 UART_RxISR_8BIT: 2334 .LVL136: 2335 .LFB204: 3834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 120 3835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief RX interrrupt handler for 7 or 8 bits data word length . 3837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart) 3841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2336 .loc 1 3841 1 is_stmt 1 view -0 2337 .cfi_startproc 2338 @ args = 0, pretend = 0, frame = 0 2339 @ frame_needed = 0, uses_anonymous_args = 0 2340 .loc 1 3841 1 is_stmt 0 view .LVU715 2341 0000 08B5 push {r3, lr} 2342 .LCFI18: 2343 .cfi_def_cfa_offset 8 2344 .cfi_offset 3, -8 2345 .cfi_offset 14, -4 3842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 2346 .loc 1 3842 3 is_stmt 1 view .LVU716 2347 .loc 1 3842 12 is_stmt 0 view .LVU717 2348 0002 B0F86030 ldrh r3, [r0, #96] 2349 .LVL137: 3843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t uhdata; 2350 .loc 1 3843 3 is_stmt 1 view .LVU718 3844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 2351 .loc 1 3846 3 view .LVU719 2352 .loc 1 3846 12 is_stmt 0 view .LVU720 2353 0006 D0F88420 ldr r2, [r0, #132] 2354 .loc 1 3846 6 view .LVU721 2355 000a 222A cmp r2, #34 2356 000c 05D0 beq .L170 3847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 3849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 3850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 3851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 3852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxXferCount == 0U) 3854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */ 3856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 3857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 3860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear RxISR function pointer */ 3865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = NULL; 3866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxCpltCallback(huart); 3870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else ARM GAS /tmp/ccizsdzp.s page 121 3871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 3879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2357 .loc 1 3879 5 is_stmt 1 view .LVU722 2358 000e 0268 ldr r2, [r0] 2359 0010 9369 ldr r3, [r2, #24] 2360 .LVL138: 2361 .loc 1 3879 5 is_stmt 0 view .LVU723 2362 0012 43F00803 orr r3, r3, #8 2363 0016 9361 str r3, [r2, #24] 2364 .LVL139: 2365 .L166: 3880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2366 .loc 1 3881 1 view .LVU724 2367 0018 08BD pop {r3, pc} 2368 .LVL140: 2369 .L170: 3848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 2370 .loc 1 3848 5 is_stmt 1 view .LVU725 3848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 2371 .loc 1 3848 25 is_stmt 0 view .LVU726 2372 001a 0268 ldr r2, [r0] 2373 001c 516A ldr r1, [r2, #36] 2374 .LVL141: 3849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 2375 .loc 1 3849 5 is_stmt 1 view .LVU727 3849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 2376 .loc 1 3849 45 is_stmt 0 view .LVU728 2377 001e DBB2 uxtb r3, r3 2378 .LVL142: 3849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 2379 .loc 1 3849 11 view .LVU729 2380 0020 826D ldr r2, [r0, #88] 3849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 2381 .loc 1 3849 26 view .LVU730 2382 0022 0B40 ands r3, r3, r1 3849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 2383 .loc 1 3849 24 view .LVU731 2384 0024 1370 strb r3, [r2] 2385 .LVL143: 3850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 2386 .loc 1 3850 5 is_stmt 1 view .LVU732 3850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 2387 .loc 1 3850 10 is_stmt 0 view .LVU733 2388 0026 836D ldr r3, [r0, #88] 3850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 2389 .loc 1 3850 22 view .LVU734 2390 0028 0133 adds r3, r3, #1 2391 002a 8365 str r3, [r0, #88] 3851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 122 2392 .loc 1 3851 5 is_stmt 1 view .LVU735 3851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2393 .loc 1 3851 10 is_stmt 0 view .LVU736 2394 002c B0F85E30 ldrh r3, [r0, #94] 2395 0030 9BB2 uxth r3, r3 3851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2396 .loc 1 3851 23 view .LVU737 2397 0032 013B subs r3, r3, #1 2398 0034 9BB2 uxth r3, r3 2399 0036 A0F85E30 strh r3, [r0, #94] @ movhi 3853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2400 .loc 1 3853 5 is_stmt 1 view .LVU738 3853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2401 .loc 1 3853 14 is_stmt 0 view .LVU739 2402 003a B0F85E30 ldrh r3, [r0, #94] 2403 003e 9BB2 uxth r3, r3 3853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2404 .loc 1 3853 8 view .LVU740 2405 0040 002B cmp r3, #0 2406 0042 E9D1 bne .L166 3856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2407 .loc 1 3856 7 is_stmt 1 view .LVU741 2408 0044 0268 ldr r2, [r0] 2409 0046 1368 ldr r3, [r2] 2410 0048 23F49073 bic r3, r3, #288 2411 004c 1360 str r3, [r2] 3859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2412 .loc 1 3859 7 view .LVU742 2413 004e 0268 ldr r2, [r0] 2414 0050 9368 ldr r3, [r2, #8] 2415 0052 23F00103 bic r3, r3, #1 2416 0056 9360 str r3, [r2, #8] 3862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2417 .loc 1 3862 7 view .LVU743 3862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2418 .loc 1 3862 22 is_stmt 0 view .LVU744 2419 0058 2023 movs r3, #32 2420 005a C0F88430 str r3, [r0, #132] 3865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2421 .loc 1 3865 7 is_stmt 1 view .LVU745 3865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2422 .loc 1 3865 20 is_stmt 0 view .LVU746 2423 005e 0023 movs r3, #0 2424 0060 C366 str r3, [r0, #108] 3872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2425 .loc 1 3872 7 is_stmt 1 view .LVU747 2426 0062 FFF7FEFF bl HAL_UART_RxCpltCallback 2427 .LVL144: 3872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2428 .loc 1 3872 7 is_stmt 0 view .LVU748 2429 0066 D7E7 b .L166 2430 .cfi_endproc 2431 .LFE204: 2433 .section .text.UART_RxISR_16BIT,"ax",%progbits 2434 .align 1 2435 .syntax unified 2436 .thumb ARM GAS /tmp/ccizsdzp.s page 123 2437 .thumb_func 2438 .fpu fpv5-d16 2440 UART_RxISR_16BIT: 2441 .LVL145: 2442 .LFB205: 3882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief RX interrrupt handler for 9 bits data word length . 3885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note Function is called under interruption only, once 3886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 3887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart) 3891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2443 .loc 1 3891 1 is_stmt 1 view -0 2444 .cfi_startproc 2445 @ args = 0, pretend = 0, frame = 0 2446 @ frame_needed = 0, uses_anonymous_args = 0 2447 .loc 1 3891 1 is_stmt 0 view .LVU750 2448 0000 08B5 push {r3, lr} 2449 .LCFI19: 2450 .cfi_def_cfa_offset 8 2451 .cfi_offset 3, -8 2452 .cfi_offset 14, -4 3892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t *tmp; 2453 .loc 1 3892 3 is_stmt 1 view .LVU751 3893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 2454 .loc 1 3893 3 view .LVU752 2455 .loc 1 3893 12 is_stmt 0 view .LVU753 2456 0002 B0F86020 ldrh r2, [r0, #96] 2457 .LVL146: 3894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t uhdata; 2458 .loc 1 3894 3 is_stmt 1 view .LVU754 3895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 2459 .loc 1 3897 3 view .LVU755 2460 .loc 1 3897 12 is_stmt 0 view .LVU756 2461 0006 D0F88430 ldr r3, [r0, #132] 2462 .loc 1 3897 6 view .LVU757 2463 000a 222B cmp r3, #34 2464 000c 05D0 beq .L175 3898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 3900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 3901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 3902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 3903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 3904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxXferCount == 0U) 3906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/ 3908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); 3909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ 3911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); ARM GAS /tmp/ccizsdzp.s page 124 3912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear RxISR function pointer */ 3917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = NULL; 3918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxCpltCallback(huart); 3922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 3929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 3931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2465 .loc 1 3931 5 is_stmt 1 view .LVU758 2466 000e 0268 ldr r2, [r0] 2467 .LVL147: 2468 .loc 1 3931 5 is_stmt 0 view .LVU759 2469 0010 9369 ldr r3, [r2, #24] 2470 0012 43F00803 orr r3, r3, #8 2471 0016 9361 str r3, [r2, #24] 2472 .LVL148: 2473 .L171: 3932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2474 .loc 1 3933 1 view .LVU760 2475 0018 08BD pop {r3, pc} 2476 .LVL149: 2477 .L175: 3899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 2478 .loc 1 3899 5 is_stmt 1 view .LVU761 3899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 2479 .loc 1 3899 25 is_stmt 0 view .LVU762 2480 001a 0368 ldr r3, [r0] 2481 001c 5B6A ldr r3, [r3, #36] 2482 .LVL150: 3900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 2483 .loc 1 3900 5 is_stmt 1 view .LVU763 3900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 2484 .loc 1 3900 9 is_stmt 0 view .LVU764 2485 001e 816D ldr r1, [r0, #88] 2486 .LVL151: 3901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 2487 .loc 1 3901 5 is_stmt 1 view .LVU765 3901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 2488 .loc 1 3901 12 is_stmt 0 view .LVU766 2489 0020 1340 ands r3, r3, r2 2490 .LVL152: 3901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 2491 .loc 1 3901 10 view .LVU767 2492 0022 0B80 strh r3, [r1] @ movhi ARM GAS /tmp/ccizsdzp.s page 125 3902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 2493 .loc 1 3902 5 is_stmt 1 view .LVU768 3902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 2494 .loc 1 3902 23 is_stmt 0 view .LVU769 2495 0024 836D ldr r3, [r0, #88] 2496 0026 0233 adds r3, r3, #2 2497 0028 8365 str r3, [r0, #88] 3903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2498 .loc 1 3903 5 is_stmt 1 view .LVU770 3903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2499 .loc 1 3903 10 is_stmt 0 view .LVU771 2500 002a B0F85E30 ldrh r3, [r0, #94] 2501 002e 9BB2 uxth r3, r3 3903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2502 .loc 1 3903 23 view .LVU772 2503 0030 013B subs r3, r3, #1 2504 0032 9BB2 uxth r3, r3 2505 0034 A0F85E30 strh r3, [r0, #94] @ movhi 3905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2506 .loc 1 3905 5 is_stmt 1 view .LVU773 3905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2507 .loc 1 3905 14 is_stmt 0 view .LVU774 2508 0038 B0F85E30 ldrh r3, [r0, #94] 2509 003c 9BB2 uxth r3, r3 3905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2510 .loc 1 3905 8 view .LVU775 2511 003e 002B cmp r3, #0 2512 0040 EAD1 bne .L171 3908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2513 .loc 1 3908 7 is_stmt 1 view .LVU776 2514 0042 0268 ldr r2, [r0] 2515 .LVL153: 3908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2516 .loc 1 3908 7 is_stmt 0 view .LVU777 2517 0044 1368 ldr r3, [r2] 2518 0046 23F49073 bic r3, r3, #288 2519 004a 1360 str r3, [r2] 3911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2520 .loc 1 3911 7 is_stmt 1 view .LVU778 2521 004c 0268 ldr r2, [r0] 2522 004e 9368 ldr r3, [r2, #8] 2523 0050 23F00103 bic r3, r3, #1 2524 0054 9360 str r3, [r2, #8] 3914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2525 .loc 1 3914 7 view .LVU779 3914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2526 .loc 1 3914 22 is_stmt 0 view .LVU780 2527 0056 2023 movs r3, #32 2528 0058 C0F88430 str r3, [r0, #132] 3917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2529 .loc 1 3917 7 is_stmt 1 view .LVU781 3917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2530 .loc 1 3917 20 is_stmt 0 view .LVU782 2531 005c 0023 movs r3, #0 2532 005e C366 str r3, [r0, #108] 3924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2533 .loc 1 3924 7 is_stmt 1 view .LVU783 ARM GAS /tmp/ccizsdzp.s page 126 2534 0060 FFF7FEFF bl HAL_UART_RxCpltCallback 2535 .LVL154: 3924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2536 .loc 1 3924 7 is_stmt 0 view .LVU784 2537 0064 D8E7 b .L171 2538 .cfi_endproc 2539 .LFE205: 2541 .section .text.UART_RxISR_8BIT_FIFOEN,"ax",%progbits 2542 .align 1 2543 .syntax unified 2544 .thumb 2545 .thumb_func 2546 .fpu fpv5-d16 2548 UART_RxISR_8BIT_FIFOEN: 2549 .LVL155: 2550 .LFB206: 3934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 3936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief RX interrrupt handler for 7 or 8 bits data word length and FIFO mode is enabled. 3937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note Function is called under interruption only, once 3938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 3939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 3940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 3941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_RxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart) 3943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2551 .loc 1 3943 1 is_stmt 1 view -0 2552 .cfi_startproc 2553 @ args = 0, pretend = 0, frame = 0 2554 @ frame_needed = 0, uses_anonymous_args = 0 2555 .loc 1 3943 1 is_stmt 0 view .LVU786 2556 0000 70B5 push {r4, r5, r6, lr} 2557 .LCFI20: 2558 .cfi_def_cfa_offset 16 2559 .cfi_offset 4, -16 2560 .cfi_offset 5, -12 2561 .cfi_offset 6, -8 2562 .cfi_offset 14, -4 2563 0002 0446 mov r4, r0 3944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 2564 .loc 1 3944 3 is_stmt 1 view .LVU787 2565 .loc 1 3944 13 is_stmt 0 view .LVU788 2566 0004 B0F86060 ldrh r6, [r0, #96] 2567 .LVL156: 3945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t uhdata; 2568 .loc 1 3945 3 is_stmt 1 view .LVU789 3946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t nb_rx_data; 2569 .loc 1 3946 3 view .LVU790 3947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t rxdatacount; 2570 .loc 1 3947 3 view .LVU791 3948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 3950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 2571 .loc 1 3950 3 view .LVU792 2572 .loc 1 3950 12 is_stmt 0 view .LVU793 2573 0008 D0F88430 ldr r3, [r0, #132] 2574 .loc 1 3950 6 view .LVU794 ARM GAS /tmp/ccizsdzp.s page 127 2575 000c 222B cmp r3, #34 2576 000e 05D0 beq .L183 3951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** for (nb_rx_data = huart->NbRxDataToProcess ; nb_rx_data > 0U ; nb_rx_data--) 3953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 3955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 3956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 3957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 3958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxXferCount == 0U) 3960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXFT interrupt*/ 3962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 3963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) and RX FIFO 3965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 3966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 3968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear RxISR function pointer */ 3971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = NULL; 3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 3974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered Rx complete callback*/ 3975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxCpltCallback(huart); 3976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 3977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 3978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 3979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* When remaining number of bytes to receive is less than the RX FIFO 3984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** threshold, next incoming frames are processed as if FIFO mode was 3985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** disabled (i.e. one interrupt per received frame). 3986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 3987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** rxdatacount = huart->RxXferCount; 3988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 3989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART RXFT interrupt*/ 3991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 3992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Update the RxISR function pointer */ 3994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT; 3995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Data Register Not Empty interrupt */ 3997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); 3998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 4001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2577 .loc 1 4003 5 is_stmt 1 view .LVU795 2578 0010 0268 ldr r2, [r0] ARM GAS /tmp/ccizsdzp.s page 128 2579 0012 9369 ldr r3, [r2, #24] 2580 0014 43F00803 orr r3, r3, #8 2581 0018 9361 str r3, [r2, #24] 2582 .LVL157: 2583 .L176: 4004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2584 .loc 1 4005 1 is_stmt 0 view .LVU796 2585 001a 70BD pop {r4, r5, r6, pc} 2586 .LVL158: 2587 .L183: 3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2588 .loc 1 3952 5 is_stmt 1 view .LVU797 3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2589 .loc 1 3952 21 is_stmt 0 view .LVU798 2590 001c B0F86850 ldrh r5, [r0, #104] 2591 .LVL159: 3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2592 .loc 1 3952 5 view .LVU799 2593 0020 01E0 b .L178 2594 .LVL160: 2595 .L179: 3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2596 .loc 1 3952 68 is_stmt 1 discriminator 2 view .LVU800 3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2597 .loc 1 3952 78 is_stmt 0 discriminator 2 view .LVU801 2598 0022 013D subs r5, r5, #1 2599 .LVL161: 3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2600 .loc 1 3952 78 discriminator 2 view .LVU802 2601 0024 ADB2 uxth r5, r5 2602 .LVL162: 2603 .L178: 3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2604 .loc 1 3952 50 is_stmt 1 discriminator 1 view .LVU803 3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2605 .loc 1 3952 5 is_stmt 0 discriminator 1 view .LVU804 2606 0026 3DB3 cbz r5, .L184 3954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 2607 .loc 1 3954 7 is_stmt 1 view .LVU805 3954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask); 2608 .loc 1 3954 27 is_stmt 0 view .LVU806 2609 0028 2368 ldr r3, [r4] 2610 002a 596A ldr r1, [r3, #36] 2611 .LVL163: 3955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 2612 .loc 1 3955 7 is_stmt 1 view .LVU807 3955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 2613 .loc 1 3955 47 is_stmt 0 view .LVU808 2614 002c F3B2 uxtb r3, r6 3955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 2615 .loc 1 3955 13 view .LVU809 2616 002e A26D ldr r2, [r4, #88] 3955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; 2617 .loc 1 3955 28 view .LVU810 2618 0030 0B40 ands r3, r3, r1 3955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr++; ARM GAS /tmp/ccizsdzp.s page 129 2619 .loc 1 3955 26 view .LVU811 2620 0032 1370 strb r3, [r2] 3956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 2621 .loc 1 3956 7 is_stmt 1 view .LVU812 3956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 2622 .loc 1 3956 12 is_stmt 0 view .LVU813 2623 0034 A36D ldr r3, [r4, #88] 3956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 2624 .loc 1 3956 24 view .LVU814 2625 0036 0133 adds r3, r3, #1 2626 0038 A365 str r3, [r4, #88] 3957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2627 .loc 1 3957 7 is_stmt 1 view .LVU815 3957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2628 .loc 1 3957 12 is_stmt 0 view .LVU816 2629 003a B4F85E30 ldrh r3, [r4, #94] 2630 003e 9BB2 uxth r3, r3 3957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2631 .loc 1 3957 25 view .LVU817 2632 0040 013B subs r3, r3, #1 2633 0042 9BB2 uxth r3, r3 2634 0044 A4F85E30 strh r3, [r4, #94] @ movhi 3959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2635 .loc 1 3959 7 is_stmt 1 view .LVU818 3959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2636 .loc 1 3959 16 is_stmt 0 view .LVU819 2637 0048 B4F85E30 ldrh r3, [r4, #94] 2638 004c 9BB2 uxth r3, r3 3959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2639 .loc 1 3959 10 view .LVU820 2640 004e 002B cmp r3, #0 2641 0050 E7D1 bne .L179 3962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2642 .loc 1 3962 9 is_stmt 1 view .LVU821 2643 0052 2268 ldr r2, [r4] 2644 0054 1368 ldr r3, [r2] 2645 0056 23F48073 bic r3, r3, #256 2646 005a 1360 str r3, [r2] 3965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2647 .loc 1 3965 9 view .LVU822 2648 005c 2268 ldr r2, [r4] 2649 005e 9168 ldr r1, [r2, #8] 2650 .LVL164: 3965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2651 .loc 1 3965 9 is_stmt 0 view .LVU823 2652 0060 104B ldr r3, .L185 2653 0062 0B40 ands r3, r3, r1 2654 0064 9360 str r3, [r2, #8] 3968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2655 .loc 1 3968 9 is_stmt 1 view .LVU824 3968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2656 .loc 1 3968 24 is_stmt 0 view .LVU825 2657 0066 2023 movs r3, #32 2658 0068 C4F88430 str r3, [r4, #132] 3971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2659 .loc 1 3971 9 is_stmt 1 view .LVU826 3971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 130 2660 .loc 1 3971 22 is_stmt 0 view .LVU827 2661 006c 0023 movs r3, #0 2662 006e E366 str r3, [r4, #108] 3978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2663 .loc 1 3978 9 is_stmt 1 view .LVU828 2664 0070 2046 mov r0, r4 2665 0072 FFF7FEFF bl HAL_UART_RxCpltCallback 2666 .LVL165: 2667 0076 D4E7 b .L179 2668 .L184: 3987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 2669 .loc 1 3987 5 view .LVU829 3987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 2670 .loc 1 3987 17 is_stmt 0 view .LVU830 2671 0078 B4F85E30 ldrh r3, [r4, #94] 2672 007c 9BB2 uxth r3, r3 2673 .LVL166: 3988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2674 .loc 1 3988 5 is_stmt 1 view .LVU831 3988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2675 .loc 1 3988 8 is_stmt 0 view .LVU832 2676 007e 002B cmp r3, #0 2677 0080 CBD0 beq .L176 3988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2678 .loc 1 3988 52 discriminator 1 view .LVU833 2679 0082 B4F86820 ldrh r2, [r4, #104] 3988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2680 .loc 1 3988 29 discriminator 1 view .LVU834 2681 0086 9A42 cmp r2, r3 2682 0088 C7D9 bls .L176 3991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2683 .loc 1 3991 7 is_stmt 1 view .LVU835 2684 008a 2268 ldr r2, [r4] 2685 008c 9368 ldr r3, [r2, #8] 2686 .LVL167: 3991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2687 .loc 1 3991 7 is_stmt 0 view .LVU836 2688 008e 23F08053 bic r3, r3, #268435456 2689 0092 9360 str r3, [r2, #8] 3994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2690 .loc 1 3994 7 is_stmt 1 view .LVU837 3994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2691 .loc 1 3994 20 is_stmt 0 view .LVU838 2692 0094 044B ldr r3, .L185+4 2693 0096 E366 str r3, [r4, #108] 3997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2694 .loc 1 3997 7 is_stmt 1 view .LVU839 2695 0098 2268 ldr r2, [r4] 2696 009a 1368 ldr r3, [r2] 2697 009c 43F02003 orr r3, r3, #32 2698 00a0 1360 str r3, [r2] 2699 00a2 BAE7 b .L176 2700 .L186: 2701 .align 2 2702 .L185: 2703 00a4 FEFFFFEF .word -268435458 2704 00a8 00000000 .word UART_RxISR_8BIT ARM GAS /tmp/ccizsdzp.s page 131 2705 .cfi_endproc 2706 .LFE206: 2708 .section .text.UART_RxISR_16BIT_FIFOEN,"ax",%progbits 2709 .align 1 2710 .syntax unified 2711 .thumb 2712 .thumb_func 2713 .fpu fpv5-d16 2715 UART_RxISR_16BIT_FIFOEN: 2716 .LVL168: 2717 .LFB207: 4006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 4008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @brief RX interrrupt handler for 9 bits data word length and FIFO mode is enabled. 4009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @note Function is called under interruption only, once 4010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT() 4011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @param huart UART handle. 4012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * @retval None 4013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 4014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** static void UART_RxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart) 4015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2718 .loc 1 4015 1 view -0 2719 .cfi_startproc 2720 @ args = 0, pretend = 0, frame = 0 2721 @ frame_needed = 0, uses_anonymous_args = 0 2722 .loc 1 4015 1 is_stmt 0 view .LVU841 2723 0000 70B5 push {r4, r5, r6, lr} 2724 .LCFI21: 2725 .cfi_def_cfa_offset 16 2726 .cfi_offset 4, -16 2727 .cfi_offset 5, -12 2728 .cfi_offset 6, -8 2729 .cfi_offset 14, -4 2730 0002 0446 mov r4, r0 4016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t *tmp; 2731 .loc 1 4016 3 is_stmt 1 view .LVU842 4017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t uhMask = huart->Mask; 2732 .loc 1 4017 3 view .LVU843 2733 .loc 1 4017 13 is_stmt 0 view .LVU844 2734 0004 B0F86060 ldrh r6, [r0, #96] 2735 .LVL169: 4018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t uhdata; 2736 .loc 1 4018 3 is_stmt 1 view .LVU845 4019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t nb_rx_data; 2737 .loc 1 4019 3 view .LVU846 4020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t rxdatacount; 2738 .loc 1 4020 3 view .LVU847 4021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check that a Rx process is ongoing */ 4023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX) 2739 .loc 1 4023 3 view .LVU848 2740 .loc 1 4023 12 is_stmt 0 view .LVU849 2741 0008 D0F88430 ldr r3, [r0, #132] 2742 .loc 1 4023 6 view .LVU850 2743 000c 222B cmp r3, #34 2744 000e 05D0 beq .L194 4024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 132 4025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** for (nb_rx_data = huart->NbRxDataToProcess ; nb_rx_data > 0U ; nb_rx_data--) 4026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR); 4028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 4029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 4030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 4031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 4032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (huart->RxXferCount == 0U) 4034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXFT interrupt*/ 4036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 4037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) and RX FIFO 4039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 4040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */ 4042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 4043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear RxISR function pointer */ 4045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = NULL; 4046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 4048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call registered Rx complete callback*/ 4049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxCpltCallback(huart); 4050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #else 4051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/ 4052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart); 4053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* When remaining number of bytes to receive is less than the RX FIFO 4058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** threshold, next incoming frames are processed as if FIFO mode was 4059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** disabled (i.e. one interrupt per received frame). 4060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** */ 4061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** rxdatacount = huart->RxXferCount; 4062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 4063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable the UART RXFT interrupt*/ 4065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_RXFTIE); 4066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Update the RxISR function pointer */ 4068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT; 4069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Enable the UART Data Register Not Empty interrupt */ 4071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); 4072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** else 4075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Clear RXNE interrupt flag */ 4077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 2745 .loc 1 4077 5 is_stmt 1 view .LVU851 2746 0010 0268 ldr r2, [r0] 2747 0012 9369 ldr r3, [r2, #24] 2748 0014 43F00803 orr r3, r3, #8 ARM GAS /tmp/ccizsdzp.s page 133 2749 0018 9361 str r3, [r2, #24] 2750 .LVL170: 2751 .L187: 4078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2752 .loc 1 4079 1 is_stmt 0 view .LVU852 2753 001a 70BD pop {r4, r5, r6, pc} 2754 .LVL171: 2755 .L194: 4025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2756 .loc 1 4025 5 is_stmt 1 view .LVU853 4025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2757 .loc 1 4025 21 is_stmt 0 view .LVU854 2758 001c B0F86850 ldrh r5, [r0, #104] 2759 .LVL172: 4025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2760 .loc 1 4025 5 view .LVU855 2761 0020 01E0 b .L189 2762 .LVL173: 2763 .L190: 4025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2764 .loc 1 4025 68 is_stmt 1 discriminator 2 view .LVU856 4025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2765 .loc 1 4025 78 is_stmt 0 discriminator 2 view .LVU857 2766 0022 013D subs r5, r5, #1 2767 .LVL174: 4025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2768 .loc 1 4025 78 discriminator 2 view .LVU858 2769 0024 ADB2 uxth r5, r5 2770 .LVL175: 2771 .L189: 4025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2772 .loc 1 4025 50 is_stmt 1 discriminator 1 view .LVU859 4025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2773 .loc 1 4025 5 is_stmt 0 discriminator 1 view .LVU860 2774 0026 35B3 cbz r5, .L195 4027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 2775 .loc 1 4027 7 is_stmt 1 view .LVU861 4027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ; 2776 .loc 1 4027 27 is_stmt 0 view .LVU862 2777 0028 2368 ldr r3, [r4] 2778 002a 5B6A ldr r3, [r3, #36] 2779 .LVL176: 4028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 2780 .loc 1 4028 7 is_stmt 1 view .LVU863 4028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask); 2781 .loc 1 4028 11 is_stmt 0 view .LVU864 2782 002c A26D ldr r2, [r4, #88] 2783 .LVL177: 4029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 2784 .loc 1 4029 7 is_stmt 1 view .LVU865 4029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 2785 .loc 1 4029 14 is_stmt 0 view .LVU866 2786 002e 3340 ands r3, r3, r6 2787 .LVL178: 4029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->pRxBuffPtr += 2U; 2788 .loc 1 4029 12 view .LVU867 ARM GAS /tmp/ccizsdzp.s page 134 2789 0030 1380 strh r3, [r2] @ movhi 4030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 2790 .loc 1 4030 7 is_stmt 1 view .LVU868 4030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount--; 2791 .loc 1 4030 25 is_stmt 0 view .LVU869 2792 0032 A36D ldr r3, [r4, #88] 2793 0034 0233 adds r3, r3, #2 2794 0036 A365 str r3, [r4, #88] 4031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2795 .loc 1 4031 7 is_stmt 1 view .LVU870 4031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2796 .loc 1 4031 12 is_stmt 0 view .LVU871 2797 0038 B4F85E30 ldrh r3, [r4, #94] 2798 003c 9BB2 uxth r3, r3 4031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2799 .loc 1 4031 25 view .LVU872 2800 003e 013B subs r3, r3, #1 2801 0040 9BB2 uxth r3, r3 2802 0042 A4F85E30 strh r3, [r4, #94] @ movhi 4033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2803 .loc 1 4033 7 is_stmt 1 view .LVU873 4033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2804 .loc 1 4033 16 is_stmt 0 view .LVU874 2805 0046 B4F85E30 ldrh r3, [r4, #94] 2806 004a 9BB2 uxth r3, r3 4033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2807 .loc 1 4033 10 view .LVU875 2808 004c 002B cmp r3, #0 2809 004e E8D1 bne .L190 4036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2810 .loc 1 4036 9 is_stmt 1 view .LVU876 2811 0050 2268 ldr r2, [r4] 2812 .LVL179: 4036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2813 .loc 1 4036 9 is_stmt 0 view .LVU877 2814 0052 1368 ldr r3, [r2] 2815 0054 23F48073 bic r3, r3, #256 2816 0058 1360 str r3, [r2] 4039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2817 .loc 1 4039 9 is_stmt 1 view .LVU878 2818 005a 2268 ldr r2, [r4] 2819 005c 9168 ldr r1, [r2, #8] 2820 005e 114B ldr r3, .L196 2821 0060 0B40 ands r3, r3, r1 2822 0062 9360 str r3, [r2, #8] 4042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2823 .loc 1 4042 9 view .LVU879 4042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2824 .loc 1 4042 24 is_stmt 0 view .LVU880 2825 0064 2023 movs r3, #32 2826 0066 C4F88430 str r3, [r4, #132] 4045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2827 .loc 1 4045 9 is_stmt 1 view .LVU881 4045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2828 .loc 1 4045 22 is_stmt 0 view .LVU882 2829 006a 0023 movs r3, #0 2830 006c E366 str r3, [r4, #108] ARM GAS /tmp/ccizsdzp.s page 135 4052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2831 .loc 1 4052 9 is_stmt 1 view .LVU883 2832 006e 2046 mov r0, r4 2833 0070 FFF7FEFF bl HAL_UART_RxCpltCallback 2834 .LVL180: 2835 0074 D5E7 b .L190 2836 .L195: 4061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 2837 .loc 1 4061 5 view .LVU884 4061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess)) 2838 .loc 1 4061 17 is_stmt 0 view .LVU885 2839 0076 B4F85E30 ldrh r3, [r4, #94] 2840 007a 9BB2 uxth r3, r3 2841 .LVL181: 4062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2842 .loc 1 4062 5 is_stmt 1 view .LVU886 4062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2843 .loc 1 4062 8 is_stmt 0 view .LVU887 2844 007c 002B cmp r3, #0 2845 007e CCD0 beq .L187 4062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2846 .loc 1 4062 52 discriminator 1 view .LVU888 2847 0080 B4F86820 ldrh r2, [r4, #104] 4062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2848 .loc 1 4062 29 discriminator 1 view .LVU889 2849 0084 9A42 cmp r2, r3 2850 0086 C8D9 bls .L187 4065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2851 .loc 1 4065 7 is_stmt 1 view .LVU890 2852 0088 2268 ldr r2, [r4] 2853 008a 9368 ldr r3, [r2, #8] 2854 .LVL182: 4065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2855 .loc 1 4065 7 is_stmt 0 view .LVU891 2856 008c 23F08053 bic r3, r3, #268435456 2857 0090 9360 str r3, [r2, #8] 4068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2858 .loc 1 4068 7 is_stmt 1 view .LVU892 4068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2859 .loc 1 4068 20 is_stmt 0 view .LVU893 2860 0092 054B ldr r3, .L196+4 2861 0094 E366 str r3, [r4, #108] 4071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2862 .loc 1 4071 7 is_stmt 1 view .LVU894 2863 0096 2268 ldr r2, [r4] 2864 0098 1368 ldr r3, [r2] 2865 009a 43F02003 orr r3, r3, #32 2866 009e 1360 str r3, [r2] 2867 00a0 BBE7 b .L187 2868 .L197: 2869 00a2 00BF .align 2 2870 .L196: 2871 00a4 FEFFFFEF .word -268435458 2872 00a8 00000000 .word UART_RxISR_16BIT 2873 .cfi_endproc 2874 .LFE207: 2876 .section .text.UART_DMAReceiveCplt,"ax",%progbits ARM GAS /tmp/ccizsdzp.s page 136 2877 .align 1 2878 .syntax unified 2879 .thumb 2880 .thumb_func 2881 .fpu fpv5-d16 2883 UART_DMAReceiveCplt: 2884 .LVL183: 2885 .LFB191: 3388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2886 .loc 1 3388 1 view -0 2887 .cfi_startproc 2888 @ args = 0, pretend = 0, frame = 0 2889 @ frame_needed = 0, uses_anonymous_args = 0 3388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2890 .loc 1 3388 1 is_stmt 0 view .LVU896 2891 0000 08B5 push {r3, lr} 2892 .LCFI22: 2893 .cfi_def_cfa_offset 8 2894 .cfi_offset 3, -8 2895 .cfi_offset 14, -4 2896 0002 0346 mov r3, r0 3389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2897 .loc 1 3389 3 is_stmt 1 view .LVU897 3389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2898 .loc 1 3389 23 is_stmt 0 view .LVU898 2899 0004 806B ldr r0, [r0, #56] 2900 .LVL184: 3392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2901 .loc 1 3392 3 is_stmt 1 view .LVU899 3392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2902 .loc 1 3392 17 is_stmt 0 view .LVU900 2903 0006 DB69 ldr r3, [r3, #28] 2904 .LVL185: 3392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 2905 .loc 1 3392 6 view .LVU901 2906 0008 B3F5807F cmp r3, #256 2907 000c 14D0 beq .L199 3394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2908 .loc 1 3394 5 is_stmt 1 view .LVU902 3394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2909 .loc 1 3394 24 is_stmt 0 view .LVU903 2910 000e 0023 movs r3, #0 2911 0010 A0F85E30 strh r3, [r0, #94] @ movhi 3397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 2912 .loc 1 3397 5 is_stmt 1 view .LVU904 2913 0014 0268 ldr r2, [r0] 2914 0016 1368 ldr r3, [r2] 2915 0018 23F48073 bic r3, r3, #256 2916 001c 1360 str r3, [r2] 3398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2917 .loc 1 3398 5 view .LVU905 2918 001e 0268 ldr r2, [r0] 2919 0020 9368 ldr r3, [r2, #8] 2920 0022 23F00103 bic r3, r3, #1 2921 0026 9360 str r3, [r2, #8] 3402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2922 .loc 1 3402 5 view .LVU906 ARM GAS /tmp/ccizsdzp.s page 137 2923 0028 0268 ldr r2, [r0] 2924 002a 9368 ldr r3, [r2, #8] 2925 002c 23F04003 bic r3, r3, #64 2926 0030 9360 str r3, [r2, #8] 3405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2927 .loc 1 3405 5 view .LVU907 3405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 2928 .loc 1 3405 20 is_stmt 0 view .LVU908 2929 0032 2023 movs r3, #32 2930 0034 C0F88430 str r3, [r0, #132] 2931 .L199: 3413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2932 .loc 1 3413 3 is_stmt 1 view .LVU909 2933 0038 FFF7FEFF bl HAL_UART_RxCpltCallback 2934 .LVL186: 3415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2935 .loc 1 3415 1 is_stmt 0 view .LVU910 2936 003c 08BD pop {r3, pc} 2937 .cfi_endproc 2938 .LFE191: 2940 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits 2941 .align 1 2942 .weak HAL_UART_RxHalfCpltCallback 2943 .syntax unified 2944 .thumb 2945 .thumb_func 2946 .fpu fpv5-d16 2948 HAL_UART_RxHalfCpltCallback: 2949 .LVL187: 2950 .LFB167: 2457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 2951 .loc 1 2457 1 is_stmt 1 view -0 2952 .cfi_startproc 2953 @ args = 0, pretend = 0, frame = 0 2954 @ frame_needed = 0, uses_anonymous_args = 0 2955 @ link register save eliminated. 2459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2956 .loc 1 2459 3 view .LVU912 2464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2957 .loc 1 2464 1 is_stmt 0 view .LVU913 2958 0000 7047 bx lr 2959 .cfi_endproc 2960 .LFE167: 2962 .section .text.UART_DMARxHalfCplt,"ax",%progbits 2963 .align 1 2964 .syntax unified 2965 .thumb 2966 .thumb_func 2967 .fpu fpv5-d16 2969 UART_DMARxHalfCplt: 2970 .LVL188: 2971 .LFB192: 3423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2972 .loc 1 3423 1 is_stmt 1 view -0 2973 .cfi_startproc 2974 @ args = 0, pretend = 0, frame = 0 2975 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccizsdzp.s page 138 3423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 2976 .loc 1 3423 1 is_stmt 0 view .LVU915 2977 0000 08B5 push {r3, lr} 2978 .LCFI23: 2979 .cfi_def_cfa_offset 8 2980 .cfi_offset 3, -8 2981 .cfi_offset 14, -4 3424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2982 .loc 1 3424 3 is_stmt 1 view .LVU916 2983 .LVL189: 3431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2984 .loc 1 3431 3 view .LVU917 2985 0002 806B ldr r0, [r0, #56] 2986 .LVL190: 3431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 2987 .loc 1 3431 3 is_stmt 0 view .LVU918 2988 0004 FFF7FEFF bl HAL_UART_RxHalfCpltCallback 2989 .LVL191: 3433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 2990 .loc 1 3433 1 view .LVU919 2991 0008 08BD pop {r3, pc} 2992 .cfi_endproc 2993 .LFE192: 2995 .section .text.HAL_UART_ErrorCallback,"ax",%progbits 2996 .align 1 2997 .weak HAL_UART_ErrorCallback 2998 .syntax unified 2999 .thumb 3000 .thumb_func 3001 .fpu fpv5-d16 3003 HAL_UART_ErrorCallback: 3004 .LVL192: 3005 .LFB168: 2472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3006 .loc 1 2472 1 is_stmt 1 view -0 3007 .cfi_startproc 3008 @ args = 0, pretend = 0, frame = 0 3009 @ frame_needed = 0, uses_anonymous_args = 0 3010 @ link register save eliminated. 2474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3011 .loc 1 2474 3 view .LVU921 2479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3012 .loc 1 2479 1 is_stmt 0 view .LVU922 3013 0000 7047 bx lr 3014 .cfi_endproc 3015 .LFE168: 3017 .section .text.UART_DMAError,"ax",%progbits 3018 .align 1 3019 .syntax unified 3020 .thumb 3021 .thumb_func 3022 .fpu fpv5-d16 3024 UART_DMAError: 3025 .LVL193: 3026 .LFB193: 3441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3027 .loc 1 3441 1 is_stmt 1 view -0 ARM GAS /tmp/ccizsdzp.s page 139 3028 .cfi_startproc 3029 @ args = 0, pretend = 0, frame = 0 3030 @ frame_needed = 0, uses_anonymous_args = 0 3441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3031 .loc 1 3441 1 is_stmt 0 view .LVU924 3032 0000 38B5 push {r3, r4, r5, lr} 3033 .LCFI24: 3034 .cfi_def_cfa_offset 16 3035 .cfi_offset 3, -16 3036 .cfi_offset 4, -12 3037 .cfi_offset 5, -8 3038 .cfi_offset 14, -4 3442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3039 .loc 1 3442 3 is_stmt 1 view .LVU925 3442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3040 .loc 1 3442 23 is_stmt 0 view .LVU926 3041 0002 846B ldr r4, [r0, #56] 3042 .LVL194: 3444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3043 .loc 1 3444 3 is_stmt 1 view .LVU927 3444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState; 3044 .loc 1 3444 31 is_stmt 0 view .LVU928 3045 0004 D4F88020 ldr r2, [r4, #128] 3046 .LVL195: 3445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3047 .loc 1 3445 3 is_stmt 1 view .LVU929 3445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3048 .loc 1 3445 31 is_stmt 0 view .LVU930 3049 0008 D4F88450 ldr r5, [r4, #132] 3050 .LVL196: 3448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3051 .loc 1 3448 3 is_stmt 1 view .LVU931 3448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3052 .loc 1 3448 8 is_stmt 0 view .LVU932 3053 000c 2368 ldr r3, [r4] 3054 000e 9B68 ldr r3, [r3, #8] 3448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3055 .loc 1 3448 6 view .LVU933 3056 0010 13F0800F tst r3, #128 3057 0014 01D0 beq .L206 3448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX)) 3058 .loc 1 3448 62 discriminator 1 view .LVU934 3059 0016 212A cmp r2, #33 3060 0018 10D0 beq .L209 3061 .LVL197: 3062 .L206: 3456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3063 .loc 1 3456 3 is_stmt 1 view .LVU935 3456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3064 .loc 1 3456 8 is_stmt 0 view .LVU936 3065 001a 2368 ldr r3, [r4] 3066 001c 9B68 ldr r3, [r3, #8] 3456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) 3067 .loc 1 3456 6 view .LVU937 3068 001e 13F0400F tst r3, #64 3069 0022 01D0 beq .L207 3456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX)) ARM GAS /tmp/ccizsdzp.s page 140 3070 .loc 1 3456 62 discriminator 1 view .LVU938 3071 0024 222D cmp r5, #34 3072 0026 10D0 beq .L210 3073 .L207: 3463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3074 .loc 1 3463 3 is_stmt 1 view .LVU939 3463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3075 .loc 1 3463 20 is_stmt 0 view .LVU940 3076 0028 D4F88830 ldr r3, [r4, #136] 3077 002c 43F01003 orr r3, r3, #16 3078 0030 C4F88830 str r3, [r4, #136] 3470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3079 .loc 1 3470 3 is_stmt 1 view .LVU941 3080 0034 2046 mov r0, r4 3081 0036 FFF7FEFF bl HAL_UART_ErrorCallback 3082 .LVL198: 3472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3083 .loc 1 3472 1 is_stmt 0 view .LVU942 3084 003a 38BD pop {r3, r4, r5, pc} 3085 .LVL199: 3086 .L209: 3451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_EndTxTransfer(huart); 3087 .loc 1 3451 5 is_stmt 1 view .LVU943 3451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_EndTxTransfer(huart); 3088 .loc 1 3451 24 is_stmt 0 view .LVU944 3089 003c 0023 movs r3, #0 3090 003e A4F85630 strh r3, [r4, #86] @ movhi 3452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3091 .loc 1 3452 5 is_stmt 1 view .LVU945 3092 0042 2046 mov r0, r4 3093 .LVL200: 3452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3094 .loc 1 3452 5 is_stmt 0 view .LVU946 3095 0044 FFF7FEFF bl UART_EndTxTransfer 3096 .LVL201: 3452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3097 .loc 1 3452 5 view .LVU947 3098 0048 E7E7 b .L206 3099 .L210: 3459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_EndRxTransfer(huart); 3100 .loc 1 3459 5 is_stmt 1 view .LVU948 3459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_EndRxTransfer(huart); 3101 .loc 1 3459 24 is_stmt 0 view .LVU949 3102 004a 0023 movs r3, #0 3103 004c A4F85E30 strh r3, [r4, #94] @ movhi 3460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3104 .loc 1 3460 5 is_stmt 1 view .LVU950 3105 0050 2046 mov r0, r4 3106 0052 FFF7FEFF bl UART_EndRxTransfer 3107 .LVL202: 3108 0056 E7E7 b .L207 3109 .cfi_endproc 3110 .LFE193: 3112 .section .text.HAL_UART_IRQHandler,"ax",%progbits 3113 .align 1 3114 .global HAL_UART_IRQHandler 3115 .syntax unified ARM GAS /tmp/ccizsdzp.s page 141 3116 .thumb 3117 .thumb_func 3118 .fpu fpv5-d16 3120 HAL_UART_IRQHandler: 3121 .LVL203: 3122 .LFB163: 2180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 3123 .loc 1 2180 1 view -0 3124 .cfi_startproc 3125 @ args = 0, pretend = 0, frame = 0 3126 @ frame_needed = 0, uses_anonymous_args = 0 2180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR); 3127 .loc 1 2180 1 is_stmt 0 view .LVU952 3128 0000 70B5 push {r4, r5, r6, lr} 3129 .LCFI25: 3130 .cfi_def_cfa_offset 16 3131 .cfi_offset 4, -16 3132 .cfi_offset 5, -12 3133 .cfi_offset 6, -8 3134 .cfi_offset 14, -4 3135 0002 0446 mov r4, r0 2181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 3136 .loc 1 2181 3 is_stmt 1 view .LVU953 2181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 3137 .loc 1 2181 25 is_stmt 0 view .LVU954 3138 0004 0168 ldr r1, [r0] 2181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1); 3139 .loc 1 2181 12 view .LVU955 3140 0006 CB69 ldr r3, [r1, #28] 3141 .LVL204: 2182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 3142 .loc 1 2182 3 is_stmt 1 view .LVU956 2182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3); 3143 .loc 1 2182 12 is_stmt 0 view .LVU957 3144 0008 0D68 ldr r5, [r1] 3145 .LVL205: 2183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3146 .loc 1 2183 3 is_stmt 1 view .LVU958 2183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3147 .loc 1 2183 12 is_stmt 0 view .LVU959 3148 000a 8868 ldr r0, [r1, #8] 3149 .LVL206: 2185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t errorcode; 3150 .loc 1 2185 3 is_stmt 1 view .LVU960 2186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3151 .loc 1 2186 3 view .LVU961 2189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (errorflags == 0U) 3152 .loc 1 2189 3 view .LVU962 2189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (errorflags == 0U) 3153 .loc 1 2189 14 is_stmt 0 view .LVU963 3154 000c 40F60F02 movw r2, #2063 3155 .LVL207: 2190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3156 .loc 1 2190 3 is_stmt 1 view .LVU964 2190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3157 .loc 1 2190 6 is_stmt 0 view .LVU965 3158 0010 1A40 ands r2, r3, r2 ARM GAS /tmp/ccizsdzp.s page 142 3159 .LVL208: 2190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3160 .loc 1 2190 6 view .LVU966 3161 0012 08D1 bne .L212 2193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 3162 .loc 1 2193 5 is_stmt 1 view .LVU967 2193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 3163 .loc 1 2193 8 is_stmt 0 view .LVU968 3164 0014 13F0200F tst r3, #32 3165 0018 05D0 beq .L212 2194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 3166 .loc 1 2194 9 view .LVU969 3167 001a 15F0200F tst r5, #32 3168 001e 30D1 bne .L213 2195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3169 .loc 1 2195 13 view .LVU970 3170 0020 10F0805F tst r0, #268435456 3171 0024 2DD1 bne .L213 3172 .L212: 2206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && ((((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U) 3173 .loc 1 2206 3 is_stmt 1 view .LVU971 2206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && ((((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U) 3174 .loc 1 2206 6 is_stmt 0 view .LVU972 3175 0026 2AB1 cbz r2, .L216 2207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))) 3176 .loc 1 2207 21 view .LVU973 3177 0028 6D4A ldr r2, .L242 3178 .LVL209: 2207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))) 3179 .loc 1 2207 7 view .LVU974 3180 002a 0240 ands r2, r0, r2 3181 002c 2FD1 bne .L217 2208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3182 .loc 1 2208 12 view .LVU975 3183 002e 6D4E ldr r6, .L242+4 3184 0030 3542 tst r5, r6 3185 0032 2CD1 bne .L217 3186 .L216: 2343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3187 .loc 1 2343 3 is_stmt 1 view .LVU976 2343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3188 .loc 1 2343 6 is_stmt 0 view .LVU977 3189 0034 13F4801F tst r3, #1048576 3190 0038 03D0 beq .L231 2343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3191 .loc 1 2343 42 discriminator 1 view .LVU978 3192 003a 10F4800F tst r0, #4194304 3193 003e 40F0B480 bne .L238 3194 .L231: 2361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U) 3195 .loc 1 2361 3 is_stmt 1 view .LVU979 2361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U) 3196 .loc 1 2361 6 is_stmt 0 view .LVU980 3197 0042 13F0800F tst r3, #128 3198 0046 07D0 beq .L232 2362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** || ((cr3its & USART_CR3_TXFTIE) != 0U))) 3199 .loc 1 2362 7 view .LVU981 ARM GAS /tmp/ccizsdzp.s page 143 3200 0048 15F0800F tst r5, #128 3201 004c 40F0B480 bne .L233 2363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3202 .loc 1 2363 11 view .LVU982 3203 0050 10F4000F tst r0, #8388608 3204 0054 40F0B080 bne .L233 3205 .L232: 2373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3206 .loc 1 2373 3 is_stmt 1 view .LVU983 2373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3207 .loc 1 2373 6 is_stmt 0 view .LVU984 3208 0058 13F0400F tst r3, #64 3209 005c 03D0 beq .L235 2373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3210 .loc 1 2373 41 discriminator 1 view .LVU985 3211 005e 15F0400F tst r5, #64 3212 0062 40F0B080 bne .L239 3213 .L235: 2380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3214 .loc 1 2380 3 is_stmt 1 view .LVU986 2380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3215 .loc 1 2380 6 is_stmt 0 view .LVU987 3216 0066 13F4000F tst r3, #8388608 3217 006a 03D0 beq .L236 2380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3218 .loc 1 2380 43 discriminator 1 view .LVU988 3219 006c 15F0804F tst r5, #1073741824 3220 0070 40F0AD80 bne .L240 3221 .L236: 2393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3222 .loc 1 2393 3 is_stmt 1 view .LVU989 2393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3223 .loc 1 2393 6 is_stmt 0 view .LVU990 3224 0074 13F0807F tst r3, #16777216 3225 0078 02D0 beq .L211 2393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3226 .loc 1 2393 43 discriminator 1 view .LVU991 3227 007a 002D cmp r5, #0 3228 007c C0F2AB80 blt .L241 3229 .LVL210: 3230 .L211: 2404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3231 .loc 1 2404 1 view .LVU992 3232 0080 70BD pop {r4, r5, r6, pc} 3233 .LVL211: 3234 .L213: 2197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3235 .loc 1 2197 7 is_stmt 1 view .LVU993 2197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3236 .loc 1 2197 16 is_stmt 0 view .LVU994 3237 0082 E36E ldr r3, [r4, #108] 3238 .LVL212: 2197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3239 .loc 1 2197 10 view .LVU995 3240 0084 002B cmp r3, #0 3241 0086 FBD0 beq .L211 2199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 144 3242 .loc 1 2199 9 is_stmt 1 view .LVU996 3243 0088 2046 mov r0, r4 3244 .LVL213: 2199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3245 .loc 1 2199 9 is_stmt 0 view .LVU997 3246 008a 9847 blx r3 3247 .LVL214: 2201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3248 .loc 1 2201 7 is_stmt 1 view .LVU998 3249 008c F8E7 b .L211 3250 .LVL215: 3251 .L217: 2211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3252 .loc 1 2211 5 view .LVU999 2211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3253 .loc 1 2211 8 is_stmt 0 view .LVU1000 3254 008e 13F0010F tst r3, #1 3255 0092 09D0 beq .L218 2211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3256 .loc 1 2211 43 discriminator 1 view .LVU1001 3257 0094 15F4807F tst r5, #256 3258 0098 06D0 beq .L218 2213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3259 .loc 1 2213 7 is_stmt 1 view .LVU1002 3260 009a 0126 movs r6, #1 3261 009c 0E62 str r6, [r1, #32] 2215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3262 .loc 1 2215 7 view .LVU1003 2215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3263 .loc 1 2215 24 is_stmt 0 view .LVU1004 3264 009e D4F88810 ldr r1, [r4, #136] 3265 00a2 3143 orrs r1, r1, r6 3266 00a4 C4F88810 str r1, [r4, #136] 3267 .L218: 2219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3268 .loc 1 2219 5 is_stmt 1 view .LVU1005 2219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3269 .loc 1 2219 8 is_stmt 0 view .LVU1006 3270 00a8 13F0020F tst r3, #2 3271 00ac 0BD0 beq .L219 2219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3272 .loc 1 2219 43 discriminator 1 view .LVU1007 3273 00ae 10F0010F tst r0, #1 3274 00b2 08D0 beq .L219 2221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3275 .loc 1 2221 7 is_stmt 1 view .LVU1008 3276 00b4 2168 ldr r1, [r4] 3277 00b6 0226 movs r6, #2 3278 00b8 0E62 str r6, [r1, #32] 2223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3279 .loc 1 2223 7 view .LVU1009 2223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3280 .loc 1 2223 24 is_stmt 0 view .LVU1010 3281 00ba D4F88810 ldr r1, [r4, #136] 3282 00be 41F00401 orr r1, r1, #4 3283 00c2 C4F88810 str r1, [r4, #136] 3284 .L219: ARM GAS /tmp/ccizsdzp.s page 145 2227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3285 .loc 1 2227 5 is_stmt 1 view .LVU1011 2227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3286 .loc 1 2227 8 is_stmt 0 view .LVU1012 3287 00c6 13F0040F tst r3, #4 3288 00ca 0BD0 beq .L220 2227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3289 .loc 1 2227 43 discriminator 1 view .LVU1013 3290 00cc 10F0010F tst r0, #1 3291 00d0 08D0 beq .L220 2229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3292 .loc 1 2229 7 is_stmt 1 view .LVU1014 3293 00d2 2168 ldr r1, [r4] 3294 00d4 0426 movs r6, #4 3295 00d6 0E62 str r6, [r1, #32] 2231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3296 .loc 1 2231 7 view .LVU1015 2231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3297 .loc 1 2231 24 is_stmt 0 view .LVU1016 3298 00d8 D4F88810 ldr r1, [r4, #136] 3299 00dc 41F00201 orr r1, r1, #2 3300 00e0 C4F88810 str r1, [r4, #136] 3301 .L220: 2235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) || 3302 .loc 1 2235 5 is_stmt 1 view .LVU1017 2235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) || 3303 .loc 1 2235 8 is_stmt 0 view .LVU1018 3304 00e4 13F0080F tst r3, #8 3305 00e8 0BD0 beq .L221 2236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U))) 3306 .loc 1 2236 9 view .LVU1019 3307 00ea 15F0200F tst r5, #32 3308 00ee 00D1 bne .L222 2236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U))) 3309 .loc 1 2236 57 discriminator 1 view .LVU1020 3310 00f0 3AB1 cbz r2, .L221 3311 .L222: 2239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3312 .loc 1 2239 7 is_stmt 1 view .LVU1021 3313 00f2 2268 ldr r2, [r4] 3314 00f4 0821 movs r1, #8 3315 00f6 1162 str r1, [r2, #32] 2241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3316 .loc 1 2241 7 view .LVU1022 2241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3317 .loc 1 2241 24 is_stmt 0 view .LVU1023 3318 00f8 D4F88820 ldr r2, [r4, #136] 3319 00fc 0A43 orrs r2, r2, r1 3320 00fe C4F88820 str r2, [r4, #136] 3321 .L221: 2245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3322 .loc 1 2245 5 is_stmt 1 view .LVU1024 2245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3323 .loc 1 2245 8 is_stmt 0 view .LVU1025 3324 0102 13F4006F tst r3, #2048 3325 0106 0CD0 beq .L223 2245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 146 3326 .loc 1 2245 45 discriminator 1 view .LVU1026 3327 0108 15F0806F tst r5, #67108864 3328 010c 09D0 beq .L223 2247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3329 .loc 1 2247 7 is_stmt 1 view .LVU1027 3330 010e 2268 ldr r2, [r4] 3331 0110 4FF40061 mov r1, #2048 3332 0114 1162 str r1, [r2, #32] 2249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3333 .loc 1 2249 7 view .LVU1028 2249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3334 .loc 1 2249 24 is_stmt 0 view .LVU1029 3335 0116 D4F88820 ldr r2, [r4, #136] 3336 011a 42F02002 orr r2, r2, #32 3337 011e C4F88820 str r2, [r4, #136] 3338 .L223: 2253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3339 .loc 1 2253 5 is_stmt 1 view .LVU1030 2253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3340 .loc 1 2253 14 is_stmt 0 view .LVU1031 3341 0122 D4F88820 ldr r2, [r4, #136] 2253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3342 .loc 1 2253 8 view .LVU1032 3343 0126 002A cmp r2, #0 3344 0128 AAD0 beq .L211 2256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 3345 .loc 1 2256 7 is_stmt 1 view .LVU1033 2256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) 3346 .loc 1 2256 10 is_stmt 0 view .LVU1034 3347 012a 13F0200F tst r3, #32 3348 012e 09D0 beq .L225 2257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U))) 3349 .loc 1 2257 11 view .LVU1035 3350 0130 15F0200F tst r5, #32 3351 0134 02D1 bne .L226 2258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3352 .loc 1 2258 15 view .LVU1036 3353 0136 10F0805F tst r0, #268435456 3354 013a 03D0 beq .L225 3355 .L226: 2260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3356 .loc 1 2260 9 is_stmt 1 view .LVU1037 2260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3357 .loc 1 2260 18 is_stmt 0 view .LVU1038 3358 013c E36E ldr r3, [r4, #108] 3359 .LVL216: 2260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3360 .loc 1 2260 12 view .LVU1039 3361 013e 0BB1 cbz r3, .L225 2262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3362 .loc 1 2262 11 is_stmt 1 view .LVU1040 3363 0140 2046 mov r0, r4 3364 .LVL217: 2262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3365 .loc 1 2262 11 is_stmt 0 view .LVU1041 3366 0142 9847 blx r3 3367 .LVL218: ARM GAS /tmp/ccizsdzp.s page 147 3368 .L225: 2271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 3369 .loc 1 2271 7 is_stmt 1 view .LVU1042 2271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 3370 .loc 1 2271 17 is_stmt 0 view .LVU1043 3371 0144 D4F88820 ldr r2, [r4, #136] 3372 .LVL219: 2272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 3373 .loc 1 2272 7 is_stmt 1 view .LVU1044 2272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 3374 .loc 1 2272 12 is_stmt 0 view .LVU1045 3375 0148 2368 ldr r3, [r4] 3376 014a 9B68 ldr r3, [r3, #8] 2272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 3377 .loc 1 2272 10 view .LVU1046 3378 014c 13F0400F tst r3, #64 3379 0150 02D1 bne .L227 2272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 3380 .loc 1 2272 66 discriminator 1 view .LVU1047 3381 0152 12F0280F tst r2, #40 3382 0156 21D0 beq .L228 3383 .L227: 2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3384 .loc 1 2278 9 is_stmt 1 view .LVU1048 3385 0158 2046 mov r0, r4 3386 015a FFF7FEFF bl UART_EndRxTransfer 3387 .LVL220: 2281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3388 .loc 1 2281 9 view .LVU1049 2281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3389 .loc 1 2281 13 is_stmt 0 view .LVU1050 3390 015e 2368 ldr r3, [r4] 3391 0160 9A68 ldr r2, [r3, #8] 2281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3392 .loc 1 2281 12 view .LVU1051 3393 0162 12F0400F tst r2, #64 3394 0166 15D0 beq .L229 2283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3395 .loc 1 2283 11 is_stmt 1 view .LVU1052 3396 0168 9A68 ldr r2, [r3, #8] 3397 016a 22F04002 bic r2, r2, #64 3398 016e 9A60 str r2, [r3, #8] 2286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3399 .loc 1 2286 11 view .LVU1053 2286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3400 .loc 1 2286 20 is_stmt 0 view .LVU1054 3401 0170 A36F ldr r3, [r4, #120] 2286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3402 .loc 1 2286 14 view .LVU1055 3403 0172 5BB1 cbz r3, .L230 2290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3404 .loc 1 2290 13 is_stmt 1 view .LVU1056 2290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3405 .loc 1 2290 46 is_stmt 0 view .LVU1057 3406 0174 1C4A ldr r2, .L242+8 3407 0176 1A65 str r2, [r3, #80] 2293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 148 3408 .loc 1 2293 13 is_stmt 1 view .LVU1058 2293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3409 .loc 1 2293 17 is_stmt 0 view .LVU1059 3410 0178 A06F ldr r0, [r4, #120] 3411 017a FFF7FEFF bl HAL_DMA_Abort_IT 3412 .LVL221: 2293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3413 .loc 1 2293 16 view .LVU1060 3414 017e 0028 cmp r0, #0 3415 0180 3FF47EAF beq .L211 2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3416 .loc 1 2296 15 is_stmt 1 view .LVU1061 2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3417 .loc 1 2296 20 is_stmt 0 view .LVU1062 3418 0184 A06F ldr r0, [r4, #120] 2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3419 .loc 1 2296 28 view .LVU1063 3420 0186 036D ldr r3, [r0, #80] 2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3421 .loc 1 2296 15 view .LVU1064 3422 0188 9847 blx r3 3423 .LVL222: 3424 018a 79E7 b .L211 3425 .L230: 2307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3426 .loc 1 2307 13 is_stmt 1 view .LVU1065 3427 018c 2046 mov r0, r4 3428 018e FFF7FEFF bl HAL_UART_ErrorCallback 3429 .LVL223: 3430 0192 75E7 b .L211 3431 .L229: 2320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3432 .loc 1 2320 11 view .LVU1066 3433 0194 2046 mov r0, r4 3434 0196 FFF7FEFF bl HAL_UART_ErrorCallback 3435 .LVL224: 3436 019a 71E7 b .L211 3437 .LVL225: 3438 .L228: 2333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3439 .loc 1 2333 9 view .LVU1067 3440 019c 2046 mov r0, r4 3441 019e FFF7FEFF bl HAL_UART_ErrorCallback 3442 .LVL226: 2335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3443 .loc 1 2335 9 view .LVU1068 2335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3444 .loc 1 2335 26 is_stmt 0 view .LVU1069 3445 01a2 0023 movs r3, #0 3446 01a4 C4F88830 str r3, [r4, #136] 2338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3447 .loc 1 2338 5 is_stmt 1 view .LVU1070 3448 01a8 6AE7 b .L211 3449 .LVL227: 3450 .L238: 2345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3451 .loc 1 2345 5 view .LVU1071 ARM GAS /tmp/ccizsdzp.s page 149 3452 01aa 4FF48013 mov r3, #1048576 3453 .LVL228: 2345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3454 .loc 1 2345 5 is_stmt 0 view .LVU1072 3455 01ae 0B62 str r3, [r1, #32] 2355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3456 .loc 1 2355 5 is_stmt 1 view .LVU1073 3457 01b0 2046 mov r0, r4 3458 .LVL229: 2355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3459 .loc 1 2355 5 is_stmt 0 view .LVU1074 3460 01b2 FFF7FEFF bl HAL_UARTEx_WakeupCallback 3461 .LVL230: 2357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3462 .loc 1 2357 5 is_stmt 1 view .LVU1075 3463 01b6 63E7 b .L211 3464 .LVL231: 3465 .L233: 2365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3466 .loc 1 2365 5 view .LVU1076 2365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3467 .loc 1 2365 14 is_stmt 0 view .LVU1077 3468 01b8 236F ldr r3, [r4, #112] 3469 .LVL232: 2365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3470 .loc 1 2365 8 view .LVU1078 3471 01ba 002B cmp r3, #0 3472 01bc 3FF460AF beq .L211 2367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3473 .loc 1 2367 7 is_stmt 1 view .LVU1079 3474 01c0 2046 mov r0, r4 3475 .LVL233: 2367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3476 .loc 1 2367 7 is_stmt 0 view .LVU1080 3477 01c2 9847 blx r3 3478 .LVL234: 2369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3479 .loc 1 2369 5 is_stmt 1 view .LVU1081 3480 01c4 5CE7 b .L211 3481 .LVL235: 3482 .L239: 2375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 3483 .loc 1 2375 5 view .LVU1082 3484 01c6 2046 mov r0, r4 3485 .LVL236: 2375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return; 3486 .loc 1 2375 5 is_stmt 0 view .LVU1083 3487 01c8 FFF7FEFF bl UART_EndTransmit_IT 3488 .LVL237: 2376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3489 .loc 1 2376 5 is_stmt 1 view .LVU1084 3490 01cc 58E7 b .L211 3491 .LVL238: 3492 .L240: 2387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3493 .loc 1 2387 5 view .LVU1085 3494 01ce 2046 mov r0, r4 ARM GAS /tmp/ccizsdzp.s page 150 3495 .LVL239: 2387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3496 .loc 1 2387 5 is_stmt 0 view .LVU1086 3497 01d0 FFF7FEFF bl HAL_UARTEx_TxFifoEmptyCallback 3498 .LVL240: 2389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3499 .loc 1 2389 5 is_stmt 1 view .LVU1087 3500 01d4 54E7 b .L211 3501 .LVL241: 3502 .L241: 2400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3503 .loc 1 2400 5 view .LVU1088 3504 01d6 2046 mov r0, r4 3505 .LVL242: 2400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3506 .loc 1 2400 5 is_stmt 0 view .LVU1089 3507 01d8 FFF7FEFF bl HAL_UARTEx_RxFifoFullCallback 3508 .LVL243: 2402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3509 .loc 1 2402 5 is_stmt 1 view .LVU1090 3510 01dc 50E7 b .L211 3511 .L243: 3512 01de 00BF .align 2 3513 .L242: 3514 01e0 01000010 .word 268435457 3515 01e4 20010004 .word 67109152 3516 01e8 00000000 .word UART_DMAAbortOnError 3517 .cfi_endproc 3518 .LFE163: 3520 .section .text.UART_DMAAbortOnError,"ax",%progbits 3521 .align 1 3522 .syntax unified 3523 .thumb 3524 .thumb_func 3525 .fpu fpv5-d16 3527 UART_DMAAbortOnError: 3528 .LVL244: 3529 .LFB194: 3481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3530 .loc 1 3481 1 view -0 3531 .cfi_startproc 3532 @ args = 0, pretend = 0, frame = 0 3533 @ frame_needed = 0, uses_anonymous_args = 0 3481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3534 .loc 1 3481 1 is_stmt 0 view .LVU1092 3535 0000 08B5 push {r3, lr} 3536 .LCFI26: 3537 .cfi_def_cfa_offset 8 3538 .cfi_offset 3, -8 3539 .cfi_offset 14, -4 3482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3540 .loc 1 3482 3 is_stmt 1 view .LVU1093 3482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3541 .loc 1 3482 23 is_stmt 0 view .LVU1094 3542 0002 806B ldr r0, [r0, #56] 3543 .LVL245: 3483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; ARM GAS /tmp/ccizsdzp.s page 151 3544 .loc 1 3483 3 is_stmt 1 view .LVU1095 3483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = 0U; 3545 .loc 1 3483 22 is_stmt 0 view .LVU1096 3546 0004 0023 movs r3, #0 3547 0006 A0F85E30 strh r3, [r0, #94] @ movhi 3484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3548 .loc 1 3484 3 is_stmt 1 view .LVU1097 3484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3549 .loc 1 3484 22 is_stmt 0 view .LVU1098 3550 000a A0F85630 strh r3, [r0, #86] @ movhi 3491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3551 .loc 1 3491 3 is_stmt 1 view .LVU1099 3552 000e FFF7FEFF bl HAL_UART_ErrorCallback 3553 .LVL246: 3493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3554 .loc 1 3493 1 is_stmt 0 view .LVU1100 3555 0012 08BD pop {r3, pc} 3556 .cfi_endproc 3557 .LFE194: 3559 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits 3560 .align 1 3561 .weak HAL_UART_AbortCpltCallback 3562 .syntax unified 3563 .thumb 3564 .thumb_func 3565 .fpu fpv5-d16 3567 HAL_UART_AbortCpltCallback: 3568 .LVL247: 3569 .LFB169: 2487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3570 .loc 1 2487 1 is_stmt 1 view -0 3571 .cfi_startproc 3572 @ args = 0, pretend = 0, frame = 0 3573 @ frame_needed = 0, uses_anonymous_args = 0 3574 @ link register save eliminated. 2489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3575 .loc 1 2489 3 view .LVU1102 2494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3576 .loc 1 2494 1 is_stmt 0 view .LVU1103 3577 0000 7047 bx lr 3578 .cfi_endproc 3579 .LFE169: 3581 .section .text.HAL_UART_Abort_IT,"ax",%progbits 3582 .align 1 3583 .global HAL_UART_Abort_IT 3584 .syntax unified 3585 .thumb 3586 .thumb_func 3587 .fpu fpv5-d16 3589 HAL_UART_Abort_IT: 3590 .LVL248: 3591 .LFB160: 1862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t abortcplt = 1U; 3592 .loc 1 1862 1 is_stmt 1 view -0 3593 .cfi_startproc 3594 @ args = 0, pretend = 0, frame = 0 3595 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccizsdzp.s page 152 1862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t abortcplt = 1U; 3596 .loc 1 1862 1 is_stmt 0 view .LVU1105 3597 0000 10B5 push {r4, lr} 3598 .LCFI27: 3599 .cfi_def_cfa_offset 8 3600 .cfi_offset 4, -8 3601 .cfi_offset 14, -4 3602 0002 0446 mov r4, r0 1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3603 .loc 1 1863 3 is_stmt 1 view .LVU1106 3604 .LVL249: 1866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE)); 3605 .loc 1 1866 3 view .LVU1107 3606 0004 0268 ldr r2, [r0] 3607 0006 1368 ldr r3, [r2] 3608 0008 23F4F073 bic r3, r3, #480 3609 000c 1360 str r3, [r2] 1867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3610 .loc 1 1867 3 view .LVU1108 3611 000e 0268 ldr r2, [r0] 3612 0010 9168 ldr r1, [r2, #8] 3613 0012 374B ldr r3, .L262 3614 0014 0B40 ands r3, r3, r1 3615 0016 9360 str r3, [r2, #8] 1872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3616 .loc 1 1872 3 view .LVU1109 1872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3617 .loc 1 1872 12 is_stmt 0 view .LVU1110 3618 0018 436F ldr r3, [r0, #116] 1872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3619 .loc 1 1872 6 view .LVU1111 3620 001a 33B1 cbz r3, .L248 1876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3621 .loc 1 1876 5 is_stmt 1 view .LVU1112 1876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3622 .loc 1 1876 9 is_stmt 0 view .LVU1113 3623 001c 0268 ldr r2, [r0] 3624 001e 9268 ldr r2, [r2, #8] 1876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3625 .loc 1 1876 8 view .LVU1114 3626 0020 12F0800F tst r2, #128 3627 0024 1FD0 beq .L249 1878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3628 .loc 1 1878 7 is_stmt 1 view .LVU1115 1878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3629 .loc 1 1878 40 is_stmt 0 view .LVU1116 3630 0026 334A ldr r2, .L262+4 3631 0028 1A65 str r2, [r3, #80] 3632 .L248: 1886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3633 .loc 1 1886 3 is_stmt 1 view .LVU1117 1886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3634 .loc 1 1886 12 is_stmt 0 view .LVU1118 3635 002a A36F ldr r3, [r4, #120] 1886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3636 .loc 1 1886 6 view .LVU1119 3637 002c 33B1 cbz r3, .L250 ARM GAS /tmp/ccizsdzp.s page 153 1890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3638 .loc 1 1890 5 is_stmt 1 view .LVU1120 1890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3639 .loc 1 1890 9 is_stmt 0 view .LVU1121 3640 002e 2268 ldr r2, [r4] 3641 0030 9268 ldr r2, [r2, #8] 1890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3642 .loc 1 1890 8 view .LVU1122 3643 0032 12F0400F tst r2, #64 3644 0036 19D0 beq .L251 1892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3645 .loc 1 1892 7 is_stmt 1 view .LVU1123 1892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3646 .loc 1 1892 40 is_stmt 0 view .LVU1124 3647 0038 2F4A ldr r2, .L262+8 3648 003a 1A65 str r2, [r3, #80] 3649 .L250: 1901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3650 .loc 1 1901 3 is_stmt 1 view .LVU1125 1901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3651 .loc 1 1901 7 is_stmt 0 view .LVU1126 3652 003c 2368 ldr r3, [r4] 3653 003e 9A68 ldr r2, [r3, #8] 1901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3654 .loc 1 1901 6 view .LVU1127 3655 0040 12F0800F tst r2, #128 3656 0044 15D0 beq .L257 1904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3657 .loc 1 1904 5 is_stmt 1 view .LVU1128 3658 0046 9A68 ldr r2, [r3, #8] 3659 0048 22F08002 bic r2, r2, #128 3660 004c 9A60 str r2, [r3, #8] 1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3661 .loc 1 1907 5 view .LVU1129 1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3662 .loc 1 1907 14 is_stmt 0 view .LVU1130 3663 004e 606F ldr r0, [r4, #116] 3664 .LVL250: 1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3665 .loc 1 1907 8 view .LVU1131 3666 0050 0028 cmp r0, #0 3667 0052 3ED0 beq .L258 1913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3668 .loc 1 1913 7 is_stmt 1 view .LVU1132 1913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3669 .loc 1 1913 11 is_stmt 0 view .LVU1133 3670 0054 FFF7FEFF bl HAL_DMA_Abort_IT 3671 .LVL251: 1913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3672 .loc 1 1913 10 view .LVU1134 3673 0058 0028 cmp r0, #0 3674 005a 3CD0 beq .L259 1915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3675 .loc 1 1915 9 is_stmt 1 view .LVU1135 1915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3676 .loc 1 1915 14 is_stmt 0 view .LVU1136 3677 005c 636F ldr r3, [r4, #116] ARM GAS /tmp/ccizsdzp.s page 154 1915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3678 .loc 1 1915 42 view .LVU1137 3679 005e 0022 movs r2, #0 3680 0060 1A65 str r2, [r3, #80] 1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3681 .loc 1 1863 12 view .LVU1138 3682 0062 0121 movs r1, #1 3683 0064 06E0 b .L252 3684 .LVL252: 3685 .L249: 1882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3686 .loc 1 1882 7 is_stmt 1 view .LVU1139 1882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3687 .loc 1 1882 40 is_stmt 0 view .LVU1140 3688 0066 0022 movs r2, #0 3689 0068 1A65 str r2, [r3, #80] 3690 006a DEE7 b .L248 3691 .L251: 1896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3692 .loc 1 1896 7 is_stmt 1 view .LVU1141 1896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3693 .loc 1 1896 40 is_stmt 0 view .LVU1142 3694 006c 0022 movs r2, #0 3695 006e 1A65 str r2, [r3, #80] 3696 0070 E4E7 b .L250 3697 .L257: 1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3698 .loc 1 1863 12 view .LVU1143 3699 0072 0121 movs r1, #1 3700 .LVL253: 3701 .L252: 1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3702 .loc 1 1925 3 is_stmt 1 view .LVU1144 1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3703 .loc 1 1925 7 is_stmt 0 view .LVU1145 3704 0074 2368 ldr r3, [r4] 3705 0076 9A68 ldr r2, [r3, #8] 1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3706 .loc 1 1925 6 view .LVU1146 3707 0078 12F0400F tst r2, #64 3708 007c 2DD0 beq .L253 1927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3709 .loc 1 1927 5 is_stmt 1 view .LVU1147 3710 007e 9A68 ldr r2, [r3, #8] 3711 0080 22F04002 bic r2, r2, #64 3712 0084 9A60 str r2, [r3, #8] 1930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3713 .loc 1 1930 5 view .LVU1148 1930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3714 .loc 1 1930 14 is_stmt 0 view .LVU1149 3715 0086 A06F ldr r0, [r4, #120] 1930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3716 .loc 1 1930 8 view .LVU1150 3717 0088 38B3 cbz r0, .L253 1936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3718 .loc 1 1936 7 is_stmt 1 view .LVU1151 1936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 155 3719 .loc 1 1936 11 is_stmt 0 view .LVU1152 3720 008a FFF7FEFF bl HAL_DMA_Abort_IT 3721 .LVL254: 1936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3722 .loc 1 1936 10 view .LVU1153 3723 008e 30B3 cbz r0, .L254 1938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** abortcplt = 1U; 3724 .loc 1 1938 9 is_stmt 1 view .LVU1154 1938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** abortcplt = 1U; 3725 .loc 1 1938 14 is_stmt 0 view .LVU1155 3726 0090 A36F ldr r3, [r4, #120] 1938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** abortcplt = 1U; 3727 .loc 1 1938 42 view .LVU1156 3728 0092 0022 movs r2, #0 3729 0094 1A65 str r2, [r3, #80] 1939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3730 .loc 1 1939 9 is_stmt 1 view .LVU1157 3731 .LVL255: 1949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3732 .loc 1 1949 3 view .LVU1158 3733 .L255: 1952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3734 .loc 1 1952 5 view .LVU1159 1952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3735 .loc 1 1952 24 is_stmt 0 view .LVU1160 3736 0096 0023 movs r3, #0 3737 0098 A4F85630 strh r3, [r4, #86] @ movhi 1953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3738 .loc 1 1953 5 is_stmt 1 view .LVU1161 1953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3739 .loc 1 1953 24 is_stmt 0 view .LVU1162 3740 009c A4F85E30 strh r3, [r4, #94] @ movhi 1956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 3741 .loc 1 1956 5 is_stmt 1 view .LVU1163 1956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 3742 .loc 1 1956 18 is_stmt 0 view .LVU1164 3743 00a0 E366 str r3, [r4, #108] 1957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3744 .loc 1 1957 5 is_stmt 1 view .LVU1165 1957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3745 .loc 1 1957 18 is_stmt 0 view .LVU1166 3746 00a2 2367 str r3, [r4, #112] 1960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3747 .loc 1 1960 5 is_stmt 1 view .LVU1167 1960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3748 .loc 1 1960 22 is_stmt 0 view .LVU1168 3749 00a4 C4F88830 str r3, [r4, #136] 1963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3750 .loc 1 1963 5 is_stmt 1 view .LVU1169 3751 00a8 2368 ldr r3, [r4] 3752 00aa 0F22 movs r2, #15 3753 00ac 1A62 str r2, [r3, #32] 1966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3754 .loc 1 1966 5 view .LVU1170 1966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3755 .loc 1 1966 14 is_stmt 0 view .LVU1171 3756 00ae 636E ldr r3, [r4, #100] ARM GAS /tmp/ccizsdzp.s page 156 1966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3757 .loc 1 1966 8 view .LVU1172 3758 00b0 B3F1005F cmp r3, #536870912 3759 00b4 15D0 beq .L261 3760 .L256: 1972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3761 .loc 1 1972 5 is_stmt 1 view .LVU1173 3762 00b6 2268 ldr r2, [r4] 3763 00b8 9369 ldr r3, [r2, #24] 3764 00ba 43F00803 orr r3, r3, #8 3765 00be 9361 str r3, [r2, #24] 1975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3766 .loc 1 1975 5 view .LVU1174 1975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3767 .loc 1 1975 20 is_stmt 0 view .LVU1175 3768 00c0 2023 movs r3, #32 3769 00c2 C4F88030 str r3, [r4, #128] 1976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3770 .loc 1 1976 5 is_stmt 1 view .LVU1176 1976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3771 .loc 1 1976 20 is_stmt 0 view .LVU1177 3772 00c6 C4F88430 str r3, [r4, #132] 1984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3773 .loc 1 1984 5 is_stmt 1 view .LVU1178 3774 00ca 2046 mov r0, r4 3775 00cc FFF7FEFF bl HAL_UART_AbortCpltCallback 3776 .LVL256: 3777 00d0 05E0 b .L254 3778 .LVL257: 3779 .L258: 1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3780 .loc 1 1863 12 is_stmt 0 view .LVU1179 3781 00d2 0121 movs r1, #1 3782 00d4 CEE7 b .L252 3783 .L259: 1919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3784 .loc 1 1919 19 view .LVU1180 3785 00d6 0021 movs r1, #0 3786 00d8 CCE7 b .L252 3787 .LVL258: 3788 .L253: 1949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3789 .loc 1 1949 3 is_stmt 1 view .LVU1181 1949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3790 .loc 1 1949 6 is_stmt 0 view .LVU1182 3791 00da 0029 cmp r1, #0 3792 00dc DBD1 bne .L255 3793 .LVL259: 3794 .L254: 1988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3795 .loc 1 1988 3 is_stmt 1 view .LVU1183 1989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3796 .loc 1 1989 1 is_stmt 0 view .LVU1184 3797 00de 0020 movs r0, #0 3798 00e0 10BD pop {r4, pc} 3799 .LVL260: 3800 .L261: ARM GAS /tmp/ccizsdzp.s page 157 1968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3801 .loc 1 1968 7 is_stmt 1 view .LVU1185 3802 00e2 2268 ldr r2, [r4] 3803 00e4 9369 ldr r3, [r2, #24] 3804 00e6 43F01003 orr r3, r3, #16 3805 00ea 9361 str r3, [r2, #24] 3806 00ec E3E7 b .L256 3807 .L263: 3808 00ee 00BF .align 2 3809 .L262: 3810 00f0 FEFF7FEF .word -276824066 3811 00f4 00000000 .word UART_DMATxAbortCallback 3812 00f8 00000000 .word UART_DMARxAbortCallback 3813 .cfi_endproc 3814 .LFE160: 3816 .section .text.UART_DMARxAbortCallback,"ax",%progbits 3817 .align 1 3818 .syntax unified 3819 .thumb 3820 .thumb_func 3821 .fpu fpv5-d16 3823 UART_DMARxAbortCallback: 3824 .LVL261: 3825 .LFB196: 3558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3826 .loc 1 3558 1 view -0 3827 .cfi_startproc 3828 @ args = 0, pretend = 0, frame = 0 3829 @ frame_needed = 0, uses_anonymous_args = 0 3558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3830 .loc 1 3558 1 is_stmt 0 view .LVU1187 3831 0000 08B5 push {r3, lr} 3832 .LCFI28: 3833 .cfi_def_cfa_offset 8 3834 .cfi_offset 3, -8 3835 .cfi_offset 14, -4 3559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3836 .loc 1 3559 3 is_stmt 1 view .LVU1188 3559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3837 .loc 1 3559 23 is_stmt 0 view .LVU1189 3838 0002 806B ldr r0, [r0, #56] 3839 .LVL262: 3561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3840 .loc 1 3561 3 is_stmt 1 view .LVU1190 3561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3841 .loc 1 3561 8 is_stmt 0 view .LVU1191 3842 0004 836F ldr r3, [r0, #120] 3561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3843 .loc 1 3561 36 view .LVU1192 3844 0006 0022 movs r2, #0 3845 0008 1A65 str r2, [r3, #80] 3564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3846 .loc 1 3564 3 is_stmt 1 view .LVU1193 3564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3847 .loc 1 3564 12 is_stmt 0 view .LVU1194 3848 000a 436F ldr r3, [r0, #116] 3564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 158 3849 .loc 1 3564 6 view .LVU1195 3850 000c 0BB1 cbz r3, .L265 3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3851 .loc 1 3566 5 is_stmt 1 view .LVU1196 3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3852 .loc 1 3566 22 is_stmt 0 view .LVU1197 3853 000e 1B6D ldr r3, [r3, #80] 3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3854 .loc 1 3566 8 view .LVU1198 3855 0010 ABB9 cbnz r3, .L264 3856 .L265: 3573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3857 .loc 1 3573 3 is_stmt 1 view .LVU1199 3573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3858 .loc 1 3573 22 is_stmt 0 view .LVU1200 3859 0012 0023 movs r3, #0 3860 0014 A0F85630 strh r3, [r0, #86] @ movhi 3574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3861 .loc 1 3574 3 is_stmt 1 view .LVU1201 3574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3862 .loc 1 3574 22 is_stmt 0 view .LVU1202 3863 0018 A0F85E30 strh r3, [r0, #94] @ movhi 3577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3864 .loc 1 3577 3 is_stmt 1 view .LVU1203 3577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3865 .loc 1 3577 20 is_stmt 0 view .LVU1204 3866 001c C0F88830 str r3, [r0, #136] 3580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3867 .loc 1 3580 3 is_stmt 1 view .LVU1205 3868 0020 0368 ldr r3, [r0] 3869 0022 0F22 movs r2, #15 3870 0024 1A62 str r2, [r3, #32] 3583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3871 .loc 1 3583 3 view .LVU1206 3872 0026 0268 ldr r2, [r0] 3873 0028 9369 ldr r3, [r2, #24] 3874 002a 43F00803 orr r3, r3, #8 3875 002e 9361 str r3, [r2, #24] 3586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3876 .loc 1 3586 3 view .LVU1207 3586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3877 .loc 1 3586 18 is_stmt 0 view .LVU1208 3878 0030 2023 movs r3, #32 3879 0032 C0F88030 str r3, [r0, #128] 3587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3880 .loc 1 3587 3 is_stmt 1 view .LVU1209 3587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3881 .loc 1 3587 18 is_stmt 0 view .LVU1210 3882 0036 C0F88430 str r3, [r0, #132] 3595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3883 .loc 1 3595 3 is_stmt 1 view .LVU1211 3884 003a FFF7FEFF bl HAL_UART_AbortCpltCallback 3885 .LVL263: 3886 .L264: 3597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3887 .loc 1 3597 1 is_stmt 0 view .LVU1212 3888 003e 08BD pop {r3, pc} ARM GAS /tmp/ccizsdzp.s page 159 3889 .cfi_endproc 3890 .LFE196: 3892 .section .text.UART_DMATxAbortCallback,"ax",%progbits 3893 .align 1 3894 .syntax unified 3895 .thumb 3896 .thumb_func 3897 .fpu fpv5-d16 3899 UART_DMATxAbortCallback: 3900 .LVL264: 3901 .LFB195: 3504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3902 .loc 1 3504 1 is_stmt 1 view -0 3903 .cfi_startproc 3904 @ args = 0, pretend = 0, frame = 0 3905 @ frame_needed = 0, uses_anonymous_args = 0 3504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 3906 .loc 1 3504 1 is_stmt 0 view .LVU1214 3907 0000 08B5 push {r3, lr} 3908 .LCFI29: 3909 .cfi_def_cfa_offset 8 3910 .cfi_offset 3, -8 3911 .cfi_offset 14, -4 3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3912 .loc 1 3505 3 is_stmt 1 view .LVU1215 3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3913 .loc 1 3505 23 is_stmt 0 view .LVU1216 3914 0002 806B ldr r0, [r0, #56] 3915 .LVL265: 3507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3916 .loc 1 3507 3 is_stmt 1 view .LVU1217 3507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3917 .loc 1 3507 8 is_stmt 0 view .LVU1218 3918 0004 436F ldr r3, [r0, #116] 3507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3919 .loc 1 3507 36 view .LVU1219 3920 0006 0022 movs r2, #0 3921 0008 1A65 str r2, [r3, #80] 3510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3922 .loc 1 3510 3 is_stmt 1 view .LVU1220 3510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3923 .loc 1 3510 12 is_stmt 0 view .LVU1221 3924 000a 836F ldr r3, [r0, #120] 3510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3925 .loc 1 3510 6 view .LVU1222 3926 000c 0BB1 cbz r3, .L269 3512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3927 .loc 1 3512 5 is_stmt 1 view .LVU1223 3512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3928 .loc 1 3512 22 is_stmt 0 view .LVU1224 3929 000e 1B6D ldr r3, [r3, #80] 3512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3930 .loc 1 3512 8 view .LVU1225 3931 0010 A3B9 cbnz r3, .L268 3932 .L269: 3519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3933 .loc 1 3519 3 is_stmt 1 view .LVU1226 ARM GAS /tmp/ccizsdzp.s page 160 3519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = 0U; 3934 .loc 1 3519 22 is_stmt 0 view .LVU1227 3935 0012 0023 movs r3, #0 3936 0014 A0F85630 strh r3, [r0, #86] @ movhi 3520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3937 .loc 1 3520 3 is_stmt 1 view .LVU1228 3520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3938 .loc 1 3520 22 is_stmt 0 view .LVU1229 3939 0018 A0F85E30 strh r3, [r0, #94] @ movhi 3523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3940 .loc 1 3523 3 is_stmt 1 view .LVU1230 3523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3941 .loc 1 3523 20 is_stmt 0 view .LVU1231 3942 001c C0F88830 str r3, [r0, #136] 3526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3943 .loc 1 3526 3 is_stmt 1 view .LVU1232 3944 0020 0368 ldr r3, [r0] 3945 0022 0F22 movs r2, #15 3946 0024 1A62 str r2, [r3, #32] 3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3947 .loc 1 3529 3 view .LVU1233 3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3948 .loc 1 3529 12 is_stmt 0 view .LVU1234 3949 0026 436E ldr r3, [r0, #100] 3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 3950 .loc 1 3529 6 view .LVU1235 3951 0028 B3F1005F cmp r3, #536870912 3952 002c 07D0 beq .L273 3953 .L271: 3535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3954 .loc 1 3535 3 is_stmt 1 view .LVU1236 3535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 3955 .loc 1 3535 18 is_stmt 0 view .LVU1237 3956 002e 2023 movs r3, #32 3957 0030 C0F88030 str r3, [r0, #128] 3536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3958 .loc 1 3536 3 is_stmt 1 view .LVU1238 3536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3959 .loc 1 3536 18 is_stmt 0 view .LVU1239 3960 0034 C0F88430 str r3, [r0, #132] 3544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 3961 .loc 1 3544 3 is_stmt 1 view .LVU1240 3962 0038 FFF7FEFF bl HAL_UART_AbortCpltCallback 3963 .LVL266: 3964 .L268: 3546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3965 .loc 1 3546 1 is_stmt 0 view .LVU1241 3966 003c 08BD pop {r3, pc} 3967 .LVL267: 3968 .L273: 3531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 3969 .loc 1 3531 5 is_stmt 1 view .LVU1242 3970 003e 0268 ldr r2, [r0] 3971 0040 9369 ldr r3, [r2, #24] 3972 0042 43F01003 orr r3, r3, #16 3973 0046 9361 str r3, [r2, #24] 3974 0048 F1E7 b .L271 ARM GAS /tmp/ccizsdzp.s page 161 3975 .cfi_endproc 3976 .LFE195: 3978 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits 3979 .align 1 3980 .weak HAL_UART_AbortTransmitCpltCallback 3981 .syntax unified 3982 .thumb 3983 .thumb_func 3984 .fpu fpv5-d16 3986 HAL_UART_AbortTransmitCpltCallback: 3987 .LVL268: 3988 .LFB170: 2502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 3989 .loc 1 2502 1 view -0 3990 .cfi_startproc 3991 @ args = 0, pretend = 0, frame = 0 3992 @ frame_needed = 0, uses_anonymous_args = 0 3993 @ link register save eliminated. 2504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3994 .loc 1 2504 3 view .LVU1244 2509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 3995 .loc 1 2509 1 is_stmt 0 view .LVU1245 3996 0000 7047 bx lr 3997 .cfi_endproc 3998 .LFE170: 4000 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits 4001 .align 1 4002 .global HAL_UART_AbortTransmit_IT 4003 .syntax unified 4004 .thumb 4005 .thumb_func 4006 .fpu fpv5-d16 4008 HAL_UART_AbortTransmit_IT: 4009 .LVL269: 4010 .LFB161: 2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable interrupts */ 4011 .loc 1 2006 1 is_stmt 1 view -0 4012 .cfi_startproc 4013 @ args = 0, pretend = 0, frame = 0 4014 @ frame_needed = 0, uses_anonymous_args = 0 2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable interrupts */ 4015 .loc 1 2006 1 is_stmt 0 view .LVU1247 4016 0000 10B5 push {r4, lr} 4017 .LCFI30: 4018 .cfi_def_cfa_offset 8 4019 .cfi_offset 4, -8 4020 .cfi_offset 14, -4 4021 0002 0446 mov r4, r0 2008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE); 4022 .loc 1 2008 3 is_stmt 1 view .LVU1248 4023 0004 0268 ldr r2, [r0] 4024 0006 1368 ldr r3, [r2] 4025 0008 23F0C003 bic r3, r3, #192 4026 000c 1360 str r3, [r2] 2009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4027 .loc 1 2009 3 view .LVU1249 4028 000e 0268 ldr r2, [r0] ARM GAS /tmp/ccizsdzp.s page 162 4029 0010 9368 ldr r3, [r2, #8] 4030 0012 23F40003 bic r3, r3, #8388608 4031 0016 9360 str r3, [r2, #8] 2012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4032 .loc 1 2012 3 view .LVU1250 2012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4033 .loc 1 2012 7 is_stmt 0 view .LVU1251 4034 0018 0368 ldr r3, [r0] 4035 001a 9A68 ldr r2, [r3, #8] 2012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4036 .loc 1 2012 6 view .LVU1252 4037 001c 12F0800F tst r2, #128 4038 0020 19D0 beq .L276 2014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4039 .loc 1 2014 5 is_stmt 1 view .LVU1253 4040 0022 9A68 ldr r2, [r3, #8] 4041 0024 22F08002 bic r2, r2, #128 4042 0028 9A60 str r2, [r3, #8] 2017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4043 .loc 1 2017 5 view .LVU1254 2017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4044 .loc 1 2017 14 is_stmt 0 view .LVU1255 4045 002a 436F ldr r3, [r0, #116] 2017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4046 .loc 1 2017 8 view .LVU1256 4047 002c 4BB1 cbz r3, .L277 2021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4048 .loc 1 2021 7 is_stmt 1 view .LVU1257 2021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4049 .loc 1 2021 40 is_stmt 0 view .LVU1258 4050 002e 144A ldr r2, .L282 4051 0030 1A65 str r2, [r3, #80] 2024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4052 .loc 1 2024 7 is_stmt 1 view .LVU1259 2024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4053 .loc 1 2024 11 is_stmt 0 view .LVU1260 4054 0032 406F ldr r0, [r0, #116] 4055 .LVL270: 2024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4056 .loc 1 2024 11 view .LVU1261 4057 0034 FFF7FEFF bl HAL_DMA_Abort_IT 4058 .LVL271: 2024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4059 .loc 1 2024 10 view .LVU1262 4060 0038 D8B1 cbz r0, .L278 2027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4061 .loc 1 2027 9 is_stmt 1 view .LVU1263 2027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4062 .loc 1 2027 14 is_stmt 0 view .LVU1264 4063 003a 606F ldr r0, [r4, #116] 2027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4064 .loc 1 2027 22 view .LVU1265 4065 003c 036D ldr r3, [r0, #80] 2027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4066 .loc 1 2027 9 view .LVU1266 4067 003e 9847 blx r3 4068 .LVL272: ARM GAS /tmp/ccizsdzp.s page 163 4069 0040 17E0 b .L278 4070 .LVL273: 4071 .L277: 2033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4072 .loc 1 2033 7 is_stmt 1 view .LVU1267 2033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4073 .loc 1 2033 26 is_stmt 0 view .LVU1268 4074 0042 0023 movs r3, #0 4075 0044 A0F85630 strh r3, [r0, #86] @ movhi 2036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4076 .loc 1 2036 7 is_stmt 1 view .LVU1269 2036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4077 .loc 1 2036 20 is_stmt 0 view .LVU1270 4078 0048 0367 str r3, [r0, #112] 2039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4079 .loc 1 2039 7 is_stmt 1 view .LVU1271 2039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4080 .loc 1 2039 21 is_stmt 0 view .LVU1272 4081 004a 2023 movs r3, #32 4082 004c C0F88030 str r3, [r0, #128] 2047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4083 .loc 1 2047 7 is_stmt 1 view .LVU1273 4084 0050 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4085 .LVL274: 2047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4086 .loc 1 2047 7 is_stmt 0 view .LVU1274 4087 0054 0DE0 b .L278 4088 .LVL275: 4089 .L276: 2054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4090 .loc 1 2054 5 is_stmt 1 view .LVU1275 2054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4091 .loc 1 2054 24 is_stmt 0 view .LVU1276 4092 0056 0022 movs r2, #0 4093 0058 A0F85620 strh r2, [r0, #86] @ movhi 2057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4094 .loc 1 2057 5 is_stmt 1 view .LVU1277 2057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4095 .loc 1 2057 18 is_stmt 0 view .LVU1278 4096 005c 0267 str r2, [r0, #112] 2060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4097 .loc 1 2060 5 is_stmt 1 view .LVU1279 2060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4098 .loc 1 2060 14 is_stmt 0 view .LVU1280 4099 005e 426E ldr r2, [r0, #100] 2060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4100 .loc 1 2060 8 view .LVU1281 4101 0060 B2F1005F cmp r2, #536870912 4102 0064 07D0 beq .L281 4103 .L279: 2066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4104 .loc 1 2066 5 is_stmt 1 view .LVU1282 2066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4105 .loc 1 2066 19 is_stmt 0 view .LVU1283 4106 0066 2023 movs r3, #32 4107 0068 C4F88030 str r3, [r4, #128] 2074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ ARM GAS /tmp/ccizsdzp.s page 164 4108 .loc 1 2074 5 is_stmt 1 view .LVU1284 4109 006c 2046 mov r0, r4 4110 .LVL276: 2074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4111 .loc 1 2074 5 is_stmt 0 view .LVU1285 4112 006e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4113 .LVL277: 4114 .L278: 2078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4115 .loc 1 2078 3 is_stmt 1 view .LVU1286 2079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4116 .loc 1 2079 1 is_stmt 0 view .LVU1287 4117 0072 0020 movs r0, #0 4118 0074 10BD pop {r4, pc} 4119 .LVL278: 4120 .L281: 2062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4121 .loc 1 2062 7 is_stmt 1 view .LVU1288 4122 0076 9A69 ldr r2, [r3, #24] 4123 0078 42F01002 orr r2, r2, #16 4124 007c 9A61 str r2, [r3, #24] 4125 007e F2E7 b .L279 4126 .L283: 4127 .align 2 4128 .L282: 4129 0080 00000000 .word UART_DMATxOnlyAbortCallback 4130 .cfi_endproc 4131 .LFE161: 4133 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits 4134 .align 1 4135 .syntax unified 4136 .thumb 4137 .thumb_func 4138 .fpu fpv5-d16 4140 UART_DMATxOnlyAbortCallback: 4141 .LVL279: 4142 .LFB197: 3609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4143 .loc 1 3609 1 view -0 4144 .cfi_startproc 4145 @ args = 0, pretend = 0, frame = 0 4146 @ frame_needed = 0, uses_anonymous_args = 0 3609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 4147 .loc 1 3609 1 is_stmt 0 view .LVU1290 4148 0000 08B5 push {r3, lr} 4149 .LCFI31: 4150 .cfi_def_cfa_offset 8 4151 .cfi_offset 3, -8 4152 .cfi_offset 14, -4 3610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4153 .loc 1 3610 3 is_stmt 1 view .LVU1291 3610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4154 .loc 1 3610 23 is_stmt 0 view .LVU1292 4155 0002 806B ldr r0, [r0, #56] 4156 .LVL280: 3612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4157 .loc 1 3612 3 is_stmt 1 view .LVU1293 ARM GAS /tmp/ccizsdzp.s page 165 3612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4158 .loc 1 3612 22 is_stmt 0 view .LVU1294 4159 0004 0023 movs r3, #0 4160 0006 A0F85630 strh r3, [r0, #86] @ movhi 3615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4161 .loc 1 3615 3 is_stmt 1 view .LVU1295 3615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4162 .loc 1 3615 12 is_stmt 0 view .LVU1296 4163 000a 436E ldr r3, [r0, #100] 3615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4164 .loc 1 3615 6 view .LVU1297 4165 000c B3F1005F cmp r3, #536870912 4166 0010 05D0 beq .L287 4167 .L285: 3621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4168 .loc 1 3621 3 is_stmt 1 view .LVU1298 3621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4169 .loc 1 3621 17 is_stmt 0 view .LVU1299 4170 0012 2023 movs r3, #32 4171 0014 C0F88030 str r3, [r0, #128] 3629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4172 .loc 1 3629 3 is_stmt 1 view .LVU1300 4173 0018 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback 4174 .LVL281: 3631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4175 .loc 1 3631 1 is_stmt 0 view .LVU1301 4176 001c 08BD pop {r3, pc} 4177 .LVL282: 4178 .L287: 3617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4179 .loc 1 3617 5 is_stmt 1 view .LVU1302 4180 001e 0268 ldr r2, [r0] 4181 0020 9369 ldr r3, [r2, #24] 4182 0022 43F01003 orr r3, r3, #16 4183 0026 9361 str r3, [r2, #24] 4184 0028 F3E7 b .L285 4185 .cfi_endproc 4186 .LFE197: 4188 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits 4189 .align 1 4190 .weak HAL_UART_AbortReceiveCpltCallback 4191 .syntax unified 4192 .thumb 4193 .thumb_func 4194 .fpu fpv5-d16 4196 HAL_UART_AbortReceiveCpltCallback: 4197 .LVL283: 4198 .LFB171: 2517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */ 4199 .loc 1 2517 1 view -0 4200 .cfi_startproc 4201 @ args = 0, pretend = 0, frame = 0 4202 @ frame_needed = 0, uses_anonymous_args = 0 4203 @ link register save eliminated. 2519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4204 .loc 1 2519 3 view .LVU1304 2524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 166 4205 .loc 1 2524 1 is_stmt 0 view .LVU1305 4206 0000 7047 bx lr 4207 .cfi_endproc 4208 .LFE171: 4210 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits 4211 .align 1 4212 .global HAL_UART_AbortReceive_IT 4213 .syntax unified 4214 .thumb 4215 .thumb_func 4216 .fpu fpv5-d16 4218 HAL_UART_AbortReceive_IT: 4219 .LVL284: 4220 .LFB162: 2096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 4221 .loc 1 2096 1 is_stmt 1 view -0 4222 .cfi_startproc 4223 @ args = 0, pretend = 0, frame = 0 4224 @ frame_needed = 0, uses_anonymous_args = 0 2096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ 4225 .loc 1 2096 1 is_stmt 0 view .LVU1307 4226 0000 10B5 push {r4, lr} 4227 .LCFI32: 4228 .cfi_def_cfa_offset 8 4229 .cfi_offset 4, -8 4230 .cfi_offset 14, -4 4231 0002 0446 mov r4, r0 2098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); 4232 .loc 1 2098 3 is_stmt 1 view .LVU1308 4233 0004 0268 ldr r2, [r0] 4234 0006 1368 ldr r3, [r2] 4235 0008 23F49073 bic r3, r3, #288 4236 000c 1360 str r3, [r2] 2099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4237 .loc 1 2099 3 view .LVU1309 4238 000e 0268 ldr r2, [r0] 4239 0010 9168 ldr r1, [r2, #8] 4240 0012 1B4B ldr r3, .L294 4241 0014 0B40 ands r3, r3, r1 4242 0016 9360 str r3, [r2, #8] 2102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4243 .loc 1 2102 3 view .LVU1310 2102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4244 .loc 1 2102 7 is_stmt 0 view .LVU1311 4245 0018 0368 ldr r3, [r0] 4246 001a 9A68 ldr r2, [r3, #8] 2102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4247 .loc 1 2102 6 view .LVU1312 4248 001c 12F0400F tst r2, #64 4249 0020 21D0 beq .L290 2104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4250 .loc 1 2104 5 is_stmt 1 view .LVU1313 4251 0022 9A68 ldr r2, [r3, #8] 4252 0024 22F04002 bic r2, r2, #64 4253 0028 9A60 str r2, [r3, #8] 2107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4254 .loc 1 2107 5 view .LVU1314 ARM GAS /tmp/ccizsdzp.s page 167 2107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4255 .loc 1 2107 14 is_stmt 0 view .LVU1315 4256 002a 836F ldr r3, [r0, #120] 2107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4257 .loc 1 2107 8 view .LVU1316 4258 002c 4BB1 cbz r3, .L291 2111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4259 .loc 1 2111 7 is_stmt 1 view .LVU1317 2111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4260 .loc 1 2111 40 is_stmt 0 view .LVU1318 4261 002e 154A ldr r2, .L294+4 4262 0030 1A65 str r2, [r3, #80] 2114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4263 .loc 1 2114 7 is_stmt 1 view .LVU1319 2114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4264 .loc 1 2114 11 is_stmt 0 view .LVU1320 4265 0032 806F ldr r0, [r0, #120] 4266 .LVL285: 2114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4267 .loc 1 2114 11 view .LVU1321 4268 0034 FFF7FEFF bl HAL_DMA_Abort_IT 4269 .LVL286: 2114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4270 .loc 1 2114 10 view .LVU1322 4271 0038 00B3 cbz r0, .L292 2117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4272 .loc 1 2117 9 is_stmt 1 view .LVU1323 2117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4273 .loc 1 2117 14 is_stmt 0 view .LVU1324 4274 003a A06F ldr r0, [r4, #120] 2117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4275 .loc 1 2117 22 view .LVU1325 4276 003c 036D ldr r3, [r0, #80] 2117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4277 .loc 1 2117 9 view .LVU1326 4278 003e 9847 blx r3 4279 .LVL287: 4280 0040 1CE0 b .L292 4281 .LVL288: 4282 .L291: 2123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4283 .loc 1 2123 7 is_stmt 1 view .LVU1327 2123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4284 .loc 1 2123 26 is_stmt 0 view .LVU1328 4285 0042 0023 movs r3, #0 4286 0044 A0F85E30 strh r3, [r0, #94] @ movhi 2126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4287 .loc 1 2126 7 is_stmt 1 view .LVU1329 2126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4288 .loc 1 2126 25 is_stmt 0 view .LVU1330 4289 0048 8365 str r3, [r0, #88] 2129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4290 .loc 1 2129 7 is_stmt 1 view .LVU1331 4291 004a 0368 ldr r3, [r0] 4292 004c 0F22 movs r2, #15 4293 004e 1A62 str r2, [r3, #32] 2132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 168 4294 .loc 1 2132 7 view .LVU1332 4295 0050 0268 ldr r2, [r0] 4296 0052 9369 ldr r3, [r2, #24] 4297 0054 43F00803 orr r3, r3, #8 4298 0058 9361 str r3, [r2, #24] 2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4299 .loc 1 2135 7 view .LVU1333 2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4300 .loc 1 2135 22 is_stmt 0 view .LVU1334 4301 005a 2023 movs r3, #32 4302 005c C0F88430 str r3, [r0, #132] 2143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4303 .loc 1 2143 7 is_stmt 1 view .LVU1335 4304 0060 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 4305 .LVL289: 2143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4306 .loc 1 2143 7 is_stmt 0 view .LVU1336 4307 0064 0AE0 b .L292 4308 .LVL290: 4309 .L290: 2150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4310 .loc 1 2150 5 is_stmt 1 view .LVU1337 2150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4311 .loc 1 2150 24 is_stmt 0 view .LVU1338 4312 0066 0022 movs r2, #0 4313 0068 A0F85E20 strh r2, [r0, #94] @ movhi 2153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4314 .loc 1 2153 5 is_stmt 1 view .LVU1339 2153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4315 .loc 1 2153 23 is_stmt 0 view .LVU1340 4316 006c 8265 str r2, [r0, #88] 2156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4317 .loc 1 2156 5 is_stmt 1 view .LVU1341 4318 006e 0F22 movs r2, #15 4319 0070 1A62 str r2, [r3, #32] 2159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4320 .loc 1 2159 5 view .LVU1342 2159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4321 .loc 1 2159 20 is_stmt 0 view .LVU1343 4322 0072 2023 movs r3, #32 4323 0074 C0F88430 str r3, [r0, #132] 2167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4324 .loc 1 2167 5 is_stmt 1 view .LVU1344 4325 0078 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 4326 .LVL291: 4327 .L292: 2171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4328 .loc 1 2171 3 view .LVU1345 2172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4329 .loc 1 2172 1 is_stmt 0 view .LVU1346 4330 007c 0020 movs r0, #0 4331 007e 10BD pop {r4, pc} 4332 .LVL292: 4333 .L295: 2172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4334 .loc 1 2172 1 view .LVU1347 4335 .align 2 ARM GAS /tmp/ccizsdzp.s page 169 4336 .L294: 4337 0080 FEFFFFEF .word -268435458 4338 0084 00000000 .word UART_DMARxOnlyAbortCallback 4339 .cfi_endproc 4340 .LFE162: 4342 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits 4343 .align 1 4344 .syntax unified 4345 .thumb 4346 .thumb_func 4347 .fpu fpv5-d16 4349 UART_DMARxOnlyAbortCallback: 4350 .LVL293: 4351 .LFB198: 3642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4352 .loc 1 3642 1 is_stmt 1 view -0 4353 .cfi_startproc 4354 @ args = 0, pretend = 0, frame = 0 4355 @ frame_needed = 0, uses_anonymous_args = 0 3642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 4356 .loc 1 3642 1 is_stmt 0 view .LVU1349 4357 0000 08B5 push {r3, lr} 4358 .LCFI33: 4359 .cfi_def_cfa_offset 8 4360 .cfi_offset 3, -8 4361 .cfi_offset 14, -4 3643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4362 .loc 1 3643 3 is_stmt 1 view .LVU1350 3643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4363 .loc 1 3643 23 is_stmt 0 view .LVU1351 4364 0002 806B ldr r0, [r0, #56] 4365 .LVL294: 3645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4366 .loc 1 3645 3 is_stmt 1 view .LVU1352 3645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4367 .loc 1 3645 22 is_stmt 0 view .LVU1353 4368 0004 0023 movs r3, #0 4369 0006 A0F85E30 strh r3, [r0, #94] @ movhi 3648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4370 .loc 1 3648 3 is_stmt 1 view .LVU1354 4371 000a 0368 ldr r3, [r0] 4372 000c 0F22 movs r2, #15 4373 000e 1A62 str r2, [r3, #32] 3651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4374 .loc 1 3651 3 view .LVU1355 4375 0010 0268 ldr r2, [r0] 4376 0012 9369 ldr r3, [r2, #24] 4377 0014 43F00803 orr r3, r3, #8 4378 0018 9361 str r3, [r2, #24] 3654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4379 .loc 1 3654 3 view .LVU1356 3654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4380 .loc 1 3654 18 is_stmt 0 view .LVU1357 4381 001a 2023 movs r3, #32 4382 001c C0F88430 str r3, [r0, #132] 3662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ 4383 .loc 1 3662 3 is_stmt 1 view .LVU1358 ARM GAS /tmp/ccizsdzp.s page 170 4384 0020 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback 4385 .LVL295: 3664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4386 .loc 1 3664 1 is_stmt 0 view .LVU1359 4387 0024 08BD pop {r3, pc} 4388 .cfi_endproc 4389 .LFE198: 4391 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits 4392 .align 1 4393 .global HAL_UART_ReceiverTimeout_Config 4394 .syntax unified 4395 .thumb 4396 .thumb_func 4397 .fpu fpv5-d16 4399 HAL_UART_ReceiverTimeout_Config: 4400 .LVL296: 4401 .LFB172: 2564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 4402 .loc 1 2564 1 is_stmt 1 view -0 4403 .cfi_startproc 4404 @ args = 0, pretend = 0, frame = 0 4405 @ frame_needed = 0, uses_anonymous_args = 0 4406 @ link register save eliminated. 2565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4407 .loc 1 2565 3 view .LVU1361 2565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4408 .loc 1 2565 9 is_stmt 0 view .LVU1362 4409 0000 0268 ldr r2, [r0] 2565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4410 .loc 1 2565 6 view .LVU1363 4411 0002 044B ldr r3, .L300 4412 0004 9A42 cmp r2, r3 4413 0006 04D0 beq .L298 2567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue); 4414 .loc 1 2567 5 is_stmt 1 view .LVU1364 2568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4415 .loc 1 2568 5 view .LVU1365 4416 0008 5369 ldr r3, [r2, #20] 4417 000a 03F07F43 and r3, r3, #-16777216 4418 000e 1943 orrs r1, r1, r3 4419 .LVL297: 2568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4420 .loc 1 2568 5 is_stmt 0 view .LVU1366 4421 0010 5161 str r1, [r2, #20] 4422 .L298: 2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4423 .loc 1 2570 1 view .LVU1367 4424 0012 7047 bx lr 4425 .L301: 4426 .align 2 4427 .L300: 4428 0014 000C0058 .word 1476398080 4429 .cfi_endproc 4430 .LFE172: 4432 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits 4433 .align 1 4434 .global HAL_UART_EnableReceiverTimeout ARM GAS /tmp/ccizsdzp.s page 171 4435 .syntax unified 4436 .thumb 4437 .thumb_func 4438 .fpu fpv5-d16 4440 HAL_UART_EnableReceiverTimeout: 4441 .LVL298: 4442 .LFB173: 2579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 4443 .loc 1 2579 1 is_stmt 1 view -0 4444 .cfi_startproc 4445 @ args = 0, pretend = 0, frame = 0 4446 @ frame_needed = 0, uses_anonymous_args = 0 4447 @ link register save eliminated. 2580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4448 .loc 1 2580 3 view .LVU1369 2580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4449 .loc 1 2580 9 is_stmt 0 view .LVU1370 4450 0000 0368 ldr r3, [r0] 2580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4451 .loc 1 2580 6 view .LVU1371 4452 0002 114A ldr r2, .L307 4453 0004 9342 cmp r3, r2 4454 0006 19D0 beq .L304 2582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4455 .loc 1 2582 5 is_stmt 1 view .LVU1372 2582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4456 .loc 1 2582 14 is_stmt 0 view .LVU1373 4457 0008 D0F88020 ldr r2, [r0, #128] 2582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4458 .loc 1 2582 8 view .LVU1374 4459 000c 202A cmp r2, #32 4460 000e 17D1 bne .L305 2585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4461 .loc 1 2585 7 is_stmt 1 view .LVU1375 2585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4462 .loc 1 2585 7 view .LVU1376 4463 0010 90F87C20 ldrb r2, [r0, #124] @ zero_extendqisi2 4464 0014 012A cmp r2, #1 4465 0016 15D0 beq .L306 2585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4466 .loc 1 2585 7 discriminator 2 view .LVU1377 4467 0018 0122 movs r2, #1 4468 001a 80F87C20 strb r2, [r0, #124] 2585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4469 .loc 1 2585 7 discriminator 2 view .LVU1378 2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4470 .loc 1 2587 7 discriminator 2 view .LVU1379 2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4471 .loc 1 2587 21 is_stmt 0 discriminator 2 view .LVU1380 4472 001e 2422 movs r2, #36 4473 0020 C0F88020 str r2, [r0, #128] 2590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4474 .loc 1 2590 7 is_stmt 1 discriminator 2 view .LVU1381 4475 0024 5A68 ldr r2, [r3, #4] 4476 0026 42F40002 orr r2, r2, #8388608 4477 002a 5A60 str r2, [r3, #4] 2592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 172 4478 .loc 1 2592 7 discriminator 2 view .LVU1382 2592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4479 .loc 1 2592 21 is_stmt 0 discriminator 2 view .LVU1383 4480 002c 2023 movs r3, #32 4481 002e C0F88030 str r3, [r0, #128] 2595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4482 .loc 1 2595 7 is_stmt 1 discriminator 2 view .LVU1384 2595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4483 .loc 1 2595 7 discriminator 2 view .LVU1385 4484 0032 0023 movs r3, #0 4485 0034 80F87C30 strb r3, [r0, #124] 2595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4486 .loc 1 2595 7 discriminator 2 view .LVU1386 2597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4487 .loc 1 2597 7 discriminator 2 view .LVU1387 2597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4488 .loc 1 2597 14 is_stmt 0 discriminator 2 view .LVU1388 4489 0038 1846 mov r0, r3 4490 .LVL299: 2597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4491 .loc 1 2597 14 discriminator 2 view .LVU1389 4492 003a 7047 bx lr 4493 .LVL300: 4494 .L304: 2606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4495 .loc 1 2606 12 view .LVU1390 4496 003c 0120 movs r0, #1 4497 .LVL301: 2606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4498 .loc 1 2606 12 view .LVU1391 4499 003e 7047 bx lr 4500 .LVL302: 4501 .L305: 2601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4502 .loc 1 2601 14 view .LVU1392 4503 0040 0220 movs r0, #2 4504 .LVL303: 2601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4505 .loc 1 2601 14 view .LVU1393 4506 0042 7047 bx lr 4507 .LVL304: 4508 .L306: 2585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4509 .loc 1 2585 7 view .LVU1394 4510 0044 0220 movs r0, #2 4511 .LVL305: 2608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4512 .loc 1 2608 1 view .LVU1395 4513 0046 7047 bx lr 4514 .L308: 4515 .align 2 4516 .L307: 4517 0048 000C0058 .word 1476398080 4518 .cfi_endproc 4519 .LFE173: 4521 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits 4522 .align 1 ARM GAS /tmp/ccizsdzp.s page 173 4523 .global HAL_UART_DisableReceiverTimeout 4524 .syntax unified 4525 .thumb 4526 .thumb_func 4527 .fpu fpv5-d16 4529 HAL_UART_DisableReceiverTimeout: 4530 .LVL306: 4531 .LFB174: 2617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance))) 4532 .loc 1 2617 1 is_stmt 1 view -0 4533 .cfi_startproc 4534 @ args = 0, pretend = 0, frame = 0 4535 @ frame_needed = 0, uses_anonymous_args = 0 4536 @ link register save eliminated. 2618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4537 .loc 1 2618 3 view .LVU1397 2618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4538 .loc 1 2618 9 is_stmt 0 view .LVU1398 4539 0000 0368 ldr r3, [r0] 2618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4540 .loc 1 2618 6 view .LVU1399 4541 0002 114A ldr r2, .L314 4542 0004 9342 cmp r3, r2 4543 0006 19D0 beq .L311 2620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4544 .loc 1 2620 5 is_stmt 1 view .LVU1400 2620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4545 .loc 1 2620 14 is_stmt 0 view .LVU1401 4546 0008 D0F88020 ldr r2, [r0, #128] 2620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4547 .loc 1 2620 8 view .LVU1402 4548 000c 202A cmp r2, #32 4549 000e 17D1 bne .L312 2623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4550 .loc 1 2623 7 is_stmt 1 view .LVU1403 2623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4551 .loc 1 2623 7 view .LVU1404 4552 0010 90F87C20 ldrb r2, [r0, #124] @ zero_extendqisi2 4553 0014 012A cmp r2, #1 4554 0016 15D0 beq .L313 2623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4555 .loc 1 2623 7 discriminator 2 view .LVU1405 4556 0018 0122 movs r2, #1 4557 001a 80F87C20 strb r2, [r0, #124] 2623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4558 .loc 1 2623 7 discriminator 2 view .LVU1406 2625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4559 .loc 1 2625 7 discriminator 2 view .LVU1407 2625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4560 .loc 1 2625 21 is_stmt 0 discriminator 2 view .LVU1408 4561 001e 2422 movs r2, #36 4562 0020 C0F88020 str r2, [r0, #128] 2628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4563 .loc 1 2628 7 is_stmt 1 discriminator 2 view .LVU1409 4564 0024 5A68 ldr r2, [r3, #4] 4565 0026 22F40002 bic r2, r2, #8388608 4566 002a 5A60 str r2, [r3, #4] ARM GAS /tmp/ccizsdzp.s page 174 2630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4567 .loc 1 2630 7 discriminator 2 view .LVU1410 2630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4568 .loc 1 2630 21 is_stmt 0 discriminator 2 view .LVU1411 4569 002c 2023 movs r3, #32 4570 002e C0F88030 str r3, [r0, #128] 2633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4571 .loc 1 2633 7 is_stmt 1 discriminator 2 view .LVU1412 2633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4572 .loc 1 2633 7 discriminator 2 view .LVU1413 4573 0032 0023 movs r3, #0 4574 0034 80F87C30 strb r3, [r0, #124] 2633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4575 .loc 1 2633 7 discriminator 2 view .LVU1414 2635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4576 .loc 1 2635 7 discriminator 2 view .LVU1415 2635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4577 .loc 1 2635 14 is_stmt 0 discriminator 2 view .LVU1416 4578 0038 1846 mov r0, r3 4579 .LVL307: 2635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4580 .loc 1 2635 14 discriminator 2 view .LVU1417 4581 003a 7047 bx lr 4582 .LVL308: 4583 .L311: 2644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4584 .loc 1 2644 12 view .LVU1418 4585 003c 0120 movs r0, #1 4586 .LVL309: 2644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4587 .loc 1 2644 12 view .LVU1419 4588 003e 7047 bx lr 4589 .LVL310: 4590 .L312: 2639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4591 .loc 1 2639 14 view .LVU1420 4592 0040 0220 movs r0, #2 4593 .LVL311: 2639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4594 .loc 1 2639 14 view .LVU1421 4595 0042 7047 bx lr 4596 .LVL312: 4597 .L313: 2623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4598 .loc 1 2623 7 view .LVU1422 4599 0044 0220 movs r0, #2 4600 .LVL313: 2646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4601 .loc 1 2646 1 view .LVU1423 4602 0046 7047 bx lr 4603 .L315: 4604 .align 2 4605 .L314: 4606 0048 000C0058 .word 1476398080 4607 .cfi_endproc 4608 .LFE174: 4610 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits ARM GAS /tmp/ccizsdzp.s page 175 4611 .align 1 4612 .global HAL_MultiProcessor_EnterMuteMode 4613 .syntax unified 4614 .thumb 4615 .thumb_func 4616 .fpu fpv5-d16 4618 HAL_MultiProcessor_EnterMuteMode: 4619 .LVL314: 4620 .LFB177: 2695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST); 4621 .loc 1 2695 1 is_stmt 1 view -0 4622 .cfi_startproc 4623 @ args = 0, pretend = 0, frame = 0 4624 @ frame_needed = 0, uses_anonymous_args = 0 4625 @ link register save eliminated. 2696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4626 .loc 1 2696 3 view .LVU1425 4627 0000 0268 ldr r2, [r0] 4628 0002 9369 ldr r3, [r2, #24] 4629 0004 43F00403 orr r3, r3, #4 4630 0008 9361 str r3, [r2, #24] 2697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4631 .loc 1 2697 1 is_stmt 0 view .LVU1426 4632 000a 7047 bx lr 4633 .cfi_endproc 4634 .LFE177: 4636 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits 4637 .align 1 4638 .global HAL_HalfDuplex_EnableTransmitter 4639 .syntax unified 4640 .thumb 4641 .thumb_func 4642 .fpu fpv5-d16 4644 HAL_HalfDuplex_EnableTransmitter: 4645 .LVL315: 4646 .LFB178: 2705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 4647 .loc 1 2705 1 is_stmt 1 view -0 4648 .cfi_startproc 4649 @ args = 0, pretend = 0, frame = 0 4650 @ frame_needed = 0, uses_anonymous_args = 0 4651 @ link register save eliminated. 2706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 4652 .loc 1 2706 3 view .LVU1428 2706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 4653 .loc 1 2706 3 view .LVU1429 4654 0000 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 4655 0004 012B cmp r3, #1 4656 0006 17D0 beq .L319 2706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 4657 .loc 1 2706 3 discriminator 2 view .LVU1430 4658 0008 0123 movs r3, #1 4659 000a 80F87C30 strb r3, [r0, #124] 2706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 4660 .loc 1 2706 3 discriminator 2 view .LVU1431 2707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4661 .loc 1 2707 3 discriminator 2 view .LVU1432 ARM GAS /tmp/ccizsdzp.s page 176 2707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4662 .loc 1 2707 17 is_stmt 0 discriminator 2 view .LVU1433 4663 000e 2423 movs r3, #36 4664 0010 C0F88030 str r3, [r0, #128] 2710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4665 .loc 1 2710 3 is_stmt 1 discriminator 2 view .LVU1434 4666 0014 0268 ldr r2, [r0] 4667 0016 1368 ldr r3, [r2] 4668 0018 23F00C03 bic r3, r3, #12 4669 001c 1360 str r3, [r2] 2713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4670 .loc 1 2713 3 discriminator 2 view .LVU1435 4671 001e 0268 ldr r2, [r0] 4672 0020 1368 ldr r3, [r2] 4673 0022 43F00803 orr r3, r3, #8 4674 0026 1360 str r3, [r2] 2715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4675 .loc 1 2715 3 discriminator 2 view .LVU1436 2715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4676 .loc 1 2715 17 is_stmt 0 discriminator 2 view .LVU1437 4677 0028 2023 movs r3, #32 4678 002a C0F88030 str r3, [r0, #128] 2717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4679 .loc 1 2717 3 is_stmt 1 discriminator 2 view .LVU1438 2717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4680 .loc 1 2717 3 discriminator 2 view .LVU1439 4681 002e 0023 movs r3, #0 4682 0030 80F87C30 strb r3, [r0, #124] 2717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4683 .loc 1 2717 3 discriminator 2 view .LVU1440 2719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4684 .loc 1 2719 3 discriminator 2 view .LVU1441 2719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4685 .loc 1 2719 10 is_stmt 0 discriminator 2 view .LVU1442 4686 0034 1846 mov r0, r3 4687 .LVL316: 2719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4688 .loc 1 2719 10 discriminator 2 view .LVU1443 4689 0036 7047 bx lr 4690 .LVL317: 4691 .L319: 2706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 4692 .loc 1 2706 3 view .LVU1444 4693 0038 0220 movs r0, #2 4694 .LVL318: 2720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4695 .loc 1 2720 1 view .LVU1445 4696 003a 7047 bx lr 4697 .cfi_endproc 4698 .LFE178: 4700 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits 4701 .align 1 4702 .global HAL_HalfDuplex_EnableReceiver 4703 .syntax unified 4704 .thumb 4705 .thumb_func 4706 .fpu fpv5-d16 ARM GAS /tmp/ccizsdzp.s page 177 4708 HAL_HalfDuplex_EnableReceiver: 4709 .LVL319: 4710 .LFB179: 2728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 4711 .loc 1 2728 1 is_stmt 1 view -0 4712 .cfi_startproc 4713 @ args = 0, pretend = 0, frame = 0 4714 @ frame_needed = 0, uses_anonymous_args = 0 4715 @ link register save eliminated. 2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 4716 .loc 1 2729 3 view .LVU1447 2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 4717 .loc 1 2729 3 view .LVU1448 4718 0000 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 4719 0004 012B cmp r3, #1 4720 0006 17D0 beq .L322 2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 4721 .loc 1 2729 3 discriminator 2 view .LVU1449 4722 0008 0123 movs r3, #1 4723 000a 80F87C30 strb r3, [r0, #124] 2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 4724 .loc 1 2729 3 discriminator 2 view .LVU1450 2730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4725 .loc 1 2730 3 discriminator 2 view .LVU1451 2730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4726 .loc 1 2730 17 is_stmt 0 discriminator 2 view .LVU1452 4727 000e 2423 movs r3, #36 4728 0010 C0F88030 str r3, [r0, #128] 2733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4729 .loc 1 2733 3 is_stmt 1 discriminator 2 view .LVU1453 4730 0014 0268 ldr r2, [r0] 4731 0016 1368 ldr r3, [r2] 4732 0018 23F00C03 bic r3, r3, #12 4733 001c 1360 str r3, [r2] 2736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4734 .loc 1 2736 3 discriminator 2 view .LVU1454 4735 001e 0268 ldr r2, [r0] 4736 0020 1368 ldr r3, [r2] 4737 0022 43F00403 orr r3, r3, #4 4738 0026 1360 str r3, [r2] 2738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4739 .loc 1 2738 3 discriminator 2 view .LVU1455 2738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4740 .loc 1 2738 17 is_stmt 0 discriminator 2 view .LVU1456 4741 0028 2023 movs r3, #32 4742 002a C0F88030 str r3, [r0, #128] 2740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4743 .loc 1 2740 3 is_stmt 1 discriminator 2 view .LVU1457 2740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4744 .loc 1 2740 3 discriminator 2 view .LVU1458 4745 002e 0023 movs r3, #0 4746 0030 80F87C30 strb r3, [r0, #124] 2740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4747 .loc 1 2740 3 discriminator 2 view .LVU1459 2742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4748 .loc 1 2742 3 discriminator 2 view .LVU1460 2742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 178 4749 .loc 1 2742 10 is_stmt 0 discriminator 2 view .LVU1461 4750 0034 1846 mov r0, r3 4751 .LVL320: 2742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4752 .loc 1 2742 10 discriminator 2 view .LVU1462 4753 0036 7047 bx lr 4754 .LVL321: 4755 .L322: 2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY; 4756 .loc 1 2729 3 view .LVU1463 4757 0038 0220 movs r0, #2 4758 .LVL322: 2743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4759 .loc 1 2743 1 view .LVU1464 4760 003a 7047 bx lr 4761 .cfi_endproc 4762 .LFE179: 4764 .section .text.HAL_LIN_SendBreak,"ax",%progbits 4765 .align 1 4766 .global HAL_LIN_SendBreak 4767 .syntax unified 4768 .thumb 4769 .thumb_func 4770 .fpu fpv5-d16 4772 HAL_LIN_SendBreak: 4773 .LVL323: 4774 .LFB180: 2752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the parameters */ 4775 .loc 1 2752 1 is_stmt 1 view -0 4776 .cfi_startproc 4777 @ args = 0, pretend = 0, frame = 0 4778 @ frame_needed = 0, uses_anonymous_args = 0 4779 @ link register save eliminated. 2754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4780 .loc 1 2754 3 view .LVU1466 2756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4781 .loc 1 2756 3 view .LVU1467 2756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4782 .loc 1 2756 3 view .LVU1468 4783 0000 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 4784 0004 012B cmp r3, #1 4785 0006 12D0 beq .L325 2756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4786 .loc 1 2756 3 discriminator 2 view .LVU1469 4787 0008 0123 movs r3, #1 4788 000a 80F87C30 strb r3, [r0, #124] 2756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4789 .loc 1 2756 3 discriminator 2 view .LVU1470 2758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4790 .loc 1 2758 3 discriminator 2 view .LVU1471 2758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4791 .loc 1 2758 17 is_stmt 0 discriminator 2 view .LVU1472 4792 000e 2423 movs r3, #36 4793 0010 C0F88030 str r3, [r0, #128] 2761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4794 .loc 1 2761 3 is_stmt 1 discriminator 2 view .LVU1473 4795 0014 0268 ldr r2, [r0] ARM GAS /tmp/ccizsdzp.s page 179 4796 0016 9369 ldr r3, [r2, #24] 4797 0018 43F00203 orr r3, r3, #2 4798 001c 9361 str r3, [r2, #24] 2763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4799 .loc 1 2763 3 discriminator 2 view .LVU1474 2763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4800 .loc 1 2763 17 is_stmt 0 discriminator 2 view .LVU1475 4801 001e 2023 movs r3, #32 4802 0020 C0F88030 str r3, [r0, #128] 2765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4803 .loc 1 2765 3 is_stmt 1 discriminator 2 view .LVU1476 2765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4804 .loc 1 2765 3 discriminator 2 view .LVU1477 4805 0024 0023 movs r3, #0 4806 0026 80F87C30 strb r3, [r0, #124] 2765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4807 .loc 1 2765 3 discriminator 2 view .LVU1478 2767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4808 .loc 1 2767 3 discriminator 2 view .LVU1479 2767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4809 .loc 1 2767 10 is_stmt 0 discriminator 2 view .LVU1480 4810 002a 1846 mov r0, r3 4811 .LVL324: 2767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4812 .loc 1 2767 10 discriminator 2 view .LVU1481 4813 002c 7047 bx lr 4814 .LVL325: 4815 .L325: 2756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4816 .loc 1 2756 3 view .LVU1482 4817 002e 0220 movs r0, #2 4818 .LVL326: 2768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4819 .loc 1 2768 1 view .LVU1483 4820 0030 7047 bx lr 4821 .cfi_endproc 4822 .LFE180: 4824 .section .text.HAL_UART_GetState,"ax",%progbits 4825 .align 1 4826 .global HAL_UART_GetState 4827 .syntax unified 4828 .thumb 4829 .thumb_func 4830 .fpu fpv5-d16 4832 HAL_UART_GetState: 4833 .LVL327: 4834 .LFB181: 2797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t temp1; 4835 .loc 1 2797 1 is_stmt 1 view -0 4836 .cfi_startproc 4837 @ args = 0, pretend = 0, frame = 0 4838 @ frame_needed = 0, uses_anonymous_args = 0 4839 @ link register save eliminated. 2798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t temp2; 4840 .loc 1 2798 3 view .LVU1485 2799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** temp1 = huart->gState; 4841 .loc 1 2799 3 view .LVU1486 ARM GAS /tmp/ccizsdzp.s page 180 2800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** temp2 = huart->RxState; 4842 .loc 1 2800 3 view .LVU1487 2800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** temp2 = huart->RxState; 4843 .loc 1 2800 9 is_stmt 0 view .LVU1488 4844 0000 D0F88020 ldr r2, [r0, #128] 4845 .LVL328: 2801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4846 .loc 1 2801 3 is_stmt 1 view .LVU1489 2801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4847 .loc 1 2801 9 is_stmt 0 view .LVU1490 4848 0004 D0F88400 ldr r0, [r0, #132] 4849 .LVL329: 2803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4850 .loc 1 2803 3 is_stmt 1 view .LVU1491 2804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4851 .loc 1 2804 1 is_stmt 0 view .LVU1492 4852 0008 1043 orrs r0, r0, r2 4853 .LVL330: 2804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4854 .loc 1 2804 1 view .LVU1493 4855 000a 7047 bx lr 4856 .cfi_endproc 4857 .LFE181: 4859 .section .text.HAL_UART_GetError,"ax",%progbits 4860 .align 1 4861 .global HAL_UART_GetError 4862 .syntax unified 4863 .thumb 4864 .thumb_func 4865 .fpu fpv5-d16 4867 HAL_UART_GetError: 4868 .LVL331: 4869 .LFB182: 2813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** return huart->ErrorCode; 4870 .loc 1 2813 1 is_stmt 1 view -0 4871 .cfi_startproc 4872 @ args = 0, pretend = 0, frame = 0 4873 @ frame_needed = 0, uses_anonymous_args = 0 4874 @ link register save eliminated. 2814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4875 .loc 1 2814 3 view .LVU1495 2814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4876 .loc 1 2814 15 is_stmt 0 view .LVU1496 4877 0000 D0F88800 ldr r0, [r0, #136] 4878 .LVL332: 2815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /** 4879 .loc 1 2815 1 view .LVU1497 4880 0004 7047 bx lr 4881 .cfi_endproc 4882 .LFE182: 4884 .global __aeabi_uldivmod 4885 .section .text.UART_SetConfig,"ax",%progbits 4886 .align 1 4887 .global UART_SetConfig 4888 .syntax unified 4889 .thumb 4890 .thumb_func ARM GAS /tmp/ccizsdzp.s page 181 4891 .fpu fpv5-d16 4893 UART_SetConfig: 4894 .LVL333: 4895 .LFB183: 2858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t tmpreg; 4896 .loc 1 2858 1 is_stmt 1 view -0 4897 .cfi_startproc 4898 @ args = 0, pretend = 0, frame = 24 4899 @ frame_needed = 0, uses_anonymous_args = 0 2858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t tmpreg; 4900 .loc 1 2858 1 is_stmt 0 view .LVU1499 4901 0000 70B5 push {r4, r5, r6, lr} 4902 .LCFI34: 4903 .cfi_def_cfa_offset 16 4904 .cfi_offset 4, -16 4905 .cfi_offset 5, -12 4906 .cfi_offset 6, -8 4907 .cfi_offset 14, -4 4908 0002 86B0 sub sp, sp, #24 4909 .LCFI35: 4910 .cfi_def_cfa_offset 40 4911 0004 0446 mov r4, r0 2859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t brrtemp; 4912 .loc 1 2859 3 is_stmt 1 view .LVU1500 2860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource; 4913 .loc 1 2860 3 view .LVU1501 2861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t usartdiv; 4914 .loc 1 2861 3 view .LVU1502 2862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK; 4915 .loc 1 2862 3 view .LVU1503 2863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t lpuart_ker_ck_pres; 4916 .loc 1 2863 3 view .LVU1504 4917 .LVL334: 2864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** PLL2_ClocksTypeDef pll2_clocks; 4918 .loc 1 2864 3 view .LVU1505 2865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** PLL3_ClocksTypeDef pll3_clocks; 4919 .loc 1 2865 3 view .LVU1506 2866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t pclk; 4920 .loc 1 2866 3 view .LVU1507 2867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4921 .loc 1 2867 3 view .LVU1508 2870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength)); 4922 .loc 1 2870 3 view .LVU1509 2871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart)) 4923 .loc 1 2871 3 view .LVU1510 2872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4924 .loc 1 2872 3 view .LVU1511 2872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4925 .loc 1 2872 7 is_stmt 0 view .LVU1512 4926 0006 0168 ldr r1, [r0] 2878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling)); 4927 .loc 1 2878 5 is_stmt 1 view .LVU1513 2879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4928 .loc 1 2879 5 view .LVU1514 2882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode)); 4929 .loc 1 2882 3 view .LVU1515 2883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl)); ARM GAS /tmp/ccizsdzp.s page 182 4930 .loc 1 2883 3 view .LVU1516 2884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling)); 4931 .loc 1 2884 3 view .LVU1517 2885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_PRESCALER(huart->Init.ClockPrescaler)); 4932 .loc 1 2885 3 view .LVU1518 2886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4933 .loc 1 2886 3 view .LVU1519 2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg |= (uint32_t)huart->FifoMode; 4934 .loc 1 2895 3 view .LVU1520 2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg |= (uint32_t)huart->FifoMode; 4935 .loc 1 2895 33 is_stmt 0 view .LVU1521 4936 0008 8368 ldr r3, [r0, #8] 2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg |= (uint32_t)huart->FifoMode; 4937 .loc 1 2895 58 view .LVU1522 4938 000a 0269 ldr r2, [r0, #16] 2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg |= (uint32_t)huart->FifoMode; 4939 .loc 1 2895 45 view .LVU1523 4940 000c 1343 orrs r3, r3, r2 2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg |= (uint32_t)huart->FifoMode; 4941 .loc 1 2895 79 view .LVU1524 4942 000e 4269 ldr r2, [r0, #20] 2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg |= (uint32_t)huart->FifoMode; 4943 .loc 1 2895 66 view .LVU1525 4944 0010 1343 orrs r3, r3, r2 2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg |= (uint32_t)huart->FifoMode; 4945 .loc 1 2895 98 view .LVU1526 4946 0012 C269 ldr r2, [r0, #28] 2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** tmpreg |= (uint32_t)huart->FifoMode; 4947 .loc 1 2895 10 view .LVU1527 4948 0014 1343 orrs r3, r3, r2 4949 .LVL335: 2896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 4950 .loc 1 2896 3 is_stmt 1 view .LVU1528 2896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 4951 .loc 1 2896 28 is_stmt 0 view .LVU1529 4952 0016 426E ldr r2, [r0, #100] 2896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); 4953 .loc 1 2896 10 view .LVU1530 4954 0018 1343 orrs r3, r3, r2 4955 .LVL336: 2897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4956 .loc 1 2897 3 is_stmt 1 view .LVU1531 4957 001a 0868 ldr r0, [r1] 4958 .LVL337: 2897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4959 .loc 1 2897 3 is_stmt 0 view .LVU1532 4960 001c 884A ldr r2, .L476 4961 001e 0240 ands r2, r2, r0 4962 0020 1A43 orrs r2, r2, r3 4963 0022 0A60 str r2, [r1] 2902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4964 .loc 1 2902 3 is_stmt 1 view .LVU1533 4965 0024 2268 ldr r2, [r4] 4966 0026 5368 ldr r3, [r2, #4] 4967 .LVL338: 2902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4968 .loc 1 2902 3 is_stmt 0 view .LVU1534 ARM GAS /tmp/ccizsdzp.s page 183 4969 0028 23F44053 bic r3, r3, #12288 4970 002c E168 ldr r1, [r4, #12] 4971 002e 0B43 orrs r3, r3, r1 4972 0030 5360 str r3, [r2, #4] 2910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4973 .loc 1 2910 3 is_stmt 1 view .LVU1535 2910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4974 .loc 1 2910 10 is_stmt 0 view .LVU1536 4975 0032 A169 ldr r1, [r4, #24] 4976 .LVL339: 2912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4977 .loc 1 2912 3 is_stmt 1 view .LVU1537 2912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4978 .loc 1 2912 9 is_stmt 0 view .LVU1538 4979 0034 2268 ldr r2, [r4] 2912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 4980 .loc 1 2912 6 view .LVU1539 4981 0036 834B ldr r3, .L476+4 4982 0038 9A42 cmp r2, r3 4983 003a 01D0 beq .L329 2914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4984 .loc 1 2914 5 is_stmt 1 view .LVU1540 2914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4985 .loc 1 2914 26 is_stmt 0 view .LVU1541 4986 003c 236A ldr r3, [r4, #32] 2914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 4987 .loc 1 2914 12 view .LVU1542 4988 003e 1943 orrs r1, r1, r3 4989 .LVL340: 4990 .L329: 2916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4991 .loc 1 2916 3 is_stmt 1 view .LVU1543 4992 0040 9068 ldr r0, [r2, #8] 4993 0042 814B ldr r3, .L476+8 4994 0044 0340 ands r3, r3, r0 4995 0046 0B43 orrs r3, r3, r1 4996 0048 9360 str r3, [r2, #8] 2921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 4997 .loc 1 2921 3 view .LVU1544 4998 004a 2268 ldr r2, [r4] 4999 004c D36A ldr r3, [r2, #44] 5000 004e 23F00F03 bic r3, r3, #15 5001 0052 616A ldr r1, [r4, #36] 5002 .LVL341: 2921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5003 .loc 1 2921 3 is_stmt 0 view .LVU1545 5004 0054 0B43 orrs r3, r3, r1 5005 0056 D362 str r3, [r2, #44] 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5006 .loc 1 2924 3 is_stmt 1 view .LVU1546 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5007 .loc 1 2924 3 view .LVU1547 5008 0058 2268 ldr r2, [r4] 5009 005a 7C4B ldr r3, .L476+12 5010 005c 9A42 cmp r2, r3 5011 005e 21D0 beq .L462 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 184 5012 .loc 1 2924 3 discriminator 2 view .LVU1548 5013 0060 7B4B ldr r3, .L476+16 5014 0062 9A42 cmp r2, r3 5015 0064 00F08C80 beq .L463 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5016 .loc 1 2924 3 discriminator 19 view .LVU1549 5017 0068 7A4B ldr r3, .L476+20 5018 006a 9A42 cmp r2, r3 5019 006c 00F0A280 beq .L464 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5020 .loc 1 2924 3 discriminator 36 view .LVU1550 5021 0070 794B ldr r3, .L476+24 5022 0072 9A42 cmp r2, r3 5023 0074 00F0B580 beq .L465 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5024 .loc 1 2924 3 discriminator 53 view .LVU1551 5025 0078 784B ldr r3, .L476+28 5026 007a 9A42 cmp r2, r3 5027 007c 00F0C880 beq .L466 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5028 .loc 1 2924 3 discriminator 70 view .LVU1552 5029 0080 774B ldr r3, .L476+32 5030 0082 9A42 cmp r2, r3 5031 0084 00F0F480 beq .L467 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5032 .loc 1 2924 3 discriminator 87 view .LVU1553 5033 0088 764B ldr r3, .L476+36 5034 008a 9A42 cmp r2, r3 5035 008c 00F01981 beq .L468 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5036 .loc 1 2924 3 discriminator 104 view .LVU1554 5037 0090 754B ldr r3, .L476+40 5038 0092 9A42 cmp r2, r3 5039 0094 00F02C81 beq .L469 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5040 .loc 1 2924 3 discriminator 121 view .LVU1555 5041 0098 6A4B ldr r3, .L476+4 5042 009a 9A42 cmp r2, r3 5043 009c 00F03F81 beq .L470 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5044 .loc 1 2924 3 is_stmt 0 view .LVU1556 5045 00a0 8023 movs r3, #128 5046 00a2 33E0 b .L337 5047 .L462: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5048 .loc 1 2924 3 is_stmt 1 discriminator 1 view .LVU1557 5049 00a4 714B ldr r3, .L476+44 5050 00a6 5B6D ldr r3, [r3, #84] 5051 00a8 03F03803 and r3, r3, #56 5052 00ac 282B cmp r3, #40 5053 00ae 65D8 bhi .L331 5054 00b0 DFE813F0 tbh [pc, r3, lsl #1] 5055 .L333: 5056 00b4 2900 .2byte (.L338-.L333)/2 5057 00b6 6400 .2byte (.L331-.L333)/2 5058 00b8 6400 .2byte (.L331-.L333)/2 5059 00ba 6400 .2byte (.L331-.L333)/2 ARM GAS /tmp/ccizsdzp.s page 185 5060 00bc 6400 .2byte (.L331-.L333)/2 5061 00be 6400 .2byte (.L331-.L333)/2 5062 00c0 6400 .2byte (.L331-.L333)/2 5063 00c2 6400 .2byte (.L331-.L333)/2 5064 00c4 4D01 .2byte (.L431-.L333)/2 5065 00c6 6400 .2byte (.L331-.L333)/2 5066 00c8 6400 .2byte (.L331-.L333)/2 5067 00ca 6400 .2byte (.L331-.L333)/2 5068 00cc 6400 .2byte (.L331-.L333)/2 5069 00ce 6400 .2byte (.L331-.L333)/2 5070 00d0 6400 .2byte (.L331-.L333)/2 5071 00d2 6400 .2byte (.L331-.L333)/2 5072 00d4 2B00 .2byte (.L336-.L333)/2 5073 00d6 6400 .2byte (.L331-.L333)/2 5074 00d8 6400 .2byte (.L331-.L333)/2 5075 00da 6400 .2byte (.L331-.L333)/2 5076 00dc 6400 .2byte (.L331-.L333)/2 5077 00de 6400 .2byte (.L331-.L333)/2 5078 00e0 6400 .2byte (.L331-.L333)/2 5079 00e2 6400 .2byte (.L331-.L333)/2 5080 00e4 5E00 .2byte (.L335-.L333)/2 5081 00e6 6400 .2byte (.L331-.L333)/2 5082 00e8 6400 .2byte (.L331-.L333)/2 5083 00ea 6400 .2byte (.L331-.L333)/2 5084 00ec 6400 .2byte (.L331-.L333)/2 5085 00ee 6400 .2byte (.L331-.L333)/2 5086 00f0 6400 .2byte (.L331-.L333)/2 5087 00f2 6400 .2byte (.L331-.L333)/2 5088 00f4 6000 .2byte (.L334-.L333)/2 5089 00f6 6400 .2byte (.L331-.L333)/2 5090 00f8 6400 .2byte (.L331-.L333)/2 5091 00fa 6400 .2byte (.L331-.L333)/2 5092 00fc 6400 .2byte (.L331-.L333)/2 5093 00fe 6400 .2byte (.L331-.L333)/2 5094 0100 6400 .2byte (.L331-.L333)/2 5095 0102 6400 .2byte (.L331-.L333)/2 5096 0104 6200 .2byte (.L332-.L333)/2 5097 .p2align 1 5098 .L338: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5099 .loc 1 2924 3 is_stmt 0 view .LVU1558 5100 0106 0123 movs r3, #1 5101 0108 00E0 b .L337 5102 .L336: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5103 .loc 1 2924 3 is_stmt 1 discriminator 6 view .LVU1559 5104 .LVL342: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5105 .loc 1 2924 3 discriminator 6 view .LVU1560 5106 010a 0823 movs r3, #8 5107 .LVL343: 5108 .L337: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5109 .loc 1 2924 3 discriminator 154 view .LVU1561 2927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5110 .loc 1 2927 3 discriminator 154 view .LVU1562 2927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { ARM GAS /tmp/ccizsdzp.s page 186 5111 .loc 1 2927 6 is_stmt 0 discriminator 154 view .LVU1563 5112 010c 4D49 ldr r1, .L476+4 5113 010e 8A42 cmp r2, r1 5114 0110 00F02F81 beq .L471 2994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5115 .loc 1 2994 8 is_stmt 1 view .LVU1564 2994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5116 .loc 1 2994 23 is_stmt 0 view .LVU1565 5117 0114 E069 ldr r0, [r4, #28] 2994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5118 .loc 1 2994 11 view .LVU1566 5119 0116 B0F5004F cmp r0, #32768 5120 011a 00F0AF81 beq .L472 3052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5121 .loc 1 3052 5 is_stmt 1 view .LVU1567 5122 011e 202B cmp r3, #32 5123 0120 00F20782 bhi .L422 5124 0124 202B cmp r3, #32 5125 0126 00F25182 bhi .L455 5126 012a DFE813F0 tbh [pc, r3, lsl #1] 5127 .L424: 5128 012e 1E02 .2byte (.L429-.L424)/2 5129 0130 2402 .2byte (.L428-.L424)/2 5130 0132 4F02 .2byte (.L455-.L424)/2 5131 0134 4F02 .2byte (.L455-.L424)/2 5132 0136 2702 .2byte (.L427-.L424)/2 5133 0138 4F02 .2byte (.L455-.L424)/2 5134 013a 4F02 .2byte (.L455-.L424)/2 5135 013c 4F02 .2byte (.L455-.L424)/2 5136 013e 2C02 .2byte (.L426-.L424)/2 5137 0140 4F02 .2byte (.L455-.L424)/2 5138 0142 4F02 .2byte (.L455-.L424)/2 5139 0144 4F02 .2byte (.L455-.L424)/2 5140 0146 4F02 .2byte (.L455-.L424)/2 5141 0148 4F02 .2byte (.L455-.L424)/2 5142 014a 4F02 .2byte (.L455-.L424)/2 5143 014c 4F02 .2byte (.L455-.L424)/2 5144 014e 3102 .2byte (.L425-.L424)/2 5145 0150 4F02 .2byte (.L455-.L424)/2 5146 0152 4F02 .2byte (.L455-.L424)/2 5147 0154 4F02 .2byte (.L455-.L424)/2 5148 0156 4F02 .2byte (.L455-.L424)/2 5149 0158 4F02 .2byte (.L455-.L424)/2 5150 015a 4F02 .2byte (.L455-.L424)/2 5151 015c 4F02 .2byte (.L455-.L424)/2 5152 015e 4F02 .2byte (.L455-.L424)/2 5153 0160 4F02 .2byte (.L455-.L424)/2 5154 0162 4F02 .2byte (.L455-.L424)/2 5155 0164 4F02 .2byte (.L455-.L424)/2 5156 0166 4F02 .2byte (.L455-.L424)/2 5157 0168 4F02 .2byte (.L455-.L424)/2 5158 016a 4F02 .2byte (.L455-.L424)/2 5159 016c 4F02 .2byte (.L455-.L424)/2 5160 016e 3D02 .2byte (.L456-.L424)/2 5161 .LVL344: 5162 .p2align 1 5163 .L335: ARM GAS /tmp/ccizsdzp.s page 187 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5164 .loc 1 2924 3 discriminator 7 view .LVU1568 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5165 .loc 1 2924 3 discriminator 7 view .LVU1569 5166 0170 1023 movs r3, #16 5167 0172 CBE7 b .L337 5168 .LVL345: 5169 .L334: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5170 .loc 1 2924 3 discriminator 8 view .LVU1570 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5171 .loc 1 2924 3 discriminator 8 view .LVU1571 5172 0174 2023 movs r3, #32 5173 0176 C9E7 b .L337 5174 .LVL346: 5175 .L332: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5176 .loc 1 2924 3 discriminator 9 view .LVU1572 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5177 .loc 1 2924 3 discriminator 9 view .LVU1573 5178 0178 4023 movs r3, #64 5179 017a C7E7 b .L337 5180 .LVL347: 5181 .L331: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5182 .loc 1 2924 3 discriminator 3 view .LVU1574 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5183 .loc 1 2924 3 discriminator 3 view .LVU1575 5184 017c 8023 movs r3, #128 5185 017e C5E7 b .L337 5186 .LVL348: 5187 .L463: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5188 .loc 1 2924 3 discriminator 18 view .LVU1576 5189 0180 3A4B ldr r3, .L476+44 5190 0182 5B6D ldr r3, [r3, #84] 5191 0184 03F00703 and r3, r3, #7 5192 0188 052B cmp r3, #5 5193 018a 11D8 bhi .L340 5194 018c DFE813F0 tbh [pc, r3, lsl #1] 5195 .L342: 5196 0190 0600 .2byte (.L346-.L342)/2 5197 0192 E100 .2byte (.L432-.L342)/2 5198 0194 0800 .2byte (.L345-.L342)/2 5199 0196 0A00 .2byte (.L344-.L342)/2 5200 0198 0C00 .2byte (.L343-.L342)/2 5201 019a 0E00 .2byte (.L341-.L342)/2 5202 .p2align 1 5203 .L346: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5204 .loc 1 2924 3 is_stmt 0 view .LVU1577 5205 019c 0023 movs r3, #0 5206 019e B5E7 b .L337 5207 .L345: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5208 .loc 1 2924 3 is_stmt 1 discriminator 23 view .LVU1578 5209 .LVL349: ARM GAS /tmp/ccizsdzp.s page 188 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5210 .loc 1 2924 3 discriminator 23 view .LVU1579 5211 01a0 0823 movs r3, #8 5212 01a2 B3E7 b .L337 5213 .LVL350: 5214 .L344: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5215 .loc 1 2924 3 discriminator 24 view .LVU1580 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5216 .loc 1 2924 3 discriminator 24 view .LVU1581 5217 01a4 1023 movs r3, #16 5218 01a6 B1E7 b .L337 5219 .LVL351: 5220 .L343: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5221 .loc 1 2924 3 discriminator 25 view .LVU1582 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5222 .loc 1 2924 3 discriminator 25 view .LVU1583 5223 01a8 2023 movs r3, #32 5224 01aa AFE7 b .L337 5225 .LVL352: 5226 .L341: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5227 .loc 1 2924 3 discriminator 26 view .LVU1584 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5228 .loc 1 2924 3 discriminator 26 view .LVU1585 5229 01ac 4023 movs r3, #64 5230 01ae ADE7 b .L337 5231 .LVL353: 5232 .L340: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5233 .loc 1 2924 3 discriminator 20 view .LVU1586 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5234 .loc 1 2924 3 discriminator 20 view .LVU1587 5235 01b0 8023 movs r3, #128 5236 01b2 ABE7 b .L337 5237 .LVL354: 5238 .L464: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5239 .loc 1 2924 3 discriminator 35 view .LVU1588 5240 01b4 2D4B ldr r3, .L476+44 5241 01b6 5B6D ldr r3, [r3, #84] 5242 01b8 03F00703 and r3, r3, #7 5243 01bc 052B cmp r3, #5 5244 01be 0ED8 bhi .L348 5245 01c0 DFE803F0 tbb [pc, r3] 5246 .L350: 5247 01c4 03 .byte (.L354-.L350)/2 5248 01c5 C9 .byte (.L433-.L350)/2 5249 01c6 05 .byte (.L353-.L350)/2 5250 01c7 07 .byte (.L352-.L350)/2 5251 01c8 09 .byte (.L351-.L350)/2 5252 01c9 0B .byte (.L349-.L350)/2 5253 .p2align 1 5254 .L354: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5255 .loc 1 2924 3 is_stmt 0 view .LVU1589 ARM GAS /tmp/ccizsdzp.s page 189 5256 01ca 0023 movs r3, #0 5257 01cc 9EE7 b .L337 5258 .L353: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5259 .loc 1 2924 3 is_stmt 1 discriminator 40 view .LVU1590 5260 .LVL355: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5261 .loc 1 2924 3 discriminator 40 view .LVU1591 5262 01ce 0823 movs r3, #8 5263 01d0 9CE7 b .L337 5264 .LVL356: 5265 .L352: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5266 .loc 1 2924 3 discriminator 41 view .LVU1592 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5267 .loc 1 2924 3 discriminator 41 view .LVU1593 5268 01d2 1023 movs r3, #16 5269 01d4 9AE7 b .L337 5270 .LVL357: 5271 .L351: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5272 .loc 1 2924 3 discriminator 42 view .LVU1594 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5273 .loc 1 2924 3 discriminator 42 view .LVU1595 5274 01d6 2023 movs r3, #32 5275 01d8 98E7 b .L337 5276 .LVL358: 5277 .L349: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5278 .loc 1 2924 3 discriminator 43 view .LVU1596 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5279 .loc 1 2924 3 discriminator 43 view .LVU1597 5280 01da 4023 movs r3, #64 5281 01dc 96E7 b .L337 5282 .LVL359: 5283 .L348: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5284 .loc 1 2924 3 discriminator 37 view .LVU1598 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5285 .loc 1 2924 3 discriminator 37 view .LVU1599 5286 01de 8023 movs r3, #128 5287 01e0 94E7 b .L337 5288 .LVL360: 5289 .L465: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5290 .loc 1 2924 3 discriminator 52 view .LVU1600 5291 01e2 224B ldr r3, .L476+44 5292 01e4 5B6D ldr r3, [r3, #84] 5293 01e6 03F00703 and r3, r3, #7 5294 01ea 052B cmp r3, #5 5295 01ec 0ED8 bhi .L356 5296 01ee DFE803F0 tbb [pc, r3] 5297 .L358: 5298 01f2 03 .byte (.L362-.L358)/2 5299 01f3 B4 .byte (.L434-.L358)/2 5300 01f4 05 .byte (.L361-.L358)/2 5301 01f5 07 .byte (.L360-.L358)/2 ARM GAS /tmp/ccizsdzp.s page 190 5302 01f6 09 .byte (.L359-.L358)/2 5303 01f7 0B .byte (.L357-.L358)/2 5304 .p2align 1 5305 .L362: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5306 .loc 1 2924 3 is_stmt 0 view .LVU1601 5307 01f8 0023 movs r3, #0 5308 01fa 87E7 b .L337 5309 .L361: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5310 .loc 1 2924 3 is_stmt 1 discriminator 57 view .LVU1602 5311 .LVL361: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5312 .loc 1 2924 3 discriminator 57 view .LVU1603 5313 01fc 0823 movs r3, #8 5314 01fe 85E7 b .L337 5315 .LVL362: 5316 .L360: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5317 .loc 1 2924 3 discriminator 58 view .LVU1604 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5318 .loc 1 2924 3 discriminator 58 view .LVU1605 5319 0200 1023 movs r3, #16 5320 0202 83E7 b .L337 5321 .LVL363: 5322 .L359: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5323 .loc 1 2924 3 discriminator 59 view .LVU1606 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5324 .loc 1 2924 3 discriminator 59 view .LVU1607 5325 0204 2023 movs r3, #32 5326 0206 81E7 b .L337 5327 .LVL364: 5328 .L357: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5329 .loc 1 2924 3 discriminator 60 view .LVU1608 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5330 .loc 1 2924 3 discriminator 60 view .LVU1609 5331 0208 4023 movs r3, #64 5332 020a 7FE7 b .L337 5333 .LVL365: 5334 .L356: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5335 .loc 1 2924 3 discriminator 54 view .LVU1610 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5336 .loc 1 2924 3 discriminator 54 view .LVU1611 5337 020c 8023 movs r3, #128 5338 020e 7DE7 b .L337 5339 .LVL366: 5340 .L466: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5341 .loc 1 2924 3 discriminator 69 view .LVU1612 5342 0210 164B ldr r3, .L476+44 5343 0212 5B6D ldr r3, [r3, #84] 5344 0214 03F00703 and r3, r3, #7 5345 0218 052B cmp r3, #5 5346 021a 0ED8 bhi .L364 ARM GAS /tmp/ccizsdzp.s page 191 5347 021c DFE803F0 tbb [pc, r3] 5348 .L366: 5349 0220 03 .byte (.L370-.L366)/2 5350 0221 9F .byte (.L435-.L366)/2 5351 0222 05 .byte (.L369-.L366)/2 5352 0223 07 .byte (.L368-.L366)/2 5353 0224 09 .byte (.L367-.L366)/2 5354 0225 0B .byte (.L365-.L366)/2 5355 .p2align 1 5356 .L370: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5357 .loc 1 2924 3 is_stmt 0 view .LVU1613 5358 0226 0023 movs r3, #0 5359 0228 70E7 b .L337 5360 .L369: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5361 .loc 1 2924 3 is_stmt 1 discriminator 74 view .LVU1614 5362 .LVL367: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5363 .loc 1 2924 3 discriminator 74 view .LVU1615 5364 022a 0823 movs r3, #8 5365 022c 6EE7 b .L337 5366 .LVL368: 5367 .L368: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5368 .loc 1 2924 3 discriminator 75 view .LVU1616 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5369 .loc 1 2924 3 discriminator 75 view .LVU1617 5370 022e 1023 movs r3, #16 5371 0230 6CE7 b .L337 5372 .LVL369: 5373 .L367: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5374 .loc 1 2924 3 discriminator 76 view .LVU1618 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5375 .loc 1 2924 3 discriminator 76 view .LVU1619 5376 0232 2023 movs r3, #32 5377 0234 6AE7 b .L337 5378 .LVL370: 5379 .L365: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5380 .loc 1 2924 3 discriminator 77 view .LVU1620 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5381 .loc 1 2924 3 discriminator 77 view .LVU1621 5382 0236 4023 movs r3, #64 5383 0238 68E7 b .L337 5384 .LVL371: 5385 .L364: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5386 .loc 1 2924 3 discriminator 71 view .LVU1622 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5387 .loc 1 2924 3 discriminator 71 view .LVU1623 5388 023a 8023 movs r3, #128 5389 023c 66E7 b .L337 5390 .L477: 5391 023e 00BF .align 2 5392 .L476: ARM GAS /tmp/ccizsdzp.s page 192 5393 0240 F369FFCF .word -805344781 5394 0244 000C0058 .word 1476398080 5395 0248 FFF4FF11 .word 301987071 5396 024c 00100140 .word 1073811456 5397 0250 00440040 .word 1073759232 5398 0254 00480040 .word 1073760256 5399 0258 004C0040 .word 1073761280 5400 025c 00500040 .word 1073762304 5401 0260 00140140 .word 1073812480 5402 0264 00780040 .word 1073772544 5403 0268 007C0040 .word 1073773568 5404 026c 00440258 .word 1476543488 5405 .LVL372: 5406 .L467: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5407 .loc 1 2924 3 discriminator 86 view .LVU1624 5408 0270 7D4B ldr r3, .L478 5409 0272 5B6D ldr r3, [r3, #84] 5410 0274 03F03803 and r3, r3, #56 5411 0278 282B cmp r3, #40 5412 027a 20D8 bhi .L372 5413 027c DFE803F0 tbb [pc, r3] 5414 .L374: 5415 0280 15 .byte (.L378-.L374)/2 5416 0281 1F .byte (.L372-.L374)/2 5417 0282 1F .byte (.L372-.L374)/2 5418 0283 1F .byte (.L372-.L374)/2 5419 0284 1F .byte (.L372-.L374)/2 5420 0285 1F .byte (.L372-.L374)/2 5421 0286 1F .byte (.L372-.L374)/2 5422 0287 1F .byte (.L372-.L374)/2 5423 0288 71 .byte (.L436-.L374)/2 5424 0289 1F .byte (.L372-.L374)/2 5425 028a 1F .byte (.L372-.L374)/2 5426 028b 1F .byte (.L372-.L374)/2 5427 028c 1F .byte (.L372-.L374)/2 5428 028d 1F .byte (.L372-.L374)/2 5429 028e 1F .byte (.L372-.L374)/2 5430 028f 1F .byte (.L372-.L374)/2 5431 0290 17 .byte (.L377-.L374)/2 5432 0291 1F .byte (.L372-.L374)/2 5433 0292 1F .byte (.L372-.L374)/2 5434 0293 1F .byte (.L372-.L374)/2 5435 0294 1F .byte (.L372-.L374)/2 5436 0295 1F .byte (.L372-.L374)/2 5437 0296 1F .byte (.L372-.L374)/2 5438 0297 1F .byte (.L372-.L374)/2 5439 0298 19 .byte (.L376-.L374)/2 5440 0299 1F .byte (.L372-.L374)/2 5441 029a 1F .byte (.L372-.L374)/2 5442 029b 1F .byte (.L372-.L374)/2 5443 029c 1F .byte (.L372-.L374)/2 5444 029d 1F .byte (.L372-.L374)/2 5445 029e 1F .byte (.L372-.L374)/2 5446 029f 1F .byte (.L372-.L374)/2 5447 02a0 1B .byte (.L375-.L374)/2 5448 02a1 1F .byte (.L372-.L374)/2 ARM GAS /tmp/ccizsdzp.s page 193 5449 02a2 1F .byte (.L372-.L374)/2 5450 02a3 1F .byte (.L372-.L374)/2 5451 02a4 1F .byte (.L372-.L374)/2 5452 02a5 1F .byte (.L372-.L374)/2 5453 02a6 1F .byte (.L372-.L374)/2 5454 02a7 1F .byte (.L372-.L374)/2 5455 02a8 1D .byte (.L373-.L374)/2 5456 02a9 00 .p2align 1 5457 .L378: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5458 .loc 1 2924 3 is_stmt 0 view .LVU1625 5459 02aa 0123 movs r3, #1 5460 02ac 2EE7 b .L337 5461 .L377: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5462 .loc 1 2924 3 is_stmt 1 discriminator 91 view .LVU1626 5463 .LVL373: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5464 .loc 1 2924 3 discriminator 91 view .LVU1627 5465 02ae 0823 movs r3, #8 5466 02b0 2CE7 b .L337 5467 .LVL374: 5468 .L376: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5469 .loc 1 2924 3 discriminator 92 view .LVU1628 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5470 .loc 1 2924 3 discriminator 92 view .LVU1629 5471 02b2 1023 movs r3, #16 5472 02b4 2AE7 b .L337 5473 .LVL375: 5474 .L375: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5475 .loc 1 2924 3 discriminator 93 view .LVU1630 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5476 .loc 1 2924 3 discriminator 93 view .LVU1631 5477 02b6 2023 movs r3, #32 5478 02b8 28E7 b .L337 5479 .LVL376: 5480 .L373: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5481 .loc 1 2924 3 discriminator 94 view .LVU1632 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5482 .loc 1 2924 3 discriminator 94 view .LVU1633 5483 02ba 4023 movs r3, #64 5484 02bc 26E7 b .L337 5485 .LVL377: 5486 .L372: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5487 .loc 1 2924 3 discriminator 88 view .LVU1634 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5488 .loc 1 2924 3 discriminator 88 view .LVU1635 5489 02be 8023 movs r3, #128 5490 02c0 24E7 b .L337 5491 .LVL378: 5492 .L468: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5493 .loc 1 2924 3 discriminator 103 view .LVU1636 ARM GAS /tmp/ccizsdzp.s page 194 5494 02c2 694B ldr r3, .L478 5495 02c4 5B6D ldr r3, [r3, #84] 5496 02c6 03F00703 and r3, r3, #7 5497 02ca 052B cmp r3, #5 5498 02cc 0ED8 bhi .L380 5499 02ce DFE803F0 tbb [pc, r3] 5500 .L382: 5501 02d2 03 .byte (.L386-.L382)/2 5502 02d3 4A .byte (.L437-.L382)/2 5503 02d4 05 .byte (.L385-.L382)/2 5504 02d5 07 .byte (.L384-.L382)/2 5505 02d6 09 .byte (.L383-.L382)/2 5506 02d7 0B .byte (.L381-.L382)/2 5507 .p2align 1 5508 .L386: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5509 .loc 1 2924 3 is_stmt 0 view .LVU1637 5510 02d8 0023 movs r3, #0 5511 02da 17E7 b .L337 5512 .L385: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5513 .loc 1 2924 3 is_stmt 1 discriminator 108 view .LVU1638 5514 .LVL379: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5515 .loc 1 2924 3 discriminator 108 view .LVU1639 5516 02dc 0823 movs r3, #8 5517 02de 15E7 b .L337 5518 .LVL380: 5519 .L384: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5520 .loc 1 2924 3 discriminator 109 view .LVU1640 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5521 .loc 1 2924 3 discriminator 109 view .LVU1641 5522 02e0 1023 movs r3, #16 5523 02e2 13E7 b .L337 5524 .LVL381: 5525 .L383: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5526 .loc 1 2924 3 discriminator 110 view .LVU1642 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5527 .loc 1 2924 3 discriminator 110 view .LVU1643 5528 02e4 2023 movs r3, #32 5529 02e6 11E7 b .L337 5530 .LVL382: 5531 .L381: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5532 .loc 1 2924 3 discriminator 111 view .LVU1644 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5533 .loc 1 2924 3 discriminator 111 view .LVU1645 5534 02e8 4023 movs r3, #64 5535 02ea 0FE7 b .L337 5536 .LVL383: 5537 .L380: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5538 .loc 1 2924 3 discriminator 105 view .LVU1646 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5539 .loc 1 2924 3 discriminator 105 view .LVU1647 ARM GAS /tmp/ccizsdzp.s page 195 5540 02ec 8023 movs r3, #128 5541 02ee 0DE7 b .L337 5542 .LVL384: 5543 .L469: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5544 .loc 1 2924 3 discriminator 120 view .LVU1648 5545 02f0 5D4B ldr r3, .L478 5546 02f2 5B6D ldr r3, [r3, #84] 5547 02f4 03F00703 and r3, r3, #7 5548 02f8 052B cmp r3, #5 5549 02fa 0ED8 bhi .L388 5550 02fc DFE803F0 tbb [pc, r3] 5551 .L390: 5552 0300 03 .byte (.L394-.L390)/2 5553 0301 35 .byte (.L438-.L390)/2 5554 0302 05 .byte (.L393-.L390)/2 5555 0303 07 .byte (.L392-.L390)/2 5556 0304 09 .byte (.L391-.L390)/2 5557 0305 0B .byte (.L389-.L390)/2 5558 .p2align 1 5559 .L394: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5560 .loc 1 2924 3 is_stmt 0 view .LVU1649 5561 0306 0023 movs r3, #0 5562 0308 00E7 b .L337 5563 .L393: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5564 .loc 1 2924 3 is_stmt 1 discriminator 125 view .LVU1650 5565 .LVL385: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5566 .loc 1 2924 3 discriminator 125 view .LVU1651 5567 030a 0823 movs r3, #8 5568 030c FEE6 b .L337 5569 .LVL386: 5570 .L392: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5571 .loc 1 2924 3 discriminator 126 view .LVU1652 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5572 .loc 1 2924 3 discriminator 126 view .LVU1653 5573 030e 1023 movs r3, #16 5574 0310 FCE6 b .L337 5575 .LVL387: 5576 .L391: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5577 .loc 1 2924 3 discriminator 127 view .LVU1654 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5578 .loc 1 2924 3 discriminator 127 view .LVU1655 5579 0312 2023 movs r3, #32 5580 0314 FAE6 b .L337 5581 .LVL388: 5582 .L389: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5583 .loc 1 2924 3 discriminator 128 view .LVU1656 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5584 .loc 1 2924 3 discriminator 128 view .LVU1657 5585 0316 4023 movs r3, #64 5586 0318 F8E6 b .L337 ARM GAS /tmp/ccizsdzp.s page 196 5587 .LVL389: 5588 .L388: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5589 .loc 1 2924 3 discriminator 122 view .LVU1658 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5590 .loc 1 2924 3 discriminator 122 view .LVU1659 5591 031a 8023 movs r3, #128 5592 031c F6E6 b .L337 5593 .LVL390: 5594 .L470: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5595 .loc 1 2924 3 discriminator 137 view .LVU1660 5596 031e 03F50E33 add r3, r3, #145408 5597 0322 9B6D ldr r3, [r3, #88] 5598 0324 03F00703 and r3, r3, #7 5599 0328 052B cmp r3, #5 5600 032a 0ED8 bhi .L395 5601 032c DFE803F0 tbb [pc, r3] 5602 .L397: 5603 0330 03 .byte (.L401-.L397)/2 5604 0331 1F .byte (.L440-.L397)/2 5605 0332 05 .byte (.L400-.L397)/2 5606 0333 07 .byte (.L399-.L397)/2 5607 0334 09 .byte (.L398-.L397)/2 5608 0335 0B .byte (.L396-.L397)/2 5609 .p2align 1 5610 .L401: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5611 .loc 1 2924 3 is_stmt 0 view .LVU1661 5612 0336 0223 movs r3, #2 5613 0338 E8E6 b .L337 5614 .L400: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5615 .loc 1 2924 3 is_stmt 1 discriminator 142 view .LVU1662 5616 .LVL391: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5617 .loc 1 2924 3 discriminator 142 view .LVU1663 5618 033a 0823 movs r3, #8 5619 033c E6E6 b .L337 5620 .LVL392: 5621 .L399: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5622 .loc 1 2924 3 discriminator 143 view .LVU1664 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5623 .loc 1 2924 3 discriminator 143 view .LVU1665 5624 033e 1023 movs r3, #16 5625 0340 E4E6 b .L337 5626 .LVL393: 5627 .L398: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5628 .loc 1 2924 3 discriminator 144 view .LVU1666 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5629 .loc 1 2924 3 discriminator 144 view .LVU1667 5630 0342 2023 movs r3, #32 5631 0344 E2E6 b .L337 5632 .LVL394: 5633 .L396: ARM GAS /tmp/ccizsdzp.s page 197 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5634 .loc 1 2924 3 discriminator 145 view .LVU1668 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5635 .loc 1 2924 3 discriminator 145 view .LVU1669 5636 0346 4023 movs r3, #64 5637 0348 E0E6 b .L337 5638 .LVL395: 5639 .L395: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5640 .loc 1 2924 3 discriminator 139 view .LVU1670 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5641 .loc 1 2924 3 discriminator 139 view .LVU1671 5642 034a 8023 movs r3, #128 5643 034c DEE6 b .L337 5644 .LVL396: 5645 .L431: 2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5646 .loc 1 2924 3 is_stmt 0 view .LVU1672 5647 034e 0423 movs r3, #4 5648 0350 DCE6 b .L337 5649 .L432: 5650 0352 0423 movs r3, #4 5651 0354 DAE6 b .L337 5652 .L433: 5653 0356 0423 movs r3, #4 5654 0358 D8E6 b .L337 5655 .L434: 5656 035a 0423 movs r3, #4 5657 035c D6E6 b .L337 5658 .L435: 5659 035e 0423 movs r3, #4 5660 0360 D4E6 b .L337 5661 .L436: 5662 0362 0423 movs r3, #4 5663 0364 D2E6 b .L337 5664 .L437: 5665 0366 0423 movs r3, #4 5666 0368 D0E6 b .L337 5667 .L438: 5668 036a 0423 movs r3, #4 5669 036c CEE6 b .L337 5670 .L440: 5671 036e 0423 movs r3, #4 5672 0370 CCE6 b .L337 5673 .LVL397: 5674 .L471: 2930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5675 .loc 1 2930 5 is_stmt 1 view .LVU1673 5676 0372 202B cmp r3, #32 5677 0374 27D8 bhi .L403 5678 0376 022B cmp r3, #2 5679 0378 C0F01A81 bcc .L441 5680 037c 023B subs r3, r3, #2 5681 .LVL398: 2930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5682 .loc 1 2930 5 is_stmt 0 view .LVU1674 5683 037e 1E2B cmp r3, #30 ARM GAS /tmp/ccizsdzp.s page 198 5684 0380 00F21881 bhi .L442 5685 0384 DFE813F0 tbh [pc, r3, lsl #1] 5686 .L406: 5687 0388 5000 .2byte (.L410-.L406)/2 5688 038a 1601 .2byte (.L442-.L406)/2 5689 038c 5600 .2byte (.L409-.L406)/2 5690 038e 1601 .2byte (.L442-.L406)/2 5691 0390 1601 .2byte (.L442-.L406)/2 5692 0392 1601 .2byte (.L442-.L406)/2 5693 0394 5B00 .2byte (.L408-.L406)/2 5694 0396 1601 .2byte (.L442-.L406)/2 5695 0398 1601 .2byte (.L442-.L406)/2 5696 039a 1601 .2byte (.L442-.L406)/2 5697 039c 1601 .2byte (.L442-.L406)/2 5698 039e 1601 .2byte (.L442-.L406)/2 5699 03a0 1601 .2byte (.L442-.L406)/2 5700 03a2 1601 .2byte (.L442-.L406)/2 5701 03a4 6000 .2byte (.L407-.L406)/2 5702 03a6 1601 .2byte (.L442-.L406)/2 5703 03a8 1601 .2byte (.L442-.L406)/2 5704 03aa 1601 .2byte (.L442-.L406)/2 5705 03ac 1601 .2byte (.L442-.L406)/2 5706 03ae 1601 .2byte (.L442-.L406)/2 5707 03b0 1601 .2byte (.L442-.L406)/2 5708 03b2 1601 .2byte (.L442-.L406)/2 5709 03b4 1601 .2byte (.L442-.L406)/2 5710 03b6 1601 .2byte (.L442-.L406)/2 5711 03b8 1601 .2byte (.L442-.L406)/2 5712 03ba 1601 .2byte (.L442-.L406)/2 5713 03bc 1601 .2byte (.L442-.L406)/2 5714 03be 1601 .2byte (.L442-.L406)/2 5715 03c0 1601 .2byte (.L442-.L406)/2 5716 03c2 1601 .2byte (.L442-.L406)/2 5717 03c4 6C00 .2byte (.L443-.L406)/2 5718 .LVL399: 5719 .p2align 1 5720 .L403: 2930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5721 .loc 1 2930 5 view .LVU1675 5722 03c6 402B cmp r3, #64 5723 03c8 2CD1 bne .L473 2957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5724 .loc 1 2957 14 view .LVU1676 5725 03ca 4FF40040 mov r0, #32768 5726 .LVL400: 5727 .L405: 2969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5728 .loc 1 2969 7 is_stmt 1 view .LVU1677 2969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5729 .loc 1 2969 62 is_stmt 0 view .LVU1678 5730 03ce 626A ldr r2, [r4, #36] 2969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5731 .loc 1 2969 50 view .LVU1679 5732 03d0 264B ldr r3, .L478+4 5733 03d2 33F81220 ldrh r2, [r3, r2, lsl #1] 2969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 5734 .loc 1 2969 26 view .LVU1680 ARM GAS /tmp/ccizsdzp.s page 199 5735 03d6 B0FBF2F3 udiv r3, r0, r2 5736 .LVL401: 2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 5737 .loc 1 2972 7 is_stmt 1 view .LVU1681 2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 5738 .loc 1 2972 50 is_stmt 0 view .LVU1682 5739 03da 6568 ldr r5, [r4, #4] 2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 5740 .loc 1 2972 37 view .LVU1683 5741 03dc 05EB4501 add r1, r5, r5, lsl #1 2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 5742 .loc 1 2972 10 view .LVU1684 5743 03e0 9942 cmp r1, r3 5744 03e2 00F2E980 bhi .L447 2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate))) 5745 .loc 1 2972 62 discriminator 1 view .LVU1685 5746 03e6 B3EB053F cmp r3, r5, lsl #12 5747 03ea 00F2E780 bhi .L448 2981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 5748 .loc 1 2981 9 is_stmt 1 view .LVU1686 2981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 5749 .loc 1 2981 31 is_stmt 0 view .LVU1687 5750 03ee 0026 movs r6, #0 5751 03f0 3346 mov r3, r6 5752 .LVL402: 2981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 5753 .loc 1 2981 31 view .LVU1688 5754 03f2 3146 mov r1, r6 5755 03f4 FFF7FEFF bl __aeabi_uldivmod 5756 .LVL403: 2981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX)) 5757 .loc 1 2981 31 view .LVU1689 5758 03f8 0902 lsls r1, r1, #8 5759 03fa 41EA1061 orr r1, r1, r0, lsr #24 5760 03fe 0002 lsls r0, r0, #8 5761 0400 6B08 lsrs r3, r5, #1 5762 0402 C018 adds r0, r0, r3 5763 0404 2A46 mov r2, r5 5764 0406 3346 mov r3, r6 5765 0408 41F10001 adc r1, r1, #0 5766 040c FFF7FEFF bl __aeabi_uldivmod 5767 .LVL404: 2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5768 .loc 1 2982 9 is_stmt 1 view .LVU1690 2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5769 .loc 1 2982 42 is_stmt 0 view .LVU1691 5770 0410 A0F54072 sub r2, r0, #768 2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5771 .loc 1 2982 12 view .LVU1692 5772 0414 164B ldr r3, .L478+8 5773 0416 9A42 cmp r2, r3 5774 0418 00F2D280 bhi .L449 2984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5775 .loc 1 2984 11 is_stmt 1 view .LVU1693 2984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5776 .loc 1 2984 16 is_stmt 0 view .LVU1694 5777 041c 2368 ldr r3, [r4] ARM GAS /tmp/ccizsdzp.s page 200 2984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5778 .loc 1 2984 32 view .LVU1695 5779 041e D860 str r0, [r3, #12] 5780 0420 3046 mov r0, r6 5781 .LVL405: 2984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5782 .loc 1 2984 32 view .LVU1696 5783 0422 D4E0 b .L404 5784 .LVL406: 5785 .L473: 2930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5786 .loc 1 2930 5 view .LVU1697 5787 0424 0120 movs r0, #1 5788 0426 D2E0 b .L404 5789 .LVL407: 5790 .L410: 2933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5791 .loc 1 2933 9 is_stmt 1 view .LVU1698 2933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5792 .loc 1 2933 16 is_stmt 0 view .LVU1699 5793 0428 FFF7FEFF bl HAL_RCCEx_GetD3PCLK1Freq 5794 .LVL408: 2934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL2: 5795 .loc 1 2934 9 is_stmt 1 view .LVU1700 5796 .L411: 2966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5797 .loc 1 2966 5 view .LVU1701 2966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5798 .loc 1 2966 8 is_stmt 0 view .LVU1702 5799 042c 0028 cmp r0, #0 5800 042e CED1 bne .L405 2966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5801 .loc 1 2966 8 view .LVU1703 5802 0430 0020 movs r0, #0 5803 .LVL409: 2966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5804 .loc 1 2966 8 view .LVU1704 5805 0432 CCE0 b .L404 5806 .L409: 2936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll2_clocks.PLL2_Q_Frequency; 5807 .loc 1 2936 9 is_stmt 1 view .LVU1705 5808 0434 03A8 add r0, sp, #12 5809 0436 FFF7FEFF bl HAL_RCCEx_GetPLL2ClockFreq 5810 .LVL410: 2937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5811 .loc 1 2937 9 view .LVU1706 2937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5812 .loc 1 2937 14 is_stmt 0 view .LVU1707 5813 043a 0498 ldr r0, [sp, #16] 5814 .LVL411: 2938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL3: 5815 .loc 1 2938 9 is_stmt 1 view .LVU1708 5816 043c F6E7 b .L411 5817 .LVL412: 5818 .L408: 2940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll3_clocks.PLL3_Q_Frequency; 5819 .loc 1 2940 9 view .LVU1709 ARM GAS /tmp/ccizsdzp.s page 201 5820 043e 6846 mov r0, sp 5821 0440 FFF7FEFF bl HAL_RCCEx_GetPLL3ClockFreq 5822 .LVL413: 2941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5823 .loc 1 2941 9 view .LVU1710 2941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5824 .loc 1 2941 14 is_stmt 0 view .LVU1711 5825 0444 0198 ldr r0, [sp, #4] 5826 .LVL414: 2942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 5827 .loc 1 2942 9 is_stmt 1 view .LVU1712 5828 0446 F1E7 b .L411 5829 .LVL415: 5830 .L407: 2944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5831 .loc 1 2944 9 view .LVU1713 2944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5832 .loc 1 2944 13 is_stmt 0 view .LVU1714 5833 0448 074B ldr r3, .L478 5834 044a 1B68 ldr r3, [r3] 2944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5835 .loc 1 2944 12 view .LVU1715 5836 044c 13F0200F tst r3, #32 5837 0450 08D0 beq .L445 2946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5838 .loc 1 2946 11 is_stmt 1 view .LVU1716 2946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5839 .loc 1 2946 43 is_stmt 0 view .LVU1717 5840 0452 054B ldr r3, .L478 5841 0454 1B68 ldr r3, [r3] 2946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5842 .loc 1 2946 71 view .LVU1718 5843 0456 C3F3C103 ubfx r3, r3, #3, #2 2946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5844 .loc 1 2946 16 view .LVU1719 5845 045a 0648 ldr r0, .L478+12 5846 045c D840 lsrs r0, r0, r3 5847 .LVL416: 2946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5848 .loc 1 2946 16 view .LVU1720 5849 045e E5E7 b .L411 5850 .LVL417: 5851 .L443: 2930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5852 .loc 1 2930 5 view .LVU1721 5853 0460 0548 ldr r0, .L478+16 5854 0462 B4E7 b .L405 5855 .L445: 2950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5856 .loc 1 2950 16 view .LVU1722 5857 0464 0348 ldr r0, .L478+12 5858 0466 B2E7 b .L405 5859 .L479: 5860 .align 2 5861 .L478: 5862 0468 00440258 .word 1476543488 5863 046c 00000000 .word .LANCHOR0 ARM GAS /tmp/ccizsdzp.s page 202 5864 0470 FFFC0F00 .word 1047807 5865 0474 0090D003 .word 64000000 5866 0478 00093D00 .word 4000000 5867 .LVL418: 5868 .L472: 2996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5869 .loc 1 2996 5 is_stmt 1 view .LVU1723 5870 047c 202B cmp r3, #32 5871 047e 15D8 bhi .L413 5872 0480 202B cmp r3, #32 5873 0482 00F29F80 bhi .L450 5874 0486 DFE803F0 tbb [pc, r3] 5875 .L415: 5876 048a 31 .byte (.L420-.L415)/2 5877 048b 37 .byte (.L419-.L415)/2 5878 048c 9D .byte (.L450-.L415)/2 5879 048d 9D .byte (.L450-.L415)/2 5880 048e 3A .byte (.L418-.L415)/2 5881 048f 9D .byte (.L450-.L415)/2 5882 0490 9D .byte (.L450-.L415)/2 5883 0491 9D .byte (.L450-.L415)/2 5884 0492 3F .byte (.L417-.L415)/2 5885 0493 9D .byte (.L450-.L415)/2 5886 0494 9D .byte (.L450-.L415)/2 5887 0495 9D .byte (.L450-.L415)/2 5888 0496 9D .byte (.L450-.L415)/2 5889 0497 9D .byte (.L450-.L415)/2 5890 0498 9D .byte (.L450-.L415)/2 5891 0499 9D .byte (.L450-.L415)/2 5892 049a 44 .byte (.L416-.L415)/2 5893 049b 9D .byte (.L450-.L415)/2 5894 049c 9D .byte (.L450-.L415)/2 5895 049d 9D .byte (.L450-.L415)/2 5896 049e 9D .byte (.L450-.L415)/2 5897 049f 9D .byte (.L450-.L415)/2 5898 04a0 9D .byte (.L450-.L415)/2 5899 04a1 9D .byte (.L450-.L415)/2 5900 04a2 9D .byte (.L450-.L415)/2 5901 04a3 9D .byte (.L450-.L415)/2 5902 04a4 9D .byte (.L450-.L415)/2 5903 04a5 9D .byte (.L450-.L415)/2 5904 04a6 9D .byte (.L450-.L415)/2 5905 04a7 9D .byte (.L450-.L415)/2 5906 04a8 9D .byte (.L450-.L415)/2 5907 04a9 9D .byte (.L450-.L415)/2 5908 04aa 50 .byte (.L451-.L415)/2 5909 04ab 00 .p2align 1 5910 .L413: 5911 04ac 402B cmp r3, #64 5912 04ae 1BD1 bne .L474 5913 .LVL419: 5914 .L414: 3037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 5915 .loc 1 3037 7 view .LVU1724 3037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 5916 .loc 1 3037 29 is_stmt 0 view .LVU1725 5917 04b0 626A ldr r2, [r4, #36] ARM GAS /tmp/ccizsdzp.s page 203 5918 04b2 4D4B ldr r3, .L480 5919 04b4 33F81230 ldrh r3, [r3, r2, lsl #1] 5920 04b8 B0FBF3F0 udiv r0, r0, r3 5921 04bc 6268 ldr r2, [r4, #4] 5922 04be 5308 lsrs r3, r2, #1 5923 04c0 03EB4000 add r0, r3, r0, lsl #1 5924 04c4 B0FBF2F0 udiv r0, r0, r2 3037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 5925 .loc 1 3037 18 view .LVU1726 5926 04c8 80B2 uxth r0, r0 5927 .LVL420: 3038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5928 .loc 1 3038 7 is_stmt 1 view .LVU1727 3038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5929 .loc 1 3038 38 is_stmt 0 view .LVU1728 5930 04ca A0F11002 sub r2, r0, #16 3038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5931 .loc 1 3038 10 view .LVU1729 5932 04ce 4FF6EF73 movw r3, #65519 5933 04d2 9A42 cmp r2, r3 5934 04d4 78D8 bhi .L454 3040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 5935 .loc 1 3040 9 is_stmt 1 view .LVU1730 3040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); 5936 .loc 1 3040 17 is_stmt 0 view .LVU1731 5937 04d6 20F00F03 bic r3, r0, #15 5938 .LVL421: 3041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 5939 .loc 1 3041 9 is_stmt 1 view .LVU1732 3041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 5940 .loc 1 3041 20 is_stmt 0 view .LVU1733 5941 04da C0F34200 ubfx r0, r0, #1, #3 5942 .LVL422: 3041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->Instance->BRR = brrtemp; 5943 .loc 1 3041 17 view .LVU1734 5944 04de 1843 orrs r0, r0, r3 5945 .LVL423: 3042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5946 .loc 1 3042 9 is_stmt 1 view .LVU1735 3042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5947 .loc 1 3042 14 is_stmt 0 view .LVU1736 5948 04e0 2368 ldr r3, [r4] 3042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5949 .loc 1 3042 30 view .LVU1737 5950 04e2 D860 str r0, [r3, #12] 5951 04e4 0020 movs r0, #0 5952 .LVL424: 3042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 5953 .loc 1 3042 30 view .LVU1738 5954 04e6 72E0 b .L404 5955 .LVL425: 5956 .L474: 2996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5957 .loc 1 2996 5 view .LVU1739 5958 04e8 0120 movs r0, #1 5959 04ea 70E0 b .L404 5960 .L420: ARM GAS /tmp/ccizsdzp.s page 204 2999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5961 .loc 1 2999 9 is_stmt 1 view .LVU1740 2999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5962 .loc 1 2999 16 is_stmt 0 view .LVU1741 5963 04ec FFF7FEFF bl HAL_RCC_GetPCLK1Freq 5964 .LVL426: 3000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_D2PCLK2: 5965 .loc 1 3000 9 is_stmt 1 view .LVU1742 5966 .L421: 3035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5967 .loc 1 3035 5 view .LVU1743 3035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5968 .loc 1 3035 8 is_stmt 0 view .LVU1744 5969 04f0 0028 cmp r0, #0 5970 04f2 DDD1 bne .L414 3035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5971 .loc 1 3035 8 view .LVU1745 5972 04f4 0020 movs r0, #0 5973 .LVL427: 3035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 5974 .loc 1 3035 8 view .LVU1746 5975 04f6 6AE0 b .L404 5976 .LVL428: 5977 .L419: 3002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5978 .loc 1 3002 9 is_stmt 1 view .LVU1747 3002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5979 .loc 1 3002 16 is_stmt 0 view .LVU1748 5980 04f8 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 5981 .LVL429: 3003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL2: 5982 .loc 1 3003 9 is_stmt 1 view .LVU1749 5983 04fc F8E7 b .L421 5984 .LVL430: 5985 .L418: 3005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll2_clocks.PLL2_Q_Frequency; 5986 .loc 1 3005 9 view .LVU1750 5987 04fe 03A8 add r0, sp, #12 5988 0500 FFF7FEFF bl HAL_RCCEx_GetPLL2ClockFreq 5989 .LVL431: 3006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5990 .loc 1 3006 9 view .LVU1751 3006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 5991 .loc 1 3006 14 is_stmt 0 view .LVU1752 5992 0504 0498 ldr r0, [sp, #16] 5993 .LVL432: 3007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL3: 5994 .loc 1 3007 9 is_stmt 1 view .LVU1753 5995 0506 F3E7 b .L421 5996 .LVL433: 5997 .L417: 3009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll3_clocks.PLL3_Q_Frequency; 5998 .loc 1 3009 9 view .LVU1754 5999 0508 6846 mov r0, sp 6000 050a FFF7FEFF bl HAL_RCCEx_GetPLL3ClockFreq 6001 .LVL434: 3010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; ARM GAS /tmp/ccizsdzp.s page 205 6002 .loc 1 3010 9 view .LVU1755 3010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 6003 .loc 1 3010 14 is_stmt 0 view .LVU1756 6004 050e 0198 ldr r0, [sp, #4] 6005 .LVL435: 3011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 6006 .loc 1 3011 9 is_stmt 1 view .LVU1757 6007 0510 EEE7 b .L421 6008 .LVL436: 6009 .L416: 3013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6010 .loc 1 3013 9 view .LVU1758 3013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6011 .loc 1 3013 13 is_stmt 0 view .LVU1759 6012 0512 364B ldr r3, .L480+4 6013 .LVL437: 3013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6014 .loc 1 3013 13 view .LVU1760 6015 0514 1B68 ldr r3, [r3] 3013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6016 .loc 1 3013 12 view .LVU1761 6017 0516 13F0200F tst r3, #32 6018 051a 08D0 beq .L452 3015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6019 .loc 1 3015 11 is_stmt 1 view .LVU1762 3015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6020 .loc 1 3015 43 is_stmt 0 view .LVU1763 6021 051c 334B ldr r3, .L480+4 6022 051e 1B68 ldr r3, [r3] 3015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6023 .loc 1 3015 71 view .LVU1764 6024 0520 C3F3C103 ubfx r3, r3, #3, #2 3015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6025 .loc 1 3015 16 view .LVU1765 6026 0524 3248 ldr r0, .L480+8 6027 0526 D840 lsrs r0, r0, r3 6028 .LVL438: 3015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6029 .loc 1 3015 16 view .LVU1766 6030 0528 E2E7 b .L421 6031 .LVL439: 6032 .L451: 2996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6033 .loc 1 2996 5 view .LVU1767 6034 052a 3248 ldr r0, .L480+12 6035 052c C0E7 b .L414 6036 .LVL440: 6037 .L452: 3019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6038 .loc 1 3019 16 view .LVU1768 6039 052e 3048 ldr r0, .L480+8 6040 0530 BEE7 b .L414 6041 .LVL441: 6042 .L422: 3052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6043 .loc 1 3052 5 view .LVU1769 6044 0532 402B cmp r3, #64 ARM GAS /tmp/ccizsdzp.s page 206 6045 0534 17D1 bne .L475 3082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 6046 .loc 1 3082 14 view .LVU1770 6047 0536 4FF40040 mov r0, #32768 6048 .LVL442: 6049 .L423: 3093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 6050 .loc 1 3093 7 is_stmt 1 view .LVU1771 3093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) 6051 .loc 1 3093 29 is_stmt 0 view .LVU1772 6052 053a 626A ldr r2, [r4, #36] 6053 053c 2A4B ldr r3, .L480 6054 053e 33F81230 ldrh r3, [r3, r2, lsl #1] 6055 0542 B0FBF3F0 udiv r0, r0, r3 6056 0546 6368 ldr r3, [r4, #4] 6057 0548 00EB5300 add r0, r0, r3, lsr #1 6058 054c B0FBF3F0 udiv r0, r0, r3 6059 0550 80B2 uxth r0, r0 6060 .LVL443: 3094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6061 .loc 1 3094 7 is_stmt 1 view .LVU1773 3094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6062 .loc 1 3094 38 is_stmt 0 view .LVU1774 6063 0552 A0F11002 sub r2, r0, #16 3094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6064 .loc 1 3094 10 view .LVU1775 6065 0556 4FF6EF73 movw r3, #65519 6066 055a 9A42 cmp r2, r3 6067 055c 41D8 bhi .L460 3096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6068 .loc 1 3096 9 is_stmt 1 view .LVU1776 3096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6069 .loc 1 3096 14 is_stmt 0 view .LVU1777 6070 055e 2368 ldr r3, [r4] 3096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6071 .loc 1 3096 30 view .LVU1778 6072 0560 D860 str r0, [r3, #12] 6073 0562 0020 movs r0, #0 6074 .LVL444: 3096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6075 .loc 1 3096 30 view .LVU1779 6076 0564 33E0 b .L404 6077 .LVL445: 6078 .L475: 3052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6079 .loc 1 3052 5 view .LVU1780 6080 0566 0120 movs r0, #1 6081 0568 31E0 b .L404 6082 .L429: 3055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 6083 .loc 1 3055 9 is_stmt 1 view .LVU1781 3055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 6084 .loc 1 3055 16 is_stmt 0 view .LVU1782 6085 056a FFF7FEFF bl HAL_RCC_GetPCLK1Freq 6086 .LVL446: 3056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_D2PCLK2: 6087 .loc 1 3056 9 is_stmt 1 view .LVU1783 ARM GAS /tmp/ccizsdzp.s page 207 6088 .L430: 3090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6089 .loc 1 3090 5 view .LVU1784 3090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6090 .loc 1 3090 8 is_stmt 0 view .LVU1785 6091 056e 0028 cmp r0, #0 6092 0570 E3D1 bne .L423 3090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6093 .loc 1 3090 8 view .LVU1786 6094 0572 0020 movs r0, #0 6095 .LVL447: 3090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6096 .loc 1 3090 8 view .LVU1787 6097 0574 2BE0 b .L404 6098 .LVL448: 6099 .L428: 3058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 6100 .loc 1 3058 9 is_stmt 1 view .LVU1788 3058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 6101 .loc 1 3058 16 is_stmt 0 view .LVU1789 6102 0576 FFF7FEFF bl HAL_RCC_GetPCLK2Freq 6103 .LVL449: 3059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL2: 6104 .loc 1 3059 9 is_stmt 1 view .LVU1790 6105 057a F8E7 b .L430 6106 .LVL450: 6107 .L427: 3061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll2_clocks.PLL2_Q_Frequency; 6108 .loc 1 3061 9 view .LVU1791 6109 057c 03A8 add r0, sp, #12 6110 057e FFF7FEFF bl HAL_RCCEx_GetPLL2ClockFreq 6111 .LVL451: 3062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 6112 .loc 1 3062 9 view .LVU1792 3062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 6113 .loc 1 3062 14 is_stmt 0 view .LVU1793 6114 0582 0498 ldr r0, [sp, #16] 6115 .LVL452: 3063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_PLL3: 6116 .loc 1 3063 9 is_stmt 1 view .LVU1794 6117 0584 F3E7 b .L430 6118 .LVL453: 6119 .L426: 3065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pclk = pll3_clocks.PLL3_Q_Frequency; 6120 .loc 1 3065 9 view .LVU1795 6121 0586 6846 mov r0, sp 6122 0588 FFF7FEFF bl HAL_RCCEx_GetPLL3ClockFreq 6123 .LVL454: 3066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 6124 .loc 1 3066 9 view .LVU1796 3066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** break; 6125 .loc 1 3066 14 is_stmt 0 view .LVU1797 6126 058c 0198 ldr r0, [sp, #4] 6127 .LVL455: 3067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI: 6128 .loc 1 3067 9 is_stmt 1 view .LVU1798 6129 058e EEE7 b .L430 ARM GAS /tmp/ccizsdzp.s page 208 6130 .LVL456: 6131 .L425: 3069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6132 .loc 1 3069 9 view .LVU1799 3069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6133 .loc 1 3069 13 is_stmt 0 view .LVU1800 6134 0590 164B ldr r3, .L480+4 6135 .LVL457: 3069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6136 .loc 1 3069 13 view .LVU1801 6137 0592 1B68 ldr r3, [r3] 3069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6138 .loc 1 3069 12 view .LVU1802 6139 0594 13F0200F tst r3, #32 6140 0598 08D0 beq .L458 3071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6141 .loc 1 3071 11 is_stmt 1 view .LVU1803 3071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6142 .loc 1 3071 43 is_stmt 0 view .LVU1804 6143 059a 144B ldr r3, .L480+4 6144 059c 1B68 ldr r3, [r3] 3071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6145 .loc 1 3071 71 view .LVU1805 6146 059e C3F3C103 ubfx r3, r3, #3, #2 3071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6147 .loc 1 3071 16 view .LVU1806 6148 05a2 1348 ldr r0, .L480+8 6149 05a4 D840 lsrs r0, r0, r3 6150 .LVL458: 3071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6151 .loc 1 3071 16 view .LVU1807 6152 05a6 E2E7 b .L430 6153 .LVL459: 6154 .L456: 3052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6155 .loc 1 3052 5 view .LVU1808 6156 05a8 1248 ldr r0, .L480+12 6157 05aa C6E7 b .L423 6158 .LVL460: 6159 .L458: 3075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6160 .loc 1 3075 16 view .LVU1809 6161 05ac 1048 ldr r0, .L480+8 6162 05ae C4E7 b .L423 6163 .LVL461: 6164 .L441: 2930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6165 .loc 1 2930 5 view .LVU1810 6166 05b0 0120 movs r0, #1 6167 05b2 0CE0 b .L404 6168 .LVL462: 6169 .L442: 2930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6170 .loc 1 2930 5 view .LVU1811 6171 05b4 0120 movs r0, #1 6172 05b6 0AE0 b .L404 6173 .LVL463: ARM GAS /tmp/ccizsdzp.s page 209 6174 .L447: 2975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6175 .loc 1 2975 13 view .LVU1812 6176 05b8 0120 movs r0, #1 6177 05ba 08E0 b .L404 6178 .L448: 6179 05bc 0120 movs r0, #1 6180 05be 06E0 b .L404 6181 .LVL464: 6182 .L449: 2988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6183 .loc 1 2988 15 view .LVU1813 6184 05c0 0120 movs r0, #1 6185 .LVL465: 2988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6186 .loc 1 2988 15 view .LVU1814 6187 05c2 04E0 b .L404 6188 .LVL466: 6189 .L450: 2996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6190 .loc 1 2996 5 view .LVU1815 6191 05c4 0120 movs r0, #1 6192 05c6 02E0 b .L404 6193 .LVL467: 6194 .L454: 3046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6195 .loc 1 3046 13 view .LVU1816 6196 05c8 0120 movs r0, #1 6197 .LVL468: 3046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6198 .loc 1 3046 13 view .LVU1817 6199 05ca 00E0 b .L404 6200 .LVL469: 6201 .L455: 3052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6202 .loc 1 3052 5 view .LVU1818 6203 05cc 0120 movs r0, #1 6204 .LVL470: 6205 .L404: 3106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->NbRxDataToProcess = 1; 6206 .loc 1 3106 3 is_stmt 1 view .LVU1819 3106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->NbRxDataToProcess = 1; 6207 .loc 1 3106 28 is_stmt 0 view .LVU1820 6208 05ce 0123 movs r3, #1 6209 05d0 A4F86A30 strh r3, [r4, #106] @ movhi 3107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6210 .loc 1 3107 3 is_stmt 1 view .LVU1821 3107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6211 .loc 1 3107 28 is_stmt 0 view .LVU1822 6212 05d4 A4F86830 strh r3, [r4, #104] @ movhi 3110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 6213 .loc 1 3110 3 is_stmt 1 view .LVU1823 3110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxISR = NULL; 6214 .loc 1 3110 16 is_stmt 0 view .LVU1824 6215 05d8 0023 movs r3, #0 6216 05da E366 str r3, [r4, #108] 3111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 210 6217 .loc 1 3111 3 is_stmt 1 view .LVU1825 3111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6218 .loc 1 3111 16 is_stmt 0 view .LVU1826 6219 05dc 2367 str r3, [r4, #112] 3113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6220 .loc 1 3113 3 is_stmt 1 view .LVU1827 3114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6221 .loc 1 3114 1 is_stmt 0 view .LVU1828 6222 05de 06B0 add sp, sp, #24 6223 .LCFI36: 6224 .cfi_remember_state 6225 .cfi_def_cfa_offset 16 6226 @ sp needed 6227 05e0 70BD pop {r4, r5, r6, pc} 6228 .LVL471: 6229 .L460: 6230 .LCFI37: 6231 .cfi_restore_state 3100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6232 .loc 1 3100 13 view .LVU1829 6233 05e2 0120 movs r0, #1 6234 .LVL472: 3100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6235 .loc 1 3100 13 view .LVU1830 6236 05e4 F3E7 b .L404 6237 .L481: 6238 05e6 00BF .align 2 6239 .L480: 6240 05e8 00000000 .word .LANCHOR0 6241 05ec 00440258 .word 1476543488 6242 05f0 0090D003 .word 64000000 6243 05f4 00093D00 .word 4000000 6244 .cfi_endproc 6245 .LFE183: 6247 .section .text.UART_AdvFeatureConfig,"ax",%progbits 6248 .align 1 6249 .global UART_AdvFeatureConfig 6250 .syntax unified 6251 .thumb 6252 .thumb_func 6253 .fpu fpv5-d16 6255 UART_AdvFeatureConfig: 6256 .LVL473: 6257 .LFB184: 3122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */ 6258 .loc 1 3122 1 is_stmt 1 view -0 6259 .cfi_startproc 6260 @ args = 0, pretend = 0, frame = 0 6261 @ frame_needed = 0, uses_anonymous_args = 0 6262 @ link register save eliminated. 3124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6263 .loc 1 3124 3 view .LVU1832 3127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6264 .loc 1 3127 3 view .LVU1833 3127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6265 .loc 1 3127 7 is_stmt 0 view .LVU1834 6266 0000 836A ldr r3, [r0, #40] ARM GAS /tmp/ccizsdzp.s page 211 3127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6267 .loc 1 3127 6 view .LVU1835 6268 0002 13F0010F tst r3, #1 6269 0006 06D0 beq .L483 3129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); 6270 .loc 1 3129 5 is_stmt 1 view .LVU1836 3130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6271 .loc 1 3130 5 view .LVU1837 6272 0008 0268 ldr r2, [r0] 6273 000a 5368 ldr r3, [r2, #4] 6274 000c 23F40033 bic r3, r3, #131072 6275 0010 C16A ldr r1, [r0, #44] 6276 0012 0B43 orrs r3, r3, r1 6277 0014 5360 str r3, [r2, #4] 6278 .L483: 3134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6279 .loc 1 3134 3 view .LVU1838 3134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6280 .loc 1 3134 7 is_stmt 0 view .LVU1839 6281 0016 836A ldr r3, [r0, #40] 3134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6282 .loc 1 3134 6 view .LVU1840 6283 0018 13F0020F tst r3, #2 6284 001c 06D0 beq .L484 3136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); 6285 .loc 1 3136 5 is_stmt 1 view .LVU1841 3137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6286 .loc 1 3137 5 view .LVU1842 6287 001e 0268 ldr r2, [r0] 6288 0020 5368 ldr r3, [r2, #4] 6289 0022 23F48033 bic r3, r3, #65536 6290 0026 016B ldr r1, [r0, #48] 6291 0028 0B43 orrs r3, r3, r1 6292 002a 5360 str r3, [r2, #4] 6293 .L484: 3141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6294 .loc 1 3141 3 view .LVU1843 3141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6295 .loc 1 3141 7 is_stmt 0 view .LVU1844 6296 002c 836A ldr r3, [r0, #40] 3141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6297 .loc 1 3141 6 view .LVU1845 6298 002e 13F0040F tst r3, #4 6299 0032 06D0 beq .L485 3143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); 6300 .loc 1 3143 5 is_stmt 1 view .LVU1846 3144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6301 .loc 1 3144 5 view .LVU1847 6302 0034 0268 ldr r2, [r0] 6303 0036 5368 ldr r3, [r2, #4] 6304 0038 23F48023 bic r3, r3, #262144 6305 003c 416B ldr r1, [r0, #52] 6306 003e 0B43 orrs r3, r3, r1 6307 0040 5360 str r3, [r2, #4] 6308 .L485: 3148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6309 .loc 1 3148 3 view .LVU1848 ARM GAS /tmp/ccizsdzp.s page 212 3148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6310 .loc 1 3148 7 is_stmt 0 view .LVU1849 6311 0042 836A ldr r3, [r0, #40] 3148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6312 .loc 1 3148 6 view .LVU1850 6313 0044 13F0080F tst r3, #8 6314 0048 06D0 beq .L486 3150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); 6315 .loc 1 3150 5 is_stmt 1 view .LVU1851 3151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6316 .loc 1 3151 5 view .LVU1852 6317 004a 0268 ldr r2, [r0] 6318 004c 5368 ldr r3, [r2, #4] 6319 004e 23F40043 bic r3, r3, #32768 6320 0052 816B ldr r1, [r0, #56] 6321 0054 0B43 orrs r3, r3, r1 6322 0056 5360 str r3, [r2, #4] 6323 .L486: 3155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6324 .loc 1 3155 3 view .LVU1853 3155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6325 .loc 1 3155 7 is_stmt 0 view .LVU1854 6326 0058 836A ldr r3, [r0, #40] 3155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6327 .loc 1 3155 6 view .LVU1855 6328 005a 13F0100F tst r3, #16 6329 005e 06D0 beq .L487 3157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); 6330 .loc 1 3157 5 is_stmt 1 view .LVU1856 3158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6331 .loc 1 3158 5 view .LVU1857 6332 0060 0268 ldr r2, [r0] 6333 0062 9368 ldr r3, [r2, #8] 6334 0064 23F48053 bic r3, r3, #4096 6335 0068 C16B ldr r1, [r0, #60] 6336 006a 0B43 orrs r3, r3, r1 6337 006c 9360 str r3, [r2, #8] 6338 .L487: 3162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6339 .loc 1 3162 3 view .LVU1858 3162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6340 .loc 1 3162 7 is_stmt 0 view .LVU1859 6341 006e 836A ldr r3, [r0, #40] 3162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6342 .loc 1 3162 6 view .LVU1860 6343 0070 13F0200F tst r3, #32 6344 0074 06D0 beq .L488 3164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); 6345 .loc 1 3164 5 is_stmt 1 view .LVU1861 3165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6346 .loc 1 3165 5 view .LVU1862 6347 0076 0268 ldr r2, [r0] 6348 0078 9368 ldr r3, [r2, #8] 6349 007a 23F40053 bic r3, r3, #8192 6350 007e 016C ldr r1, [r0, #64] 6351 0080 0B43 orrs r3, r3, r1 6352 0082 9360 str r3, [r2, #8] ARM GAS /tmp/ccizsdzp.s page 213 6353 .L488: 3169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6354 .loc 1 3169 3 view .LVU1863 3169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6355 .loc 1 3169 7 is_stmt 0 view .LVU1864 6356 0084 836A ldr r3, [r0, #40] 3169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6357 .loc 1 3169 6 view .LVU1865 6358 0086 13F0400F tst r3, #64 6359 008a 0AD0 beq .L489 3171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); 6360 .loc 1 3171 5 is_stmt 1 view .LVU1866 3172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); 6361 .loc 1 3172 5 view .LVU1867 3173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */ 6362 .loc 1 3173 5 view .LVU1868 6363 008c 0268 ldr r2, [r0] 6364 008e 5368 ldr r3, [r2, #4] 6365 0090 23F48013 bic r3, r3, #1048576 6366 0094 416C ldr r1, [r0, #68] 6367 0096 0B43 orrs r3, r3, r1 6368 0098 5360 str r3, [r2, #4] 3175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6369 .loc 1 3175 5 view .LVU1869 3175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6370 .loc 1 3175 28 is_stmt 0 view .LVU1870 6371 009a 436C ldr r3, [r0, #68] 3175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6372 .loc 1 3175 8 view .LVU1871 6373 009c B3F5801F cmp r3, #1048576 6374 00a0 0BD0 beq .L491 6375 .L489: 3183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6376 .loc 1 3183 3 is_stmt 1 view .LVU1872 3183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6377 .loc 1 3183 7 is_stmt 0 view .LVU1873 6378 00a2 836A ldr r3, [r0, #40] 3183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6379 .loc 1 3183 6 view .LVU1874 6380 00a4 13F0800F tst r3, #128 6381 00a8 06D0 beq .L482 3185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); 6382 .loc 1 3185 5 is_stmt 1 view .LVU1875 3186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6383 .loc 1 3186 5 view .LVU1876 6384 00aa 0268 ldr r2, [r0] 6385 00ac 5368 ldr r3, [r2, #4] 6386 00ae 23F40023 bic r3, r3, #524288 6387 00b2 C16C ldr r1, [r0, #76] 6388 00b4 0B43 orrs r3, r3, r1 6389 00b6 5360 str r3, [r2, #4] 6390 .L482: 3188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6391 .loc 1 3188 1 is_stmt 0 view .LVU1877 6392 00b8 7047 bx lr 6393 .L491: 3177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); ARM GAS /tmp/ccizsdzp.s page 214 6394 .loc 1 3177 7 is_stmt 1 view .LVU1878 3178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6395 .loc 1 3178 7 view .LVU1879 6396 00ba 0268 ldr r2, [r0] 6397 00bc 5368 ldr r3, [r2, #4] 6398 00be 23F4C003 bic r3, r3, #6291456 6399 00c2 816C ldr r1, [r0, #72] 6400 00c4 0B43 orrs r3, r3, r1 6401 00c6 5360 str r3, [r2, #4] 6402 00c8 EBE7 b .L489 6403 .cfi_endproc 6404 .LFE184: 6406 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits 6407 .align 1 6408 .global UART_WaitOnFlagUntilTimeout 6409 .syntax unified 6410 .thumb 6411 .thumb_func 6412 .fpu fpv5-d16 6414 UART_WaitOnFlagUntilTimeout: 6415 .LVL474: 6416 .LFB186: 3247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Wait until flag is set */ 6417 .loc 1 3247 1 view -0 6418 .cfi_startproc 6419 @ args = 4, pretend = 0, frame = 0 6420 @ frame_needed = 0, uses_anonymous_args = 0 3247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Wait until flag is set */ 6421 .loc 1 3247 1 is_stmt 0 view .LVU1881 6422 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 6423 .LCFI38: 6424 .cfi_def_cfa_offset 32 6425 .cfi_offset 3, -32 6426 .cfi_offset 4, -28 6427 .cfi_offset 5, -24 6428 .cfi_offset 6, -20 6429 .cfi_offset 7, -16 6430 .cfi_offset 8, -12 6431 .cfi_offset 9, -8 6432 .cfi_offset 14, -4 6433 0004 0546 mov r5, r0 6434 0006 0F46 mov r7, r1 6435 0008 1646 mov r6, r2 6436 000a 9946 mov r9, r3 6437 000c DDF82080 ldr r8, [sp, #32] 3249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6438 .loc 1 3249 3 is_stmt 1 view .LVU1882 6439 .LVL475: 6440 .L494: 3249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6441 .loc 1 3249 9 view .LVU1883 3249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6442 .loc 1 3249 11 is_stmt 0 view .LVU1884 6443 0010 2C68 ldr r4, [r5] 6444 0012 E469 ldr r4, [r4, #28] 3249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6445 .loc 1 3249 50 view .LVU1885 ARM GAS /tmp/ccizsdzp.s page 215 6446 0014 37EA0403 bics r3, r7, r4 6447 0018 0CBF ite eq 6448 001a 4FF0010C moveq ip, #1 6449 001e 4FF0000C movne ip, #0 3249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6450 .loc 1 3249 9 view .LVU1886 6451 0022 B445 cmp ip, r6 6452 0024 41D1 bne .L500 3252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6453 .loc 1 3252 5 is_stmt 1 view .LVU1887 3252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6454 .loc 1 3252 8 is_stmt 0 view .LVU1888 6455 0026 B8F1FF3F cmp r8, #-1 6456 002a F1D0 beq .L494 3254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6457 .loc 1 3254 7 is_stmt 1 view .LVU1889 3254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6458 .loc 1 3254 13 is_stmt 0 view .LVU1890 6459 002c FFF7FEFF bl HAL_GetTick 6460 .LVL476: 3254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6461 .loc 1 3254 27 view .LVU1891 6462 0030 A0EB0900 sub r0, r0, r9 3254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6463 .loc 1 3254 10 view .LVU1892 6464 0034 4045 cmp r0, r8 6465 0036 24D8 bhi .L495 3254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6466 .loc 1 3254 51 discriminator 1 view .LVU1893 6467 0038 B8F1000F cmp r8, #0 6468 003c 21D0 beq .L495 3268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6469 .loc 1 3268 7 is_stmt 1 view .LVU1894 3268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6470 .loc 1 3268 11 is_stmt 0 view .LVU1895 6471 003e 2B68 ldr r3, [r5] 6472 0040 1A68 ldr r2, [r3] 3268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6473 .loc 1 3268 10 view .LVU1896 6474 0042 12F0040F tst r2, #4 6475 0046 E3D0 beq .L494 3270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6476 .loc 1 3270 9 is_stmt 1 view .LVU1897 3270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6477 .loc 1 3270 13 is_stmt 0 view .LVU1898 6478 0048 DA69 ldr r2, [r3, #28] 3270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6479 .loc 1 3270 12 view .LVU1899 6480 004a 12F4006F tst r2, #2048 6481 004e DFD0 beq .L494 3273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6482 .loc 1 3273 11 is_stmt 1 view .LVU1900 6483 0050 4FF40062 mov r2, #2048 6484 0054 1A62 str r2, [r3, #32] 3276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6485 .loc 1 3276 11 view .LVU1901 6486 0056 2A68 ldr r2, [r5] ARM GAS /tmp/ccizsdzp.s page 216 6487 0058 1368 ldr r3, [r2] 6488 005a 23F4D073 bic r3, r3, #416 6489 005e 1360 str r3, [r2] 3277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6490 .loc 1 3277 11 view .LVU1902 6491 0060 2A68 ldr r2, [r5] 6492 0062 9368 ldr r3, [r2, #8] 6493 0064 23F00103 bic r3, r3, #1 6494 0068 9360 str r3, [r2, #8] 3279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 6495 .loc 1 3279 11 view .LVU1903 3279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 6496 .loc 1 3279 25 is_stmt 0 view .LVU1904 6497 006a 2023 movs r3, #32 6498 006c C5F88030 str r3, [r5, #128] 3280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 6499 .loc 1 3280 11 is_stmt 1 view .LVU1905 3280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO; 6500 .loc 1 3280 26 is_stmt 0 view .LVU1906 6501 0070 C5F88430 str r3, [r5, #132] 3281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6502 .loc 1 3281 11 is_stmt 1 view .LVU1907 3281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6503 .loc 1 3281 28 is_stmt 0 view .LVU1908 6504 0074 C5F88830 str r3, [r5, #136] 3284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6505 .loc 1 3284 11 is_stmt 1 view .LVU1909 3284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6506 .loc 1 3284 11 view .LVU1910 6507 0078 0023 movs r3, #0 6508 007a 85F87C30 strb r3, [r5, #124] 3284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6509 .loc 1 3284 11 view .LVU1911 3286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6510 .loc 1 3286 11 view .LVU1912 3286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6511 .loc 1 3286 18 is_stmt 0 view .LVU1913 6512 007e 0320 movs r0, #3 6513 0080 14E0 b .L497 6514 .L495: 3257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 6515 .loc 1 3257 9 is_stmt 1 view .LVU1914 6516 0082 2A68 ldr r2, [r5] 6517 0084 1368 ldr r3, [r2] 6518 0086 23F4D073 bic r3, r3, #416 6519 008a 1360 str r3, [r2] 3258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6520 .loc 1 3258 9 view .LVU1915 6521 008c 2A68 ldr r2, [r5] 6522 008e 9368 ldr r3, [r2, #8] 6523 0090 23F00103 bic r3, r3, #1 6524 0094 9360 str r3, [r2, #8] 3260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 6525 .loc 1 3260 9 view .LVU1916 3260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 6526 .loc 1 3260 23 is_stmt 0 view .LVU1917 6527 0096 2023 movs r3, #32 ARM GAS /tmp/ccizsdzp.s page 217 6528 0098 C5F88030 str r3, [r5, #128] 3261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6529 .loc 1 3261 9 is_stmt 1 view .LVU1918 3261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6530 .loc 1 3261 24 is_stmt 0 view .LVU1919 6531 009c C5F88430 str r3, [r5, #132] 3263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6532 .loc 1 3263 9 is_stmt 1 view .LVU1920 3263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6533 .loc 1 3263 9 view .LVU1921 6534 00a0 0023 movs r3, #0 6535 00a2 85F87C30 strb r3, [r5, #124] 3263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6536 .loc 1 3263 9 view .LVU1922 3265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6537 .loc 1 3265 9 view .LVU1923 3265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6538 .loc 1 3265 16 is_stmt 0 view .LVU1924 6539 00a6 0320 movs r0, #3 6540 00a8 00E0 b .L497 6541 .L500: 3291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6542 .loc 1 3291 10 view .LVU1925 6543 00aa 0020 movs r0, #0 6544 .L497: 3292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6545 .loc 1 3292 1 view .LVU1926 6546 00ac BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 3292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6547 .loc 1 3292 1 view .LVU1927 6548 .cfi_endproc 6549 .LFE186: 6551 .section .text.HAL_UART_Transmit,"ax",%progbits 6552 .align 1 6553 .global HAL_UART_Transmit 6554 .syntax unified 6555 .thumb 6556 .thumb_func 6557 .fpu fpv5-d16 6559 HAL_UART_Transmit: 6560 .LVL477: 6561 .LFB148: 1034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint8_t *pdata8bits; 6562 .loc 1 1034 1 is_stmt 1 view -0 6563 .cfi_startproc 6564 @ args = 0, pretend = 0, frame = 0 6565 @ frame_needed = 0, uses_anonymous_args = 0 1034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint8_t *pdata8bits; 6566 .loc 1 1034 1 is_stmt 0 view .LVU1929 6567 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 6568 .LCFI39: 6569 .cfi_def_cfa_offset 24 6570 .cfi_offset 4, -24 6571 .cfi_offset 5, -20 6572 .cfi_offset 6, -16 6573 .cfi_offset 7, -12 6574 .cfi_offset 8, -8 ARM GAS /tmp/ccizsdzp.s page 218 6575 .cfi_offset 14, -4 6576 0004 82B0 sub sp, sp, #8 6577 .LCFI40: 6578 .cfi_def_cfa_offset 32 6579 0006 1E46 mov r6, r3 1035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t *pdata16bits; 6580 .loc 1 1035 3 is_stmt 1 view .LVU1930 1036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t tickstart; 6581 .loc 1 1036 3 view .LVU1931 1037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6582 .loc 1 1037 3 view .LVU1932 1040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6583 .loc 1 1040 3 view .LVU1933 1040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6584 .loc 1 1040 12 is_stmt 0 view .LVU1934 6585 0008 D0F88030 ldr r3, [r0, #128] 6586 .LVL478: 1040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6587 .loc 1 1040 6 view .LVU1935 6588 000c 202B cmp r3, #32 6589 000e 58D1 bne .L508 6590 0010 0446 mov r4, r0 6591 0012 0D46 mov r5, r1 6592 0014 9046 mov r8, r2 1042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6593 .loc 1 1042 5 is_stmt 1 view .LVU1936 1042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6594 .loc 1 1042 8 is_stmt 0 view .LVU1937 6595 0016 002A cmp r2, #0 6596 0018 18BF it ne 6597 001a 0029 cmpne r1, #0 6598 001c 55D0 beq .L509 1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6599 .loc 1 1047 5 is_stmt 1 view .LVU1938 1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6600 .loc 1 1047 5 view .LVU1939 6601 001e 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 6602 0022 012B cmp r3, #1 6603 0024 53D0 beq .L510 1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6604 .loc 1 1047 5 discriminator 2 view .LVU1940 6605 0026 0123 movs r3, #1 6606 0028 80F87C30 strb r3, [r0, #124] 1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6607 .loc 1 1047 5 discriminator 2 view .LVU1941 1049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 6608 .loc 1 1049 5 discriminator 2 view .LVU1942 1049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX; 6609 .loc 1 1049 22 is_stmt 0 discriminator 2 view .LVU1943 6610 002c 0023 movs r3, #0 6611 002e C0F88830 str r3, [r0, #136] 1050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6612 .loc 1 1050 5 is_stmt 1 discriminator 2 view .LVU1944 1050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6613 .loc 1 1050 19 is_stmt 0 discriminator 2 view .LVU1945 6614 0032 2123 movs r3, #33 6615 0034 C0F88030 str r3, [r0, #128] ARM GAS /tmp/ccizsdzp.s page 219 1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6616 .loc 1 1053 5 is_stmt 1 discriminator 2 view .LVU1946 1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6617 .loc 1 1053 17 is_stmt 0 discriminator 2 view .LVU1947 6618 0038 FFF7FEFF bl HAL_GetTick 6619 .LVL479: 1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6620 .loc 1 1053 17 discriminator 2 view .LVU1948 6621 003c 0746 mov r7, r0 6622 .LVL480: 1055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = Size; 6623 .loc 1 1055 5 is_stmt 1 discriminator 2 view .LVU1949 1055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->TxXferCount = Size; 6624 .loc 1 1055 24 is_stmt 0 discriminator 2 view .LVU1950 6625 003e A4F85480 strh r8, [r4, #84] @ movhi 1056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6626 .loc 1 1056 5 is_stmt 1 discriminator 2 view .LVU1951 1056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6627 .loc 1 1056 24 is_stmt 0 discriminator 2 view .LVU1952 6628 0042 A4F85680 strh r8, [r4, #86] @ movhi 1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6629 .loc 1 1059 5 is_stmt 1 discriminator 2 view .LVU1953 1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6630 .loc 1 1059 21 is_stmt 0 discriminator 2 view .LVU1954 6631 0046 A368 ldr r3, [r4, #8] 1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6632 .loc 1 1059 8 discriminator 2 view .LVU1955 6633 0048 B3F5805F cmp r3, #4096 6634 004c 05D0 beq .L516 1067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6635 .loc 1 1067 19 view .LVU1956 6636 004e 4FF00008 mov r8, #0 6637 .LVL481: 6638 .L503: 1070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6639 .loc 1 1070 5 is_stmt 1 view .LVU1957 1070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6640 .loc 1 1070 5 view .LVU1958 6641 0052 0023 movs r3, #0 6642 0054 84F87C30 strb r3, [r4, #124] 1070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6643 .loc 1 1070 5 view .LVU1959 1072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6644 .loc 1 1072 5 view .LVU1960 1072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6645 .loc 1 1072 11 is_stmt 0 view .LVU1961 6646 0058 12E0 b .L504 6647 .LVL482: 6648 .L516: 1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6649 .loc 1 1059 71 discriminator 1 view .LVU1962 6650 005a 2369 ldr r3, [r4, #16] 1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6651 .loc 1 1059 56 discriminator 1 view .LVU1963 6652 005c 13B1 cbz r3, .L512 1067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6653 .loc 1 1067 19 view .LVU1964 ARM GAS /tmp/ccizsdzp.s page 220 6654 005e 4FF00008 mov r8, #0 6655 0062 F6E7 b .L503 6656 .L512: 1062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6657 .loc 1 1062 19 view .LVU1965 6658 0064 A846 mov r8, r5 1061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 6659 .loc 1 1061 19 view .LVU1966 6660 0066 0025 movs r5, #0 6661 .LVL483: 1061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 6662 .loc 1 1061 19 view .LVU1967 6663 0068 F3E7 b .L503 6664 .LVL484: 6665 .L505: 1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 6666 .loc 1 1085 9 is_stmt 1 view .LVU1968 1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 6667 .loc 1 1085 42 is_stmt 0 view .LVU1969 6668 006a 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2 6669 .LVL485: 1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 6670 .loc 1 1085 14 view .LVU1970 6671 006e 2368 ldr r3, [r4] 1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 6672 .loc 1 1085 30 view .LVU1971 6673 0070 9A62 str r2, [r3, #40] 1086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6674 .loc 1 1086 9 is_stmt 1 view .LVU1972 6675 .LVL486: 6676 .L506: 1088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6677 .loc 1 1088 7 view .LVU1973 1088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6678 .loc 1 1088 12 is_stmt 0 view .LVU1974 6679 0072 B4F85620 ldrh r2, [r4, #86] 6680 0076 92B2 uxth r2, r2 1088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6681 .loc 1 1088 25 view .LVU1975 6682 0078 013A subs r2, r2, #1 6683 007a 92B2 uxth r2, r2 6684 007c A4F85620 strh r2, [r4, #86] @ movhi 6685 .L504: 1072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6686 .loc 1 1072 11 is_stmt 1 view .LVU1976 1072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6687 .loc 1 1072 17 is_stmt 0 view .LVU1977 6688 0080 B4F85630 ldrh r3, [r4, #86] 6689 0084 9BB2 uxth r3, r3 1072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6690 .loc 1 1072 11 view .LVU1978 6691 0086 83B1 cbz r3, .L517 1074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6692 .loc 1 1074 7 is_stmt 1 view .LVU1979 1074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6693 .loc 1 1074 11 is_stmt 0 view .LVU1980 6694 0088 0096 str r6, [sp] ARM GAS /tmp/ccizsdzp.s page 221 6695 008a 3B46 mov r3, r7 6696 008c 0022 movs r2, #0 6697 008e 8021 movs r1, #128 6698 0090 2046 mov r0, r4 6699 0092 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 6700 .LVL487: 1074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6701 .loc 1 1074 10 view .LVU1981 6702 0096 E0B9 cbnz r0, .L513 1078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6703 .loc 1 1078 7 is_stmt 1 view .LVU1982 1078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6704 .loc 1 1078 10 is_stmt 0 view .LVU1983 6705 0098 002D cmp r5, #0 6706 009a E6D1 bne .L505 1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 6707 .loc 1 1080 9 is_stmt 1 view .LVU1984 1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 6708 .loc 1 1080 43 is_stmt 0 view .LVU1985 6709 009c 38F8023B ldrh r3, [r8], #2 6710 .LVL488: 1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 6711 .loc 1 1080 14 view .LVU1986 6712 00a0 2268 ldr r2, [r4] 1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 6713 .loc 1 1080 32 view .LVU1987 6714 00a2 C3F30803 ubfx r3, r3, #0, #9 1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 6715 .loc 1 1080 30 view .LVU1988 6716 00a6 9362 str r3, [r2, #40] 1081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6717 .loc 1 1081 9 is_stmt 1 view .LVU1989 6718 .LVL489: 1081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6719 .loc 1 1081 9 is_stmt 0 view .LVU1990 6720 00a8 E3E7 b .L506 6721 .L517: 1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6722 .loc 1 1091 5 is_stmt 1 view .LVU1991 1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6723 .loc 1 1091 9 is_stmt 0 view .LVU1992 6724 00aa 0096 str r6, [sp] 6725 00ac 3B46 mov r3, r7 6726 00ae 0022 movs r2, #0 6727 00b0 4021 movs r1, #64 6728 00b2 2046 mov r0, r4 6729 00b4 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 6730 .LVL490: 1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6731 .loc 1 1091 8 view .LVU1993 6732 00b8 68B9 cbnz r0, .L514 1097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6733 .loc 1 1097 5 is_stmt 1 view .LVU1994 1097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6734 .loc 1 1097 19 is_stmt 0 view .LVU1995 6735 00ba 2023 movs r3, #32 6736 00bc C4F88030 str r3, [r4, #128] ARM GAS /tmp/ccizsdzp.s page 222 1099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6737 .loc 1 1099 5 is_stmt 1 view .LVU1996 1099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6738 .loc 1 1099 12 is_stmt 0 view .LVU1997 6739 00c0 00E0 b .L502 6740 .LVL491: 6741 .L508: 1103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6742 .loc 1 1103 12 view .LVU1998 6743 00c2 0220 movs r0, #2 6744 .LVL492: 6745 .L502: 1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6746 .loc 1 1105 1 view .LVU1999 6747 00c4 02B0 add sp, sp, #8 6748 .LCFI41: 6749 .cfi_remember_state 6750 .cfi_def_cfa_offset 24 6751 @ sp needed 6752 00c6 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 6753 .LVL493: 6754 .L509: 6755 .LCFI42: 6756 .cfi_restore_state 1044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6757 .loc 1 1044 15 view .LVU2000 6758 00ca 0120 movs r0, #1 6759 .LVL494: 1044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6760 .loc 1 1044 15 view .LVU2001 6761 00cc FAE7 b .L502 6762 .LVL495: 6763 .L510: 1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6764 .loc 1 1047 5 view .LVU2002 6765 00ce 0220 movs r0, #2 6766 .LVL496: 1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6767 .loc 1 1047 5 view .LVU2003 6768 00d0 F8E7 b .L502 6769 .LVL497: 6770 .L513: 1076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6771 .loc 1 1076 16 view .LVU2004 6772 00d2 0320 movs r0, #3 6773 00d4 F6E7 b .L502 6774 .L514: 1093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6775 .loc 1 1093 14 view .LVU2005 6776 00d6 0320 movs r0, #3 6777 00d8 F4E7 b .L502 6778 .cfi_endproc 6779 .LFE148: 6781 .section .text.HAL_UART_Receive,"ax",%progbits 6782 .align 1 6783 .global HAL_UART_Receive 6784 .syntax unified ARM GAS /tmp/ccizsdzp.s page 223 6785 .thumb 6786 .thumb_func 6787 .fpu fpv5-d16 6789 HAL_UART_Receive: 6790 .LVL498: 6791 .LFB149: 1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint8_t *pdata8bits; 6792 .loc 1 1123 1 is_stmt 1 view -0 6793 .cfi_startproc 6794 @ args = 0, pretend = 0, frame = 0 6795 @ frame_needed = 0, uses_anonymous_args = 0 1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint8_t *pdata8bits; 6796 .loc 1 1123 1 is_stmt 0 view .LVU2007 6797 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 6798 .LCFI43: 6799 .cfi_def_cfa_offset 28 6800 .cfi_offset 4, -28 6801 .cfi_offset 5, -24 6802 .cfi_offset 6, -20 6803 .cfi_offset 7, -16 6804 .cfi_offset 8, -12 6805 .cfi_offset 9, -8 6806 .cfi_offset 14, -4 6807 0004 83B0 sub sp, sp, #12 6808 .LCFI44: 6809 .cfi_def_cfa_offset 40 6810 0006 1E46 mov r6, r3 1124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t *pdata16bits; 6811 .loc 1 1124 3 is_stmt 1 view .LVU2008 1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint16_t uhMask; 6812 .loc 1 1125 3 view .LVU2009 1126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t tickstart; 6813 .loc 1 1126 3 view .LVU2010 1127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6814 .loc 1 1127 3 view .LVU2011 1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6815 .loc 1 1130 3 view .LVU2012 1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6816 .loc 1 1130 12 is_stmt 0 view .LVU2013 6817 0008 D0F88430 ldr r3, [r0, #132] 6818 .LVL499: 1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6819 .loc 1 1130 6 view .LVU2014 6820 000c 202B cmp r3, #32 6821 000e 7FD1 bne .L532 6822 0010 0446 mov r4, r0 6823 0012 0D46 mov r5, r1 6824 0014 9046 mov r8, r2 1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6825 .loc 1 1132 5 is_stmt 1 view .LVU2015 1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6826 .loc 1 1132 8 is_stmt 0 view .LVU2016 6827 0016 002A cmp r2, #0 6828 0018 18BF it ne 6829 001a 0029 cmpne r1, #0 6830 001c 7CD0 beq .L533 1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 224 6831 .loc 1 1137 5 is_stmt 1 view .LVU2017 1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6832 .loc 1 1137 5 view .LVU2018 6833 001e 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 6834 0022 012B cmp r3, #1 6835 0024 7AD0 beq .L534 1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6836 .loc 1 1137 5 discriminator 2 view .LVU2019 6837 0026 0123 movs r3, #1 6838 0028 80F87C30 strb r3, [r0, #124] 1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6839 .loc 1 1137 5 discriminator 2 view .LVU2020 1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 6840 .loc 1 1139 5 discriminator 2 view .LVU2021 1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX; 6841 .loc 1 1139 22 is_stmt 0 discriminator 2 view .LVU2022 6842 002c 0023 movs r3, #0 6843 002e C0F88830 str r3, [r0, #136] 1140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6844 .loc 1 1140 5 is_stmt 1 discriminator 2 view .LVU2023 1140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6845 .loc 1 1140 20 is_stmt 0 discriminator 2 view .LVU2024 6846 0032 2223 movs r3, #34 6847 0034 C0F88430 str r3, [r0, #132] 1143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6848 .loc 1 1143 5 is_stmt 1 discriminator 2 view .LVU2025 1143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6849 .loc 1 1143 17 is_stmt 0 discriminator 2 view .LVU2026 6850 0038 FFF7FEFF bl HAL_GetTick 6851 .LVL500: 1143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6852 .loc 1 1143 17 discriminator 2 view .LVU2027 6853 003c 0746 mov r7, r0 6854 .LVL501: 1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = Size; 6855 .loc 1 1145 5 is_stmt 1 discriminator 2 view .LVU2028 1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxXferCount = Size; 6856 .loc 1 1145 24 is_stmt 0 discriminator 2 view .LVU2029 6857 003e A4F85C80 strh r8, [r4, #92] @ movhi 1146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6858 .loc 1 1146 5 is_stmt 1 discriminator 2 view .LVU2030 1146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6859 .loc 1 1146 24 is_stmt 0 discriminator 2 view .LVU2031 6860 0042 A4F85E80 strh r8, [r4, #94] @ movhi 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6861 .loc 1 1149 5 is_stmt 1 discriminator 2 view .LVU2032 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6862 .loc 1 1149 5 discriminator 2 view .LVU2033 6863 0046 A368 ldr r3, [r4, #8] 6864 0048 B3F5805F cmp r3, #4096 6865 004c 06D0 beq .L539 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6866 .loc 1 1149 5 discriminator 2 view .LVU2034 6867 004e A3B9 cbnz r3, .L523 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6868 .loc 1 1149 5 discriminator 5 view .LVU2035 6869 0050 2269 ldr r2, [r4, #16] ARM GAS /tmp/ccizsdzp.s page 225 6870 0052 72B9 cbnz r2, .L524 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6871 .loc 1 1149 5 discriminator 7 view .LVU2036 6872 0054 FF22 movs r2, #255 6873 0056 A4F86020 strh r2, [r4, #96] @ movhi 6874 005a 14E0 b .L522 6875 .L539: 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6876 .loc 1 1149 5 discriminator 1 view .LVU2037 6877 005c 2269 ldr r2, [r4, #16] 6878 005e 22B9 cbnz r2, .L521 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6879 .loc 1 1149 5 discriminator 3 view .LVU2038 6880 0060 40F2FF12 movw r2, #511 6881 0064 A4F86020 strh r2, [r4, #96] @ movhi 6882 0068 0DE0 b .L522 6883 .L521: 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6884 .loc 1 1149 5 discriminator 4 view .LVU2039 6885 006a FF22 movs r2, #255 6886 006c A4F86020 strh r2, [r4, #96] @ movhi 6887 0070 09E0 b .L522 6888 .L524: 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6889 .loc 1 1149 5 discriminator 8 view .LVU2040 6890 0072 7F22 movs r2, #127 6891 0074 A4F86020 strh r2, [r4, #96] @ movhi 6892 0078 05E0 b .L522 6893 .L523: 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6894 .loc 1 1149 5 discriminator 6 view .LVU2041 6895 007a B3F1805F cmp r3, #268435456 6896 007e 0DD0 beq .L540 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6897 .loc 1 1149 5 discriminator 10 view .LVU2042 6898 0080 0022 movs r2, #0 6899 0082 A4F86020 strh r2, [r4, #96] @ movhi 6900 .L522: 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6901 .loc 1 1149 5 discriminator 13 view .LVU2043 1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6902 .loc 1 1150 5 discriminator 13 view .LVU2044 1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6903 .loc 1 1150 12 is_stmt 0 discriminator 13 view .LVU2045 6904 0086 B4F86080 ldrh r8, [r4, #96] 6905 .LVL502: 1153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6906 .loc 1 1153 5 is_stmt 1 discriminator 13 view .LVU2046 1153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6907 .loc 1 1153 8 is_stmt 0 discriminator 13 view .LVU2047 6908 008a B3F5805F cmp r3, #4096 6909 008e 0FD0 beq .L541 1161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6910 .loc 1 1161 19 view .LVU2048 6911 0090 4FF00009 mov r9, #0 6912 .LVL503: 6913 .L527: ARM GAS /tmp/ccizsdzp.s page 226 1164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6914 .loc 1 1164 5 is_stmt 1 view .LVU2049 1164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6915 .loc 1 1164 5 view .LVU2050 6916 0094 0023 movs r3, #0 6917 0096 84F87C30 strb r3, [r4, #124] 1164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 6918 .loc 1 1164 5 view .LVU2051 1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6919 .loc 1 1167 5 view .LVU2052 1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6920 .loc 1 1167 11 is_stmt 0 view .LVU2053 6921 009a 1EE0 b .L528 6922 .LVL504: 6923 .L540: 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6924 .loc 1 1149 5 is_stmt 1 discriminator 9 view .LVU2054 6925 009c 2269 ldr r2, [r4, #16] 6926 009e 1AB9 cbnz r2, .L526 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6927 .loc 1 1149 5 discriminator 11 view .LVU2055 6928 00a0 7F22 movs r2, #127 6929 00a2 A4F86020 strh r2, [r4, #96] @ movhi 6930 00a6 EEE7 b .L522 6931 .L526: 1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uhMask = huart->Mask; 6932 .loc 1 1149 5 discriminator 12 view .LVU2056 6933 00a8 3F22 movs r2, #63 6934 00aa A4F86020 strh r2, [r4, #96] @ movhi 6935 00ae EAE7 b .L522 6936 .LVL505: 6937 .L541: 1153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6938 .loc 1 1153 71 is_stmt 0 discriminator 1 view .LVU2057 6939 00b0 2369 ldr r3, [r4, #16] 1153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6940 .loc 1 1153 56 discriminator 1 view .LVU2058 6941 00b2 13B1 cbz r3, .L536 1161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6942 .loc 1 1161 19 view .LVU2059 6943 00b4 4FF00009 mov r9, #0 6944 00b8 ECE7 b .L527 6945 .L536: 1156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6946 .loc 1 1156 19 view .LVU2060 6947 00ba A946 mov r9, r5 1155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 6948 .loc 1 1155 19 view .LVU2061 6949 00bc 0025 movs r5, #0 6950 .LVL506: 1155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData; 6951 .loc 1 1155 19 view .LVU2062 6952 00be E9E7 b .L527 6953 .LVL507: 6954 .L543: 1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 6955 .loc 1 1175 9 is_stmt 1 view .LVU2063 ARM GAS /tmp/ccizsdzp.s page 227 1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 6956 .loc 1 1175 40 is_stmt 0 view .LVU2064 6957 00c0 2368 ldr r3, [r4] 1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 6958 .loc 1 1175 50 view .LVU2065 6959 00c2 5B6A ldr r3, [r3, #36] 1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 6960 .loc 1 1175 24 view .LVU2066 6961 00c4 08EA0303 and r3, r8, r3 1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata16bits++; 6962 .loc 1 1175 22 view .LVU2067 6963 00c8 29F8023B strh r3, [r9], #2 @ movhi 6964 .LVL508: 1176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6965 .loc 1 1176 9 is_stmt 1 view .LVU2068 6966 .L530: 1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6967 .loc 1 1183 7 view .LVU2069 1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6968 .loc 1 1183 12 is_stmt 0 view .LVU2070 6969 00cc B4F85E20 ldrh r2, [r4, #94] 6970 00d0 92B2 uxth r2, r2 1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 6971 .loc 1 1183 25 view .LVU2071 6972 00d2 013A subs r2, r2, #1 6973 00d4 92B2 uxth r2, r2 6974 00d6 A4F85E20 strh r2, [r4, #94] @ movhi 6975 .L528: 1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6976 .loc 1 1167 11 is_stmt 1 view .LVU2072 1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6977 .loc 1 1167 17 is_stmt 0 view .LVU2073 6978 00da B4F85E30 ldrh r3, [r4, #94] 6979 00de 9BB2 uxth r3, r3 1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6980 .loc 1 1167 11 view .LVU2074 6981 00e0 8BB1 cbz r3, .L542 1169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6982 .loc 1 1169 7 is_stmt 1 view .LVU2075 1169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6983 .loc 1 1169 11 is_stmt 0 view .LVU2076 6984 00e2 0096 str r6, [sp] 6985 00e4 3B46 mov r3, r7 6986 00e6 0022 movs r2, #0 6987 00e8 2021 movs r1, #32 6988 00ea 2046 mov r0, r4 6989 00ec FFF7FEFF bl UART_WaitOnFlagUntilTimeout 6990 .LVL509: 1169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6991 .loc 1 1169 10 view .LVU2077 6992 00f0 B0B9 cbnz r0, .L537 1173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6993 .loc 1 1173 7 is_stmt 1 view .LVU2078 1173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 6994 .loc 1 1173 10 is_stmt 0 view .LVU2079 6995 00f2 002D cmp r5, #0 6996 00f4 E4D0 beq .L543 ARM GAS /tmp/ccizsdzp.s page 228 1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 6997 .loc 1 1180 9 is_stmt 1 view .LVU2080 1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 6998 .loc 1 1180 38 is_stmt 0 view .LVU2081 6999 00f6 2368 ldr r3, [r4] 1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 7000 .loc 1 1180 48 view .LVU2082 7001 00f8 5A6A ldr r2, [r3, #36] 1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 7002 .loc 1 1180 56 view .LVU2083 7003 00fa 5FFA88F3 uxtb r3, r8 1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 7004 .loc 1 1180 23 view .LVU2084 7005 00fe 1340 ands r3, r3, r2 1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** pdata8bits++; 7006 .loc 1 1180 21 view .LVU2085 7007 0100 05F8013B strb r3, [r5], #1 7008 .LVL510: 1181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7009 .loc 1 1181 9 is_stmt 1 view .LVU2086 1181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7010 .loc 1 1181 9 is_stmt 0 view .LVU2087 7011 0104 E2E7 b .L530 7012 .L542: 1187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7013 .loc 1 1187 5 is_stmt 1 view .LVU2088 1187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7014 .loc 1 1187 20 is_stmt 0 view .LVU2089 7015 0106 2023 movs r3, #32 7016 0108 C4F88430 str r3, [r4, #132] 1189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7017 .loc 1 1189 5 is_stmt 1 view .LVU2090 1189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7018 .loc 1 1189 12 is_stmt 0 view .LVU2091 7019 010c 0020 movs r0, #0 7020 010e 00E0 b .L519 7021 .LVL511: 7022 .L532: 1193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7023 .loc 1 1193 12 view .LVU2092 7024 0110 0220 movs r0, #2 7025 .LVL512: 7026 .L519: 1195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7027 .loc 1 1195 1 view .LVU2093 7028 0112 03B0 add sp, sp, #12 7029 .LCFI45: 7030 .cfi_remember_state 7031 .cfi_def_cfa_offset 28 7032 @ sp needed 7033 0114 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 7034 .LVL513: 7035 .L533: 7036 .LCFI46: 7037 .cfi_restore_state 1134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7038 .loc 1 1134 15 view .LVU2094 ARM GAS /tmp/ccizsdzp.s page 229 7039 0118 0120 movs r0, #1 7040 .LVL514: 1134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7041 .loc 1 1134 15 view .LVU2095 7042 011a FAE7 b .L519 7043 .LVL515: 7044 .L534: 1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7045 .loc 1 1137 5 view .LVU2096 7046 011c 0220 movs r0, #2 7047 .LVL516: 1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7048 .loc 1 1137 5 view .LVU2097 7049 011e F8E7 b .L519 7050 .LVL517: 7051 .L537: 1171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7052 .loc 1 1171 16 view .LVU2098 7053 0120 0320 movs r0, #3 7054 0122 F6E7 b .L519 7055 .cfi_endproc 7056 .LFE149: 7058 .section .text.UART_CheckIdleState,"ax",%progbits 7059 .align 1 7060 .global UART_CheckIdleState 7061 .syntax unified 7062 .thumb 7063 .thumb_func 7064 .fpu fpv5-d16 7066 UART_CheckIdleState: 7067 .LVL518: 7068 .LFB185: 3196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t tickstart; 7069 .loc 1 3196 1 is_stmt 1 view -0 7070 .cfi_startproc 7071 @ args = 0, pretend = 0, frame = 0 7072 @ frame_needed = 0, uses_anonymous_args = 0 3196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** uint32_t tickstart; 7073 .loc 1 3196 1 is_stmt 0 view .LVU2100 7074 0000 30B5 push {r4, r5, lr} 7075 .LCFI47: 7076 .cfi_def_cfa_offset 12 7077 .cfi_offset 4, -12 7078 .cfi_offset 5, -8 7079 .cfi_offset 14, -4 7080 0002 83B0 sub sp, sp, #12 7081 .LCFI48: 7082 .cfi_def_cfa_offset 24 7083 0004 0446 mov r4, r0 3197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7084 .loc 1 3197 3 is_stmt 1 view .LVU2101 3200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7085 .loc 1 3200 3 view .LVU2102 3200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7086 .loc 1 3200 20 is_stmt 0 view .LVU2103 7087 0006 0023 movs r3, #0 7088 0008 C0F88830 str r3, [r0, #136] ARM GAS /tmp/ccizsdzp.s page 230 3203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7089 .loc 1 3203 3 is_stmt 1 view .LVU2104 3203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7090 .loc 1 3203 15 is_stmt 0 view .LVU2105 7091 000c FFF7FEFF bl HAL_GetTick 7092 .LVL519: 3203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7093 .loc 1 3203 15 view .LVU2106 7094 0010 0546 mov r5, r0 7095 .LVL520: 3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7096 .loc 1 3206 3 is_stmt 1 view .LVU2107 3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7097 .loc 1 3206 13 is_stmt 0 view .LVU2108 7098 0012 2268 ldr r2, [r4] 3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7099 .loc 1 3206 23 view .LVU2109 7100 0014 1268 ldr r2, [r2] 3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7101 .loc 1 3206 6 view .LVU2110 7102 0016 12F0080F tst r2, #8 7103 001a 0ED1 bne .L551 7104 .LVL521: 7105 .L545: 3217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7106 .loc 1 3217 3 is_stmt 1 view .LVU2111 3217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7107 .loc 1 3217 13 is_stmt 0 view .LVU2112 7108 001c 2368 ldr r3, [r4] 3217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7109 .loc 1 3217 23 view .LVU2113 7110 001e 1B68 ldr r3, [r3] 3217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7111 .loc 1 3217 6 view .LVU2114 7112 0020 13F0040F tst r3, #4 7113 0024 17D1 bne .L552 7114 .L547: 3228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 7115 .loc 1 3228 3 is_stmt 1 view .LVU2115 3228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY; 7116 .loc 1 3228 17 is_stmt 0 view .LVU2116 7117 0026 2023 movs r3, #32 7118 0028 C4F88030 str r3, [r4, #128] 3229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7119 .loc 1 3229 3 is_stmt 1 view .LVU2117 3229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7120 .loc 1 3229 18 is_stmt 0 view .LVU2118 7121 002c C4F88430 str r3, [r4, #132] 3231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7122 .loc 1 3231 3 is_stmt 1 view .LVU2119 3231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7123 .loc 1 3231 3 view .LVU2120 7124 0030 0020 movs r0, #0 7125 0032 84F87C00 strb r0, [r4, #124] 3231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7126 .loc 1 3231 3 view .LVU2121 3233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } ARM GAS /tmp/ccizsdzp.s page 231 7127 .loc 1 3233 3 view .LVU2122 7128 .L546: 3234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7129 .loc 1 3234 1 is_stmt 0 view .LVU2123 7130 0036 03B0 add sp, sp, #12 7131 .LCFI49: 7132 .cfi_remember_state 7133 .cfi_def_cfa_offset 12 7134 @ sp needed 7135 0038 30BD pop {r4, r5, pc} 7136 .LVL522: 7137 .L551: 7138 .LCFI50: 7139 .cfi_restore_state 3209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7140 .loc 1 3209 5 is_stmt 1 view .LVU2124 3209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7141 .loc 1 3209 9 is_stmt 0 view .LVU2125 7142 003a 6FF07E43 mvn r3, #-33554432 7143 003e 0093 str r3, [sp] 7144 0040 0346 mov r3, r0 7145 0042 0022 movs r2, #0 7146 0044 4FF40011 mov r1, #2097152 7147 0048 2046 mov r0, r4 7148 .LVL523: 3209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7149 .loc 1 3209 9 view .LVU2126 7150 004a FFF7FEFF bl UART_WaitOnFlagUntilTimeout 7151 .LVL524: 3209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7152 .loc 1 3209 8 view .LVU2127 7153 004e 0028 cmp r0, #0 7154 0050 E4D0 beq .L545 3212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7155 .loc 1 3212 14 view .LVU2128 7156 0052 0320 movs r0, #3 7157 0054 EFE7 b .L546 7158 .L552: 3220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7159 .loc 1 3220 5 is_stmt 1 view .LVU2129 3220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7160 .loc 1 3220 9 is_stmt 0 view .LVU2130 7161 0056 6FF07E43 mvn r3, #-33554432 7162 005a 0093 str r3, [sp] 7163 005c 2B46 mov r3, r5 7164 005e 0022 movs r2, #0 7165 0060 4FF48001 mov r1, #4194304 7166 0064 2046 mov r0, r4 7167 0066 FFF7FEFF bl UART_WaitOnFlagUntilTimeout 7168 .LVL525: 3220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7169 .loc 1 3220 8 view .LVU2131 7170 006a 0028 cmp r0, #0 7171 006c DBD0 beq .L547 3223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7172 .loc 1 3223 14 view .LVU2132 7173 006e 0320 movs r0, #3 ARM GAS /tmp/ccizsdzp.s page 232 7174 0070 E1E7 b .L546 7175 .cfi_endproc 7176 .LFE185: 7178 .section .text.HAL_UART_Init,"ax",%progbits 7179 .align 1 7180 .global HAL_UART_Init 7181 .syntax unified 7182 .thumb 7183 .thumb_func 7184 .fpu fpv5-d16 7186 HAL_UART_Init: 7187 .LVL526: 7188 .LFB141: 298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 7189 .loc 1 298 1 is_stmt 1 view -0 7190 .cfi_startproc 7191 @ args = 0, pretend = 0, frame = 0 7192 @ frame_needed = 0, uses_anonymous_args = 0 300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7193 .loc 1 300 3 view .LVU2134 300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7194 .loc 1 300 6 is_stmt 0 view .LVU2135 7195 0000 78B3 cbz r0, .L557 298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 7196 .loc 1 298 1 view .LVU2136 7197 0002 10B5 push {r4, lr} 7198 .LCFI51: 7199 .cfi_def_cfa_offset 8 7200 .cfi_offset 4, -8 7201 .cfi_offset 14, -4 7202 0004 0446 mov r4, r0 305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7203 .loc 1 305 3 is_stmt 1 view .LVU2137 313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7204 .loc 1 313 5 view .LVU2138 316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7205 .loc 1 316 3 view .LVU2139 316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7206 .loc 1 316 12 is_stmt 0 view .LVU2140 7207 0006 D0F88030 ldr r3, [r0, #128] 316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7208 .loc 1 316 6 view .LVU2141 7209 000a 0BB3 cbz r3, .L562 7210 .LVL527: 7211 .L555: 337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7212 .loc 1 337 3 is_stmt 1 view .LVU2142 337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7213 .loc 1 337 17 is_stmt 0 view .LVU2143 7214 000c 2423 movs r3, #36 7215 000e C4F88030 str r3, [r4, #128] 339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7216 .loc 1 339 3 is_stmt 1 view .LVU2144 7217 0012 2268 ldr r2, [r4] 7218 0014 1368 ldr r3, [r2] 7219 0016 23F00103 bic r3, r3, #1 7220 001a 1360 str r3, [r2] ARM GAS /tmp/ccizsdzp.s page 233 342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7221 .loc 1 342 3 view .LVU2145 342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7222 .loc 1 342 7 is_stmt 0 view .LVU2146 7223 001c 2046 mov r0, r4 7224 001e FFF7FEFF bl UART_SetConfig 7225 .LVL528: 342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7226 .loc 1 342 6 view .LVU2147 7227 0022 0128 cmp r0, #1 7228 0024 13D0 beq .L554 347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7229 .loc 1 347 3 is_stmt 1 view .LVU2148 347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7230 .loc 1 347 26 is_stmt 0 view .LVU2149 7231 0026 A36A ldr r3, [r4, #40] 347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7232 .loc 1 347 6 view .LVU2150 7233 0028 BBB9 cbnz r3, .L563 7234 .L556: 355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 7235 .loc 1 355 3 is_stmt 1 view .LVU2151 7236 002a 2268 ldr r2, [r4] 7237 002c 5368 ldr r3, [r2, #4] 7238 002e 23F49043 bic r3, r3, #18432 7239 0032 5360 str r3, [r2, #4] 356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7240 .loc 1 356 3 view .LVU2152 7241 0034 2268 ldr r2, [r4] 7242 0036 9368 ldr r3, [r2, #8] 7243 0038 23F02A03 bic r3, r3, #42 7244 003c 9360 str r3, [r2, #8] 358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7245 .loc 1 358 3 view .LVU2153 7246 003e 2268 ldr r2, [r4] 7247 0040 1368 ldr r3, [r2] 7248 0042 43F00103 orr r3, r3, #1 7249 0046 1360 str r3, [r2] 361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7250 .loc 1 361 3 view .LVU2154 361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7251 .loc 1 361 11 is_stmt 0 view .LVU2155 7252 0048 2046 mov r0, r4 7253 004a FFF7FEFF bl UART_CheckIdleState 7254 .LVL529: 7255 .L554: 362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7256 .loc 1 362 1 view .LVU2156 7257 004e 10BD pop {r4, pc} 7258 .LVL530: 7259 .L562: 319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7260 .loc 1 319 5 is_stmt 1 view .LVU2157 319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7261 .loc 1 319 17 is_stmt 0 view .LVU2158 7262 0050 80F87C30 strb r3, [r0, #124] 333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ ARM GAS /tmp/ccizsdzp.s page 234 7263 .loc 1 333 5 is_stmt 1 view .LVU2159 7264 0054 FFF7FEFF bl HAL_UART_MspInit 7265 .LVL531: 333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7266 .loc 1 333 5 is_stmt 0 view .LVU2160 7267 0058 D8E7 b .L555 7268 .L563: 349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7269 .loc 1 349 5 is_stmt 1 view .LVU2161 7270 005a 2046 mov r0, r4 7271 005c FFF7FEFF bl UART_AdvFeatureConfig 7272 .LVL532: 7273 0060 E3E7 b .L556 7274 .LVL533: 7275 .L557: 7276 .LCFI52: 7277 .cfi_def_cfa_offset 0 7278 .cfi_restore 4 7279 .cfi_restore 14 302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7280 .loc 1 302 12 is_stmt 0 view .LVU2162 7281 0062 0120 movs r0, #1 7282 .LVL534: 362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7283 .loc 1 362 1 view .LVU2163 7284 0064 7047 bx lr 7285 .cfi_endproc 7286 .LFE141: 7288 .section .text.HAL_HalfDuplex_Init,"ax",%progbits 7289 .align 1 7290 .global HAL_HalfDuplex_Init 7291 .syntax unified 7292 .thumb 7293 .thumb_func 7294 .fpu fpv5-d16 7296 HAL_HalfDuplex_Init: 7297 .LVL535: 7298 .LFB142: 371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 7299 .loc 1 371 1 is_stmt 1 view -0 7300 .cfi_startproc 7301 @ args = 0, pretend = 0, frame = 0 7302 @ frame_needed = 0, uses_anonymous_args = 0 373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7303 .loc 1 373 3 view .LVU2165 373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7304 .loc 1 373 6 is_stmt 0 view .LVU2166 7305 0000 0028 cmp r0, #0 7306 0002 34D0 beq .L568 371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 7307 .loc 1 371 1 view .LVU2167 7308 0004 10B5 push {r4, lr} 7309 .LCFI53: 7310 .cfi_def_cfa_offset 8 7311 .cfi_offset 4, -8 7312 .cfi_offset 14, -4 7313 0006 0446 mov r4, r0 ARM GAS /tmp/ccizsdzp.s page 235 379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7314 .loc 1 379 3 is_stmt 1 view .LVU2168 381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7315 .loc 1 381 3 view .LVU2169 381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7316 .loc 1 381 12 is_stmt 0 view .LVU2170 7317 0008 D0F88030 ldr r3, [r0, #128] 381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7318 .loc 1 381 6 view .LVU2171 7319 000c 33B3 cbz r3, .L573 7320 .LVL536: 7321 .L566: 402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7322 .loc 1 402 3 is_stmt 1 view .LVU2172 402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7323 .loc 1 402 17 is_stmt 0 view .LVU2173 7324 000e 2423 movs r3, #36 7325 0010 C4F88030 str r3, [r4, #128] 404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7326 .loc 1 404 3 is_stmt 1 view .LVU2174 7327 0014 2268 ldr r2, [r4] 7328 0016 1368 ldr r3, [r2] 7329 0018 23F00103 bic r3, r3, #1 7330 001c 1360 str r3, [r2] 407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7331 .loc 1 407 3 view .LVU2175 407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7332 .loc 1 407 7 is_stmt 0 view .LVU2176 7333 001e 2046 mov r0, r4 7334 0020 FFF7FEFF bl UART_SetConfig 7335 .LVL537: 407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7336 .loc 1 407 6 view .LVU2177 7337 0024 0128 cmp r0, #1 7338 0026 18D0 beq .L565 412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7339 .loc 1 412 3 is_stmt 1 view .LVU2178 412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7340 .loc 1 412 26 is_stmt 0 view .LVU2179 7341 0028 A36A ldr r3, [r4, #40] 412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7342 .loc 1 412 6 view .LVU2180 7343 002a E3B9 cbnz r3, .L574 7344 .L567: 420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN)); 7345 .loc 1 420 3 is_stmt 1 view .LVU2181 7346 002c 2268 ldr r2, [r4] 7347 002e 5368 ldr r3, [r2, #4] 7348 0030 23F49043 bic r3, r3, #18432 7349 0034 5360 str r3, [r2, #4] 421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7350 .loc 1 421 3 view .LVU2182 7351 0036 2268 ldr r2, [r4] 7352 0038 9368 ldr r3, [r2, #8] 7353 003a 23F02203 bic r3, r3, #34 7354 003e 9360 str r3, [r2, #8] 424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 236 7355 .loc 1 424 3 view .LVU2183 7356 0040 2268 ldr r2, [r4] 7357 0042 9368 ldr r3, [r2, #8] 7358 0044 43F00803 orr r3, r3, #8 7359 0048 9360 str r3, [r2, #8] 426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7360 .loc 1 426 3 view .LVU2184 7361 004a 2268 ldr r2, [r4] 7362 004c 1368 ldr r3, [r2] 7363 004e 43F00103 orr r3, r3, #1 7364 0052 1360 str r3, [r2] 429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7365 .loc 1 429 3 view .LVU2185 429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7366 .loc 1 429 11 is_stmt 0 view .LVU2186 7367 0054 2046 mov r0, r4 7368 0056 FFF7FEFF bl UART_CheckIdleState 7369 .LVL538: 7370 .L565: 430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7371 .loc 1 430 1 view .LVU2187 7372 005a 10BD pop {r4, pc} 7373 .LVL539: 7374 .L573: 384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7375 .loc 1 384 5 is_stmt 1 view .LVU2188 384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7376 .loc 1 384 17 is_stmt 0 view .LVU2189 7377 005c 80F87C30 strb r3, [r0, #124] 398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7378 .loc 1 398 5 is_stmt 1 view .LVU2190 7379 0060 FFF7FEFF bl HAL_UART_MspInit 7380 .LVL540: 398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7381 .loc 1 398 5 is_stmt 0 view .LVU2191 7382 0064 D3E7 b .L566 7383 .L574: 414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7384 .loc 1 414 5 is_stmt 1 view .LVU2192 7385 0066 2046 mov r0, r4 7386 0068 FFF7FEFF bl UART_AdvFeatureConfig 7387 .LVL541: 7388 006c DEE7 b .L567 7389 .LVL542: 7390 .L568: 7391 .LCFI54: 7392 .cfi_def_cfa_offset 0 7393 .cfi_restore 4 7394 .cfi_restore 14 375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7395 .loc 1 375 12 is_stmt 0 view .LVU2193 7396 006e 0120 movs r0, #1 7397 .LVL543: 430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7398 .loc 1 430 1 view .LVU2194 7399 0070 7047 bx lr 7400 .cfi_endproc ARM GAS /tmp/ccizsdzp.s page 237 7401 .LFE142: 7403 .section .text.HAL_LIN_Init,"ax",%progbits 7404 .align 1 7405 .global HAL_LIN_Init 7406 .syntax unified 7407 .thumb 7408 .thumb_func 7409 .fpu fpv5-d16 7411 HAL_LIN_Init: 7412 .LVL544: 7413 .LFB143: 444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 7414 .loc 1 444 1 is_stmt 1 view -0 7415 .cfi_startproc 7416 @ args = 0, pretend = 0, frame = 0 7417 @ frame_needed = 0, uses_anonymous_args = 0 446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7418 .loc 1 446 3 view .LVU2196 446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7419 .loc 1 446 6 is_stmt 0 view .LVU2197 7420 0000 0028 cmp r0, #0 7421 0002 42D0 beq .L579 444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 7422 .loc 1 444 1 view .LVU2198 7423 0004 38B5 push {r3, r4, r5, lr} 7424 .LCFI55: 7425 .cfi_def_cfa_offset 16 7426 .cfi_offset 3, -16 7427 .cfi_offset 4, -12 7428 .cfi_offset 5, -8 7429 .cfi_offset 14, -4 7430 0006 0D46 mov r5, r1 7431 0008 0446 mov r4, r0 452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the Break detection length parameter */ 7432 .loc 1 452 3 is_stmt 1 view .LVU2199 454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7433 .loc 1 454 3 view .LVU2200 457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7434 .loc 1 457 3 view .LVU2201 457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7435 .loc 1 457 18 is_stmt 0 view .LVU2202 7436 000a C369 ldr r3, [r0, #28] 457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7437 .loc 1 457 6 view .LVU2203 7438 000c B3F5004F cmp r3, #32768 7439 0010 3DD0 beq .L580 462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7440 .loc 1 462 3 is_stmt 1 view .LVU2204 462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7441 .loc 1 462 18 is_stmt 0 view .LVU2205 7442 0012 8368 ldr r3, [r0, #8] 462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7443 .loc 1 462 6 view .LVU2206 7444 0014 002B cmp r3, #0 7445 0016 3CD1 bne .L581 467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7446 .loc 1 467 3 is_stmt 1 view .LVU2207 ARM GAS /tmp/ccizsdzp.s page 238 467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7447 .loc 1 467 12 is_stmt 0 view .LVU2208 7448 0018 D0F88030 ldr r3, [r0, #128] 467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7449 .loc 1 467 6 view .LVU2209 7450 001c 63B3 cbz r3, .L586 7451 .LVL545: 7452 .L577: 488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7453 .loc 1 488 3 is_stmt 1 view .LVU2210 488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7454 .loc 1 488 17 is_stmt 0 view .LVU2211 7455 001e 2423 movs r3, #36 7456 0020 C4F88030 str r3, [r4, #128] 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7457 .loc 1 490 3 is_stmt 1 view .LVU2212 7458 0024 2268 ldr r2, [r4] 7459 0026 1368 ldr r3, [r2] 7460 0028 23F00103 bic r3, r3, #1 7461 002c 1360 str r3, [r2] 493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7462 .loc 1 493 3 view .LVU2213 493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7463 .loc 1 493 7 is_stmt 0 view .LVU2214 7464 002e 2046 mov r0, r4 7465 0030 FFF7FEFF bl UART_SetConfig 7466 .LVL546: 493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7467 .loc 1 493 6 view .LVU2215 7468 0034 0128 cmp r0, #1 7469 0036 1ED0 beq .L576 498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7470 .loc 1 498 3 is_stmt 1 view .LVU2216 498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7471 .loc 1 498 26 is_stmt 0 view .LVU2217 7472 0038 A36A ldr r3, [r4, #40] 498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7473 .loc 1 498 6 view .LVU2218 7474 003a 13BB cbnz r3, .L587 7475 .L578: 506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN)); 7476 .loc 1 506 3 is_stmt 1 view .LVU2219 7477 003c 2268 ldr r2, [r4] 7478 003e 5368 ldr r3, [r2, #4] 7479 0040 23F40063 bic r3, r3, #2048 7480 0044 5360 str r3, [r2, #4] 507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7481 .loc 1 507 3 view .LVU2220 7482 0046 2268 ldr r2, [r4] 7483 0048 9368 ldr r3, [r2, #8] 7484 004a 23F02A03 bic r3, r3, #42 7485 004e 9360 str r3, [r2, #8] 510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7486 .loc 1 510 3 view .LVU2221 7487 0050 2268 ldr r2, [r4] 7488 0052 5368 ldr r3, [r2, #4] 7489 0054 43F48043 orr r3, r3, #16384 ARM GAS /tmp/ccizsdzp.s page 239 7490 0058 5360 str r3, [r2, #4] 513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7491 .loc 1 513 3 view .LVU2222 7492 005a 2268 ldr r2, [r4] 7493 005c 5368 ldr r3, [r2, #4] 7494 005e 23F02003 bic r3, r3, #32 7495 0062 2B43 orrs r3, r3, r5 7496 0064 5360 str r3, [r2, #4] 515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7497 .loc 1 515 3 view .LVU2223 7498 0066 2268 ldr r2, [r4] 7499 0068 1368 ldr r3, [r2] 7500 006a 43F00103 orr r3, r3, #1 7501 006e 1360 str r3, [r2] 518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7502 .loc 1 518 3 view .LVU2224 518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7503 .loc 1 518 11 is_stmt 0 view .LVU2225 7504 0070 2046 mov r0, r4 7505 0072 FFF7FEFF bl UART_CheckIdleState 7506 .LVL547: 7507 .L576: 519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7508 .loc 1 519 1 view .LVU2226 7509 0076 38BD pop {r3, r4, r5, pc} 7510 .LVL548: 7511 .L586: 470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7512 .loc 1 470 5 is_stmt 1 view .LVU2227 470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7513 .loc 1 470 17 is_stmt 0 view .LVU2228 7514 0078 80F87C30 strb r3, [r0, #124] 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7515 .loc 1 484 5 is_stmt 1 view .LVU2229 7516 007c FFF7FEFF bl HAL_UART_MspInit 7517 .LVL549: 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7518 .loc 1 484 5 is_stmt 0 view .LVU2230 7519 0080 CDE7 b .L577 7520 .L587: 500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7521 .loc 1 500 5 is_stmt 1 view .LVU2231 7522 0082 2046 mov r0, r4 7523 0084 FFF7FEFF bl UART_AdvFeatureConfig 7524 .LVL550: 7525 0088 D8E7 b .L578 7526 .LVL551: 7527 .L579: 7528 .LCFI56: 7529 .cfi_def_cfa_offset 0 7530 .cfi_restore 3 7531 .cfi_restore 4 7532 .cfi_restore 5 7533 .cfi_restore 14 448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7534 .loc 1 448 12 is_stmt 0 view .LVU2232 7535 008a 0120 movs r0, #1 ARM GAS /tmp/ccizsdzp.s page 240 7536 .LVL552: 519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7537 .loc 1 519 1 view .LVU2233 7538 008c 7047 bx lr 7539 .LVL553: 7540 .L580: 7541 .LCFI57: 7542 .cfi_def_cfa_offset 16 7543 .cfi_offset 3, -16 7544 .cfi_offset 4, -12 7545 .cfi_offset 5, -8 7546 .cfi_offset 14, -4 459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7547 .loc 1 459 12 view .LVU2234 7548 008e 0120 movs r0, #1 7549 .LVL554: 459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7550 .loc 1 459 12 view .LVU2235 7551 0090 F1E7 b .L576 7552 .LVL555: 7553 .L581: 464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7554 .loc 1 464 12 view .LVU2236 7555 0092 0120 movs r0, #1 7556 .LVL556: 464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7557 .loc 1 464 12 view .LVU2237 7558 0094 EFE7 b .L576 7559 .cfi_endproc 7560 .LFE143: 7562 .section .text.HAL_MultiProcessor_Init,"ax",%progbits 7563 .align 1 7564 .global HAL_MultiProcessor_Init 7565 .syntax unified 7566 .thumb 7567 .thumb_func 7568 .fpu fpv5-d16 7570 HAL_MultiProcessor_Init: 7571 .LVL557: 7572 .LFB144: 541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 7573 .loc 1 541 1 is_stmt 1 view -0 7574 .cfi_startproc 7575 @ args = 0, pretend = 0, frame = 0 7576 @ frame_needed = 0, uses_anonymous_args = 0 543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7577 .loc 1 543 3 view .LVU2239 543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7578 .loc 1 543 6 is_stmt 0 view .LVU2240 7579 0000 0028 cmp r0, #0 7580 0002 42D0 beq .L593 541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** /* Check the UART handle allocation */ 7581 .loc 1 541 1 view .LVU2241 7582 0004 70B5 push {r4, r5, r6, lr} 7583 .LCFI58: 7584 .cfi_def_cfa_offset 16 7585 .cfi_offset 4, -16 ARM GAS /tmp/ccizsdzp.s page 241 7586 .cfi_offset 5, -12 7587 .cfi_offset 6, -8 7588 .cfi_offset 14, -4 7589 0006 0E46 mov r6, r1 7590 0008 1546 mov r5, r2 7591 000a 0446 mov r4, r0 549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7592 .loc 1 549 3 is_stmt 1 view .LVU2242 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7593 .loc 1 551 3 view .LVU2243 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7594 .loc 1 551 12 is_stmt 0 view .LVU2244 7595 000c D0F88030 ldr r3, [r0, #128] 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7596 .loc 1 551 6 view .LVU2245 7597 0010 53B3 cbz r3, .L598 7598 .LVL558: 7599 .L590: 572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7600 .loc 1 572 3 is_stmt 1 view .LVU2246 572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7601 .loc 1 572 17 is_stmt 0 view .LVU2247 7602 0012 2423 movs r3, #36 7603 0014 C4F88030 str r3, [r4, #128] 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7604 .loc 1 574 3 is_stmt 1 view .LVU2248 7605 0018 2268 ldr r2, [r4] 7606 001a 1368 ldr r3, [r2] 7607 001c 23F00103 bic r3, r3, #1 7608 0020 1360 str r3, [r2] 577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7609 .loc 1 577 3 view .LVU2249 577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7610 .loc 1 577 7 is_stmt 0 view .LVU2250 7611 0022 2046 mov r0, r4 7612 0024 FFF7FEFF bl UART_SetConfig 7613 .LVL559: 577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7614 .loc 1 577 6 view .LVU2251 7615 0028 0128 cmp r0, #1 7616 002a 1CD0 beq .L589 582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7617 .loc 1 582 3 is_stmt 1 view .LVU2252 582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7618 .loc 1 582 26 is_stmt 0 view .LVU2253 7619 002c A36A ldr r3, [r4, #40] 582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7620 .loc 1 582 6 view .LVU2254 7621 002e 03BB cbnz r3, .L599 7622 .L591: 590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); 7623 .loc 1 590 3 is_stmt 1 view .LVU2255 7624 0030 2268 ldr r2, [r4] 7625 0032 5368 ldr r3, [r2, #4] 7626 0034 23F49043 bic r3, r3, #18432 7627 0038 5360 str r3, [r2, #4] 591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** ARM GAS /tmp/ccizsdzp.s page 242 7628 .loc 1 591 3 view .LVU2256 7629 003a 2268 ldr r2, [r4] 7630 003c 9368 ldr r3, [r2, #8] 7631 003e 23F02A03 bic r3, r3, #42 7632 0042 9360 str r3, [r2, #8] 593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7633 .loc 1 593 3 view .LVU2257 593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** { 7634 .loc 1 593 6 is_stmt 0 view .LVU2258 7635 0044 B5F5006F cmp r5, #2048 7636 0048 17D0 beq .L600 7637 .L592: 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7638 .loc 1 600 3 is_stmt 1 view .LVU2259 7639 004a 2368 ldr r3, [r4] 7640 004c 1A68 ldr r2, [r3] 7641 004e 22F40062 bic r2, r2, #2048 7642 0052 1543 orrs r5, r5, r2 7643 .LVL560: 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7644 .loc 1 600 3 is_stmt 0 view .LVU2260 7645 0054 1D60 str r5, [r3] 602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7646 .loc 1 602 3 is_stmt 1 view .LVU2261 7647 0056 2268 ldr r2, [r4] 7648 0058 1368 ldr r3, [r2] 7649 005a 43F00103 orr r3, r3, #1 7650 005e 1360 str r3, [r2] 605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7651 .loc 1 605 3 view .LVU2262 605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7652 .loc 1 605 11 is_stmt 0 view .LVU2263 7653 0060 2046 mov r0, r4 7654 0062 FFF7FEFF bl UART_CheckIdleState 7655 .LVL561: 7656 .L589: 606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7657 .loc 1 606 1 view .LVU2264 7658 0066 70BD pop {r4, r5, r6, pc} 7659 .LVL562: 7660 .L598: 554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7661 .loc 1 554 5 is_stmt 1 view .LVU2265 554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7662 .loc 1 554 17 is_stmt 0 view .LVU2266 7663 0068 80F87C30 strb r3, [r0, #124] 568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7664 .loc 1 568 5 is_stmt 1 view .LVU2267 7665 006c FFF7FEFF bl HAL_UART_MspInit 7666 .LVL563: 568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ 7667 .loc 1 568 5 is_stmt 0 view .LVU2268 7668 0070 CFE7 b .L590 7669 .L599: 584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7670 .loc 1 584 5 is_stmt 1 view .LVU2269 7671 0072 2046 mov r0, r4 ARM GAS /tmp/ccizsdzp.s page 243 7672 0074 FFF7FEFF bl UART_AdvFeatureConfig 7673 .LVL564: 7674 0078 DAE7 b .L591 7675 .L600: 596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7676 .loc 1 596 5 view .LVU2270 7677 007a 2368 ldr r3, [r4] 7678 007c 5968 ldr r1, [r3, #4] 7679 007e 21F07F41 bic r1, r1, #-16777216 7680 0082 41EA0666 orr r6, r1, r6, lsl #24 7681 0086 5E60 str r6, [r3, #4] 7682 0088 DFE7 b .L592 7683 .LVL565: 7684 .L593: 7685 .LCFI59: 7686 .cfi_def_cfa_offset 0 7687 .cfi_restore 4 7688 .cfi_restore 5 7689 .cfi_restore 6 7690 .cfi_restore 14 545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7691 .loc 1 545 12 is_stmt 0 view .LVU2271 7692 008a 0120 movs r0, #1 7693 .LVL566: 606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7694 .loc 1 606 1 view .LVU2272 7695 008c 7047 bx lr 7696 .cfi_endproc 7697 .LFE144: 7699 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits 7700 .align 1 7701 .global HAL_MultiProcessor_EnableMuteMode 7702 .syntax unified 7703 .thumb 7704 .thumb_func 7705 .fpu fpv5-d16 7707 HAL_MultiProcessor_EnableMuteMode: 7708 .LVL567: 7709 .LFB175: 2655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 7710 .loc 1 2655 1 is_stmt 1 view -0 7711 .cfi_startproc 7712 @ args = 0, pretend = 0, frame = 0 7713 @ frame_needed = 0, uses_anonymous_args = 0 2655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 7714 .loc 1 2655 1 is_stmt 0 view .LVU2274 7715 0000 08B5 push {r3, lr} 7716 .LCFI60: 7717 .cfi_def_cfa_offset 8 7718 .cfi_offset 3, -8 7719 .cfi_offset 14, -4 2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7720 .loc 1 2656 3 is_stmt 1 view .LVU2275 2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7721 .loc 1 2656 3 view .LVU2276 7722 0002 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 7723 0006 012B cmp r3, #1 ARM GAS /tmp/ccizsdzp.s page 244 7724 0008 10D0 beq .L603 2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7725 .loc 1 2656 3 discriminator 2 view .LVU2277 7726 000a 0123 movs r3, #1 7727 000c 80F87C30 strb r3, [r0, #124] 2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7728 .loc 1 2656 3 discriminator 2 view .LVU2278 2658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7729 .loc 1 2658 3 discriminator 2 view .LVU2279 2658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7730 .loc 1 2658 17 is_stmt 0 discriminator 2 view .LVU2280 7731 0010 2423 movs r3, #36 7732 0012 C0F88030 str r3, [r0, #128] 2661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7733 .loc 1 2661 3 is_stmt 1 discriminator 2 view .LVU2281 7734 0016 0268 ldr r2, [r0] 7735 0018 1368 ldr r3, [r2] 7736 001a 43F40053 orr r3, r3, #8192 7737 001e 1360 str r3, [r2] 2663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7738 .loc 1 2663 3 discriminator 2 view .LVU2282 2663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7739 .loc 1 2663 17 is_stmt 0 discriminator 2 view .LVU2283 7740 0020 2023 movs r3, #32 7741 0022 C0F88030 str r3, [r0, #128] 2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7742 .loc 1 2665 3 is_stmt 1 discriminator 2 view .LVU2284 2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7743 .loc 1 2665 11 is_stmt 0 discriminator 2 view .LVU2285 7744 0026 FFF7FEFF bl UART_CheckIdleState 7745 .LVL568: 7746 .L602: 2666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7747 .loc 1 2666 1 view .LVU2286 7748 002a 08BD pop {r3, pc} 7749 .LVL569: 7750 .L603: 2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7751 .loc 1 2656 3 view .LVU2287 7752 002c 0220 movs r0, #2 7753 .LVL570: 2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7754 .loc 1 2656 3 view .LVU2288 7755 002e FCE7 b .L602 7756 .cfi_endproc 7757 .LFE175: 7759 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits 7760 .align 1 7761 .global HAL_MultiProcessor_DisableMuteMode 7762 .syntax unified 7763 .thumb 7764 .thumb_func 7765 .fpu fpv5-d16 7767 HAL_MultiProcessor_DisableMuteMode: 7768 .LVL571: 7769 .LFB176: 2675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); ARM GAS /tmp/ccizsdzp.s page 245 7770 .loc 1 2675 1 is_stmt 1 view -0 7771 .cfi_startproc 7772 @ args = 0, pretend = 0, frame = 0 7773 @ frame_needed = 0, uses_anonymous_args = 0 2675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** __HAL_LOCK(huart); 7774 .loc 1 2675 1 is_stmt 0 view .LVU2290 7775 0000 08B5 push {r3, lr} 7776 .LCFI61: 7777 .cfi_def_cfa_offset 8 7778 .cfi_offset 3, -8 7779 .cfi_offset 14, -4 2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7780 .loc 1 2676 3 is_stmt 1 view .LVU2291 2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7781 .loc 1 2676 3 view .LVU2292 7782 0002 90F87C30 ldrb r3, [r0, #124] @ zero_extendqisi2 7783 0006 012B cmp r3, #1 7784 0008 10D0 beq .L607 2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7785 .loc 1 2676 3 discriminator 2 view .LVU2293 7786 000a 0123 movs r3, #1 7787 000c 80F87C30 strb r3, [r0, #124] 2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7788 .loc 1 2676 3 discriminator 2 view .LVU2294 2678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7789 .loc 1 2678 3 discriminator 2 view .LVU2295 2678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7790 .loc 1 2678 17 is_stmt 0 discriminator 2 view .LVU2296 7791 0010 2423 movs r3, #36 7792 0012 C0F88030 str r3, [r0, #128] 2681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7793 .loc 1 2681 3 is_stmt 1 discriminator 2 view .LVU2297 7794 0016 0268 ldr r2, [r0] 7795 0018 1368 ldr r3, [r2] 7796 001a 23F40053 bic r3, r3, #8192 7797 001e 1360 str r3, [r2] 2683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7798 .loc 1 2683 3 discriminator 2 view .LVU2298 2683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7799 .loc 1 2683 17 is_stmt 0 discriminator 2 view .LVU2299 7800 0020 2023 movs r3, #32 7801 0022 C0F88030 str r3, [r0, #128] 2685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7802 .loc 1 2685 3 is_stmt 1 discriminator 2 view .LVU2300 2685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** } 7803 .loc 1 2685 11 is_stmt 0 discriminator 2 view .LVU2301 7804 0026 FFF7FEFF bl UART_CheckIdleState 7805 .LVL572: 7806 .L606: 2686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7807 .loc 1 2686 1 view .LVU2302 7808 002a 08BD pop {r3, pc} 7809 .LVL573: 7810 .L607: 2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7811 .loc 1 2676 3 view .LVU2303 7812 002c 0220 movs r0, #2 ARM GAS /tmp/ccizsdzp.s page 246 7813 .LVL574: 2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** 7814 .loc 1 2676 3 view .LVU2304 7815 002e FCE7 b .L606 7816 .cfi_endproc 7817 .LFE176: 7819 .global UARTPrescTable 7820 .section .rodata.UARTPrescTable,"a" 7821 .align 2 7822 .set .LANCHOR0,. + 0 7825 UARTPrescTable: 7826 0000 0100 .short 1 7827 0002 0200 .short 2 7828 0004 0400 .short 4 7829 0006 0600 .short 6 7830 0008 0800 .short 8 7831 000a 0A00 .short 10 7832 000c 0C00 .short 12 7833 000e 1000 .short 16 7834 0010 2000 .short 32 7835 0012 4000 .short 64 7836 0014 8000 .short 128 7837 0016 0001 .short 256 7838 .text 7839 .Letext0: 7840 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h" 7841 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h" 7842 .file 4 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h750xx.h" 7843 .file 5 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h" 7844 .file 6 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h" 7845 .file 7 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h" 7846 .file 8 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h" 7847 .file 9 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h" 7848 .file 10 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h" 7849 .file 11 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h" 7850 .file 12 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h" ARM GAS /tmp/ccizsdzp.s page 247 DEFINED SYMBOLS *ABS*:0000000000000000 stm32h7xx_hal_uart.c /tmp/ccizsdzp.s:17 .text.UART_EndTxTransfer:0000000000000000 $t /tmp/ccizsdzp.s:24 .text.UART_EndTxTransfer:0000000000000000 UART_EndTxTransfer /tmp/ccizsdzp.s:53 .text.UART_EndRxTransfer:0000000000000000 $t /tmp/ccizsdzp.s:59 .text.UART_EndRxTransfer:0000000000000000 UART_EndRxTransfer /tmp/ccizsdzp.s:91 .text.UART_EndRxTransfer:0000000000000020 $d /tmp/ccizsdzp.s:96 .text.UART_TxISR_8BIT:0000000000000000 $t /tmp/ccizsdzp.s:102 .text.UART_TxISR_8BIT:0000000000000000 UART_TxISR_8BIT /tmp/ccizsdzp.s:167 .text.UART_TxISR_16BIT:0000000000000000 $t /tmp/ccizsdzp.s:173 .text.UART_TxISR_16BIT:0000000000000000 UART_TxISR_16BIT /tmp/ccizsdzp.s:244 .text.UART_TxISR_8BIT_FIFOEN:0000000000000000 $t /tmp/ccizsdzp.s:250 .text.UART_TxISR_8BIT_FIFOEN:0000000000000000 UART_TxISR_8BIT_FIFOEN /tmp/ccizsdzp.s:345 .text.UART_TxISR_16BIT_FIFOEN:0000000000000000 $t /tmp/ccizsdzp.s:351 .text.UART_TxISR_16BIT_FIFOEN:0000000000000000 UART_TxISR_16BIT_FIFOEN /tmp/ccizsdzp.s:452 .text.HAL_UART_MspInit:0000000000000000 $t /tmp/ccizsdzp.s:459 .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit /tmp/ccizsdzp.s:474 .text.HAL_UART_MspDeInit:0000000000000000 $t /tmp/ccizsdzp.s:481 .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit /tmp/ccizsdzp.s:496 .text.HAL_UART_DeInit:0000000000000000 $t /tmp/ccizsdzp.s:503 .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit /tmp/ccizsdzp.s:586 .text.HAL_UART_Transmit_IT:0000000000000000 $t /tmp/ccizsdzp.s:593 .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT /tmp/ccizsdzp.s:755 .text.HAL_UART_Transmit_IT:00000000000000a0 $d /tmp/ccizsdzp.s:763 .text.HAL_UART_Receive_IT:0000000000000000 $t /tmp/ccizsdzp.s:770 .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT /tmp/ccizsdzp.s:1005 .text.HAL_UART_Receive_IT:0000000000000114 $d /tmp/ccizsdzp.s:2333 .text.UART_RxISR_8BIT:0000000000000000 UART_RxISR_8BIT /tmp/ccizsdzp.s:2548 .text.UART_RxISR_8BIT_FIFOEN:0000000000000000 UART_RxISR_8BIT_FIFOEN /tmp/ccizsdzp.s:2715 .text.UART_RxISR_16BIT_FIFOEN:0000000000000000 UART_RxISR_16BIT_FIFOEN /tmp/ccizsdzp.s:2440 .text.UART_RxISR_16BIT:0000000000000000 UART_RxISR_16BIT /tmp/ccizsdzp.s:1013 .text.HAL_UART_Transmit_DMA:0000000000000000 $t /tmp/ccizsdzp.s:1020 .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA /tmp/ccizsdzp.s:1186 .text.HAL_UART_Transmit_DMA:000000000000009c $d /tmp/ccizsdzp.s:2152 .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt /tmp/ccizsdzp.s:2278 .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt /tmp/ccizsdzp.s:3024 .text.UART_DMAError:0000000000000000 UART_DMAError /tmp/ccizsdzp.s:1193 .text.HAL_UART_Receive_DMA:0000000000000000 $t /tmp/ccizsdzp.s:1200 .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA /tmp/ccizsdzp.s:1369 .text.HAL_UART_Receive_DMA:00000000000000a8 $d /tmp/ccizsdzp.s:2883 .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt /tmp/ccizsdzp.s:2969 .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt /tmp/ccizsdzp.s:1376 .text.HAL_UART_DMAPause:0000000000000000 $t /tmp/ccizsdzp.s:1383 .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause /tmp/ccizsdzp.s:1489 .text.HAL_UART_DMAResume:0000000000000000 $t /tmp/ccizsdzp.s:1496 .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume /tmp/ccizsdzp.s:1577 .text.HAL_UART_DMAStop:0000000000000000 $t /tmp/ccizsdzp.s:1584 .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop /tmp/ccizsdzp.s:1726 .text.HAL_UART_Abort:0000000000000000 $t /tmp/ccizsdzp.s:1733 .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort /tmp/ccizsdzp.s:1899 .text.HAL_UART_Abort:00000000000000c4 $d /tmp/ccizsdzp.s:1904 .text.HAL_UART_AbortTransmit:0000000000000000 $t /tmp/ccizsdzp.s:1911 .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit /tmp/ccizsdzp.s:2015 .text.HAL_UART_AbortReceive:0000000000000000 $t /tmp/ccizsdzp.s:2022 .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive /tmp/ccizsdzp.s:2119 .text.HAL_UART_AbortReceive:000000000000006c $d /tmp/ccizsdzp.s:2124 .text.HAL_UART_TxCpltCallback:0000000000000000 $t ARM GAS /tmp/ccizsdzp.s page 248 /tmp/ccizsdzp.s:2131 .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback /tmp/ccizsdzp.s:2146 .text.UART_DMATransmitCplt:0000000000000000 $t /tmp/ccizsdzp.s:2209 .text.UART_EndTransmit_IT:0000000000000000 $t /tmp/ccizsdzp.s:2215 .text.UART_EndTransmit_IT:0000000000000000 UART_EndTransmit_IT /tmp/ccizsdzp.s:2250 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t /tmp/ccizsdzp.s:2257 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback /tmp/ccizsdzp.s:2272 .text.UART_DMATxHalfCplt:0000000000000000 $t /tmp/ccizsdzp.s:2305 .text.HAL_UART_RxCpltCallback:0000000000000000 $t /tmp/ccizsdzp.s:2312 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback /tmp/ccizsdzp.s:2327 .text.UART_RxISR_8BIT:0000000000000000 $t /tmp/ccizsdzp.s:2434 .text.UART_RxISR_16BIT:0000000000000000 $t /tmp/ccizsdzp.s:2542 .text.UART_RxISR_8BIT_FIFOEN:0000000000000000 $t /tmp/ccizsdzp.s:2703 .text.UART_RxISR_8BIT_FIFOEN:00000000000000a4 $d /tmp/ccizsdzp.s:2709 .text.UART_RxISR_16BIT_FIFOEN:0000000000000000 $t /tmp/ccizsdzp.s:2871 .text.UART_RxISR_16BIT_FIFOEN:00000000000000a4 $d /tmp/ccizsdzp.s:2877 .text.UART_DMAReceiveCplt:0000000000000000 $t /tmp/ccizsdzp.s:2941 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t /tmp/ccizsdzp.s:2948 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback /tmp/ccizsdzp.s:2963 .text.UART_DMARxHalfCplt:0000000000000000 $t /tmp/ccizsdzp.s:2996 .text.HAL_UART_ErrorCallback:0000000000000000 $t /tmp/ccizsdzp.s:3003 .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback /tmp/ccizsdzp.s:3018 .text.UART_DMAError:0000000000000000 $t /tmp/ccizsdzp.s:3113 .text.HAL_UART_IRQHandler:0000000000000000 $t /tmp/ccizsdzp.s:3120 .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler /tmp/ccizsdzp.s:3514 .text.HAL_UART_IRQHandler:00000000000001e0 $d /tmp/ccizsdzp.s:3527 .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError /tmp/ccizsdzp.s:3521 .text.UART_DMAAbortOnError:0000000000000000 $t /tmp/ccizsdzp.s:3560 .text.HAL_UART_AbortCpltCallback:0000000000000000 $t /tmp/ccizsdzp.s:3567 .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback /tmp/ccizsdzp.s:3582 .text.HAL_UART_Abort_IT:0000000000000000 $t /tmp/ccizsdzp.s:3589 .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT /tmp/ccizsdzp.s:3810 .text.HAL_UART_Abort_IT:00000000000000f0 $d /tmp/ccizsdzp.s:3899 .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback /tmp/ccizsdzp.s:3823 .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback /tmp/ccizsdzp.s:3817 .text.UART_DMARxAbortCallback:0000000000000000 $t /tmp/ccizsdzp.s:3893 .text.UART_DMATxAbortCallback:0000000000000000 $t /tmp/ccizsdzp.s:3979 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t /tmp/ccizsdzp.s:3986 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback /tmp/ccizsdzp.s:4001 .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t /tmp/ccizsdzp.s:4008 .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT /tmp/ccizsdzp.s:4129 .text.HAL_UART_AbortTransmit_IT:0000000000000080 $d /tmp/ccizsdzp.s:4140 .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback /tmp/ccizsdzp.s:4134 .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t /tmp/ccizsdzp.s:4189 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t /tmp/ccizsdzp.s:4196 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback /tmp/ccizsdzp.s:4211 .text.HAL_UART_AbortReceive_IT:0000000000000000 $t /tmp/ccizsdzp.s:4218 .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT /tmp/ccizsdzp.s:4337 .text.HAL_UART_AbortReceive_IT:0000000000000080 $d /tmp/ccizsdzp.s:4349 .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback /tmp/ccizsdzp.s:4343 .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t /tmp/ccizsdzp.s:4392 .text.HAL_UART_ReceiverTimeout_Config:0000000000000000 $t /tmp/ccizsdzp.s:4399 .text.HAL_UART_ReceiverTimeout_Config:0000000000000000 HAL_UART_ReceiverTimeout_Config /tmp/ccizsdzp.s:4428 .text.HAL_UART_ReceiverTimeout_Config:0000000000000014 $d /tmp/ccizsdzp.s:4433 .text.HAL_UART_EnableReceiverTimeout:0000000000000000 $t /tmp/ccizsdzp.s:4440 .text.HAL_UART_EnableReceiverTimeout:0000000000000000 HAL_UART_EnableReceiverTimeout /tmp/ccizsdzp.s:4517 .text.HAL_UART_EnableReceiverTimeout:0000000000000048 $d /tmp/ccizsdzp.s:4522 .text.HAL_UART_DisableReceiverTimeout:0000000000000000 $t ARM GAS /tmp/ccizsdzp.s page 249 /tmp/ccizsdzp.s:4529 .text.HAL_UART_DisableReceiverTimeout:0000000000000000 HAL_UART_DisableReceiverTimeout /tmp/ccizsdzp.s:4606 .text.HAL_UART_DisableReceiverTimeout:0000000000000048 $d /tmp/ccizsdzp.s:4611 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t /tmp/ccizsdzp.s:4618 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode /tmp/ccizsdzp.s:4637 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t /tmp/ccizsdzp.s:4644 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter /tmp/ccizsdzp.s:4701 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t /tmp/ccizsdzp.s:4708 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver /tmp/ccizsdzp.s:4765 .text.HAL_LIN_SendBreak:0000000000000000 $t /tmp/ccizsdzp.s:4772 .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak /tmp/ccizsdzp.s:4825 .text.HAL_UART_GetState:0000000000000000 $t /tmp/ccizsdzp.s:4832 .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState /tmp/ccizsdzp.s:4860 .text.HAL_UART_GetError:0000000000000000 $t /tmp/ccizsdzp.s:4867 .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError /tmp/ccizsdzp.s:4886 .text.UART_SetConfig:0000000000000000 $t /tmp/ccizsdzp.s:4893 .text.UART_SetConfig:0000000000000000 UART_SetConfig /tmp/ccizsdzp.s:5056 .text.UART_SetConfig:00000000000000b4 $d /tmp/ccizsdzp.s:5097 .text.UART_SetConfig:0000000000000106 $t /tmp/ccizsdzp.s:5128 .text.UART_SetConfig:000000000000012e $d /tmp/ccizsdzp.s:5162 .text.UART_SetConfig:0000000000000170 $t /tmp/ccizsdzp.s:5196 .text.UART_SetConfig:0000000000000190 $d /tmp/ccizsdzp.s:5202 .text.UART_SetConfig:000000000000019c $t /tmp/ccizsdzp.s:5247 .text.UART_SetConfig:00000000000001c4 $d /tmp/ccizsdzp.s:5253 .text.UART_SetConfig:00000000000001ca $t /tmp/ccizsdzp.s:5298 .text.UART_SetConfig:00000000000001f2 $d /tmp/ccizsdzp.s:5304 .text.UART_SetConfig:00000000000001f8 $t /tmp/ccizsdzp.s:5349 .text.UART_SetConfig:0000000000000220 $d /tmp/ccizsdzp.s:5355 .text.UART_SetConfig:0000000000000226 $t /tmp/ccizsdzp.s:5393 .text.UART_SetConfig:0000000000000240 $d /tmp/ccizsdzp.s:5408 .text.UART_SetConfig:0000000000000270 $t /tmp/ccizsdzp.s:5415 .text.UART_SetConfig:0000000000000280 $d /tmp/ccizsdzp.s:5501 .text.UART_SetConfig:00000000000002d2 $d /tmp/ccizsdzp.s:5507 .text.UART_SetConfig:00000000000002d8 $t /tmp/ccizsdzp.s:5552 .text.UART_SetConfig:0000000000000300 $d /tmp/ccizsdzp.s:5558 .text.UART_SetConfig:0000000000000306 $t /tmp/ccizsdzp.s:5603 .text.UART_SetConfig:0000000000000330 $d /tmp/ccizsdzp.s:5609 .text.UART_SetConfig:0000000000000336 $t /tmp/ccizsdzp.s:5687 .text.UART_SetConfig:0000000000000388 $d /tmp/ccizsdzp.s:5719 .text.UART_SetConfig:00000000000003c6 $t /tmp/ccizsdzp.s:5862 .text.UART_SetConfig:0000000000000468 $d /tmp/ccizsdzp.s:5870 .text.UART_SetConfig:000000000000047c $t /tmp/ccizsdzp.s:5876 .text.UART_SetConfig:000000000000048a $d /tmp/ccizsdzp.s:6240 .text.UART_SetConfig:00000000000005e8 $d /tmp/ccizsdzp.s:6248 .text.UART_AdvFeatureConfig:0000000000000000 $t /tmp/ccizsdzp.s:6255 .text.UART_AdvFeatureConfig:0000000000000000 UART_AdvFeatureConfig /tmp/ccizsdzp.s:6407 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t /tmp/ccizsdzp.s:6414 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout /tmp/ccizsdzp.s:6552 .text.HAL_UART_Transmit:0000000000000000 $t /tmp/ccizsdzp.s:6559 .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit /tmp/ccizsdzp.s:6782 .text.HAL_UART_Receive:0000000000000000 $t /tmp/ccizsdzp.s:6789 .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive /tmp/ccizsdzp.s:7059 .text.UART_CheckIdleState:0000000000000000 $t /tmp/ccizsdzp.s:7066 .text.UART_CheckIdleState:0000000000000000 UART_CheckIdleState /tmp/ccizsdzp.s:7179 .text.HAL_UART_Init:0000000000000000 $t /tmp/ccizsdzp.s:7186 .text.HAL_UART_Init:0000000000000000 HAL_UART_Init /tmp/ccizsdzp.s:7289 .text.HAL_HalfDuplex_Init:0000000000000000 $t /tmp/ccizsdzp.s:7296 .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init ARM GAS /tmp/ccizsdzp.s page 250 /tmp/ccizsdzp.s:7404 .text.HAL_LIN_Init:0000000000000000 $t /tmp/ccizsdzp.s:7411 .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init /tmp/ccizsdzp.s:7563 .text.HAL_MultiProcessor_Init:0000000000000000 $t /tmp/ccizsdzp.s:7570 .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init /tmp/ccizsdzp.s:7700 .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 $t /tmp/ccizsdzp.s:7707 .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 HAL_MultiProcessor_EnableMuteMode /tmp/ccizsdzp.s:7760 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 $t /tmp/ccizsdzp.s:7767 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 HAL_MultiProcessor_DisableMuteMode /tmp/ccizsdzp.s:7825 .rodata.UARTPrescTable:0000000000000000 UARTPrescTable /tmp/ccizsdzp.s:7821 .rodata.UARTPrescTable:0000000000000000 $d /tmp/ccizsdzp.s:5456 .text.UART_SetConfig:00000000000002a9 $d /tmp/ccizsdzp.s:5456 .text.UART_SetConfig:00000000000002aa $t /tmp/ccizsdzp.s:5909 .text.UART_SetConfig:00000000000004ab $d /tmp/ccizsdzp.s:5909 .text.UART_SetConfig:00000000000004ac $t UNDEFINED SYMBOLS HAL_DMA_Start_IT HAL_DMA_Abort HAL_DMA_GetError HAL_DMA_Abort_IT HAL_UARTEx_WakeupCallback HAL_UARTEx_TxFifoEmptyCallback HAL_UARTEx_RxFifoFullCallback __aeabi_uldivmod HAL_RCCEx_GetD3PCLK1Freq HAL_RCCEx_GetPLL2ClockFreq HAL_RCCEx_GetPLL3ClockFreq HAL_RCC_GetPCLK1Freq HAL_RCC_GetPCLK2Freq HAL_GetTick