STM32H750VB_Bootloader/build/stm32h7xx_hal_uart.lst

14953 lines
897 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 **** * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
ARM GAS /tmp/ccizsdzp.s page 4
146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c **** * All rights reserved.</center></h2>
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