Files
RadioPhotonic_PCB_software/build/stm32f7xx_hal_uart.lst

20280 lines
1.1 MiB
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/ccQxTlMj.s page 1
1 .cpu cortex-m7
2 .arch armv7e-m
3 .fpu fpv5-d16
4 .eabi_attribute 28, 1
5 .eabi_attribute 20, 1
6 .eabi_attribute 21, 1
7 .eabi_attribute 23, 3
8 .eabi_attribute 24, 1
9 .eabi_attribute 25, 1
10 .eabi_attribute 26, 1
11 .eabi_attribute 30, 1
12 .eabi_attribute 34, 1
13 .eabi_attribute 18, 4
14 .file "stm32f7xx_hal_uart.c"
15 .text
16 .Ltext0:
17 .cfi_sections .debug_frame
18 .file 1 "Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c"
19 .section .text.UART_EndTxTransfer,"ax",%progbits
20 .align 1
21 .syntax unified
22 .thumb
23 .thumb_func
25 UART_EndTxTransfer:
26 .LFB191:
1:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ******************************************************************************
3:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @file stm32f7xx_hal_uart.c
4:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @author MCD Application Team
5:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART HAL module driver.
6:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
8:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * + IO operation functions
10:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * + Peripheral Control functions
11:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *
12:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *
13:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ******************************************************************************
14:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @attention
15:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *
16:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * Copyright (c) 2017 STMicroelectronics.
17:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * All rights reserved.
18:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *
19:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This software is licensed under terms that can be found in the LICENSE file
20:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * in the root directory of this software component.
21:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
22:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *
23:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ******************************************************************************
24:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @verbatim
25:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ===============================================================================
26:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### How to use this driver #####
27:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ===============================================================================
28:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
29:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The UART HAL driver can be used as follows:
30:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
31:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
32:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
ARM GAS /tmp/ccQxTlMj.s page 2
33:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Enable the USARTx interface clock.
34:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) UART pins configuration:
35:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
36:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up.
37:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
38:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
39:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
40:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
41:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) UART interrupts handling:
42:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt,
43:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** RXNE interrupt, RX/TX FIFOs related interrupts and Error Interrupts)
44:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT()
45:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** inside the transmit and receive processes.
46:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
47:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
48:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel.
49:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
50:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters.
51:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel.
52:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
53:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
54:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** interrupt on the DMA Tx/Rx channel.
55:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
56:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
57:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure.
58:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
59:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...)
60:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the huart handle AdvancedInit structure.
61:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
62:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
63:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_Init() API.
64:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
65:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
66:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
67:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
68:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers
69:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** by calling the HAL_LIN_Init() API.
70:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
71:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers
72:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API.
73:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
74:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers
75:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API.
76:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
77:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
78:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini
79:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by
80:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API.
81:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
82:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### Callback registration #####
83:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ==================================
84:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
85:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
86:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
87:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks.
88:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
89:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
ARM GAS /tmp/ccQxTlMj.s page 3
90:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback.
91:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks:
92:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
93:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
94:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
95:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
96:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
97:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
98:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
99:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback.
101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and a pointer to the user callback function.
105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default
108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** weak function.
109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and the Callback ID.
111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This function allows to reset following callbacks:
112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback.
121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions:
126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback().
127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** all callbacks are set to the corresponding weak functions:
131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback().
132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively
133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** reset to the legacy weak functions in the HAL_UART_Init()
134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit()
136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit.
143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks
144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit()
145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** or HAL_UART_Init() function.
146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 4
147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** not defined, the callback registration feature is not available
150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and weak callbacks are used.
151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @endverbatim
154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ******************************************************************************
155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #include "stm32f7xx_hal.h"
159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @addtogroup STM32F7xx_HAL_Driver
161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{
162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART UART
165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief HAL UART module driver
166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{
167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants
174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{
175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | U
177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** USART_CR1_OVER8)) /*!< UART or USART CR1 fields of parameters
178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE |\
180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** USART_CR3_ONEBIT)) /*!< UART or USART CR3 fields of parameter
181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #define UART_BRR_MIN 0x10U /* UART BRR minimum authorized value */
184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #define UART_BRR_MAX 0x0000FFFFU /* UART BRR maximum authorized value */
185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @}
187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/
190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @addtogroup UART_Private_Functions
192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{
193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
ARM GAS /tmp/ccQxTlMj.s page 5
204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart);
207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart);
208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart);
209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart);
210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart);
211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @}
213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Exported Constants --------------------------------------------------------*/
217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/
218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{
221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialization and Configuration functions
225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *
226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @verbatim
227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ===============================================================================
228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### Initialization and Configuration functions #####
229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ===============================================================================
230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in asynchronous mode.
233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) For the asynchronous mode the parameters below can be configured:
234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Baud Rate
235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Word Length
236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Stop Bit
237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Hardware flow control
240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Receiver/transmitter modes
241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) Over Sampling Method
242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) One-Bit Sampling Method
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) For the asynchronous mode, the following advanced features can be configured as well:
244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) TX and/or RX pin level inversion
245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) data logical level inversion
246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) RX and TX pins swap
247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) RX overrun detection disabling
248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) DMA disabling on RX error
249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) MSB first on communication line
250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (++) auto Baud rate detection
251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API
253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, UART LIN mode
254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and UART multiprocessor mode configuration procedures (details for the procedures
255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** are available in reference manual).
256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @endverbatim
258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit,
260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** 8-bit or 9-bit), the possible UART formats are listed in the
ARM GAS /tmp/ccQxTlMj.s page 6
261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** following table.
262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Table 1. UART frame format.
264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** +-----------------------------------------------------------------------+
265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | M1 bit | M0 bit | PCE bit | UART frame |
266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | |
268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | |
270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | |
272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | |
274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | |
276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | |
278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** +-----------------------------------------------------------------------+
279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{
281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the UART mode according to the specified
285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart == NULL)
293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */
300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */
305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Allocate lock resource and initialize it */
311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 7
318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware */
322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback(huart);
323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_MspInit(huart);
326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Perform advanced settings configuration */
334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART Communication parameters */
341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart));
356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified
360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart == NULL)
368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check UART instance */
373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 8
375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Allocate lock resource and initialize it */
378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware */
389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback(huart);
390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_MspInit(huart);
393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Perform advanced settings configuration */
401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART Communication parameters */
408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart));
426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified
431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
ARM GAS /tmp/ccQxTlMj.s page 9
432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length.
434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This parameter can be one of the following values:
435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection
436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection
437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart == NULL)
443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the LIN UART instance */
448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the Break detection length parameter */
450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */
453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */
458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B)
459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Allocate lock resource and initialize it */
466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware */
477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback(huart);
478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_MspInit(huart);
481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Perform advanced settings configuration */
ARM GAS /tmp/ccQxTlMj.s page 10
489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART Communication parameters */
496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN);
505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength);
512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart));
517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified
522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long).
525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method.
526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This parameter can be one of the following values:
527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection
528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark
529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter
530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * is useless and ignored by the initialization function.
531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection
532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to
533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API
534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after
535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_MultiProcessor_Init().
536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart == NULL)
542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 11
546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the wake up method parameter */
547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Allocate lock resource and initialize it */
552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware */
563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback(huart);
564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_MspInit(huart);
567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Perform advanced settings configuration */
575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* For some items, configuration requires to be done prior TE and RE bits are set */
576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART Communication parameters */
582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared:
588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */
590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK)
594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */
596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS)
597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod);
601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
ARM GAS /tmp/ccQxTlMj.s page 12
603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart));
606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DeInitialize the UART peripheral.
611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart == NULL)
618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */
623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR1 = 0x0U;
630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL)
635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DeInit the low level hardware */
639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback(huart);
640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DeInit the low level hardware */
642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the UART MSP.
658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
ARM GAS /tmp/ccQxTlMj.s page 13
660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file
668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DeInitialize the UART MSP.
673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file
683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Register a User UART Callback
689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * To be used to override the weak predefined callback
690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note The HAL_UART_RegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_In
691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET
692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID
693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart uart handle
694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered
695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This parameter can be one of the following values:
696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pCallback pointer to the Callback function
708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pUART_CallbackTypeDef pCallback)
712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pCallback == NULL)
716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 14
717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (CallbackID)
725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback;
728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxCpltCallback = pCallback;
732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback;
736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback = pCallback;
740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback = pCallback;
744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback = pCallback;
748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback;
752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback;
756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM)
759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR3_WUFIE)
760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID :
761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->WakeupCallback = pCallback;
762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */
765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR1_UESM */
766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = pCallback;
769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
ARM GAS /tmp/ccQxTlMj.s page 15
774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default :
776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR;
779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET)
783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (CallbackID)
785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = pCallback;
788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default :
795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR;
798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR;
806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return status;
809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Unregister an UART Callback
813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback
814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note The HAL_UART_UnRegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_
815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() or HAL_RS485Ex_Init() in HAL_UART_STATE_RESET
816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART_MSPDEINIT_CB_ID
817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart uart handle
818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered
819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This parameter can be one of the following values:
820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
ARM GAS /tmp/ccQxTlMj.s page 16
831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState)
838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (CallbackID)
840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa
843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl
847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal
851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl
855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error
859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort
863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak
867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** AbortTransmitCplt
868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak
872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** AbortReceiveCpltC
873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM)
876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR3_WUFIE)
877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID :
878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu
879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */
882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR1_UESM */
883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn
885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
ARM GAS /tmp/ccQxTlMj.s page 17
888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe
889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default :
892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR;
895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState)
899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (CallbackID)
901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default :
911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR;
914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR;
922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return status;
925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback
929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * To be used instead of the weak predefined callback
930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Uart handle
931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function
932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback
935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pCallback == NULL)
939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 18
945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback = pCallback;
948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR;
954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return status;
957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback
961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine
962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Uart handle
963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart)
966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */
972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** status = HAL_ERROR;
978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return status;
981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @}
987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART Transmit/Receive functions
991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *
992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @verbatim
993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ===============================================================================
994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### IO operation functions #####
995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ===============================================================================
996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and Half duplex data transfers.
998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) There are two mode of transfer:
1000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
1001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
ARM GAS /tmp/ccQxTlMj.s page 19
1002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** after finishing transfer.
1003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
1004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** or DMA, These API's return the HAL status.
1005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The end of the data processing will be indicated through the
1006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
1007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** using DMA mode.
1008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
1009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process
1010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
1011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Blocking mode API's are :
1013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Transmit()
1014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Receive()
1015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
1017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
1018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
1019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
1020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
1022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
1023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
1024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_DMAPause()
1025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_DMAResume()
1026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_DMAStop()
1027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
1029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
1030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
1031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
1032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
1033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
1034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
1036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Abort()
1037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
1038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
1039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
1040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
1041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
1042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
1044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
1045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
1046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
1047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o
1049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** reception services:
1050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback()
1051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM)
1052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) Wakeup from Stop mode Callback:
1054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UARTEx_WakeupCallback()
1055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif
1056:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
1058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Errors are handled as follows :
ARM GAS /tmp/ccQxTlMj.s page 20
1059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
1060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error
1061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in Interrupt mode reception .
1062:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow
1063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed.
1064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Transfer is kept ongoing on UART side.
1065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
1066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
1067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
1068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback()
1069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** user callback is executed.
1070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
1072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
1073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @endverbatim
1075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{
1076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1078:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Send an amount of data in blocking mode.
1080:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 provided through pData.
1083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
1086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Timeout Timeout duration.
1087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size,
1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint8_t *pdata8bits;
1092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint16_t *pdata16bits;
1093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart;
1094:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
1101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init tickstart for timeout management */
1107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tickstart = HAL_GetTick();
1108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size;
1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size;
1111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits = NULL;
ARM GAS /tmp/ccQxTlMj.s page 21
1116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
1117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits = pData;
1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = NULL;
1122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
1132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pdata8bits == NULL)
1134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU);
1136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
1137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU);
1141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
1142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--;
1144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
1147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
1151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
1154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY;
1161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode.
1166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 available through pData.
1169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Timeout Timeout duration.
ARM GAS /tmp/ccQxTlMj.s page 22
1173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
1176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint8_t *pdata8bits;
1178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t *pdata16bits;
1179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhMask;
1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart;
1181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
1188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init tickstart for timeout management */
1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tickstart = HAL_GetTick();
1196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size;
1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size;
1199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
1202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
1203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits = NULL;
1208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits = pData;
1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = NULL;
1214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* as long as data have to be received */
1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** while (huart->RxXferCount > 0U)
1218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
1220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
1224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pdata8bits == NULL)
1226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask);
1228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
1229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
ARM GAS /tmp/ccQxTlMj.s page 23
1230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask);
1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
1234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--;
1236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY;
1246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode.
1251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 provided through pData.
1254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
1257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si
1260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
1267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size;
1271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size;
1272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
1273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */
1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT;
1281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT;
1285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 24
1287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */
1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
1289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY;
1295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode.
1300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 available through pData.
1303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
1316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set Reception type to Standard reception */
1319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
1322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
1323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
1326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size));
1329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY;
1333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Send an amount of data in DMA mode.
1338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 provided through pData.
1341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
ARM GAS /tmp/ccQxTlMj.s page 25
1344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S
1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
1354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size;
1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size;
1359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL)
1364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
1366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
1367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
1370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the DMA error callback */
1372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
1373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the DMA abort callback */
1375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART transmit DMA channel */
1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->
1379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */
1381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState to ready */
1384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
1387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the TC flag in the ICR register */
1390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
1391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
1393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the UART CR3 register */
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY;
ARM GAS /tmp/ccQxTlMj.s page 26
1401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode.
1406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain
1407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the parity bit (MSB position).
1408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * of u16 available through pData.
1411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
1424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set Reception type to Standard reception */
1427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
1430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
1431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
1434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size));
1437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY;
1441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Pause the DMA Transfer.
1446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
1450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
1455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Tx request */
ARM GAS /tmp/ccQxTlMj.s page 27
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
1461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request */
1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Resume the DMA Transfer.
1476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
1480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
1482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART DMA Tx request */
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
1487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */
1489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
1490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */
1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
1493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART DMA Rx request */
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Stop the DMA Transfer.
1507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
1511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
1513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback:
ARM GAS /tmp/ccQxTlMj.s page 28
1515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete
1516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of
1517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the stream and the corresponding call back is executed. */
1518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
1524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel */
1529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL)
1530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */
1536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
1539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndTxTransfer(huart);
1544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
1548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
1553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL)
1554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */
1560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
1563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart);
1568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
ARM GAS /tmp/ccQxTlMj.s page 29
1572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
1575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
1577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations :
1578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY
1582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
1586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
1598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
1604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL)
1605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */
1615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
1618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 30
1629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL)
1631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */
1641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
1644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
1651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
1652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
1654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
1655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */
1658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
1659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
1661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
1672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
1674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations :
1675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
1676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY
1679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
1683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
ARM GAS /tmp/ccQxTlMj.s page 31
1686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
1694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL)
1695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */
1705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
1708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Tx transfer counter */
1714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
1715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState to Ready */
1718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
1725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
1727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations :
1728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
1729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY
1732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
1736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
ARM GAS /tmp/ccQxTlMj.s page 32
1743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
1748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
1754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL)
1755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */
1765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
1768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Rx transfer counter */
1774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
1775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
1777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
1778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */
1780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
1781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->RxState to Ready */
1783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
1791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
1793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations :
1794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY
1798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - At abort completion, call user abort complete callback
1799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
ARM GAS /tmp/ccQxTlMj.s page 33
1800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
1801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
1804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t abortcplt = 1U;
1806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable interrupts */
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
1818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** before any call to DMA Abort functions */
1819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA Tx Handle is valid */
1820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL)
1821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
1823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Otherwise, set it to NULL */
1824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
1827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA Rx Handle is valid */
1834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL)
1835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
1837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Otherwise, set it to NULL */
1838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
1841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
1849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable DMA Tx at UART level */
1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
1855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL)
1856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 34
1857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
1858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort DMA TX */
1861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
1862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 0U;
1868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
1873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
1879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL)
1880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
1882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort DMA RX */
1885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
1886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 1U;
1889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 0U;
1893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
1898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (abortcplt == 1U)
1899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
1901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
1902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
1903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear ISR function pointers */
1905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL;
1906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
1907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset errorCode */
1909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
1912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
1913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 35
1914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */
1916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
1917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
1919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort complete callback */
1926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback(huart);
1927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
1928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
1929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
1930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
1934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
1937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
1938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
1939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
1940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations :
1941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
1942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY
1945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - At abort completion, call user abort complete callback
1946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
1947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
1948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
1949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
1950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
1951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable interrupts */
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
1954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel if enabled */
1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL)
1963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback :
1965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
1967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort DMA TX */
1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
1970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 36
1971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
1973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Tx transfer counter */
1978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
1979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear TxISR function pointers */
1981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
1982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState to Ready */
1984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
1989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
1990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
1991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
1992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
1993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
1997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Tx transfer counter */
1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
2000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear TxISR function pointers */
2002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
2003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState to Ready */
2006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
2011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
2012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
2013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
2014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
2015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
2023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
2025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * This procedure performs following operations :
2026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
2027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
ARM GAS /tmp/ccQxTlMj.s page 37
2028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - Set handle State to READY
2030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - At abort completion, call user abort complete callback
2031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
2033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
2034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
2036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
2045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
2054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL)
2055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2056:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
2059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort DMA RX */
2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2062:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
2065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
2068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Rx transfer counter */
2070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
2071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RxISR function pointer */
2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = NULL;
2074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
2076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F
2077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2078:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */
2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
2080:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 38
2085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
2088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
2090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2094:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
2096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset Rx transfer counter */
2098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
2099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RxISR function pointer */
2101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = NULL;
2102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
2104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
2105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
2113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
2115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
2121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Handle UART interrupt request.
2125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
2132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
2133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t errorflags;
2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t errorcode;
2136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If no error occurs */
2138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE |
2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (errorflags == 0U)
2140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/
ARM GAS /tmp/ccQxTlMj.s page 39
2142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U)
2143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
2144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxISR != NULL)
2146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR(huart);
2148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
2150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If some errors occur */
2154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((errorflags != 0U)
2155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U)
2156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))
2157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/
2159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
2160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
2162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
2164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/
2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
2168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
2170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
2172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/
2175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
2176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
2178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
2180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/
2183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U)
2184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
2185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U)))
2186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
2188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
2190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/
2193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U))
2194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
2196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO;
2198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
ARM GAS /tmp/ccQxTlMj.s page 40
2199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/
2201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
2202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/
2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U)
2205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
2206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxISR != NULL)
2208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR(huart);
2210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Error is to be considered as blocking :
2214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - Receiver Timeout error in Reception
2215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - Overrun error in Reception
2216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** - any error occurs in DMA mode reception
2217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** errorcode = huart->ErrorCode;
2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
2220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
2221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Blocking error : transfer is aborted
2223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
2224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
2225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart);
2226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel if enabled */
2228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
2234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL)
2235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
2239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Abort DMA RX */
2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
2245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
2248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user error callback */
2250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered error callback*/
2252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback(huart);
2253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
2254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak error callback*/
2255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
ARM GAS /tmp/ccQxTlMj.s page 41
2256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
2261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user error callback */
2263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered error callback*/
2265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback(huart);
2266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
2267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak error callback*/
2268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
2273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
2275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Error is notified to user through user error callback */
2276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered error callback*/
2278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback(huart);
2279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
2280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak error callback*/
2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
2287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** } /* End if some error occurs */
2289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check current reception Mode :
2291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If Reception till IDLE event has been selected : */
2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
2294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U))
2295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
2297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */
2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA mode enabled */
2302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing,
2303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (DMA cplt callback will be called).
2304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
2305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx);
2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
2307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
2308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reception is not complete */
2310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data;
2311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/
ARM GAS /tmp/ccQxTlMj.s page 42
2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR)
2314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
2320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the UART CR3 register */
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
2324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
2328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */
2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx);
2331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
2334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** In this case, Rx Event type is Idle Event */
2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE;
2336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Event callback*/
2339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
2340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
2341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
2343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
2344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
2346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
2348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA mode not enabled */
2350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing.
2351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount;
2353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
2354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_rx_data > 0U))
2355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
2363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RxISR function pointer */
2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL;
2368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
ARM GAS /tmp/ccQxTlMj.s page 43
2370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
2372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** In this case, Rx Event type is Idle Event */
2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE;
2374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx complete callback*/
2377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data);
2378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
2379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
2380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data);
2381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
2382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
2384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM)
2387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR3_WUFIE)
2388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/
2390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U))
2391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF);
2393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing.
2395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If UART handle state fields need to be reset to READY, this could be done in Wakeup callback
2396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Wakeup Callback */
2399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->WakeupCallback(huart);
2400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
2401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */
2402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart);
2403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
2405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */
2407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR1_UESM */
2408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
2410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE) != 0U)
2411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U))
2412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->TxISR != NULL)
2414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR(huart);
2416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
2418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/
2421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U))
2422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndTransmit_IT(huart);
2424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
2425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 44
2427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Tx Transfer completed callback.
2431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
2435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
2438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file.
2441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Tx Half Transfer completed callback.
2446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
2450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
2453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file.
2456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Rx Transfer completed callback.
2461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
2465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
2468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file.
2471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Rx Half Transfer completed callback.
2476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
2480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
2483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 45
2484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file.
2486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART error callback.
2491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
2495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
2498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file.
2501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART Abort Complete callback.
2506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
2510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
2513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
2516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART Abort Complete callback.
2521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
2525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
2528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
2531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
2536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
2540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 46
2541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
2543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
2546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception
2551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle
2552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in
2553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * reception buffer until which, data are available)
2554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
2557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
2560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(Size);
2561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file.
2564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM)
2568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART wakeup from Stop mode callback.
2570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __weak void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart)
2574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(huart);
2577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** the HAL_UARTEx_WakeupCallback can be implemented in the user file.
2580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR1_UESM */
2584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @}
2586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
2589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART control functions
2590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *
2591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @verbatim
2592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ===============================================================================
2593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### Peripheral Control functions #####
2594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ===============================================================================
2595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
2596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART.
2597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th
ARM GAS /tmp/ccQxTlMj.s page 47
2598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature
2599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature
2600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode
2601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode
2602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode
2603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral
2604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features
2605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization
2606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter
2607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver
2608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters
2609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @endverbatim
2610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{
2611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register.
2615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART module.
2617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout
2618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF.
2619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue)
2622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue));
2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue);
2625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature.
2629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART module.
2631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
2632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart)
2634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
2636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Locked */
2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
2639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the USART RTOEN bit */
2643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
2644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Unlocked */
2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
2649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
2651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
2653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY;
ARM GAS /tmp/ccQxTlMj.s page 48
2655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature.
2660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART module.
2662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
2663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart)
2665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
2667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Locked */
2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
2670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the USART RTOEN bit */
2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
2675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Unlocked */
2679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
2680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
2682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
2684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_BUSY;
2686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode;
2691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called).
2692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
2694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart)
2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
2698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */
2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_MME);
2703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart));
2707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode
2711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * as it may not have been in mute mode at this very moment).
ARM GAS /tmp/ccQxTlMj.s page 49
2712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
2714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart)
2716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
2718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */
2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME);
2723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (UART_CheckIdleState(huart));
2727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode).
2731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called.
2732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
2734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
2736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
2738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver.
2742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
2744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
2746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
2748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear TE and RE bits */
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
2752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TE);
2755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
2759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
2761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter.
2765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status.
2767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
ARM GAS /tmp/ccQxTlMj.s page 50
2769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear TE and RE bits */
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
2775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RE);
2778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
2782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
2784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Transmit break characters.
2789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
2791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
2793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */
2795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
2796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
2798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Send break characters */
2802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST);
2803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
2807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
2809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @}
2813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions
2816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief UART Peripheral State functions
2817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *
2818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @verbatim
2819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ==============================================================================
2820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ##### Peripheral State and Error functions #####
2821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ==============================================================================
2822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** [..]
2823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** This subsection provides functions allowing to :
2824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Return the UART handle state.
2825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (+) Return the UART handle error code
ARM GAS /tmp/ccQxTlMj.s page 51
2826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** @endverbatim
2828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{
2829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Return the UART handle state.
2833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART.
2835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL state
2836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart)
2838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t temp1;
2840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t temp2;
2841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** temp1 = huart->gState;
2842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** temp2 = huart->RxState;
2843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Return the UART handle error code.
2849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART.
2851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval UART Error Code
2852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart)
2854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return huart->ErrorCode;
2856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @}
2859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @}
2863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
2866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @{
2867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Initialize the callbacks to their default values.
2871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval none
2873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
2876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init the UART Callback settings */
2878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC
2879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb
2880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC
2881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb
2882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba
ARM GAS /tmp/ccQxTlMj.s page 52
2883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa
2884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
2885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv
2886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR1_UESM)
2887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_CR3_WUFIE)
2888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb
2889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */
2890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_CR1_UESM */
2891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall
2892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
2897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Configure the UART peripheral.
2898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
2899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
2900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
2901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
2902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tmpreg;
2904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t brrtemp;
2905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource;
2906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t usartdiv;
2907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK;
2908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t pclk;
2909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */
2911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
2912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
2913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
2914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling));
2915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
2917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
2918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
2919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
2920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
2922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure
2923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling:
2924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value
2925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value
2926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value
2927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
2930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
2932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according
2933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * to huart->Init.StopBits value */
2934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
2935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
2937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Configure
2938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according
2939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * to huart->Init.HwFlowCtl value
ARM GAS /tmp/ccQxTlMj.s page 53
2940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according
2941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */
2942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl;
2943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling;
2945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
2946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource);
2950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
2952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (clocksource)
2954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
2957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
2958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
2959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
2960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
2961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
2962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
2963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
2964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
2965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
2967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
2968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
2969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
2970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default:
2971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = 0U;
2972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ret = HAL_ERROR;
2973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
2974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */
2977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pclk != 0U)
2978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate));
2980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
2981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U);
2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
2984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
2985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
2987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ret = HAL_ERROR;
2989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
2993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** switch (clocksource)
2995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
ARM GAS /tmp/ccQxTlMj.s page 54
2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
2998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
2999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
3000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
3001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
3002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
3003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
3004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
3005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
3006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
3007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
3008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
3009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
3010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
3011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** default:
3012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pclk = 0U;
3013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ret = HAL_ERROR;
3014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
3015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (pclk != 0U)
3018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */
3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate));
3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
3022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->BRR = (uint16_t)usartdiv;
3024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
3026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ret = HAL_ERROR;
3028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear ISR function pointers */
3034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL;
3035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
3036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return ret;
3038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3040:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3041:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features.
3042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3043:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3045:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
3046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3047:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
3048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit));
3049:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3050:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure RX/TX pins swap */
3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT))
3052:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap));
ARM GAS /tmp/ccQxTlMj.s page 55
3054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
3055:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3056:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3057:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure TX pin active level inversion */
3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT))
3059:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert));
3061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
3062:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3063:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure RX pin active level inversion */
3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT))
3066:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert));
3068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
3069:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3071:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure data inversion */
3072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT))
3073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert));
3075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
3076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3077:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3078:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */
3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT))
3080:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable));
3082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
3083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3084:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3085:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */
3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT))
3087:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError));
3089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
3090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */
3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT))
3094:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance));
3096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
3098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)
3100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode));
3102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
3103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* if required, configure MSB first on communication line */
3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT))
3108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst));
3110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
ARM GAS /tmp/ccQxTlMj.s page 56
3111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Check the UART Idle State.
3116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
3118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
3120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart;
3122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize the UART ErrorCode */
3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Init tickstart for timeout management */
3127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tickstart = HAL_GetTick();
3128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check if the Transmitter is enabled */
3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE)
3131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Wait until TEACK flag is set */
3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
3134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXE interrupt for the interrupt process */
3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE));
3137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
3141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Timeout occurred */
3143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
3144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if defined(USART_ISR_REACK)
3147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check if the Receiver is enabled */
3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE)
3150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Wait until REACK flag is set */
3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
3153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error)
3155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** interrupts for the interrupt process */
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
3162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Timeout occurred */
3164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
3165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USART_ISR_REACK */
ARM GAS /tmp/ccQxTlMj.s page 57
3168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize the UART State */
3170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
3174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
3176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
3178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits
3182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * until a flag is no longer in the specified status.
3183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Flag Specifies the UART flag to check
3185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET)
3186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Tickstart Tick start value
3187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Timeout Timeout duration
3188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
3189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus
3191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout)
3192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Wait until flag is set */
3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
3195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check for the Timeout */
3197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
3198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
3200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
3203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) && (Flag != UART_FLAG_TXE) && (Flag
3206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) == SET)
3208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear Overrun Error flag*/
3210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
3211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Blocking error : transfer is aborted
3213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
3214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Disable Rx Interrupts if ongoing */
3215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart);
3216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_ORE;
3218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Unlocked */
3220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
3221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
3223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET)
ARM GAS /tmp/ccQxTlMj.s page 58
3225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear Receiver Timeout flag*/
3227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
3228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Blocking error : transfer is aborted
3230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
3231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** Disable Rx Interrupts if ongoing */
3232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart);
3233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
3235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Process Unlocked */
3237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UNLOCK(huart);
3238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_TIMEOUT;
3240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
3245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode.
3249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode
3250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
3251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
3252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * UART Handle is assumed as Locked.
3253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
3255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
3256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
3257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
3259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = pData;
3261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size;
3262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size;
3263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL;
3264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
3267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
3270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
3273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */
3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
3276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT;
3278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
3280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT;
ARM GAS /tmp/ccQxTlMj.s page 59
3282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */
3285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
3286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE);
3288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
3290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE);
3292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
3294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Start Receive operation in DMA mode.
3298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode.
3299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
3300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
3301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * UART Handle is assumed as Locked.
3302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
3304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
3305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval HAL status
3306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
3308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = pData;
3310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size;
3311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
3314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL)
3316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
3318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
3319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
3321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
3322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the DMA error callback */
3324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
3325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set the DMA abort callback */
3327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
3328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the DMA channel */
3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPt
3331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set error code to DMA */
3333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
3334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->RxState to ready */
3336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_ERROR;
ARM GAS /tmp/ccQxTlMj.s page 60
3339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
3343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
3344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
3350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
3352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the UART CR3 register */
3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
3354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return HAL_OK;
3356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
3361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
3365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
27 .loc 1 3365 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
32 .LVL0:
33 .L2:
3366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
3367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
34 .loc 1 3367 3 discriminator 1 view .LVU1
35 .LBB414:
36 .loc 1 3367 3 discriminator 1 view .LVU2
37 .loc 1 3367 3 discriminator 1 view .LVU3
38 .loc 1 3367 3 discriminator 1 view .LVU4
39 0000 0268 ldr r2, [r0]
40 .LVL1:
41 .LBB415:
42 .LBI415:
43 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
ARM GAS /tmp/ccQxTlMj.s page 61
12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
24:Drivers/CMSIS/Include/cmsis_gcc.h ****
25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
27:Drivers/CMSIS/Include/cmsis_gcc.h ****
28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
33:Drivers/CMSIS/Include/cmsis_gcc.h ****
34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
38:Drivers/CMSIS/Include/cmsis_gcc.h ****
39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
ARM GAS /tmp/ccQxTlMj.s page 62
69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
116:Drivers/CMSIS/Include/cmsis_gcc.h ****
117:Drivers/CMSIS/Include/cmsis_gcc.h ****
118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
123:Drivers/CMSIS/Include/cmsis_gcc.h ****
124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
ARM GAS /tmp/ccQxTlMj.s page 63
126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
133:Drivers/CMSIS/Include/cmsis_gcc.h ****
134:Drivers/CMSIS/Include/cmsis_gcc.h ****
135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
144:Drivers/CMSIS/Include/cmsis_gcc.h ****
145:Drivers/CMSIS/Include/cmsis_gcc.h ****
146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
154:Drivers/CMSIS/Include/cmsis_gcc.h ****
155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
158:Drivers/CMSIS/Include/cmsis_gcc.h ****
159:Drivers/CMSIS/Include/cmsis_gcc.h ****
160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
169:Drivers/CMSIS/Include/cmsis_gcc.h ****
170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
174:Drivers/CMSIS/Include/cmsis_gcc.h ****
175:Drivers/CMSIS/Include/cmsis_gcc.h ****
176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/ccQxTlMj.s page 64
183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
185:Drivers/CMSIS/Include/cmsis_gcc.h ****
186:Drivers/CMSIS/Include/cmsis_gcc.h ****
187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
198:Drivers/CMSIS/Include/cmsis_gcc.h ****
199:Drivers/CMSIS/Include/cmsis_gcc.h ****
200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
208:Drivers/CMSIS/Include/cmsis_gcc.h ****
209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
212:Drivers/CMSIS/Include/cmsis_gcc.h ****
213:Drivers/CMSIS/Include/cmsis_gcc.h ****
214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
222:Drivers/CMSIS/Include/cmsis_gcc.h ****
223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
226:Drivers/CMSIS/Include/cmsis_gcc.h ****
227:Drivers/CMSIS/Include/cmsis_gcc.h ****
228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
236:Drivers/CMSIS/Include/cmsis_gcc.h ****
237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/ccQxTlMj.s page 65
240:Drivers/CMSIS/Include/cmsis_gcc.h ****
241:Drivers/CMSIS/Include/cmsis_gcc.h ****
242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
250:Drivers/CMSIS/Include/cmsis_gcc.h ****
251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
254:Drivers/CMSIS/Include/cmsis_gcc.h ****
255:Drivers/CMSIS/Include/cmsis_gcc.h ****
256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
265:Drivers/CMSIS/Include/cmsis_gcc.h ****
266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
270:Drivers/CMSIS/Include/cmsis_gcc.h ****
271:Drivers/CMSIS/Include/cmsis_gcc.h ****
272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
281:Drivers/CMSIS/Include/cmsis_gcc.h ****
282:Drivers/CMSIS/Include/cmsis_gcc.h ****
283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
294:Drivers/CMSIS/Include/cmsis_gcc.h ****
295:Drivers/CMSIS/Include/cmsis_gcc.h ****
296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
ARM GAS /tmp/ccQxTlMj.s page 66
297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
304:Drivers/CMSIS/Include/cmsis_gcc.h ****
305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
308:Drivers/CMSIS/Include/cmsis_gcc.h ****
309:Drivers/CMSIS/Include/cmsis_gcc.h ****
310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
319:Drivers/CMSIS/Include/cmsis_gcc.h ****
320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
324:Drivers/CMSIS/Include/cmsis_gcc.h ****
325:Drivers/CMSIS/Include/cmsis_gcc.h ****
326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
335:Drivers/CMSIS/Include/cmsis_gcc.h ****
336:Drivers/CMSIS/Include/cmsis_gcc.h ****
337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
348:Drivers/CMSIS/Include/cmsis_gcc.h ****
349:Drivers/CMSIS/Include/cmsis_gcc.h ****
350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
ARM GAS /tmp/ccQxTlMj.s page 67
354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
359:Drivers/CMSIS/Include/cmsis_gcc.h ****
360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
363:Drivers/CMSIS/Include/cmsis_gcc.h ****
364:Drivers/CMSIS/Include/cmsis_gcc.h ****
365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
375:Drivers/CMSIS/Include/cmsis_gcc.h ****
376:Drivers/CMSIS/Include/cmsis_gcc.h ****
377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
385:Drivers/CMSIS/Include/cmsis_gcc.h ****
386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
389:Drivers/CMSIS/Include/cmsis_gcc.h ****
390:Drivers/CMSIS/Include/cmsis_gcc.h ****
391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
400:Drivers/CMSIS/Include/cmsis_gcc.h ****
401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
405:Drivers/CMSIS/Include/cmsis_gcc.h ****
406:Drivers/CMSIS/Include/cmsis_gcc.h ****
407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
ARM GAS /tmp/ccQxTlMj.s page 68
411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
416:Drivers/CMSIS/Include/cmsis_gcc.h ****
417:Drivers/CMSIS/Include/cmsis_gcc.h ****
418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
429:Drivers/CMSIS/Include/cmsis_gcc.h ****
430:Drivers/CMSIS/Include/cmsis_gcc.h ****
431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
443:Drivers/CMSIS/Include/cmsis_gcc.h ****
444:Drivers/CMSIS/Include/cmsis_gcc.h ****
445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
454:Drivers/CMSIS/Include/cmsis_gcc.h ****
455:Drivers/CMSIS/Include/cmsis_gcc.h ****
456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
464:Drivers/CMSIS/Include/cmsis_gcc.h ****
465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/ccQxTlMj.s page 69
468:Drivers/CMSIS/Include/cmsis_gcc.h ****
469:Drivers/CMSIS/Include/cmsis_gcc.h ****
470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
479:Drivers/CMSIS/Include/cmsis_gcc.h ****
480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
484:Drivers/CMSIS/Include/cmsis_gcc.h ****
485:Drivers/CMSIS/Include/cmsis_gcc.h ****
486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
495:Drivers/CMSIS/Include/cmsis_gcc.h ****
496:Drivers/CMSIS/Include/cmsis_gcc.h ****
497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
508:Drivers/CMSIS/Include/cmsis_gcc.h ****
509:Drivers/CMSIS/Include/cmsis_gcc.h ****
510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
520:Drivers/CMSIS/Include/cmsis_gcc.h ****
521:Drivers/CMSIS/Include/cmsis_gcc.h ****
522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
ARM GAS /tmp/ccQxTlMj.s page 70
525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
530:Drivers/CMSIS/Include/cmsis_gcc.h ****
531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
534:Drivers/CMSIS/Include/cmsis_gcc.h ****
535:Drivers/CMSIS/Include/cmsis_gcc.h ****
536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
545:Drivers/CMSIS/Include/cmsis_gcc.h ****
546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
550:Drivers/CMSIS/Include/cmsis_gcc.h ****
551:Drivers/CMSIS/Include/cmsis_gcc.h ****
552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
561:Drivers/CMSIS/Include/cmsis_gcc.h ****
562:Drivers/CMSIS/Include/cmsis_gcc.h ****
563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
574:Drivers/CMSIS/Include/cmsis_gcc.h ****
575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
578:Drivers/CMSIS/Include/cmsis_gcc.h ****
579:Drivers/CMSIS/Include/cmsis_gcc.h ****
580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
ARM GAS /tmp/ccQxTlMj.s page 71
582:Drivers/CMSIS/Include/cmsis_gcc.h ****
583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
588:Drivers/CMSIS/Include/cmsis_gcc.h ****
589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
604:Drivers/CMSIS/Include/cmsis_gcc.h ****
605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
610:Drivers/CMSIS/Include/cmsis_gcc.h ****
611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
626:Drivers/CMSIS/Include/cmsis_gcc.h ****
627:Drivers/CMSIS/Include/cmsis_gcc.h ****
628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
633:Drivers/CMSIS/Include/cmsis_gcc.h ****
634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/ccQxTlMj.s page 72
639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
647:Drivers/CMSIS/Include/cmsis_gcc.h ****
648:Drivers/CMSIS/Include/cmsis_gcc.h ****
649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
654:Drivers/CMSIS/Include/cmsis_gcc.h ****
655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
668:Drivers/CMSIS/Include/cmsis_gcc.h ****
669:Drivers/CMSIS/Include/cmsis_gcc.h ****
670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
675:Drivers/CMSIS/Include/cmsis_gcc.h ****
676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
691:Drivers/CMSIS/Include/cmsis_gcc.h ****
692:Drivers/CMSIS/Include/cmsis_gcc.h ****
693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
ARM GAS /tmp/ccQxTlMj.s page 73
696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
698:Drivers/CMSIS/Include/cmsis_gcc.h ****
699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
714:Drivers/CMSIS/Include/cmsis_gcc.h ****
715:Drivers/CMSIS/Include/cmsis_gcc.h ****
716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
721:Drivers/CMSIS/Include/cmsis_gcc.h ****
722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
735:Drivers/CMSIS/Include/cmsis_gcc.h ****
736:Drivers/CMSIS/Include/cmsis_gcc.h ****
737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
742:Drivers/CMSIS/Include/cmsis_gcc.h ****
743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
ARM GAS /tmp/ccQxTlMj.s page 74
753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
756:Drivers/CMSIS/Include/cmsis_gcc.h ****
757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
759:Drivers/CMSIS/Include/cmsis_gcc.h ****
760:Drivers/CMSIS/Include/cmsis_gcc.h ****
761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
777:Drivers/CMSIS/Include/cmsis_gcc.h ****
778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
785:Drivers/CMSIS/Include/cmsis_gcc.h ****
786:Drivers/CMSIS/Include/cmsis_gcc.h ****
787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
808:Drivers/CMSIS/Include/cmsis_gcc.h ****
809:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/ccQxTlMj.s page 75
810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
811:Drivers/CMSIS/Include/cmsis_gcc.h ****
812:Drivers/CMSIS/Include/cmsis_gcc.h ****
813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
818:Drivers/CMSIS/Include/cmsis_gcc.h ****
819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
831:Drivers/CMSIS/Include/cmsis_gcc.h ****
832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
837:Drivers/CMSIS/Include/cmsis_gcc.h ****
838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
843:Drivers/CMSIS/Include/cmsis_gcc.h ****
844:Drivers/CMSIS/Include/cmsis_gcc.h ****
845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
851:Drivers/CMSIS/Include/cmsis_gcc.h ****
852:Drivers/CMSIS/Include/cmsis_gcc.h ****
853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
858:Drivers/CMSIS/Include/cmsis_gcc.h ****
859:Drivers/CMSIS/Include/cmsis_gcc.h ****
860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
ARM GAS /tmp/ccQxTlMj.s page 76
867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
870:Drivers/CMSIS/Include/cmsis_gcc.h ****
871:Drivers/CMSIS/Include/cmsis_gcc.h ****
872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
881:Drivers/CMSIS/Include/cmsis_gcc.h ****
882:Drivers/CMSIS/Include/cmsis_gcc.h ****
883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
887:Drivers/CMSIS/Include/cmsis_gcc.h **** */
888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
891:Drivers/CMSIS/Include/cmsis_gcc.h **** }
892:Drivers/CMSIS/Include/cmsis_gcc.h ****
893:Drivers/CMSIS/Include/cmsis_gcc.h ****
894:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit)
896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
899:Drivers/CMSIS/Include/cmsis_gcc.h **** */
900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
901:Drivers/CMSIS/Include/cmsis_gcc.h **** {
902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value);
904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
906:Drivers/CMSIS/Include/cmsis_gcc.h ****
907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
911:Drivers/CMSIS/Include/cmsis_gcc.h ****
912:Drivers/CMSIS/Include/cmsis_gcc.h ****
913:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes
916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
918:Drivers/CMSIS/Include/cmsis_gcc.h **** */
919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
920:Drivers/CMSIS/Include/cmsis_gcc.h **** {
921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
922:Drivers/CMSIS/Include/cmsis_gcc.h ****
923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
ARM GAS /tmp/ccQxTlMj.s page 77
924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
925:Drivers/CMSIS/Include/cmsis_gcc.h **** }
926:Drivers/CMSIS/Include/cmsis_gcc.h ****
927:Drivers/CMSIS/Include/cmsis_gcc.h ****
928:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
930:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For exam
931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
933:Drivers/CMSIS/Include/cmsis_gcc.h **** */
934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
935:Drivers/CMSIS/Include/cmsis_gcc.h **** {
936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value);
938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result;
940:Drivers/CMSIS/Include/cmsis_gcc.h ****
941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
944:Drivers/CMSIS/Include/cmsis_gcc.h **** }
945:Drivers/CMSIS/Include/cmsis_gcc.h ****
946:Drivers/CMSIS/Include/cmsis_gcc.h ****
947:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit)
949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate
951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate
952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value
953:Drivers/CMSIS/Include/cmsis_gcc.h **** */
954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
955:Drivers/CMSIS/Include/cmsis_gcc.h **** {
956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U;
957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U)
958:Drivers/CMSIS/Include/cmsis_gcc.h **** {
959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1;
960:Drivers/CMSIS/Include/cmsis_gcc.h **** }
961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2));
962:Drivers/CMSIS/Include/cmsis_gcc.h **** }
963:Drivers/CMSIS/Include/cmsis_gcc.h ****
964:Drivers/CMSIS/Include/cmsis_gcc.h ****
965:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint
967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state.
968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula
969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor.
970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break
971:Drivers/CMSIS/Include/cmsis_gcc.h **** */
972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value)
973:Drivers/CMSIS/Include/cmsis_gcc.h ****
974:Drivers/CMSIS/Include/cmsis_gcc.h ****
975:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value
977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value.
978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
980:Drivers/CMSIS/Include/cmsis_gcc.h **** */
ARM GAS /tmp/ccQxTlMj.s page 78
981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
982:Drivers/CMSIS/Include/cmsis_gcc.h **** {
983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
984:Drivers/CMSIS/Include/cmsis_gcc.h ****
985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
991:Drivers/CMSIS/Include/cmsis_gcc.h ****
992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */
993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U)
994:Drivers/CMSIS/Include/cmsis_gcc.h **** {
995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U;
996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U;
997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--;
998:Drivers/CMSIS/Include/cmsis_gcc.h **** }
999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */
1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
1002:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1003:Drivers/CMSIS/Include/cmsis_gcc.h ****
1004:Drivers/CMSIS/Include/cmsis_gcc.h ****
1005:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
1006:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Count leading zeros
1007:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Counts the number of leading zeros of a data value.
1008:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to count the leading zeros
1009:Drivers/CMSIS/Include/cmsis_gcc.h **** \return number of leading zeros in value
1010:Drivers/CMSIS/Include/cmsis_gcc.h **** */
1011:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CLZ (uint8_t)__builtin_clz
1012:Drivers/CMSIS/Include/cmsis_gcc.h ****
1013:Drivers/CMSIS/Include/cmsis_gcc.h ****
1014:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
1015:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
1016:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
1017:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
1018:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
1019:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (8 bit)
1020:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 8 bit value.
1021:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
1022:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint8_t at (*ptr)
1023:Drivers/CMSIS/Include/cmsis_gcc.h **** */
1024:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr)
1025:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1026:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
1027:Drivers/CMSIS/Include/cmsis_gcc.h ****
1028:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
1029:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) );
1030:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
1031:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
1032:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern.
1033:Drivers/CMSIS/Include/cmsis_gcc.h **** */
1034:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
1035:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
1036:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint8_t) result); /* Add explicit type cast here */
1037:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/ccQxTlMj.s page 79
1038:Drivers/CMSIS/Include/cmsis_gcc.h ****
1039:Drivers/CMSIS/Include/cmsis_gcc.h ****
1040:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
1041:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (16 bit)
1042:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 16 bit values.
1043:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
1044:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint16_t at (*ptr)
1045:Drivers/CMSIS/Include/cmsis_gcc.h **** */
1046:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr)
1047:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1048:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
1049:Drivers/CMSIS/Include/cmsis_gcc.h ****
1050:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
1051:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) );
1052:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
1053:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
1054:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern.
1055:Drivers/CMSIS/Include/cmsis_gcc.h **** */
1056:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
1057:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
1058:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); /* Add explicit type cast here */
1059:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1060:Drivers/CMSIS/Include/cmsis_gcc.h ****
1061:Drivers/CMSIS/Include/cmsis_gcc.h ****
1062:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
1063:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (32 bit)
1064:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 32 bit values.
1065:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
1066:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr)
1067:Drivers/CMSIS/Include/cmsis_gcc.h **** */
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr)
44 .loc 2 1068 31 view .LVU5
45 .LBB416:
1069:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1070:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
46 .loc 2 1070 5 view .LVU6
1071:Drivers/CMSIS/Include/cmsis_gcc.h ****
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) );
47 .loc 2 1072 4 view .LVU7
48 .syntax unified
49 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
50 0002 52E8003F ldrex r3, [r2]
51 @ 0 "" 2
52 .LVL2:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
53 .loc 2 1073 4 view .LVU8
54 .loc 2 1073 4 is_stmt 0 view .LVU9
55 .thumb
56 .syntax unified
57 .LBE416:
58 .LBE415:
59 .loc 1 3367 3 discriminator 1 view .LVU10
60 0006 23F0C003 bic r3, r3, #192
61 .LVL3:
62 .loc 1 3367 3 is_stmt 1 discriminator 1 view .LVU11
63 .LBB417:
64 .LBI417:
ARM GAS /tmp/ccQxTlMj.s page 80
1074:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1075:Drivers/CMSIS/Include/cmsis_gcc.h ****
1076:Drivers/CMSIS/Include/cmsis_gcc.h ****
1077:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
1078:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (8 bit)
1079:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 8 bit values.
1080:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
1081:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
1082:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
1083:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
1084:Drivers/CMSIS/Include/cmsis_gcc.h **** */
1085:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr)
1086:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1087:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
1088:Drivers/CMSIS/Include/cmsis_gcc.h ****
1089:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
1090:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1091:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1092:Drivers/CMSIS/Include/cmsis_gcc.h ****
1093:Drivers/CMSIS/Include/cmsis_gcc.h ****
1094:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
1095:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (16 bit)
1096:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 16 bit values.
1097:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
1098:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
1099:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
1100:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
1101:Drivers/CMSIS/Include/cmsis_gcc.h **** */
1102:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr)
1103:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1104:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
1105:Drivers/CMSIS/Include/cmsis_gcc.h ****
1106:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
1107:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1108:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1109:Drivers/CMSIS/Include/cmsis_gcc.h ****
1110:Drivers/CMSIS/Include/cmsis_gcc.h ****
1111:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
1112:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (32 bit)
1113:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 32 bit values.
1114:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
1115:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
1116:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
1117:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
1118:Drivers/CMSIS/Include/cmsis_gcc.h **** */
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr)
65 .loc 2 1119 31 view .LVU12
66 .LBB418:
1120:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1121:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
67 .loc 2 1121 4 view .LVU13
1122:Drivers/CMSIS/Include/cmsis_gcc.h ****
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) );
68 .loc 2 1123 4 view .LVU14
69 .syntax unified
70 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
71 000a 42E80031 strex r1, r3, [r2]
ARM GAS /tmp/ccQxTlMj.s page 81
72 @ 0 "" 2
73 .LVL4:
1124:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
74 .loc 2 1124 4 view .LVU15
75 .loc 2 1124 4 is_stmt 0 view .LVU16
76 .thumb
77 .syntax unified
78 .LBE418:
79 .LBE417:
80 .loc 1 3367 3 discriminator 1 view .LVU17
81 000e 0029 cmp r1, #0
82 0010 F6D1 bne .L2
83 .LBE414:
84 .loc 1 3367 3 is_stmt 1 discriminator 2 view .LVU18
3368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
3370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
85 .loc 1 3370 3 view .LVU19
86 .loc 1 3370 17 is_stmt 0 view .LVU20
87 0012 2023 movs r3, #32
88 .LVL5:
89 .loc 1 3370 17 view .LVU21
90 0014 C367 str r3, [r0, #124]
3371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
91 .loc 1 3371 1 view .LVU22
92 0016 7047 bx lr
93 .cfi_endproc
94 .LFE191:
96 .section .text.UART_EndRxTransfer,"ax",%progbits
97 .align 1
98 .syntax unified
99 .thumb
100 .thumb_func
102 UART_EndRxTransfer:
103 .LFB192:
3372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
3376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
3380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
104 .loc 1 3380 1 is_stmt 1 view -0
105 .cfi_startproc
106 @ args = 0, pretend = 0, frame = 0
107 @ frame_needed = 0, uses_anonymous_args = 0
108 @ link register save eliminated.
109 .LVL6:
110 .L4:
3381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
111 .loc 1 3382 3 discriminator 1 view .LVU24
112 .LBB419:
113 .loc 1 3382 3 discriminator 1 view .LVU25
114 .loc 1 3382 3 discriminator 1 view .LVU26
ARM GAS /tmp/ccQxTlMj.s page 82
115 .loc 1 3382 3 discriminator 1 view .LVU27
116 0000 0268 ldr r2, [r0]
117 .LVL7:
118 .LBB420:
119 .LBI420:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
120 .loc 2 1068 31 view .LVU28
121 .LBB421:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
122 .loc 2 1070 5 view .LVU29
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
123 .loc 2 1072 4 view .LVU30
124 .syntax unified
125 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
126 0002 52E8003F ldrex r3, [r2]
127 @ 0 "" 2
128 .LVL8:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
129 .loc 2 1073 4 view .LVU31
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
130 .loc 2 1073 4 is_stmt 0 view .LVU32
131 .thumb
132 .syntax unified
133 .LBE421:
134 .LBE420:
135 .loc 1 3382 3 discriminator 1 view .LVU33
136 0006 23F49073 bic r3, r3, #288
137 .LVL9:
138 .loc 1 3382 3 is_stmt 1 discriminator 1 view .LVU34
139 .LBB422:
140 .LBI422:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
141 .loc 2 1119 31 view .LVU35
142 .LBB423:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
143 .loc 2 1121 4 view .LVU36
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
144 .loc 2 1123 4 view .LVU37
145 .syntax unified
146 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
147 000a 42E80031 strex r1, r3, [r2]
148 @ 0 "" 2
149 .LVL10:
150 .loc 2 1124 4 view .LVU38
151 .loc 2 1124 4 is_stmt 0 view .LVU39
152 .thumb
153 .syntax unified
154 .LBE423:
155 .LBE422:
156 .loc 1 3382 3 discriminator 1 view .LVU40
157 000e 0029 cmp r1, #0
158 0010 F6D1 bne .L4
159 .LVL11:
160 .L5:
161 .loc 1 3382 3 discriminator 1 view .LVU41
162 .LBE419:
163 .loc 1 3382 3 is_stmt 1 discriminator 2 view .LVU42
ARM GAS /tmp/ccQxTlMj.s page 83
3383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
164 .loc 1 3383 3 discriminator 1 view .LVU43
165 .LBB424:
166 .loc 1 3383 3 discriminator 1 view .LVU44
167 .loc 1 3383 3 discriminator 1 view .LVU45
168 .loc 1 3383 3 discriminator 1 view .LVU46
169 0012 0268 ldr r2, [r0]
170 .LVL12:
171 .LBB425:
172 .LBI425:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
173 .loc 2 1068 31 view .LVU47
174 .LBB426:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
175 .loc 2 1070 5 view .LVU48
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
176 .loc 2 1072 4 view .LVU49
177 0014 02F10803 add r3, r2, #8
178 .LVL13:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
179 .loc 2 1072 4 is_stmt 0 view .LVU50
180 .syntax unified
181 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
182 0018 53E8003F ldrex r3, [r3]
183 @ 0 "" 2
184 .LVL14:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
185 .loc 2 1073 4 is_stmt 1 view .LVU51
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
186 .loc 2 1073 4 is_stmt 0 view .LVU52
187 .thumb
188 .syntax unified
189 .LBE426:
190 .LBE425:
191 .loc 1 3383 3 discriminator 1 view .LVU53
192 001c 23F00103 bic r3, r3, #1
193 .LVL15:
194 .loc 1 3383 3 is_stmt 1 discriminator 1 view .LVU54
195 .LBB427:
196 .LBI427:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
197 .loc 2 1119 31 view .LVU55
198 .LBB428:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
199 .loc 2 1121 4 view .LVU56
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
200 .loc 2 1123 4 view .LVU57
201 0020 0832 adds r2, r2, #8
202 .LVL16:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
203 .loc 2 1123 4 is_stmt 0 view .LVU58
204 .syntax unified
205 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
206 0022 42E80031 strex r1, r3, [r2]
207 @ 0 "" 2
208 .LVL17:
209 .loc 2 1124 4 is_stmt 1 view .LVU59
ARM GAS /tmp/ccQxTlMj.s page 84
210 .loc 2 1124 4 is_stmt 0 view .LVU60
211 .thumb
212 .syntax unified
213 .LBE428:
214 .LBE427:
215 .loc 1 3383 3 discriminator 1 view .LVU61
216 0026 0029 cmp r1, #0
217 0028 F3D1 bne .L5
218 .LBE424:
219 .loc 1 3383 3 is_stmt 1 discriminator 2 view .LVU62
3384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */
3386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
220 .loc 1 3386 3 view .LVU63
221 .loc 1 3386 12 is_stmt 0 view .LVU64
222 002a 036E ldr r3, [r0, #96]
223 .LVL18:
224 .loc 1 3386 6 view .LVU65
225 002c 012B cmp r3, #1
226 002e 06D0 beq .L7
227 .L6:
3387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
228 .loc 1 3388 5 is_stmt 1 discriminator 2 view .LVU66
3389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
229 .loc 1 3392 3 view .LVU67
230 .loc 1 3392 18 is_stmt 0 view .LVU68
231 0030 2023 movs r3, #32
232 0032 C0F88030 str r3, [r0, #128]
3393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
233 .loc 1 3393 3 is_stmt 1 view .LVU69
234 .loc 1 3393 24 is_stmt 0 view .LVU70
235 0036 0023 movs r3, #0
236 0038 0366 str r3, [r0, #96]
3394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset RxIsr function pointer */
3396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL;
237 .loc 1 3396 3 is_stmt 1 view .LVU71
238 .loc 1 3396 16 is_stmt 0 view .LVU72
239 003a 8366 str r3, [r0, #104]
3397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
240 .loc 1 3397 1 view .LVU73
241 003c 7047 bx lr
242 .L7:
3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
243 .loc 1 3388 5 is_stmt 1 discriminator 1 view .LVU74
244 .LBB429:
3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
245 .loc 1 3388 5 discriminator 1 view .LVU75
3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
246 .loc 1 3388 5 discriminator 1 view .LVU76
3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
247 .loc 1 3388 5 discriminator 1 view .LVU77
248 003e 0268 ldr r2, [r0]
ARM GAS /tmp/ccQxTlMj.s page 85
249 .LVL19:
250 .LBB430:
251 .LBI430:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
252 .loc 2 1068 31 view .LVU78
253 .LBB431:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
254 .loc 2 1070 5 view .LVU79
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
255 .loc 2 1072 4 view .LVU80
256 .syntax unified
257 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
258 0040 52E8003F ldrex r3, [r2]
259 @ 0 "" 2
260 .LVL20:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
261 .loc 2 1073 4 view .LVU81
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
262 .loc 2 1073 4 is_stmt 0 view .LVU82
263 .thumb
264 .syntax unified
265 .LBE431:
266 .LBE430:
3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
267 .loc 1 3388 5 discriminator 1 view .LVU83
268 0044 23F01003 bic r3, r3, #16
269 .LVL21:
3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
270 .loc 1 3388 5 is_stmt 1 discriminator 1 view .LVU84
271 .LBB432:
272 .LBI432:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
273 .loc 2 1119 31 view .LVU85
274 .LBB433:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
275 .loc 2 1121 4 view .LVU86
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
276 .loc 2 1123 4 view .LVU87
277 .syntax unified
278 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
279 0048 42E80031 strex r1, r3, [r2]
280 @ 0 "" 2
281 .LVL22:
282 .loc 2 1124 4 view .LVU88
283 .loc 2 1124 4 is_stmt 0 view .LVU89
284 .thumb
285 .syntax unified
286 .LBE433:
287 .LBE432:
3388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
288 .loc 1 3388 5 discriminator 1 view .LVU90
289 004c 0029 cmp r1, #0
290 004e F6D1 bne .L7
291 0050 EEE7 b .L6
292 .LBE429:
293 .cfi_endproc
294 .LFE192:
ARM GAS /tmp/ccQxTlMj.s page 86
296 .section .text.UART_TxISR_8BIT,"ax",%progbits
297 .align 1
298 .syntax unified
299 .thumb
300 .thumb_func
302 UART_TxISR_8BIT:
303 .LVL23:
304 .LFB203:
3398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
3402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle.
3403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
3406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA Normal mode */
3410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR)
3411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
3413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit
3415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the UART CR3 register */
3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
3417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA Circular mode */
3422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
3423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Tx complete callback*/
3426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxCpltCallback(huart);
3427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
3429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
3430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback.
3436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle.
3437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
3440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Tx Half complete callback*/
3445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxHalfCpltCallback(huart);
3446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
ARM GAS /tmp/ccQxTlMj.s page 87
3447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/
3448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
3449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
3454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle.
3455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
3458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* DMA Normal mode */
3462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR)
3463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
3471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** in the UART CR3 register */
3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
3473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */
3478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
3481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
3485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** In this case, Rx Event type is Transfer Complete */
3486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
3487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check current reception Mode :
3489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
3490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Event callback*/
3494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
3495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
3497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
3498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
3501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In other cases : use Rx Complete callback */
3503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
ARM GAS /tmp/ccQxTlMj.s page 88
3504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx complete callback*/
3505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback(huart);
3506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
3508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
3509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART receive process half complete callback.
3515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle.
3516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
3519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
3523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** In this case, Rx Event type is Half Transfer */
3524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_HT;
3525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check current reception Mode :
3527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
3528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3530:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Event callback*/
3532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U);
3533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3534:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
3535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U);
3536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3537:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
3539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */
3541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Half complete callback*/
3543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxHalfCpltCallback(huart);
3544:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3545:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/
3546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
3547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3548:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3551:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART communication error callback.
3553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle.
3554:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3556:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
3557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
ARM GAS /tmp/ccQxTlMj.s page 89
3561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
3562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3563:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
3564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
3565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
3568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndTxTransfer(huart);
3569:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
3572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
3573:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart);
3577:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
3580:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered error callback*/
3583:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback(huart);
3584:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3585:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak error callback*/
3586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
3587:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
3592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
3593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle.
3594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3595:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
3597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
3601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3603:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered error callback*/
3604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCallback(huart);
3605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak error callback*/
3607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
3608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3611:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
3613:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
3614:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
3616:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle.
3617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
ARM GAS /tmp/ccQxTlMj.s page 90
3618:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
3620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
3624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
3626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx != NULL)
3627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL)
3629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
3631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3632:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3633:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
3635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
3636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3637:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset errorCode */
3639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
3642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3644:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
3646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user Abort complete callback */
3651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3652:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort complete callback */
3653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback(huart);
3654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3655:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
3656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
3657:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3659:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3660:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
3663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
3664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
3666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle.
3667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
3670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3672:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
3674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 91
3675:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
3676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx != NULL)
3677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL)
3679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3680:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
3681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3682:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
3685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
3686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Reset errorCode */
3689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3690:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
3692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3693:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */
3695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
3696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
3698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3701:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user Abort complete callback */
3703:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort complete callback */
3705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortCpltCallback(huart);
3706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
3708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
3709:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3711:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3712:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3713:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
3715:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
3716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
3717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
3718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle.
3719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
3722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
3726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3728:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->gState to Ready */
3729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3730:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3731:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user Abort complete callback */
ARM GAS /tmp/ccQxTlMj.s page 92
3732:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3733:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
3734:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
3735:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
3737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
3738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3740:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3741:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
3743:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
3744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
3745:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
3746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param hdma DMA handle.
3747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3749:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
3750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3752:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3755:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
3756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3757:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Discard the received data */
3759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
3760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Restore huart->RxState to Ready */
3762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3764:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call user Abort complete callback */
3766:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
3768:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
3769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
3771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
3772:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3775:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3776:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length .
3777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note Function is called under interruption only, once
3778:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
3779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3782:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart)
3783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
305 .loc 1 3783 1 is_stmt 1 view -0
306 .cfi_startproc
307 @ args = 0, pretend = 0, frame = 0
308 @ frame_needed = 0, uses_anonymous_args = 0
309 @ link register save eliminated.
ARM GAS /tmp/ccQxTlMj.s page 93
3784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is ongoing */
3785:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
310 .loc 1 3785 3 view .LVU92
311 .loc 1 3785 12 is_stmt 0 view .LVU93
312 0000 C36F ldr r3, [r0, #124]
313 .loc 1 3785 6 view .LVU94
314 0002 212B cmp r3, #33
315 0004 00D0 beq .L13
316 .L8:
3786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->TxXferCount == 0U)
3788:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3789:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
3791:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3792:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3794:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
3796:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF);
3798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++;
3799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--;
3800:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3801:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
317 .loc 1 3802 1 view .LVU95
318 0006 7047 bx lr
319 .L13:
3787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
320 .loc 1 3787 5 is_stmt 1 view .LVU96
3787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
321 .loc 1 3787 14 is_stmt 0 view .LVU97
322 0008 B0F85230 ldrh r3, [r0, #82]
323 000c 9BB2 uxth r3, r3
3787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
324 .loc 1 3787 8 view .LVU98
325 000e 93B9 cbnz r3, .L10
326 .L11:
3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
327 .loc 1 3790 7 is_stmt 1 discriminator 1 view .LVU99
328 .LBB434:
3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
329 .loc 1 3790 7 discriminator 1 view .LVU100
3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
330 .loc 1 3790 7 discriminator 1 view .LVU101
3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
331 .loc 1 3790 7 discriminator 1 view .LVU102
332 0010 0268 ldr r2, [r0]
333 .LVL24:
334 .LBB435:
335 .LBI435:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
336 .loc 2 1068 31 view .LVU103
337 .LBB436:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
338 .loc 2 1070 5 view .LVU104
ARM GAS /tmp/ccQxTlMj.s page 94
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
339 .loc 2 1072 4 view .LVU105
340 .syntax unified
341 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
342 0012 52E8003F ldrex r3, [r2]
343 @ 0 "" 2
344 .LVL25:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
345 .loc 2 1073 4 view .LVU106
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
346 .loc 2 1073 4 is_stmt 0 view .LVU107
347 .thumb
348 .syntax unified
349 .LBE436:
350 .LBE435:
3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
351 .loc 1 3790 7 discriminator 1 view .LVU108
352 0016 23F08003 bic r3, r3, #128
353 .LVL26:
3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
354 .loc 1 3790 7 is_stmt 1 discriminator 1 view .LVU109
355 .LBB437:
356 .LBI437:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
357 .loc 2 1119 31 view .LVU110
358 .LBB438:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
359 .loc 2 1121 4 view .LVU111
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
360 .loc 2 1123 4 view .LVU112
361 .syntax unified
362 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
363 001a 42E80031 strex r1, r3, [r2]
364 @ 0 "" 2
365 .LVL27:
366 .loc 2 1124 4 view .LVU113
367 .loc 2 1124 4 is_stmt 0 view .LVU114
368 .thumb
369 .syntax unified
370 .LBE438:
371 .LBE437:
3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
372 .loc 1 3790 7 discriminator 1 view .LVU115
373 001e 0029 cmp r1, #0
374 0020 F6D1 bne .L11
375 .LVL28:
376 .L12:
3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
377 .loc 1 3790 7 discriminator 1 view .LVU116
378 .LBE434:
3790:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
379 .loc 1 3790 7 is_stmt 1 discriminator 2 view .LVU117
3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
380 .loc 1 3793 7 discriminator 1 view .LVU118
381 .LBB439:
3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
382 .loc 1 3793 7 discriminator 1 view .LVU119
ARM GAS /tmp/ccQxTlMj.s page 95
3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
383 .loc 1 3793 7 discriminator 1 view .LVU120
3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
384 .loc 1 3793 7 discriminator 1 view .LVU121
385 0022 0268 ldr r2, [r0]
386 .LVL29:
387 .LBB440:
388 .LBI440:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
389 .loc 2 1068 31 view .LVU122
390 .LBB441:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
391 .loc 2 1070 5 view .LVU123
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
392 .loc 2 1072 4 view .LVU124
393 .syntax unified
394 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
395 0024 52E8003F ldrex r3, [r2]
396 @ 0 "" 2
397 .LVL30:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
398 .loc 2 1073 4 view .LVU125
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
399 .loc 2 1073 4 is_stmt 0 view .LVU126
400 .thumb
401 .syntax unified
402 .LBE441:
403 .LBE440:
3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
404 .loc 1 3793 7 discriminator 1 view .LVU127
405 0028 43F04003 orr r3, r3, #64
406 .LVL31:
3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
407 .loc 1 3793 7 is_stmt 1 discriminator 1 view .LVU128
408 .LBB442:
409 .LBI442:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
410 .loc 2 1119 31 view .LVU129
411 .LBB443:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
412 .loc 2 1121 4 view .LVU130
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
413 .loc 2 1123 4 view .LVU131
414 .syntax unified
415 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
416 002c 42E80031 strex r1, r3, [r2]
417 @ 0 "" 2
418 .LVL32:
419 .loc 2 1124 4 view .LVU132
420 .loc 2 1124 4 is_stmt 0 view .LVU133
421 .thumb
422 .syntax unified
423 .LBE443:
424 .LBE442:
3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
425 .loc 1 3793 7 discriminator 1 view .LVU134
426 0030 0029 cmp r1, #0
ARM GAS /tmp/ccQxTlMj.s page 96
427 0032 F6D1 bne .L12
428 0034 7047 bx lr
429 .LVL33:
430 .L10:
3793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
431 .loc 1 3793 7 discriminator 1 view .LVU135
432 .LBE439:
3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++;
433 .loc 1 3797 7 is_stmt 1 view .LVU136
3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++;
434 .loc 1 3797 46 is_stmt 0 view .LVU137
435 0036 C36C ldr r3, [r0, #76]
3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++;
436 .loc 1 3797 40 view .LVU138
437 0038 1A78 ldrb r2, [r3] @ zero_extendqisi2
3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++;
438 .loc 1 3797 12 view .LVU139
439 003a 0368 ldr r3, [r0]
3797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr++;
440 .loc 1 3797 28 view .LVU140
441 003c 9A62 str r2, [r3, #40]
3798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--;
442 .loc 1 3798 7 is_stmt 1 view .LVU141
3798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--;
443 .loc 1 3798 12 is_stmt 0 view .LVU142
444 003e C36C ldr r3, [r0, #76]
3798:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--;
445 .loc 1 3798 24 view .LVU143
446 0040 0133 adds r3, r3, #1
447 0042 C364 str r3, [r0, #76]
3799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
448 .loc 1 3799 7 is_stmt 1 view .LVU144
3799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
449 .loc 1 3799 12 is_stmt 0 view .LVU145
450 0044 B0F85230 ldrh r3, [r0, #82]
451 0048 9BB2 uxth r3, r3
3799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
452 .loc 1 3799 25 view .LVU146
453 004a 013B subs r3, r3, #1
454 004c 9BB2 uxth r3, r3
455 004e A0F85230 strh r3, [r0, #82] @ movhi
456 .loc 1 3802 1 view .LVU147
457 0052 D8E7 b .L8
458 .cfi_endproc
459 .LFE203:
461 .section .text.UART_TxISR_16BIT,"ax",%progbits
462 .align 1
463 .syntax unified
464 .thumb
465 .thumb_func
467 UART_TxISR_16BIT:
468 .LVL34:
469 .LFB204:
3803:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length.
3806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note Function is called under interruption only, once
ARM GAS /tmp/ccQxTlMj.s page 97
3807:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
3808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3810:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3811:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart)
3812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
470 .loc 1 3812 1 is_stmt 1 view -0
471 .cfi_startproc
472 @ args = 0, pretend = 0, frame = 0
473 @ frame_needed = 0, uses_anonymous_args = 0
474 @ link register save eliminated.
3813:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint16_t *tmp;
475 .loc 1 3813 3 view .LVU149
3814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3815:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is ongoing */
3816:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
476 .loc 1 3816 3 view .LVU150
477 .loc 1 3816 12 is_stmt 0 view .LVU151
478 0000 C36F ldr r3, [r0, #124]
479 .loc 1 3816 6 view .LVU152
480 0002 212B cmp r3, #33
481 0004 00D0 beq .L19
482 .L14:
3817:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->TxXferCount == 0U)
3819:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
3822:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3823:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3825:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
3827:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr;
3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
3830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
3831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--;
3832:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3833:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
483 .loc 1 3834 1 view .LVU153
484 0006 7047 bx lr
485 .L19:
3818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
486 .loc 1 3818 5 is_stmt 1 view .LVU154
3818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
487 .loc 1 3818 14 is_stmt 0 view .LVU155
488 0008 B0F85230 ldrh r3, [r0, #82]
489 000c 9BB2 uxth r3, r3
3818:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
490 .loc 1 3818 8 view .LVU156
491 000e 93B9 cbnz r3, .L16
492 .L17:
3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
493 .loc 1 3821 7 is_stmt 1 discriminator 1 view .LVU157
494 .LBB444:
ARM GAS /tmp/ccQxTlMj.s page 98
3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
495 .loc 1 3821 7 discriminator 1 view .LVU158
3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
496 .loc 1 3821 7 discriminator 1 view .LVU159
3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
497 .loc 1 3821 7 discriminator 1 view .LVU160
498 0010 0268 ldr r2, [r0]
499 .LVL35:
500 .LBB445:
501 .LBI445:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
502 .loc 2 1068 31 view .LVU161
503 .LBB446:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
504 .loc 2 1070 5 view .LVU162
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
505 .loc 2 1072 4 view .LVU163
506 .syntax unified
507 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
508 0012 52E8003F ldrex r3, [r2]
509 @ 0 "" 2
510 .LVL36:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
511 .loc 2 1073 4 view .LVU164
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
512 .loc 2 1073 4 is_stmt 0 view .LVU165
513 .thumb
514 .syntax unified
515 .LBE446:
516 .LBE445:
3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
517 .loc 1 3821 7 discriminator 1 view .LVU166
518 0016 23F08003 bic r3, r3, #128
519 .LVL37:
3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
520 .loc 1 3821 7 is_stmt 1 discriminator 1 view .LVU167
521 .LBB447:
522 .LBI447:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
523 .loc 2 1119 31 view .LVU168
524 .LBB448:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
525 .loc 2 1121 4 view .LVU169
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
526 .loc 2 1123 4 view .LVU170
527 .syntax unified
528 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
529 001a 42E80031 strex r1, r3, [r2]
530 @ 0 "" 2
531 .LVL38:
532 .loc 2 1124 4 view .LVU171
533 .loc 2 1124 4 is_stmt 0 view .LVU172
534 .thumb
535 .syntax unified
536 .LBE448:
537 .LBE447:
3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 99
538 .loc 1 3821 7 discriminator 1 view .LVU173
539 001e 0029 cmp r1, #0
540 0020 F6D1 bne .L17
541 .LVL39:
542 .L18:
3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
543 .loc 1 3821 7 discriminator 1 view .LVU174
544 .LBE444:
3821:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
545 .loc 1 3821 7 is_stmt 1 discriminator 2 view .LVU175
3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
546 .loc 1 3824 7 discriminator 1 view .LVU176
547 .LBB449:
3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
548 .loc 1 3824 7 discriminator 1 view .LVU177
3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
549 .loc 1 3824 7 discriminator 1 view .LVU178
3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
550 .loc 1 3824 7 discriminator 1 view .LVU179
551 0022 0268 ldr r2, [r0]
552 .LVL40:
553 .LBB450:
554 .LBI450:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
555 .loc 2 1068 31 view .LVU180
556 .LBB451:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
557 .loc 2 1070 5 view .LVU181
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
558 .loc 2 1072 4 view .LVU182
559 .syntax unified
560 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
561 0024 52E8003F ldrex r3, [r2]
562 @ 0 "" 2
563 .LVL41:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
564 .loc 2 1073 4 view .LVU183
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
565 .loc 2 1073 4 is_stmt 0 view .LVU184
566 .thumb
567 .syntax unified
568 .LBE451:
569 .LBE450:
3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
570 .loc 1 3824 7 discriminator 1 view .LVU185
571 0028 43F04003 orr r3, r3, #64
572 .LVL42:
3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
573 .loc 1 3824 7 is_stmt 1 discriminator 1 view .LVU186
574 .LBB452:
575 .LBI452:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
576 .loc 2 1119 31 view .LVU187
577 .LBB453:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
578 .loc 2 1121 4 view .LVU188
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/ccQxTlMj.s page 100
579 .loc 2 1123 4 view .LVU189
580 .syntax unified
581 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
582 002c 42E80031 strex r1, r3, [r2]
583 @ 0 "" 2
584 .LVL43:
585 .loc 2 1124 4 view .LVU190
586 .loc 2 1124 4 is_stmt 0 view .LVU191
587 .thumb
588 .syntax unified
589 .LBE453:
590 .LBE452:
3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
591 .loc 1 3824 7 discriminator 1 view .LVU192
592 0030 0029 cmp r1, #0
593 0032 F6D1 bne .L18
594 0034 7047 bx lr
595 .LVL44:
596 .L16:
3824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
597 .loc 1 3824 7 discriminator 1 view .LVU193
598 .LBE449:
3828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
599 .loc 1 3828 7 is_stmt 1 view .LVU194
3828:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
600 .loc 1 3828 11 is_stmt 0 view .LVU195
601 0036 C36C ldr r3, [r0, #76]
602 .LVL45:
3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
603 .loc 1 3829 7 is_stmt 1 view .LVU196
3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
604 .loc 1 3829 43 is_stmt 0 view .LVU197
605 0038 1B88 ldrh r3, [r3]
606 .LVL46:
3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
607 .loc 1 3829 12 view .LVU198
608 003a 0268 ldr r2, [r0]
3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
609 .loc 1 3829 50 view .LVU199
610 003c C3F30803 ubfx r3, r3, #0, #9
3829:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
611 .loc 1 3829 28 view .LVU200
612 0040 9362 str r3, [r2, #40]
613 .LVL47:
3830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--;
614 .loc 1 3830 7 is_stmt 1 view .LVU201
3830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--;
615 .loc 1 3830 12 is_stmt 0 view .LVU202
616 0042 C36C ldr r3, [r0, #76]
3830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount--;
617 .loc 1 3830 25 view .LVU203
618 0044 0233 adds r3, r3, #2
619 0046 C364 str r3, [r0, #76]
3831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
620 .loc 1 3831 7 is_stmt 1 view .LVU204
3831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
621 .loc 1 3831 12 is_stmt 0 view .LVU205
ARM GAS /tmp/ccQxTlMj.s page 101
622 0048 B0F85230 ldrh r3, [r0, #82]
623 004c 9BB2 uxth r3, r3
3831:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
624 .loc 1 3831 25 view .LVU206
625 004e 013B subs r3, r3, #1
626 0050 9BB2 uxth r3, r3
627 0052 A0F85230 strh r3, [r0, #82] @ movhi
628 .loc 1 3834 1 view .LVU207
629 0056 D6E7 b .L14
630 .cfi_endproc
631 .LFE204:
633 .section .text.HAL_UART_MspInit,"ax",%progbits
634 .align 1
635 .weak HAL_UART_MspInit
636 .syntax unified
637 .thumb
638 .thumb_func
640 HAL_UART_MspInit:
641 .LVL48:
642 .LFB146:
662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
643 .loc 1 662 1 is_stmt 1 view -0
644 .cfi_startproc
645 @ args = 0, pretend = 0, frame = 0
646 @ frame_needed = 0, uses_anonymous_args = 0
647 @ link register save eliminated.
664:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
648 .loc 1 664 3 view .LVU209
669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
649 .loc 1 669 1 is_stmt 0 view .LVU210
650 0000 7047 bx lr
651 .cfi_endproc
652 .LFE146:
654 .section .text.HAL_UART_MspDeInit,"ax",%progbits
655 .align 1
656 .weak HAL_UART_MspDeInit
657 .syntax unified
658 .thumb
659 .thumb_func
661 HAL_UART_MspDeInit:
662 .LVL49:
663 .LFB147:
677:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
664 .loc 1 677 1 is_stmt 1 view -0
665 .cfi_startproc
666 @ args = 0, pretend = 0, frame = 0
667 @ frame_needed = 0, uses_anonymous_args = 0
668 @ link register save eliminated.
679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
669 .loc 1 679 3 view .LVU212
684:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
670 .loc 1 684 1 is_stmt 0 view .LVU213
671 0000 7047 bx lr
672 .cfi_endproc
673 .LFE147:
675 .section .text.HAL_UART_DeInit,"ax",%progbits
676 .align 1
ARM GAS /tmp/ccQxTlMj.s page 102
677 .global HAL_UART_DeInit
678 .syntax unified
679 .thumb
680 .thumb_func
682 HAL_UART_DeInit:
683 .LVL50:
684 .LFB145:
615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
685 .loc 1 615 1 is_stmt 1 view -0
686 .cfi_startproc
687 @ args = 0, pretend = 0, frame = 0
688 @ frame_needed = 0, uses_anonymous_args = 0
617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
689 .loc 1 617 3 view .LVU215
617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
690 .loc 1 617 6 is_stmt 0 view .LVU216
691 0000 E0B1 cbz r0, .L24
615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
692 .loc 1 615 1 view .LVU217
693 0002 38B5 push {r3, r4, r5, lr}
694 .LCFI0:
695 .cfi_def_cfa_offset 16
696 .cfi_offset 3, -16
697 .cfi_offset 4, -12
698 .cfi_offset 5, -8
699 .cfi_offset 14, -4
700 0004 0546 mov r5, r0
623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
701 .loc 1 623 3 is_stmt 1 view .LVU218
625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
702 .loc 1 625 3 view .LVU219
625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
703 .loc 1 625 17 is_stmt 0 view .LVU220
704 0006 2423 movs r3, #36
705 0008 C367 str r3, [r0, #124]
627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
706 .loc 1 627 3 is_stmt 1 view .LVU221
707 000a 0268 ldr r2, [r0]
708 000c 1368 ldr r3, [r2]
709 000e 23F00103 bic r3, r3, #1
710 0012 1360 str r3, [r2]
629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
711 .loc 1 629 3 view .LVU222
629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
712 .loc 1 629 8 is_stmt 0 view .LVU223
713 0014 0368 ldr r3, [r0]
629:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
714 .loc 1 629 24 view .LVU224
715 0016 0024 movs r4, #0
716 0018 1C60 str r4, [r3]
630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
717 .loc 1 630 3 is_stmt 1 view .LVU225
630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
718 .loc 1 630 8 is_stmt 0 view .LVU226
719 001a 0368 ldr r3, [r0]
630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
720 .loc 1 630 24 view .LVU227
ARM GAS /tmp/ccQxTlMj.s page 103
721 001c 5C60 str r4, [r3, #4]
631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
722 .loc 1 631 3 is_stmt 1 view .LVU228
631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
723 .loc 1 631 8 is_stmt 0 view .LVU229
724 001e 0368 ldr r3, [r0]
631:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
725 .loc 1 631 24 view .LVU230
726 0020 9C60 str r4, [r3, #8]
642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
727 .loc 1 642 3 is_stmt 1 view .LVU231
728 0022 FFF7FEFF bl HAL_UART_MspDeInit
729 .LVL51:
645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
730 .loc 1 645 3 view .LVU232
645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
731 .loc 1 645 20 is_stmt 0 view .LVU233
732 0026 C5F88440 str r4, [r5, #132]
646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
733 .loc 1 646 3 is_stmt 1 view .LVU234
646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
734 .loc 1 646 17 is_stmt 0 view .LVU235
735 002a EC67 str r4, [r5, #124]
647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
736 .loc 1 647 3 is_stmt 1 view .LVU236
647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
737 .loc 1 647 18 is_stmt 0 view .LVU237
738 002c C5F88040 str r4, [r5, #128]
648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
739 .loc 1 648 3 is_stmt 1 view .LVU238
648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
740 .loc 1 648 24 is_stmt 0 view .LVU239
741 0030 2C66 str r4, [r5, #96]
649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
742 .loc 1 649 3 is_stmt 1 view .LVU240
649:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
743 .loc 1 649 22 is_stmt 0 view .LVU241
744 0032 6C66 str r4, [r5, #100]
651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
745 .loc 1 651 3 is_stmt 1 view .LVU242
651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
746 .loc 1 651 3 view .LVU243
747 0034 85F87840 strb r4, [r5, #120]
651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
748 .loc 1 651 3 view .LVU244
653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
749 .loc 1 653 3 view .LVU245
653:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
750 .loc 1 653 10 is_stmt 0 view .LVU246
751 0038 2046 mov r0, r4
654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
752 .loc 1 654 1 view .LVU247
753 003a 38BD pop {r3, r4, r5, pc}
754 .LVL52:
755 .L24:
756 .LCFI1:
757 .cfi_def_cfa_offset 0
ARM GAS /tmp/ccQxTlMj.s page 104
758 .cfi_restore 3
759 .cfi_restore 4
760 .cfi_restore 5
761 .cfi_restore 14
619:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
762 .loc 1 619 12 view .LVU248
763 003c 0120 movs r0, #1
764 .LVL53:
654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
765 .loc 1 654 1 view .LVU249
766 003e 7047 bx lr
767 .cfi_endproc
768 .LFE145:
770 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
771 .align 1
772 .global HAL_UART_Transmit_IT
773 .syntax unified
774 .thumb
775 .thumb_func
777 HAL_UART_Transmit_IT:
778 .LVL54:
779 .LFB150:
1260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
780 .loc 1 1260 1 is_stmt 1 view -0
781 .cfi_startproc
782 @ args = 0, pretend = 0, frame = 0
783 @ frame_needed = 0, uses_anonymous_args = 0
784 @ link register save eliminated.
1262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
785 .loc 1 1262 3 view .LVU251
1262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
786 .loc 1 1262 12 is_stmt 0 view .LVU252
787 0000 C36F ldr r3, [r0, #124]
1262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
788 .loc 1 1262 6 view .LVU253
789 0002 202B cmp r3, #32
790 0004 25D1 bne .L34
1264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
791 .loc 1 1264 5 is_stmt 1 view .LVU254
1264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
792 .loc 1 1264 8 is_stmt 0 view .LVU255
793 0006 002A cmp r2, #0
794 0008 18BF it ne
795 000a 0029 cmpne r1, #0
796 000c 23D0 beq .L35
1269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size;
797 .loc 1 1269 5 is_stmt 1 view .LVU256
1269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size;
798 .loc 1 1269 24 is_stmt 0 view .LVU257
799 000e C164 str r1, [r0, #76]
1270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size;
800 .loc 1 1270 5 is_stmt 1 view .LVU258
1270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size;
801 .loc 1 1270 24 is_stmt 0 view .LVU259
802 0010 A0F85020 strh r2, [r0, #80] @ movhi
1271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
803 .loc 1 1271 5 is_stmt 1 view .LVU260
ARM GAS /tmp/ccQxTlMj.s page 105
1271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
804 .loc 1 1271 24 is_stmt 0 view .LVU261
805 0014 A0F85220 strh r2, [r0, #82] @ movhi
1272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
806 .loc 1 1272 5 is_stmt 1 view .LVU262
1272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
807 .loc 1 1272 24 is_stmt 0 view .LVU263
808 0018 0023 movs r3, #0
809 001a C366 str r3, [r0, #108]
1274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
810 .loc 1 1274 5 is_stmt 1 view .LVU264
1274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
811 .loc 1 1274 22 is_stmt 0 view .LVU265
812 001c C0F88430 str r3, [r0, #132]
1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
813 .loc 1 1275 5 is_stmt 1 view .LVU266
1275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
814 .loc 1 1275 19 is_stmt 0 view .LVU267
815 0020 2123 movs r3, #33
816 0022 C367 str r3, [r0, #124]
1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
817 .loc 1 1278 5 is_stmt 1 view .LVU268
1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
818 .loc 1 1278 21 is_stmt 0 view .LVU269
819 0024 8368 ldr r3, [r0, #8]
1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
820 .loc 1 1278 8 view .LVU270
821 0026 B3F5805F cmp r3, #4096
822 002a 0CD0 beq .L36
823 .L31:
1284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
824 .loc 1 1284 7 is_stmt 1 view .LVU271
1284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
825 .loc 1 1284 20 is_stmt 0 view .LVU272
826 002c 0B4B ldr r3, .L37
827 002e C366 str r3, [r0, #108]
828 .LVL55:
829 .L33:
1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
830 .loc 1 1288 5 is_stmt 1 discriminator 1 view .LVU273
831 .LBB454:
1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
832 .loc 1 1288 5 discriminator 1 view .LVU274
1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
833 .loc 1 1288 5 discriminator 1 view .LVU275
1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
834 .loc 1 1288 5 discriminator 1 view .LVU276
835 0030 0268 ldr r2, [r0]
836 .LVL56:
837 .LBB455:
838 .LBI455:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
839 .loc 2 1068 31 view .LVU277
840 .LBB456:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
841 .loc 2 1070 5 view .LVU278
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/ccQxTlMj.s page 106
842 .loc 2 1072 4 view .LVU279
843 .syntax unified
844 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
845 0032 52E8003F ldrex r3, [r2]
846 @ 0 "" 2
847 .LVL57:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
848 .loc 2 1073 4 view .LVU280
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
849 .loc 2 1073 4 is_stmt 0 view .LVU281
850 .thumb
851 .syntax unified
852 .LBE456:
853 .LBE455:
1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
854 .loc 1 1288 5 discriminator 1 view .LVU282
855 0036 43F08003 orr r3, r3, #128
856 .LVL58:
1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
857 .loc 1 1288 5 is_stmt 1 discriminator 1 view .LVU283
858 .LBB457:
859 .LBI457:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
860 .loc 2 1119 31 view .LVU284
861 .LBB458:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
862 .loc 2 1121 4 view .LVU285
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
863 .loc 2 1123 4 view .LVU286
864 .syntax unified
865 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
866 003a 42E80031 strex r1, r3, [r2]
867 @ 0 "" 2
868 .LVL59:
869 .loc 2 1124 4 view .LVU287
870 .loc 2 1124 4 is_stmt 0 view .LVU288
871 .thumb
872 .syntax unified
873 .LBE458:
874 .LBE457:
1288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
875 .loc 1 1288 5 discriminator 1 view .LVU289
876 003e 0029 cmp r1, #0
877 0040 F6D1 bne .L33
878 .LBE454:
1290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
879 .loc 1 1290 12 view .LVU290
880 0042 0020 movs r0, #0
881 .LVL60:
882 .LBB459:
1290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
883 .loc 1 1290 12 view .LVU291
884 0044 7047 bx lr
885 .LVL61:
886 .L36:
1290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
887 .loc 1 1290 12 view .LVU292
ARM GAS /tmp/ccQxTlMj.s page 107
888 .LBE459:
1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
889 .loc 1 1278 71 discriminator 1 view .LVU293
890 0046 0369 ldr r3, [r0, #16]
1278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
891 .loc 1 1278 56 discriminator 1 view .LVU294
892 0048 002B cmp r3, #0
893 004a EFD1 bne .L31
1280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
894 .loc 1 1280 7 is_stmt 1 view .LVU295
1280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
895 .loc 1 1280 20 is_stmt 0 view .LVU296
896 004c 044B ldr r3, .L37+4
897 004e C366 str r3, [r0, #108]
898 0050 EEE7 b .L33
899 .L34:
1294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
900 .loc 1 1294 12 view .LVU297
901 0052 0220 movs r0, #2
902 .LVL62:
1294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
903 .loc 1 1294 12 view .LVU298
904 0054 7047 bx lr
905 .LVL63:
906 .L35:
1266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
907 .loc 1 1266 14 view .LVU299
908 0056 0120 movs r0, #1
909 .LVL64:
1296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
910 .loc 1 1296 1 view .LVU300
911 0058 7047 bx lr
912 .L38:
913 005a 00BF .align 2
914 .L37:
915 005c 00000000 .word UART_TxISR_8BIT
916 0060 00000000 .word UART_TxISR_16BIT
917 .cfi_endproc
918 .LFE150:
920 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
921 .align 1
922 .global HAL_UART_Transmit_DMA
923 .syntax unified
924 .thumb
925 .thumb_func
927 HAL_UART_Transmit_DMA:
928 .LVL65:
929 .LFB152:
1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
930 .loc 1 1347 1 is_stmt 1 view -0
931 .cfi_startproc
932 @ args = 0, pretend = 0, frame = 0
933 @ frame_needed = 0, uses_anonymous_args = 0
1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
934 .loc 1 1347 1 is_stmt 0 view .LVU302
935 0000 1346 mov r3, r2
1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 108
936 .loc 1 1349 3 is_stmt 1 view .LVU303
1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
937 .loc 1 1349 12 is_stmt 0 view .LVU304
938 0002 C26F ldr r2, [r0, #124]
939 .LVL66:
1349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
940 .loc 1 1349 6 view .LVU305
941 0004 202A cmp r2, #32
942 0006 3BD1 bne .L43
1347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
943 .loc 1 1347 1 view .LVU306
944 0008 10B5 push {r4, lr}
945 .LCFI2:
946 .cfi_def_cfa_offset 8
947 .cfi_offset 4, -8
948 .cfi_offset 14, -4
949 000a 0446 mov r4, r0
1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
950 .loc 1 1351 5 is_stmt 1 view .LVU307
1351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
951 .loc 1 1351 8 is_stmt 0 view .LVU308
952 000c 002B cmp r3, #0
953 000e 18BF it ne
954 0010 0029 cmpne r1, #0
955 0012 37D0 beq .L44
1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size;
956 .loc 1 1356 5 is_stmt 1 view .LVU309
1356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferSize = Size;
957 .loc 1 1356 24 is_stmt 0 view .LVU310
958 0014 C164 str r1, [r0, #76]
1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size;
959 .loc 1 1357 5 is_stmt 1 view .LVU311
1357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size;
960 .loc 1 1357 24 is_stmt 0 view .LVU312
961 0016 A0F85030 strh r3, [r0, #80] @ movhi
1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
962 .loc 1 1358 5 is_stmt 1 view .LVU313
1358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
963 .loc 1 1358 24 is_stmt 0 view .LVU314
964 001a A0F85230 strh r3, [r0, #82] @ movhi
1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
965 .loc 1 1360 5 is_stmt 1 view .LVU315
1360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
966 .loc 1 1360 22 is_stmt 0 view .LVU316
967 001e 0022 movs r2, #0
968 0020 C0F88420 str r2, [r0, #132]
1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
969 .loc 1 1361 5 is_stmt 1 view .LVU317
1361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
970 .loc 1 1361 19 is_stmt 0 view .LVU318
971 0024 2122 movs r2, #33
972 0026 C267 str r2, [r0, #124]
1363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
973 .loc 1 1363 5 is_stmt 1 view .LVU319
1363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
974 .loc 1 1363 14 is_stmt 0 view .LVU320
975 0028 026F ldr r2, [r0, #112]
ARM GAS /tmp/ccQxTlMj.s page 109
1363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
976 .loc 1 1363 8 view .LVU321
977 002a C2B1 cbz r2, .L41
1366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
978 .loc 1 1366 7 is_stmt 1 view .LVU322
1366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
979 .loc 1 1366 39 is_stmt 0 view .LVU323
980 002c 1649 ldr r1, .L49
981 .LVL67:
1366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
982 .loc 1 1366 39 view .LVU324
983 002e D163 str r1, [r2, #60]
984 .LVL68:
1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
985 .loc 1 1369 7 is_stmt 1 view .LVU325
1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
986 .loc 1 1369 12 is_stmt 0 view .LVU326
987 0030 026F ldr r2, [r0, #112]
1369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
988 .loc 1 1369 43 view .LVU327
989 0032 1649 ldr r1, .L49+4
990 0034 1164 str r1, [r2, #64]
1372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
991 .loc 1 1372 7 is_stmt 1 view .LVU328
1372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
992 .loc 1 1372 12 is_stmt 0 view .LVU329
993 0036 026F ldr r2, [r0, #112]
1372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
994 .loc 1 1372 40 view .LVU330
995 0038 1549 ldr r1, .L49+8
996 003a D164 str r1, [r2, #76]
1375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
997 .loc 1 1375 7 is_stmt 1 view .LVU331
1375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
998 .loc 1 1375 12 is_stmt 0 view .LVU332
999 003c 026F ldr r2, [r0, #112]
1375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1000 .loc 1 1375 40 view .LVU333
1001 003e 0021 movs r1, #0
1002 0040 1165 str r1, [r2, #80]
1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1003 .loc 1 1378 7 is_stmt 1 view .LVU334
1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1004 .loc 1 1378 88 is_stmt 0 view .LVU335
1005 0042 0268 ldr r2, [r0]
1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1006 .loc 1 1378 11 view .LVU336
1007 0044 2832 adds r2, r2, #40
1008 0046 C16C ldr r1, [r0, #76]
1009 0048 006F ldr r0, [r0, #112]
1010 .LVL69:
1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1011 .loc 1 1378 11 view .LVU337
1012 004a FFF7FEFF bl HAL_DMA_Start_IT
1013 .LVL70:
1378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1014 .loc 1 1378 10 discriminator 1 view .LVU338
ARM GAS /tmp/ccQxTlMj.s page 110
1015 004e 30B1 cbz r0, .L41
1381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1016 .loc 1 1381 9 is_stmt 1 view .LVU339
1381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1017 .loc 1 1381 26 is_stmt 0 view .LVU340
1018 0050 1023 movs r3, #16
1019 0052 C4F88430 str r3, [r4, #132]
1384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1020 .loc 1 1384 9 is_stmt 1 view .LVU341
1384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1021 .loc 1 1384 23 is_stmt 0 view .LVU342
1022 0056 2023 movs r3, #32
1023 0058 E367 str r3, [r4, #124]
1386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1024 .loc 1 1386 9 is_stmt 1 view .LVU343
1386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1025 .loc 1 1386 16 is_stmt 0 view .LVU344
1026 005a 0120 movs r0, #1
1027 005c 0FE0 b .L40
1028 .L41:
1390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1029 .loc 1 1390 5 is_stmt 1 view .LVU345
1030 005e 2368 ldr r3, [r4]
1031 0060 4022 movs r2, #64
1032 0062 1A62 str r2, [r3, #32]
1033 .L42:
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1034 .loc 1 1394 5 discriminator 1 view .LVU346
1035 .LBB460:
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1036 .loc 1 1394 5 discriminator 1 view .LVU347
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1037 .loc 1 1394 5 discriminator 1 view .LVU348
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1038 .loc 1 1394 5 discriminator 1 view .LVU349
1039 0064 2268 ldr r2, [r4]
1040 .LVL71:
1041 .LBB461:
1042 .LBI461:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1043 .loc 2 1068 31 view .LVU350
1044 .LBB462:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1045 .loc 2 1070 5 view .LVU351
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1046 .loc 2 1072 4 view .LVU352
1047 0066 02F10803 add r3, r2, #8
1048 .LVL72:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1049 .loc 2 1072 4 is_stmt 0 view .LVU353
1050 .syntax unified
1051 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1052 006a 53E8003F ldrex r3, [r3]
1053 @ 0 "" 2
1054 .LVL73:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1055 .loc 2 1073 4 is_stmt 1 view .LVU354
ARM GAS /tmp/ccQxTlMj.s page 111
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1056 .loc 2 1073 4 is_stmt 0 view .LVU355
1057 .thumb
1058 .syntax unified
1059 .LBE462:
1060 .LBE461:
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1061 .loc 1 1394 5 discriminator 1 view .LVU356
1062 006e 43F08003 orr r3, r3, #128
1063 .LVL74:
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1064 .loc 1 1394 5 is_stmt 1 discriminator 1 view .LVU357
1065 .LBB463:
1066 .LBI463:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1067 .loc 2 1119 31 view .LVU358
1068 .LBB464:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1069 .loc 2 1121 4 view .LVU359
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1070 .loc 2 1123 4 view .LVU360
1071 0072 0832 adds r2, r2, #8
1072 .LVL75:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1073 .loc 2 1123 4 is_stmt 0 view .LVU361
1074 .syntax unified
1075 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1076 0074 42E80031 strex r1, r3, [r2]
1077 @ 0 "" 2
1078 .LVL76:
1079 .loc 2 1124 4 is_stmt 1 view .LVU362
1080 .loc 2 1124 4 is_stmt 0 view .LVU363
1081 .thumb
1082 .syntax unified
1083 .LBE464:
1084 .LBE463:
1394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1085 .loc 1 1394 5 discriminator 1 view .LVU364
1086 0078 0029 cmp r1, #0
1087 007a F3D1 bne .L42
1088 .LBE460:
1396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1089 .loc 1 1396 12 view .LVU365
1090 007c 0020 movs r0, #0
1091 .LVL77:
1092 .L40:
1402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1093 .loc 1 1402 1 view .LVU366
1094 007e 10BD pop {r4, pc}
1095 .LVL78:
1096 .L43:
1097 .LCFI3:
1098 .cfi_def_cfa_offset 0
1099 .cfi_restore 4
1100 .cfi_restore 14
1400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1101 .loc 1 1400 12 view .LVU367
ARM GAS /tmp/ccQxTlMj.s page 112
1102 0080 0220 movs r0, #2
1103 .LVL79:
1402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1104 .loc 1 1402 1 view .LVU368
1105 0082 7047 bx lr
1106 .LVL80:
1107 .L44:
1108 .LCFI4:
1109 .cfi_def_cfa_offset 8
1110 .cfi_offset 4, -8
1111 .cfi_offset 14, -4
1353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1112 .loc 1 1353 14 view .LVU369
1113 0084 0120 movs r0, #1
1114 .LVL81:
1353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1115 .loc 1 1353 14 view .LVU370
1116 0086 FAE7 b .L40
1117 .L50:
1118 .align 2
1119 .L49:
1120 0088 00000000 .word UART_DMATransmitCplt
1121 008c 00000000 .word UART_DMATxHalfCplt
1122 0090 00000000 .word UART_DMAError
1123 .cfi_endproc
1124 .LFE152:
1126 .section .text.HAL_UART_DMAPause,"ax",%progbits
1127 .align 1
1128 .global HAL_UART_DMAPause
1129 .syntax unified
1130 .thumb
1131 .thumb_func
1133 HAL_UART_DMAPause:
1134 .LVL82:
1135 .LFB154:
1450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1136 .loc 1 1450 1 is_stmt 1 view -0
1137 .cfi_startproc
1138 @ args = 0, pretend = 0, frame = 0
1139 @ frame_needed = 0, uses_anonymous_args = 0
1140 @ link register save eliminated.
1450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1141 .loc 1 1450 1 is_stmt 0 view .LVU372
1142 0000 10B4 push {r4}
1143 .LCFI5:
1144 .cfi_def_cfa_offset 4
1145 .cfi_offset 4, -4
1451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1146 .loc 1 1451 3 is_stmt 1 view .LVU373
1451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1147 .loc 1 1451 31 is_stmt 0 view .LVU374
1148 0002 C26F ldr r2, [r0, #124]
1149 .LVL83:
1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1150 .loc 1 1452 3 is_stmt 1 view .LVU375
1452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1151 .loc 1 1452 31 is_stmt 0 view .LVU376
ARM GAS /tmp/ccQxTlMj.s page 113
1152 0004 D0F88040 ldr r4, [r0, #128]
1153 .LVL84:
1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1154 .loc 1 1454 3 is_stmt 1 view .LVU377
1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1155 .loc 1 1454 8 is_stmt 0 view .LVU378
1156 0008 0368 ldr r3, [r0]
1157 000a 9B68 ldr r3, [r3, #8]
1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1158 .loc 1 1454 6 view .LVU379
1159 000c 13F0800F tst r3, #128
1160 0010 01D0 beq .L52
1454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1161 .loc 1 1454 62 discriminator 1 view .LVU380
1162 0012 212A cmp r2, #33
1163 0014 0AD0 beq .L53
1164 .LVL85:
1165 .L52:
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1166 .loc 1 1458 5 is_stmt 1 discriminator 2 view .LVU381
1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1167 .loc 1 1460 3 view .LVU382
1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1168 .loc 1 1460 8 is_stmt 0 view .LVU383
1169 0016 0368 ldr r3, [r0]
1170 0018 9B68 ldr r3, [r3, #8]
1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1171 .loc 1 1460 6 view .LVU384
1172 001a 13F0400F tst r3, #64
1173 001e 01D0 beq .L54
1460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1174 .loc 1 1460 62 discriminator 1 view .LVU385
1175 0020 222C cmp r4, #34
1176 0022 10D0 beq .L55
1177 .L54:
1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1178 .loc 1 1468 5 is_stmt 1 discriminator 2 view .LVU386
1471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1179 .loc 1 1471 3 view .LVU387
1472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1180 .loc 1 1472 1 is_stmt 0 view .LVU388
1181 0024 0020 movs r0, #0
1182 .LVL86:
1472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1183 .loc 1 1472 1 view .LVU389
1184 0026 5DF8044B ldr r4, [sp], #4
1185 .LCFI6:
1186 .cfi_remember_state
1187 .cfi_restore 4
1188 .cfi_def_cfa_offset 0
1189 .LVL87:
1472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1190 .loc 1 1472 1 view .LVU390
1191 002a 7047 bx lr
1192 .LVL88:
1193 .L53:
1194 .LCFI7:
ARM GAS /tmp/ccQxTlMj.s page 114
1195 .cfi_restore_state
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1196 .loc 1 1458 5 is_stmt 1 discriminator 1 view .LVU391
1197 .LBB465:
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1198 .loc 1 1458 5 discriminator 1 view .LVU392
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1199 .loc 1 1458 5 discriminator 1 view .LVU393
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1200 .loc 1 1458 5 discriminator 1 view .LVU394
1201 002c 0268 ldr r2, [r0]
1202 .LVL89:
1203 .LBB466:
1204 .LBI466:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1205 .loc 2 1068 31 view .LVU395
1206 .LBB467:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1207 .loc 2 1070 5 view .LVU396
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1208 .loc 2 1072 4 view .LVU397
1209 002e 02F10803 add r3, r2, #8
1210 .LVL90:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1211 .loc 2 1072 4 is_stmt 0 view .LVU398
1212 .syntax unified
1213 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1214 0032 53E8003F ldrex r3, [r3]
1215 @ 0 "" 2
1216 .LVL91:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1217 .loc 2 1073 4 is_stmt 1 view .LVU399
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1218 .loc 2 1073 4 is_stmt 0 view .LVU400
1219 .thumb
1220 .syntax unified
1221 .LBE467:
1222 .LBE466:
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1223 .loc 1 1458 5 discriminator 1 view .LVU401
1224 0036 23F08003 bic r3, r3, #128
1225 .LVL92:
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1226 .loc 1 1458 5 is_stmt 1 discriminator 1 view .LVU402
1227 .LBB468:
1228 .LBI468:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1229 .loc 2 1119 31 view .LVU403
1230 .LBB469:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1231 .loc 2 1121 4 view .LVU404
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1232 .loc 2 1123 4 view .LVU405
1233 003a 0832 adds r2, r2, #8
1234 .LVL93:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1235 .loc 2 1123 4 is_stmt 0 view .LVU406
ARM GAS /tmp/ccQxTlMj.s page 115
1236 .syntax unified
1237 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1238 003c 42E80031 strex r1, r3, [r2]
1239 @ 0 "" 2
1240 .LVL94:
1241 .loc 2 1124 4 is_stmt 1 view .LVU407
1242 .loc 2 1124 4 is_stmt 0 view .LVU408
1243 .thumb
1244 .syntax unified
1245 .LBE469:
1246 .LBE468:
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1247 .loc 1 1458 5 discriminator 1 view .LVU409
1248 0040 0029 cmp r1, #0
1249 0042 F3D1 bne .L53
1250 0044 E7E7 b .L52
1251 .LVL95:
1252 .L55:
1458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1253 .loc 1 1458 5 discriminator 1 view .LVU410
1254 .LBE465:
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1255 .loc 1 1464 5 is_stmt 1 discriminator 1 view .LVU411
1256 .LBB470:
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1257 .loc 1 1464 5 discriminator 1 view .LVU412
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1258 .loc 1 1464 5 discriminator 1 view .LVU413
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1259 .loc 1 1464 5 discriminator 1 view .LVU414
1260 0046 0268 ldr r2, [r0]
1261 .LVL96:
1262 .LBB471:
1263 .LBI471:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1264 .loc 2 1068 31 view .LVU415
1265 .LBB472:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1266 .loc 2 1070 5 view .LVU416
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1267 .loc 2 1072 4 view .LVU417
1268 .syntax unified
1269 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1270 0048 52E8003F ldrex r3, [r2]
1271 @ 0 "" 2
1272 .LVL97:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1273 .loc 2 1073 4 view .LVU418
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1274 .loc 2 1073 4 is_stmt 0 view .LVU419
1275 .thumb
1276 .syntax unified
1277 .LBE472:
1278 .LBE471:
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1279 .loc 1 1464 5 discriminator 1 view .LVU420
1280 004c 23F48073 bic r3, r3, #256
ARM GAS /tmp/ccQxTlMj.s page 116
1281 .LVL98:
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1282 .loc 1 1464 5 is_stmt 1 discriminator 1 view .LVU421
1283 .LBB473:
1284 .LBI473:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1285 .loc 2 1119 31 view .LVU422
1286 .LBB474:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1287 .loc 2 1121 4 view .LVU423
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1288 .loc 2 1123 4 view .LVU424
1289 .syntax unified
1290 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1291 0050 42E80031 strex r1, r3, [r2]
1292 @ 0 "" 2
1293 .LVL99:
1294 .loc 2 1124 4 view .LVU425
1295 .loc 2 1124 4 is_stmt 0 view .LVU426
1296 .thumb
1297 .syntax unified
1298 .LBE474:
1299 .LBE473:
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1300 .loc 1 1464 5 discriminator 1 view .LVU427
1301 0054 0029 cmp r1, #0
1302 0056 F6D1 bne .L55
1303 .LVL100:
1304 .L56:
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1305 .loc 1 1464 5 discriminator 1 view .LVU428
1306 .LBE470:
1464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1307 .loc 1 1464 5 is_stmt 1 discriminator 2 view .LVU429
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1308 .loc 1 1465 5 discriminator 1 view .LVU430
1309 .LBB475:
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1310 .loc 1 1465 5 discriminator 1 view .LVU431
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1311 .loc 1 1465 5 discriminator 1 view .LVU432
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1312 .loc 1 1465 5 discriminator 1 view .LVU433
1313 0058 0268 ldr r2, [r0]
1314 .LVL101:
1315 .LBB476:
1316 .LBI476:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1317 .loc 2 1068 31 view .LVU434
1318 .LBB477:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1319 .loc 2 1070 5 view .LVU435
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1320 .loc 2 1072 4 view .LVU436
1321 005a 02F10803 add r3, r2, #8
1322 .LVL102:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/ccQxTlMj.s page 117
1323 .loc 2 1072 4 is_stmt 0 view .LVU437
1324 .syntax unified
1325 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1326 005e 53E8003F ldrex r3, [r3]
1327 @ 0 "" 2
1328 .LVL103:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1329 .loc 2 1073 4 is_stmt 1 view .LVU438
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1330 .loc 2 1073 4 is_stmt 0 view .LVU439
1331 .thumb
1332 .syntax unified
1333 .LBE477:
1334 .LBE476:
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1335 .loc 1 1465 5 discriminator 1 view .LVU440
1336 0062 23F00103 bic r3, r3, #1
1337 .LVL104:
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1338 .loc 1 1465 5 is_stmt 1 discriminator 1 view .LVU441
1339 .LBB478:
1340 .LBI478:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1341 .loc 2 1119 31 view .LVU442
1342 .LBB479:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1343 .loc 2 1121 4 view .LVU443
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1344 .loc 2 1123 4 view .LVU444
1345 0066 0832 adds r2, r2, #8
1346 .LVL105:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1347 .loc 2 1123 4 is_stmt 0 view .LVU445
1348 .syntax unified
1349 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1350 0068 42E80031 strex r1, r3, [r2]
1351 @ 0 "" 2
1352 .LVL106:
1353 .loc 2 1124 4 is_stmt 1 view .LVU446
1354 .loc 2 1124 4 is_stmt 0 view .LVU447
1355 .thumb
1356 .syntax unified
1357 .LBE479:
1358 .LBE478:
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1359 .loc 1 1465 5 discriminator 1 view .LVU448
1360 006c 0029 cmp r1, #0
1361 006e F3D1 bne .L56
1362 .LVL107:
1363 .L57:
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1364 .loc 1 1465 5 discriminator 1 view .LVU449
1365 .LBE475:
1465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1366 .loc 1 1465 5 is_stmt 1 discriminator 2 view .LVU450
1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1367 .loc 1 1468 5 discriminator 1 view .LVU451
ARM GAS /tmp/ccQxTlMj.s page 118
1368 .LBB480:
1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1369 .loc 1 1468 5 discriminator 1 view .LVU452
1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1370 .loc 1 1468 5 discriminator 1 view .LVU453
1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1371 .loc 1 1468 5 discriminator 1 view .LVU454
1372 0070 0268 ldr r2, [r0]
1373 .LVL108:
1374 .LBB481:
1375 .LBI481:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1376 .loc 2 1068 31 view .LVU455
1377 .LBB482:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1378 .loc 2 1070 5 view .LVU456
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1379 .loc 2 1072 4 view .LVU457
1380 0072 02F10803 add r3, r2, #8
1381 .LVL109:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1382 .loc 2 1072 4 is_stmt 0 view .LVU458
1383 .syntax unified
1384 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1385 0076 53E8003F ldrex r3, [r3]
1386 @ 0 "" 2
1387 .LVL110:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1388 .loc 2 1073 4 is_stmt 1 view .LVU459
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1389 .loc 2 1073 4 is_stmt 0 view .LVU460
1390 .thumb
1391 .syntax unified
1392 .LBE482:
1393 .LBE481:
1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1394 .loc 1 1468 5 discriminator 1 view .LVU461
1395 007a 23F04003 bic r3, r3, #64
1396 .LVL111:
1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1397 .loc 1 1468 5 is_stmt 1 discriminator 1 view .LVU462
1398 .LBB483:
1399 .LBI483:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1400 .loc 2 1119 31 view .LVU463
1401 .LBB484:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1402 .loc 2 1121 4 view .LVU464
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1403 .loc 2 1123 4 view .LVU465
1404 007e 0832 adds r2, r2, #8
1405 .LVL112:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1406 .loc 2 1123 4 is_stmt 0 view .LVU466
1407 .syntax unified
1408 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1409 0080 42E80031 strex r1, r3, [r2]
ARM GAS /tmp/ccQxTlMj.s page 119
1410 @ 0 "" 2
1411 .LVL113:
1412 .loc 2 1124 4 is_stmt 1 view .LVU467
1413 .loc 2 1124 4 is_stmt 0 view .LVU468
1414 .thumb
1415 .syntax unified
1416 .LBE484:
1417 .LBE483:
1468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1418 .loc 1 1468 5 discriminator 1 view .LVU469
1419 0084 0029 cmp r1, #0
1420 0086 F3D1 bne .L57
1421 0088 CCE7 b .L54
1422 .LBE480:
1423 .cfi_endproc
1424 .LFE154:
1426 .section .text.HAL_UART_DMAResume,"ax",%progbits
1427 .align 1
1428 .global HAL_UART_DMAResume
1429 .syntax unified
1430 .thumb
1431 .thumb_func
1433 HAL_UART_DMAResume:
1434 .LVL114:
1435 .LFB155:
1480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
1436 .loc 1 1480 1 is_stmt 1 view -0
1437 .cfi_startproc
1438 @ args = 0, pretend = 0, frame = 0
1439 @ frame_needed = 0, uses_anonymous_args = 0
1440 @ link register save eliminated.
1481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1441 .loc 1 1481 3 view .LVU471
1481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1442 .loc 1 1481 12 is_stmt 0 view .LVU472
1443 0000 C36F ldr r3, [r0, #124]
1481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1444 .loc 1 1481 6 view .LVU473
1445 0002 212B cmp r3, #33
1446 0004 05D0 beq .L61
1447 .L60:
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1448 .loc 1 1484 5 is_stmt 1 discriminator 2 view .LVU474
1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1449 .loc 1 1486 3 view .LVU475
1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1450 .loc 1 1486 12 is_stmt 0 view .LVU476
1451 0006 D0F88030 ldr r3, [r0, #128]
1486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1452 .loc 1 1486 6 view .LVU477
1453 000a 222B cmp r3, #34
1454 000c 0ED0 beq .L67
1455 .L62:
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1456 .loc 1 1499 5 is_stmt 1 discriminator 2 view .LVU478
1502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1457 .loc 1 1502 3 view .LVU479
ARM GAS /tmp/ccQxTlMj.s page 120
1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1458 .loc 1 1503 1 is_stmt 0 view .LVU480
1459 000e 0020 movs r0, #0
1460 .LVL115:
1503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1461 .loc 1 1503 1 view .LVU481
1462 0010 7047 bx lr
1463 .LVL116:
1464 .L61:
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1465 .loc 1 1484 5 is_stmt 1 discriminator 1 view .LVU482
1466 .LBB485:
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1467 .loc 1 1484 5 discriminator 1 view .LVU483
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1468 .loc 1 1484 5 discriminator 1 view .LVU484
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1469 .loc 1 1484 5 discriminator 1 view .LVU485
1470 0012 0268 ldr r2, [r0]
1471 .LVL117:
1472 .LBB486:
1473 .LBI486:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1474 .loc 2 1068 31 view .LVU486
1475 .LBB487:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1476 .loc 2 1070 5 view .LVU487
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1477 .loc 2 1072 4 view .LVU488
1478 0014 02F10803 add r3, r2, #8
1479 .LVL118:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1480 .loc 2 1072 4 is_stmt 0 view .LVU489
1481 .syntax unified
1482 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1483 0018 53E8003F ldrex r3, [r3]
1484 @ 0 "" 2
1485 .LVL119:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1486 .loc 2 1073 4 is_stmt 1 view .LVU490
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1487 .loc 2 1073 4 is_stmt 0 view .LVU491
1488 .thumb
1489 .syntax unified
1490 .LBE487:
1491 .LBE486:
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1492 .loc 1 1484 5 discriminator 1 view .LVU492
1493 001c 43F08003 orr r3, r3, #128
1494 .LVL120:
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1495 .loc 1 1484 5 is_stmt 1 discriminator 1 view .LVU493
1496 .LBB488:
1497 .LBI488:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1498 .loc 2 1119 31 view .LVU494
1499 .LBB489:
ARM GAS /tmp/ccQxTlMj.s page 121
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1500 .loc 2 1121 4 view .LVU495
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1501 .loc 2 1123 4 view .LVU496
1502 0020 0832 adds r2, r2, #8
1503 .LVL121:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1504 .loc 2 1123 4 is_stmt 0 view .LVU497
1505 .syntax unified
1506 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1507 0022 42E80031 strex r1, r3, [r2]
1508 @ 0 "" 2
1509 .LVL122:
1510 .loc 2 1124 4 is_stmt 1 view .LVU498
1511 .loc 2 1124 4 is_stmt 0 view .LVU499
1512 .thumb
1513 .syntax unified
1514 .LBE489:
1515 .LBE488:
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1516 .loc 1 1484 5 discriminator 1 view .LVU500
1517 0026 0029 cmp r1, #0
1518 0028 F3D1 bne .L61
1519 002a ECE7 b .L60
1520 .LVL123:
1521 .L67:
1484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1522 .loc 1 1484 5 discriminator 1 view .LVU501
1523 .LBE485:
1489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1524 .loc 1 1489 5 is_stmt 1 view .LVU502
1525 002c 0368 ldr r3, [r0]
1526 002e 0822 movs r2, #8
1527 0030 1A62 str r2, [r3, #32]
1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1528 .loc 1 1492 5 view .LVU503
1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1529 .loc 1 1492 20 is_stmt 0 view .LVU504
1530 0032 0369 ldr r3, [r0, #16]
1492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1531 .loc 1 1492 8 view .LVU505
1532 0034 43B1 cbz r3, .L65
1533 .L64:
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1534 .loc 1 1494 7 is_stmt 1 discriminator 1 view .LVU506
1535 .LBB490:
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1536 .loc 1 1494 7 discriminator 1 view .LVU507
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1537 .loc 1 1494 7 discriminator 1 view .LVU508
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1538 .loc 1 1494 7 discriminator 1 view .LVU509
1539 0036 0268 ldr r2, [r0]
1540 .LVL124:
1541 .LBB491:
1542 .LBI491:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/ccQxTlMj.s page 122
1543 .loc 2 1068 31 view .LVU510
1544 .LBB492:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1545 .loc 2 1070 5 view .LVU511
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1546 .loc 2 1072 4 view .LVU512
1547 .syntax unified
1548 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1549 0038 52E8003F ldrex r3, [r2]
1550 @ 0 "" 2
1551 .LVL125:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1552 .loc 2 1073 4 view .LVU513
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1553 .loc 2 1073 4 is_stmt 0 view .LVU514
1554 .thumb
1555 .syntax unified
1556 .LBE492:
1557 .LBE491:
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1558 .loc 1 1494 7 discriminator 1 view .LVU515
1559 003c 43F48073 orr r3, r3, #256
1560 .LVL126:
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1561 .loc 1 1494 7 is_stmt 1 discriminator 1 view .LVU516
1562 .LBB493:
1563 .LBI493:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1564 .loc 2 1119 31 view .LVU517
1565 .LBB494:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1566 .loc 2 1121 4 view .LVU518
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1567 .loc 2 1123 4 view .LVU519
1568 .syntax unified
1569 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1570 0040 42E80031 strex r1, r3, [r2]
1571 @ 0 "" 2
1572 .LVL127:
1573 .loc 2 1124 4 view .LVU520
1574 .loc 2 1124 4 is_stmt 0 view .LVU521
1575 .thumb
1576 .syntax unified
1577 .LBE494:
1578 .LBE493:
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1579 .loc 1 1494 7 discriminator 1 view .LVU522
1580 0044 0029 cmp r1, #0
1581 0046 F6D1 bne .L64
1582 .LVL128:
1583 .L65:
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1584 .loc 1 1494 7 discriminator 1 view .LVU523
1585 .LBE490:
1494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1586 .loc 1 1494 7 is_stmt 1 discriminator 2 view .LVU524
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 123
1587 .loc 1 1496 5 discriminator 1 view .LVU525
1588 .LBB495:
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1589 .loc 1 1496 5 discriminator 1 view .LVU526
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1590 .loc 1 1496 5 discriminator 1 view .LVU527
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1591 .loc 1 1496 5 discriminator 1 view .LVU528
1592 0048 0268 ldr r2, [r0]
1593 .LVL129:
1594 .LBB496:
1595 .LBI496:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1596 .loc 2 1068 31 view .LVU529
1597 .LBB497:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1598 .loc 2 1070 5 view .LVU530
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1599 .loc 2 1072 4 view .LVU531
1600 004a 02F10803 add r3, r2, #8
1601 .LVL130:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1602 .loc 2 1072 4 is_stmt 0 view .LVU532
1603 .syntax unified
1604 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1605 004e 53E8003F ldrex r3, [r3]
1606 @ 0 "" 2
1607 .LVL131:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1608 .loc 2 1073 4 is_stmt 1 view .LVU533
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1609 .loc 2 1073 4 is_stmt 0 view .LVU534
1610 .thumb
1611 .syntax unified
1612 .LBE497:
1613 .LBE496:
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1614 .loc 1 1496 5 discriminator 1 view .LVU535
1615 0052 43F00103 orr r3, r3, #1
1616 .LVL132:
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1617 .loc 1 1496 5 is_stmt 1 discriminator 1 view .LVU536
1618 .LBB498:
1619 .LBI498:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1620 .loc 2 1119 31 view .LVU537
1621 .LBB499:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1622 .loc 2 1121 4 view .LVU538
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1623 .loc 2 1123 4 view .LVU539
1624 0056 0832 adds r2, r2, #8
1625 .LVL133:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1626 .loc 2 1123 4 is_stmt 0 view .LVU540
1627 .syntax unified
1628 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
ARM GAS /tmp/ccQxTlMj.s page 124
1629 0058 42E80031 strex r1, r3, [r2]
1630 @ 0 "" 2
1631 .LVL134:
1632 .loc 2 1124 4 is_stmt 1 view .LVU541
1633 .loc 2 1124 4 is_stmt 0 view .LVU542
1634 .thumb
1635 .syntax unified
1636 .LBE499:
1637 .LBE498:
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1638 .loc 1 1496 5 discriminator 1 view .LVU543
1639 005c 0029 cmp r1, #0
1640 005e F3D1 bne .L65
1641 .LVL135:
1642 .L66:
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1643 .loc 1 1496 5 discriminator 1 view .LVU544
1644 .LBE495:
1496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1645 .loc 1 1496 5 is_stmt 1 discriminator 2 view .LVU545
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1646 .loc 1 1499 5 discriminator 1 view .LVU546
1647 .LBB500:
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1648 .loc 1 1499 5 discriminator 1 view .LVU547
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1649 .loc 1 1499 5 discriminator 1 view .LVU548
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1650 .loc 1 1499 5 discriminator 1 view .LVU549
1651 0060 0268 ldr r2, [r0]
1652 .LVL136:
1653 .LBB501:
1654 .LBI501:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1655 .loc 2 1068 31 view .LVU550
1656 .LBB502:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1657 .loc 2 1070 5 view .LVU551
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1658 .loc 2 1072 4 view .LVU552
1659 0062 02F10803 add r3, r2, #8
1660 .LVL137:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1661 .loc 2 1072 4 is_stmt 0 view .LVU553
1662 .syntax unified
1663 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1664 0066 53E8003F ldrex r3, [r3]
1665 @ 0 "" 2
1666 .LVL138:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1667 .loc 2 1073 4 is_stmt 1 view .LVU554
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1668 .loc 2 1073 4 is_stmt 0 view .LVU555
1669 .thumb
1670 .syntax unified
1671 .LBE502:
1672 .LBE501:
ARM GAS /tmp/ccQxTlMj.s page 125
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1673 .loc 1 1499 5 discriminator 1 view .LVU556
1674 006a 43F04003 orr r3, r3, #64
1675 .LVL139:
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1676 .loc 1 1499 5 is_stmt 1 discriminator 1 view .LVU557
1677 .LBB503:
1678 .LBI503:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1679 .loc 2 1119 31 view .LVU558
1680 .LBB504:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1681 .loc 2 1121 4 view .LVU559
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1682 .loc 2 1123 4 view .LVU560
1683 006e 0832 adds r2, r2, #8
1684 .LVL140:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1685 .loc 2 1123 4 is_stmt 0 view .LVU561
1686 .syntax unified
1687 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1688 0070 42E80031 strex r1, r3, [r2]
1689 @ 0 "" 2
1690 .LVL141:
1691 .loc 2 1124 4 is_stmt 1 view .LVU562
1692 .loc 2 1124 4 is_stmt 0 view .LVU563
1693 .thumb
1694 .syntax unified
1695 .LBE504:
1696 .LBE503:
1499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1697 .loc 1 1499 5 discriminator 1 view .LVU564
1698 0074 0029 cmp r1, #0
1699 0076 F3D1 bne .L66
1700 0078 C9E7 b .L62
1701 .LBE500:
1702 .cfi_endproc
1703 .LFE155:
1705 .section .text.HAL_UART_DMAStop,"ax",%progbits
1706 .align 1
1707 .global HAL_UART_DMAStop
1708 .syntax unified
1709 .thumb
1710 .thumb_func
1712 HAL_UART_DMAStop:
1713 .LVL142:
1714 .LFB156:
1511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
1715 .loc 1 1511 1 is_stmt 1 view -0
1716 .cfi_startproc
1717 @ args = 0, pretend = 0, frame = 0
1718 @ frame_needed = 0, uses_anonymous_args = 0
1511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
1719 .loc 1 1511 1 is_stmt 0 view .LVU566
1720 0000 38B5 push {r3, r4, r5, lr}
1721 .LCFI8:
1722 .cfi_def_cfa_offset 16
ARM GAS /tmp/ccQxTlMj.s page 126
1723 .cfi_offset 3, -16
1724 .cfi_offset 4, -12
1725 .cfi_offset 5, -8
1726 .cfi_offset 14, -4
1727 0002 0446 mov r4, r0
1519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1728 .loc 1 1519 3 is_stmt 1 view .LVU567
1519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1729 .loc 1 1519 31 is_stmt 0 view .LVU568
1730 0004 C26F ldr r2, [r0, #124]
1731 .LVL143:
1520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1732 .loc 1 1520 3 is_stmt 1 view .LVU569
1520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1733 .loc 1 1520 31 is_stmt 0 view .LVU570
1734 0006 D0F88050 ldr r5, [r0, #128]
1735 .LVL144:
1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1736 .loc 1 1523 3 is_stmt 1 view .LVU571
1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1737 .loc 1 1523 8 is_stmt 0 view .LVU572
1738 000a 0368 ldr r3, [r0]
1739 000c 9B68 ldr r3, [r3, #8]
1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1740 .loc 1 1523 6 view .LVU573
1741 000e 13F0800F tst r3, #128
1742 0012 01D0 beq .L69
1523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1743 .loc 1 1523 62 discriminator 1 view .LVU574
1744 0014 212A cmp r2, #33
1745 0016 08D0 beq .L70
1746 .LVL145:
1747 .L69:
1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1748 .loc 1 1547 3 is_stmt 1 view .LVU575
1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1749 .loc 1 1547 8 is_stmt 0 view .LVU576
1750 0018 2368 ldr r3, [r4]
1751 001a 9B68 ldr r3, [r3, #8]
1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1752 .loc 1 1547 6 view .LVU577
1753 001c 13F0400F tst r3, #64
1754 0020 42D0 beq .L75
1547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1755 .loc 1 1547 62 discriminator 1 view .LVU578
1756 0022 222D cmp r5, #34
1757 0024 20D0 beq .L73
1570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1758 .loc 1 1570 10 view .LVU579
1759 0026 0020 movs r0, #0
1760 0028 3FE0 b .L72
1761 .LVL146:
1762 .L70:
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1763 .loc 1 1526 5 is_stmt 1 discriminator 1 view .LVU580
1764 .LBB505:
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 127
1765 .loc 1 1526 5 discriminator 1 view .LVU581
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1766 .loc 1 1526 5 discriminator 1 view .LVU582
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1767 .loc 1 1526 5 discriminator 1 view .LVU583
1768 002a 2268 ldr r2, [r4]
1769 .LVL147:
1770 .LBB506:
1771 .LBI506:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1772 .loc 2 1068 31 view .LVU584
1773 .LBB507:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1774 .loc 2 1070 5 view .LVU585
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1775 .loc 2 1072 4 view .LVU586
1776 002c 02F10803 add r3, r2, #8
1777 .LVL148:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1778 .loc 2 1072 4 is_stmt 0 view .LVU587
1779 .syntax unified
1780 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1781 0030 53E8003F ldrex r3, [r3]
1782 @ 0 "" 2
1783 .LVL149:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1784 .loc 2 1073 4 is_stmt 1 view .LVU588
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1785 .loc 2 1073 4 is_stmt 0 view .LVU589
1786 .thumb
1787 .syntax unified
1788 .LBE507:
1789 .LBE506:
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1790 .loc 1 1526 5 discriminator 1 view .LVU590
1791 0034 23F08003 bic r3, r3, #128
1792 .LVL150:
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1793 .loc 1 1526 5 is_stmt 1 discriminator 1 view .LVU591
1794 .LBB508:
1795 .LBI508:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1796 .loc 2 1119 31 view .LVU592
1797 .LBB509:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1798 .loc 2 1121 4 view .LVU593
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1799 .loc 2 1123 4 view .LVU594
1800 0038 0832 adds r2, r2, #8
1801 .LVL151:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1802 .loc 2 1123 4 is_stmt 0 view .LVU595
1803 .syntax unified
1804 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1805 003a 42E80031 strex r1, r3, [r2]
1806 @ 0 "" 2
1807 .LVL152:
ARM GAS /tmp/ccQxTlMj.s page 128
1808 .loc 2 1124 4 is_stmt 1 view .LVU596
1809 .loc 2 1124 4 is_stmt 0 view .LVU597
1810 .thumb
1811 .syntax unified
1812 .LBE509:
1813 .LBE508:
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1814 .loc 1 1526 5 discriminator 1 view .LVU598
1815 003e 0029 cmp r1, #0
1816 0040 F3D1 bne .L70
1817 .LBE505:
1526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1818 .loc 1 1526 5 is_stmt 1 discriminator 2 view .LVU599
1529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1819 .loc 1 1529 5 view .LVU600
1529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1820 .loc 1 1529 14 is_stmt 0 view .LVU601
1821 0042 206F ldr r0, [r4, #112]
1822 .LVL153:
1529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1823 .loc 1 1529 8 view .LVU602
1824 0044 10B1 cbz r0, .L71
1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1825 .loc 1 1531 7 is_stmt 1 view .LVU603
1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1826 .loc 1 1531 11 is_stmt 0 view .LVU604
1827 0046 FFF7FEFF bl HAL_DMA_Abort
1828 .LVL154:
1531:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1829 .loc 1 1531 10 discriminator 1 view .LVU605
1830 004a 18B9 cbnz r0, .L78
1831 .L71:
1543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1832 .loc 1 1543 5 is_stmt 1 view .LVU606
1833 004c 2046 mov r0, r4
1834 004e FFF7FEFF bl UART_EndTxTransfer
1835 .LVL155:
1836 0052 E1E7 b .L69
1837 .L78:
1533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1838 .loc 1 1533 9 view .LVU607
1533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1839 .loc 1 1533 13 is_stmt 0 view .LVU608
1840 0054 206F ldr r0, [r4, #112]
1841 0056 FFF7FEFF bl HAL_DMA_GetError
1842 .LVL156:
1533:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1843 .loc 1 1533 12 discriminator 1 view .LVU609
1844 005a 2028 cmp r0, #32
1845 005c F6D1 bne .L71
1536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1846 .loc 1 1536 11 is_stmt 1 view .LVU610
1536:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1847 .loc 1 1536 28 is_stmt 0 view .LVU611
1848 005e 1023 movs r3, #16
1849 0060 C4F88430 str r3, [r4, #132]
1538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
ARM GAS /tmp/ccQxTlMj.s page 129
1850 .loc 1 1538 11 is_stmt 1 view .LVU612
1538:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1851 .loc 1 1538 18 is_stmt 0 view .LVU613
1852 0064 0320 movs r0, #3
1853 0066 20E0 b .L72
1854 .LVL157:
1855 .L73:
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1856 .loc 1 1550 5 is_stmt 1 discriminator 1 view .LVU614
1857 .LBB510:
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1858 .loc 1 1550 5 discriminator 1 view .LVU615
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1859 .loc 1 1550 5 discriminator 1 view .LVU616
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1860 .loc 1 1550 5 discriminator 1 view .LVU617
1861 0068 2268 ldr r2, [r4]
1862 .LVL158:
1863 .LBB511:
1864 .LBI511:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1865 .loc 2 1068 31 view .LVU618
1866 .LBB512:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1867 .loc 2 1070 5 view .LVU619
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1868 .loc 2 1072 4 view .LVU620
1869 006a 02F10803 add r3, r2, #8
1870 .LVL159:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1871 .loc 2 1072 4 is_stmt 0 view .LVU621
1872 .syntax unified
1873 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1874 006e 53E8003F ldrex r3, [r3]
1875 @ 0 "" 2
1876 .LVL160:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1877 .loc 2 1073 4 is_stmt 1 view .LVU622
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1878 .loc 2 1073 4 is_stmt 0 view .LVU623
1879 .thumb
1880 .syntax unified
1881 .LBE512:
1882 .LBE511:
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1883 .loc 1 1550 5 discriminator 1 view .LVU624
1884 0072 23F04003 bic r3, r3, #64
1885 .LVL161:
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1886 .loc 1 1550 5 is_stmt 1 discriminator 1 view .LVU625
1887 .LBB513:
1888 .LBI513:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1889 .loc 2 1119 31 view .LVU626
1890 .LBB514:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
1891 .loc 2 1121 4 view .LVU627
ARM GAS /tmp/ccQxTlMj.s page 130
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1892 .loc 2 1123 4 view .LVU628
1893 0076 0832 adds r2, r2, #8
1894 .LVL162:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1895 .loc 2 1123 4 is_stmt 0 view .LVU629
1896 .syntax unified
1897 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1898 0078 42E80031 strex r1, r3, [r2]
1899 @ 0 "" 2
1900 .LVL163:
1901 .loc 2 1124 4 is_stmt 1 view .LVU630
1902 .loc 2 1124 4 is_stmt 0 view .LVU631
1903 .thumb
1904 .syntax unified
1905 .LBE514:
1906 .LBE513:
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1907 .loc 1 1550 5 discriminator 1 view .LVU632
1908 007c 0029 cmp r1, #0
1909 007e F3D1 bne .L73
1910 .LBE510:
1550:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1911 .loc 1 1550 5 is_stmt 1 discriminator 2 view .LVU633
1553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1912 .loc 1 1553 5 view .LVU634
1553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1913 .loc 1 1553 14 is_stmt 0 view .LVU635
1914 0080 606F ldr r0, [r4, #116]
1553:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1915 .loc 1 1553 8 view .LVU636
1916 0082 10B1 cbz r0, .L74
1555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1917 .loc 1 1555 7 is_stmt 1 view .LVU637
1555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1918 .loc 1 1555 11 is_stmt 0 view .LVU638
1919 0084 FFF7FEFF bl HAL_DMA_Abort
1920 .LVL164:
1555:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1921 .loc 1 1555 10 discriminator 1 view .LVU639
1922 0088 20B9 cbnz r0, .L79
1923 .L74:
1567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1924 .loc 1 1567 5 is_stmt 1 view .LVU640
1925 008a 2046 mov r0, r4
1926 008c FFF7FEFF bl UART_EndRxTransfer
1927 .LVL165:
1570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1928 .loc 1 1570 10 is_stmt 0 view .LVU641
1929 0090 0020 movs r0, #0
1930 0092 0AE0 b .L72
1931 .L79:
1557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1932 .loc 1 1557 9 is_stmt 1 view .LVU642
1557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1933 .loc 1 1557 13 is_stmt 0 view .LVU643
1934 0094 606F ldr r0, [r4, #116]
ARM GAS /tmp/ccQxTlMj.s page 131
1935 0096 FFF7FEFF bl HAL_DMA_GetError
1936 .LVL166:
1557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
1937 .loc 1 1557 12 discriminator 1 view .LVU644
1938 009a 2028 cmp r0, #32
1939 009c F5D1 bne .L74
1560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1940 .loc 1 1560 11 is_stmt 1 view .LVU645
1560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1941 .loc 1 1560 28 is_stmt 0 view .LVU646
1942 009e 1023 movs r3, #16
1943 00a0 C4F88430 str r3, [r4, #132]
1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1944 .loc 1 1562 11 is_stmt 1 view .LVU647
1562:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1945 .loc 1 1562 18 is_stmt 0 view .LVU648
1946 00a4 0320 movs r0, #3
1947 00a6 00E0 b .L72
1948 .LVL167:
1949 .L75:
1570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
1950 .loc 1 1570 10 view .LVU649
1951 00a8 0020 movs r0, #0
1952 .L72:
1571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1953 .loc 1 1571 1 view .LVU650
1954 00aa 38BD pop {r3, r4, r5, pc}
1571:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
1955 .loc 1 1571 1 view .LVU651
1956 .cfi_endproc
1957 .LFE156:
1959 .section .text.HAL_UART_Abort,"ax",%progbits
1960 .align 1
1961 .global HAL_UART_Abort
1962 .syntax unified
1963 .thumb
1964 .thumb_func
1966 HAL_UART_Abort:
1967 .LVL168:
1968 .LFB157:
1586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1969 .loc 1 1586 1 is_stmt 1 view -0
1970 .cfi_startproc
1971 @ args = 0, pretend = 0, frame = 0
1972 @ frame_needed = 0, uses_anonymous_args = 0
1586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1973 .loc 1 1586 1 is_stmt 0 view .LVU653
1974 0000 10B5 push {r4, lr}
1975 .LCFI9:
1976 .cfi_def_cfa_offset 8
1977 .cfi_offset 4, -8
1978 .cfi_offset 14, -4
1979 0002 0446 mov r4, r0
1980 .L81:
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1981 .loc 1 1588 3 is_stmt 1 discriminator 1 view .LVU654
1982 .LBB515:
ARM GAS /tmp/ccQxTlMj.s page 132
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1983 .loc 1 1588 3 discriminator 1 view .LVU655
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1984 .loc 1 1588 3 discriminator 1 view .LVU656
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1985 .loc 1 1588 3 discriminator 1 view .LVU657
1986 0004 2268 ldr r2, [r4]
1987 .LVL169:
1988 .LBB516:
1989 .LBI516:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1990 .loc 2 1068 31 view .LVU658
1991 .LBB517:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
1992 .loc 2 1070 5 view .LVU659
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1993 .loc 2 1072 4 view .LVU660
1994 .syntax unified
1995 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1996 0006 52E8003F ldrex r3, [r2]
1997 @ 0 "" 2
1998 .LVL170:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1999 .loc 2 1073 4 view .LVU661
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2000 .loc 2 1073 4 is_stmt 0 view .LVU662
2001 .thumb
2002 .syntax unified
2003 .LBE517:
2004 .LBE516:
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2005 .loc 1 1588 3 discriminator 1 view .LVU663
2006 000a 23F4F073 bic r3, r3, #480
2007 .LVL171:
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2008 .loc 1 1588 3 is_stmt 1 discriminator 1 view .LVU664
2009 .LBB518:
2010 .LBI518:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2011 .loc 2 1119 31 view .LVU665
2012 .LBB519:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2013 .loc 2 1121 4 view .LVU666
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2014 .loc 2 1123 4 view .LVU667
2015 .syntax unified
2016 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2017 000e 42E80031 strex r1, r3, [r2]
2018 @ 0 "" 2
2019 .LVL172:
2020 .loc 2 1124 4 view .LVU668
2021 .loc 2 1124 4 is_stmt 0 view .LVU669
2022 .thumb
2023 .syntax unified
2024 .LBE519:
2025 .LBE518:
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
ARM GAS /tmp/ccQxTlMj.s page 133
2026 .loc 1 1588 3 discriminator 1 view .LVU670
2027 0012 0029 cmp r1, #0
2028 0014 F6D1 bne .L81
2029 .LVL173:
2030 .L82:
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2031 .loc 1 1588 3 discriminator 1 view .LVU671
2032 .LBE515:
1588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2033 .loc 1 1588 3 is_stmt 1 discriminator 2 view .LVU672
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2034 .loc 1 1589 3 discriminator 1 view .LVU673
2035 .LBB520:
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2036 .loc 1 1589 3 discriminator 1 view .LVU674
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2037 .loc 1 1589 3 discriminator 1 view .LVU675
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2038 .loc 1 1589 3 discriminator 1 view .LVU676
2039 0016 2268 ldr r2, [r4]
2040 .LVL174:
2041 .LBB521:
2042 .LBI521:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2043 .loc 2 1068 31 view .LVU677
2044 .LBB522:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
2045 .loc 2 1070 5 view .LVU678
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2046 .loc 2 1072 4 view .LVU679
2047 0018 02F10803 add r3, r2, #8
2048 .LVL175:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2049 .loc 2 1072 4 is_stmt 0 view .LVU680
2050 .syntax unified
2051 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2052 001c 53E8003F ldrex r3, [r3]
2053 @ 0 "" 2
2054 .LVL176:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2055 .loc 2 1073 4 is_stmt 1 view .LVU681
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2056 .loc 2 1073 4 is_stmt 0 view .LVU682
2057 .thumb
2058 .syntax unified
2059 .LBE522:
2060 .LBE521:
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2061 .loc 1 1589 3 discriminator 1 view .LVU683
2062 0020 23F00103 bic r3, r3, #1
2063 .LVL177:
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2064 .loc 1 1589 3 is_stmt 1 discriminator 1 view .LVU684
2065 .LBB523:
2066 .LBI523:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2067 .loc 2 1119 31 view .LVU685
ARM GAS /tmp/ccQxTlMj.s page 134
2068 .LBB524:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2069 .loc 2 1121 4 view .LVU686
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2070 .loc 2 1123 4 view .LVU687
2071 0024 0832 adds r2, r2, #8
2072 .LVL178:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2073 .loc 2 1123 4 is_stmt 0 view .LVU688
2074 .syntax unified
2075 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2076 0026 42E80031 strex r1, r3, [r2]
2077 @ 0 "" 2
2078 .LVL179:
2079 .loc 2 1124 4 is_stmt 1 view .LVU689
2080 .loc 2 1124 4 is_stmt 0 view .LVU690
2081 .thumb
2082 .syntax unified
2083 .LBE524:
2084 .LBE523:
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2085 .loc 1 1589 3 discriminator 1 view .LVU691
2086 002a 0029 cmp r1, #0
2087 002c F3D1 bne .L82
2088 .LBE520:
1589:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2089 .loc 1 1589 3 is_stmt 1 discriminator 2 view .LVU692
1592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2090 .loc 1 1592 3 view .LVU693
1592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2091 .loc 1 1592 12 is_stmt 0 view .LVU694
2092 002e 236E ldr r3, [r4, #96]
2093 .LVL180:
1592:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2094 .loc 1 1592 6 view .LVU695
2095 0030 012B cmp r3, #1
2096 0032 47D0 beq .L84
2097 .L83:
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2098 .loc 1 1594 5 is_stmt 1 discriminator 2 view .LVU696
1598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2099 .loc 1 1598 3 view .LVU697
1598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2100 .loc 1 1598 7 is_stmt 0 view .LVU698
2101 0034 2368 ldr r3, [r4]
2102 0036 9B68 ldr r3, [r3, #8]
1598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2103 .loc 1 1598 6 view .LVU699
2104 0038 13F0800F tst r3, #128
2105 003c 14D0 beq .L85
2106 .L86:
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2107 .loc 1 1601 5 is_stmt 1 discriminator 1 view .LVU700
2108 .LBB525:
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2109 .loc 1 1601 5 discriminator 1 view .LVU701
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 135
2110 .loc 1 1601 5 discriminator 1 view .LVU702
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2111 .loc 1 1601 5 discriminator 1 view .LVU703
2112 003e 2268 ldr r2, [r4]
2113 .LVL181:
2114 .LBB526:
2115 .LBI526:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2116 .loc 2 1068 31 view .LVU704
2117 .LBB527:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
2118 .loc 2 1070 5 view .LVU705
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2119 .loc 2 1072 4 view .LVU706
2120 0040 02F10803 add r3, r2, #8
2121 .LVL182:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2122 .loc 2 1072 4 is_stmt 0 view .LVU707
2123 .syntax unified
2124 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2125 0044 53E8003F ldrex r3, [r3]
2126 @ 0 "" 2
2127 .LVL183:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2128 .loc 2 1073 4 is_stmt 1 view .LVU708
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2129 .loc 2 1073 4 is_stmt 0 view .LVU709
2130 .thumb
2131 .syntax unified
2132 .LBE527:
2133 .LBE526:
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2134 .loc 1 1601 5 discriminator 1 view .LVU710
2135 0048 23F08003 bic r3, r3, #128
2136 .LVL184:
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2137 .loc 1 1601 5 is_stmt 1 discriminator 1 view .LVU711
2138 .LBB528:
2139 .LBI528:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2140 .loc 2 1119 31 view .LVU712
2141 .LBB529:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2142 .loc 2 1121 4 view .LVU713
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2143 .loc 2 1123 4 view .LVU714
2144 004c 0832 adds r2, r2, #8
2145 .LVL185:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2146 .loc 2 1123 4 is_stmt 0 view .LVU715
2147 .syntax unified
2148 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2149 004e 42E80031 strex r1, r3, [r2]
2150 @ 0 "" 2
2151 .LVL186:
2152 .loc 2 1124 4 is_stmt 1 view .LVU716
2153 .loc 2 1124 4 is_stmt 0 view .LVU717
ARM GAS /tmp/ccQxTlMj.s page 136
2154 .thumb
2155 .syntax unified
2156 .LBE529:
2157 .LBE528:
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2158 .loc 1 1601 5 discriminator 1 view .LVU718
2159 0052 0029 cmp r1, #0
2160 0054 F3D1 bne .L86
2161 .LBE525:
1601:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2162 .loc 1 1601 5 is_stmt 1 discriminator 2 view .LVU719
1604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2163 .loc 1 1604 5 view .LVU720
1604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2164 .loc 1 1604 14 is_stmt 0 view .LVU721
2165 0056 236F ldr r3, [r4, #112]
2166 .LVL187:
1604:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2167 .loc 1 1604 8 view .LVU722
2168 0058 33B1 cbz r3, .L85
1608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2169 .loc 1 1608 7 is_stmt 1 view .LVU723
1608:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2170 .loc 1 1608 40 is_stmt 0 view .LVU724
2171 005a 0022 movs r2, #0
2172 005c 1A65 str r2, [r3, #80]
1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2173 .loc 1 1610 7 is_stmt 1 view .LVU725
1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2174 .loc 1 1610 11 is_stmt 0 view .LVU726
2175 005e 206F ldr r0, [r4, #112]
2176 .LVL188:
1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2177 .loc 1 1610 11 view .LVU727
2178 0060 FFF7FEFF bl HAL_DMA_Abort
2179 .LVL189:
1610:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2180 .loc 1 1610 10 discriminator 1 view .LVU728
2181 0064 0028 cmp r0, #0
2182 0066 37D1 bne .L91
2183 .LVL190:
2184 .L85:
1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2185 .loc 1 1624 3 is_stmt 1 view .LVU729
1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2186 .loc 1 1624 7 is_stmt 0 view .LVU730
2187 0068 2368 ldr r3, [r4]
2188 006a 9B68 ldr r3, [r3, #8]
1624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2189 .loc 1 1624 6 view .LVU731
2190 006c 13F0400F tst r3, #64
2191 0070 13D0 beq .L88
2192 .L89:
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2193 .loc 1 1627 5 is_stmt 1 discriminator 1 view .LVU732
2194 .LBB530:
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 137
2195 .loc 1 1627 5 discriminator 1 view .LVU733
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2196 .loc 1 1627 5 discriminator 1 view .LVU734
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2197 .loc 1 1627 5 discriminator 1 view .LVU735
2198 0072 2268 ldr r2, [r4]
2199 .LVL191:
2200 .LBB531:
2201 .LBI531:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2202 .loc 2 1068 31 view .LVU736
2203 .LBB532:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
2204 .loc 2 1070 5 view .LVU737
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2205 .loc 2 1072 4 view .LVU738
2206 0074 02F10803 add r3, r2, #8
2207 .LVL192:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2208 .loc 2 1072 4 is_stmt 0 view .LVU739
2209 .syntax unified
2210 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2211 0078 53E8003F ldrex r3, [r3]
2212 @ 0 "" 2
2213 .LVL193:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2214 .loc 2 1073 4 is_stmt 1 view .LVU740
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2215 .loc 2 1073 4 is_stmt 0 view .LVU741
2216 .thumb
2217 .syntax unified
2218 .LBE532:
2219 .LBE531:
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2220 .loc 1 1627 5 discriminator 1 view .LVU742
2221 007c 23F04003 bic r3, r3, #64
2222 .LVL194:
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2223 .loc 1 1627 5 is_stmt 1 discriminator 1 view .LVU743
2224 .LBB533:
2225 .LBI533:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2226 .loc 2 1119 31 view .LVU744
2227 .LBB534:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2228 .loc 2 1121 4 view .LVU745
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2229 .loc 2 1123 4 view .LVU746
2230 0080 0832 adds r2, r2, #8
2231 .LVL195:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2232 .loc 2 1123 4 is_stmt 0 view .LVU747
2233 .syntax unified
2234 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2235 0082 42E80031 strex r1, r3, [r2]
2236 @ 0 "" 2
2237 .LVL196:
ARM GAS /tmp/ccQxTlMj.s page 138
2238 .loc 2 1124 4 is_stmt 1 view .LVU748
2239 .loc 2 1124 4 is_stmt 0 view .LVU749
2240 .thumb
2241 .syntax unified
2242 .LBE534:
2243 .LBE533:
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2244 .loc 1 1627 5 discriminator 1 view .LVU750
2245 0086 0029 cmp r1, #0
2246 0088 F3D1 bne .L89
2247 .LBE530:
1627:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2248 .loc 1 1627 5 is_stmt 1 discriminator 2 view .LVU751
1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2249 .loc 1 1630 5 view .LVU752
1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2250 .loc 1 1630 14 is_stmt 0 view .LVU753
2251 008a 636F ldr r3, [r4, #116]
2252 .LVL197:
1630:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2253 .loc 1 1630 8 view .LVU754
2254 008c 2BB1 cbz r3, .L88
1634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2255 .loc 1 1634 7 is_stmt 1 view .LVU755
1634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2256 .loc 1 1634 40 is_stmt 0 view .LVU756
2257 008e 0022 movs r2, #0
2258 0090 1A65 str r2, [r3, #80]
1636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2259 .loc 1 1636 7 is_stmt 1 view .LVU757
1636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2260 .loc 1 1636 11 is_stmt 0 view .LVU758
2261 0092 606F ldr r0, [r4, #116]
2262 0094 FFF7FEFF bl HAL_DMA_Abort
2263 .LVL198:
1636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2264 .loc 1 1636 10 discriminator 1 view .LVU759
2265 0098 40BB cbnz r0, .L92
2266 .LVL199:
2267 .L88:
1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
2268 .loc 1 1650 3 is_stmt 1 view .LVU760
1650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
2269 .loc 1 1650 22 is_stmt 0 view .LVU761
2270 009a 0020 movs r0, #0
2271 009c A4F85200 strh r0, [r4, #82] @ movhi
1651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2272 .loc 1 1651 3 is_stmt 1 view .LVU762
1651:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2273 .loc 1 1651 22 is_stmt 0 view .LVU763
2274 00a0 A4F85A00 strh r0, [r4, #90] @ movhi
1654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2275 .loc 1 1654 3 is_stmt 1 view .LVU764
2276 00a4 2368 ldr r3, [r4]
2277 00a6 0F22 movs r2, #15
2278 00a8 1A62 str r2, [r3, #32]
1658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 139
2279 .loc 1 1658 3 view .LVU765
2280 00aa 2268 ldr r2, [r4]
2281 00ac 9369 ldr r3, [r2, #24]
2282 00ae 43F00803 orr r3, r3, #8
2283 00b2 9361 str r3, [r2, #24]
1661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2284 .loc 1 1661 3 view .LVU766
1661:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2285 .loc 1 1661 18 is_stmt 0 view .LVU767
2286 00b4 2023 movs r3, #32
2287 00b6 E367 str r3, [r4, #124]
1662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2288 .loc 1 1662 3 is_stmt 1 view .LVU768
1662:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2289 .loc 1 1662 18 is_stmt 0 view .LVU769
2290 00b8 C4F88030 str r3, [r4, #128]
1663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2291 .loc 1 1663 3 is_stmt 1 view .LVU770
1663:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2292 .loc 1 1663 24 is_stmt 0 view .LVU771
2293 00bc 2066 str r0, [r4, #96]
1665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2294 .loc 1 1665 3 is_stmt 1 view .LVU772
1665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2295 .loc 1 1665 20 is_stmt 0 view .LVU773
2296 00be C4F88400 str r0, [r4, #132]
1667:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2297 .loc 1 1667 3 is_stmt 1 view .LVU774
2298 .L87:
1668:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2299 .loc 1 1668 1 is_stmt 0 view .LVU775
2300 00c2 10BD pop {r4, pc}
2301 .LVL200:
2302 .L84:
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2303 .loc 1 1594 5 is_stmt 1 discriminator 1 view .LVU776
2304 .LBB535:
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2305 .loc 1 1594 5 discriminator 1 view .LVU777
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2306 .loc 1 1594 5 discriminator 1 view .LVU778
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2307 .loc 1 1594 5 discriminator 1 view .LVU779
2308 00c4 2268 ldr r2, [r4]
2309 .LVL201:
2310 .LBB536:
2311 .LBI536:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2312 .loc 2 1068 31 view .LVU780
2313 .LBB537:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
2314 .loc 2 1070 5 view .LVU781
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2315 .loc 2 1072 4 view .LVU782
2316 .syntax unified
2317 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2318 00c6 52E8003F ldrex r3, [r2]
ARM GAS /tmp/ccQxTlMj.s page 140
2319 @ 0 "" 2
2320 .LVL202:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2321 .loc 2 1073 4 view .LVU783
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2322 .loc 2 1073 4 is_stmt 0 view .LVU784
2323 .thumb
2324 .syntax unified
2325 .LBE537:
2326 .LBE536:
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2327 .loc 1 1594 5 discriminator 1 view .LVU785
2328 00ca 23F01003 bic r3, r3, #16
2329 .LVL203:
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2330 .loc 1 1594 5 is_stmt 1 discriminator 1 view .LVU786
2331 .LBB538:
2332 .LBI538:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2333 .loc 2 1119 31 view .LVU787
2334 .LBB539:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2335 .loc 2 1121 4 view .LVU788
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2336 .loc 2 1123 4 view .LVU789
2337 .syntax unified
2338 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2339 00ce 42E80031 strex r1, r3, [r2]
2340 @ 0 "" 2
2341 .LVL204:
2342 .loc 2 1124 4 view .LVU790
2343 .loc 2 1124 4 is_stmt 0 view .LVU791
2344 .thumb
2345 .syntax unified
2346 .LBE539:
2347 .LBE538:
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2348 .loc 1 1594 5 discriminator 1 view .LVU792
2349 00d2 0029 cmp r1, #0
2350 00d4 F6D1 bne .L84
2351 00d6 ADE7 b .L83
2352 .LVL205:
2353 .L91:
1594:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2354 .loc 1 1594 5 discriminator 1 view .LVU793
2355 .LBE535:
1612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2356 .loc 1 1612 9 is_stmt 1 view .LVU794
1612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2357 .loc 1 1612 13 is_stmt 0 view .LVU795
2358 00d8 206F ldr r0, [r4, #112]
2359 00da FFF7FEFF bl HAL_DMA_GetError
2360 .LVL206:
1612:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2361 .loc 1 1612 12 discriminator 1 view .LVU796
2362 00de 2028 cmp r0, #32
2363 00e0 C2D1 bne .L85
ARM GAS /tmp/ccQxTlMj.s page 141
1615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2364 .loc 1 1615 11 is_stmt 1 view .LVU797
1615:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2365 .loc 1 1615 28 is_stmt 0 view .LVU798
2366 00e2 1023 movs r3, #16
2367 00e4 C4F88430 str r3, [r4, #132]
1617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2368 .loc 1 1617 11 is_stmt 1 view .LVU799
1617:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2369 .loc 1 1617 18 is_stmt 0 view .LVU800
2370 00e8 0320 movs r0, #3
2371 00ea EAE7 b .L87
2372 .LVL207:
2373 .L92:
1638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2374 .loc 1 1638 9 is_stmt 1 view .LVU801
1638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2375 .loc 1 1638 13 is_stmt 0 view .LVU802
2376 00ec 606F ldr r0, [r4, #116]
2377 00ee FFF7FEFF bl HAL_DMA_GetError
2378 .LVL208:
1638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2379 .loc 1 1638 12 discriminator 1 view .LVU803
2380 00f2 2028 cmp r0, #32
2381 00f4 D1D1 bne .L88
1641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2382 .loc 1 1641 11 is_stmt 1 view .LVU804
1641:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2383 .loc 1 1641 28 is_stmt 0 view .LVU805
2384 00f6 1023 movs r3, #16
2385 00f8 C4F88430 str r3, [r4, #132]
1643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2386 .loc 1 1643 11 is_stmt 1 view .LVU806
1643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2387 .loc 1 1643 18 is_stmt 0 view .LVU807
2388 00fc 0320 movs r0, #3
2389 00fe E0E7 b .L87
2390 .cfi_endproc
2391 .LFE157:
2393 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
2394 .align 1
2395 .global HAL_UART_AbortTransmit
2396 .syntax unified
2397 .thumb
2398 .thumb_func
2400 HAL_UART_AbortTransmit:
2401 .LVL209:
2402 .LFB158:
1683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2403 .loc 1 1683 1 is_stmt 1 view -0
2404 .cfi_startproc
2405 @ args = 0, pretend = 0, frame = 0
2406 @ frame_needed = 0, uses_anonymous_args = 0
1683:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2407 .loc 1 1683 1 is_stmt 0 view .LVU809
2408 0000 10B5 push {r4, lr}
2409 .LCFI10:
ARM GAS /tmp/ccQxTlMj.s page 142
2410 .cfi_def_cfa_offset 8
2411 .cfi_offset 4, -8
2412 .cfi_offset 14, -4
2413 0002 0446 mov r4, r0
2414 .L94:
1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2415 .loc 1 1685 3 is_stmt 1 discriminator 1 view .LVU810
2416 .LBB540:
1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2417 .loc 1 1685 3 discriminator 1 view .LVU811
1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2418 .loc 1 1685 3 discriminator 1 view .LVU812
1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2419 .loc 1 1685 3 discriminator 1 view .LVU813
2420 0004 2268 ldr r2, [r4]
2421 .LVL210:
2422 .LBB541:
2423 .LBI541:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2424 .loc 2 1068 31 view .LVU814
2425 .LBB542:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
2426 .loc 2 1070 5 view .LVU815
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2427 .loc 2 1072 4 view .LVU816
2428 .syntax unified
2429 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2430 0006 52E8003F ldrex r3, [r2]
2431 @ 0 "" 2
2432 .LVL211:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2433 .loc 2 1073 4 view .LVU817
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2434 .loc 2 1073 4 is_stmt 0 view .LVU818
2435 .thumb
2436 .syntax unified
2437 .LBE542:
2438 .LBE541:
1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2439 .loc 1 1685 3 discriminator 1 view .LVU819
2440 000a 23F0C003 bic r3, r3, #192
2441 .LVL212:
1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2442 .loc 1 1685 3 is_stmt 1 discriminator 1 view .LVU820
2443 .LBB543:
2444 .LBI543:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2445 .loc 2 1119 31 view .LVU821
2446 .LBB544:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2447 .loc 2 1121 4 view .LVU822
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2448 .loc 2 1123 4 view .LVU823
2449 .syntax unified
2450 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2451 000e 42E80031 strex r1, r3, [r2]
2452 @ 0 "" 2
ARM GAS /tmp/ccQxTlMj.s page 143
2453 .LVL213:
2454 .loc 2 1124 4 view .LVU824
2455 .loc 2 1124 4 is_stmt 0 view .LVU825
2456 .thumb
2457 .syntax unified
2458 .LBE544:
2459 .LBE543:
1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2460 .loc 1 1685 3 discriminator 1 view .LVU826
2461 0012 0029 cmp r1, #0
2462 0014 F6D1 bne .L94
2463 .LBE540:
1685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2464 .loc 1 1685 3 is_stmt 1 discriminator 2 view .LVU827
1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2465 .loc 1 1688 3 view .LVU828
1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2466 .loc 1 1688 7 is_stmt 0 view .LVU829
2467 0016 2368 ldr r3, [r4]
2468 .LVL214:
1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2469 .loc 1 1688 7 view .LVU830
2470 0018 9B68 ldr r3, [r3, #8]
1688:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2471 .loc 1 1688 6 view .LVU831
2472 001a 13F0800F tst r3, #128
2473 001e 13D0 beq .L95
2474 .L96:
1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2475 .loc 1 1691 5 is_stmt 1 discriminator 1 view .LVU832
2476 .LBB545:
1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2477 .loc 1 1691 5 discriminator 1 view .LVU833
1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2478 .loc 1 1691 5 discriminator 1 view .LVU834
1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2479 .loc 1 1691 5 discriminator 1 view .LVU835
2480 0020 2268 ldr r2, [r4]
2481 .LVL215:
2482 .LBB546:
2483 .LBI546:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2484 .loc 2 1068 31 view .LVU836
2485 .LBB547:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
2486 .loc 2 1070 5 view .LVU837
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2487 .loc 2 1072 4 view .LVU838
2488 0022 02F10803 add r3, r2, #8
2489 .LVL216:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2490 .loc 2 1072 4 is_stmt 0 view .LVU839
2491 .syntax unified
2492 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2493 0026 53E8003F ldrex r3, [r3]
2494 @ 0 "" 2
2495 .LVL217:
ARM GAS /tmp/ccQxTlMj.s page 144
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2496 .loc 2 1073 4 is_stmt 1 view .LVU840
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2497 .loc 2 1073 4 is_stmt 0 view .LVU841
2498 .thumb
2499 .syntax unified
2500 .LBE547:
2501 .LBE546:
1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2502 .loc 1 1691 5 discriminator 1 view .LVU842
2503 002a 23F08003 bic r3, r3, #128
2504 .LVL218:
1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2505 .loc 1 1691 5 is_stmt 1 discriminator 1 view .LVU843
2506 .LBB548:
2507 .LBI548:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2508 .loc 2 1119 31 view .LVU844
2509 .LBB549:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2510 .loc 2 1121 4 view .LVU845
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2511 .loc 2 1123 4 view .LVU846
2512 002e 0832 adds r2, r2, #8
2513 .LVL219:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2514 .loc 2 1123 4 is_stmt 0 view .LVU847
2515 .syntax unified
2516 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2517 0030 42E80031 strex r1, r3, [r2]
2518 @ 0 "" 2
2519 .LVL220:
2520 .loc 2 1124 4 is_stmt 1 view .LVU848
2521 .loc 2 1124 4 is_stmt 0 view .LVU849
2522 .thumb
2523 .syntax unified
2524 .LBE549:
2525 .LBE548:
1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2526 .loc 1 1691 5 discriminator 1 view .LVU850
2527 0034 0029 cmp r1, #0
2528 0036 F3D1 bne .L96
2529 .LBE545:
1691:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2530 .loc 1 1691 5 is_stmt 1 discriminator 2 view .LVU851
1694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2531 .loc 1 1694 5 view .LVU852
1694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2532 .loc 1 1694 14 is_stmt 0 view .LVU853
2533 0038 236F ldr r3, [r4, #112]
2534 .LVL221:
1694:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2535 .loc 1 1694 8 view .LVU854
2536 003a 2BB1 cbz r3, .L95
1698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2537 .loc 1 1698 7 is_stmt 1 view .LVU855
1698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 145
2538 .loc 1 1698 40 is_stmt 0 view .LVU856
2539 003c 0022 movs r2, #0
2540 003e 1A65 str r2, [r3, #80]
1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2541 .loc 1 1700 7 is_stmt 1 view .LVU857
1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2542 .loc 1 1700 11 is_stmt 0 view .LVU858
2543 0040 206F ldr r0, [r4, #112]
2544 .LVL222:
1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2545 .loc 1 1700 11 view .LVU859
2546 0042 FFF7FEFF bl HAL_DMA_Abort
2547 .LVL223:
1700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2548 .loc 1 1700 10 discriminator 1 view .LVU860
2549 0046 28B9 cbnz r0, .L99
2550 .LVL224:
2551 .L95:
1714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2552 .loc 1 1714 3 is_stmt 1 view .LVU861
1714:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2553 .loc 1 1714 22 is_stmt 0 view .LVU862
2554 0048 0020 movs r0, #0
2555 004a A4F85200 strh r0, [r4, #82] @ movhi
1718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2556 .loc 1 1718 3 is_stmt 1 view .LVU863
1718:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2557 .loc 1 1718 17 is_stmt 0 view .LVU864
2558 004e 2023 movs r3, #32
2559 0050 E367 str r3, [r4, #124]
1720:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2560 .loc 1 1720 3 is_stmt 1 view .LVU865
2561 .L97:
1721:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2562 .loc 1 1721 1 is_stmt 0 view .LVU866
2563 0052 10BD pop {r4, pc}
2564 .LVL225:
2565 .L99:
1702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2566 .loc 1 1702 9 is_stmt 1 view .LVU867
1702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2567 .loc 1 1702 13 is_stmt 0 view .LVU868
2568 0054 206F ldr r0, [r4, #112]
2569 0056 FFF7FEFF bl HAL_DMA_GetError
2570 .LVL226:
1702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2571 .loc 1 1702 12 discriminator 1 view .LVU869
2572 005a 2028 cmp r0, #32
2573 005c F4D1 bne .L95
1705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2574 .loc 1 1705 11 is_stmt 1 view .LVU870
1705:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2575 .loc 1 1705 28 is_stmt 0 view .LVU871
2576 005e 1023 movs r3, #16
2577 0060 C4F88430 str r3, [r4, #132]
1707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2578 .loc 1 1707 11 is_stmt 1 view .LVU872
ARM GAS /tmp/ccQxTlMj.s page 146
1707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2579 .loc 1 1707 18 is_stmt 0 view .LVU873
2580 0064 0320 movs r0, #3
2581 0066 F4E7 b .L97
2582 .cfi_endproc
2583 .LFE158:
2585 .section .text.HAL_UART_AbortReceive,"ax",%progbits
2586 .align 1
2587 .global HAL_UART_AbortReceive
2588 .syntax unified
2589 .thumb
2590 .thumb_func
2592 HAL_UART_AbortReceive:
2593 .LVL227:
2594 .LFB159:
1736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2595 .loc 1 1736 1 is_stmt 1 view -0
2596 .cfi_startproc
2597 @ args = 0, pretend = 0, frame = 0
2598 @ frame_needed = 0, uses_anonymous_args = 0
1736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2599 .loc 1 1736 1 is_stmt 0 view .LVU875
2600 0000 10B5 push {r4, lr}
2601 .LCFI11:
2602 .cfi_def_cfa_offset 8
2603 .cfi_offset 4, -8
2604 .cfi_offset 14, -4
2605 0002 0446 mov r4, r0
2606 .L101:
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2607 .loc 1 1738 3 is_stmt 1 discriminator 1 view .LVU876
2608 .LBB550:
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2609 .loc 1 1738 3 discriminator 1 view .LVU877
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2610 .loc 1 1738 3 discriminator 1 view .LVU878
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2611 .loc 1 1738 3 discriminator 1 view .LVU879
2612 0004 2268 ldr r2, [r4]
2613 .LVL228:
2614 .LBB551:
2615 .LBI551:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2616 .loc 2 1068 31 view .LVU880
2617 .LBB552:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
2618 .loc 2 1070 5 view .LVU881
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2619 .loc 2 1072 4 view .LVU882
2620 .syntax unified
2621 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2622 0006 52E8003F ldrex r3, [r2]
2623 @ 0 "" 2
2624 .LVL229:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2625 .loc 2 1073 4 view .LVU883
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/ccQxTlMj.s page 147
2626 .loc 2 1073 4 is_stmt 0 view .LVU884
2627 .thumb
2628 .syntax unified
2629 .LBE552:
2630 .LBE551:
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2631 .loc 1 1738 3 discriminator 1 view .LVU885
2632 000a 23F49073 bic r3, r3, #288
2633 .LVL230:
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2634 .loc 1 1738 3 is_stmt 1 discriminator 1 view .LVU886
2635 .LBB553:
2636 .LBI553:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2637 .loc 2 1119 31 view .LVU887
2638 .LBB554:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2639 .loc 2 1121 4 view .LVU888
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2640 .loc 2 1123 4 view .LVU889
2641 .syntax unified
2642 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2643 000e 42E80031 strex r1, r3, [r2]
2644 @ 0 "" 2
2645 .LVL231:
2646 .loc 2 1124 4 view .LVU890
2647 .loc 2 1124 4 is_stmt 0 view .LVU891
2648 .thumb
2649 .syntax unified
2650 .LBE554:
2651 .LBE553:
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2652 .loc 1 1738 3 discriminator 1 view .LVU892
2653 0012 0029 cmp r1, #0
2654 0014 F6D1 bne .L101
2655 .LVL232:
2656 .L102:
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2657 .loc 1 1738 3 discriminator 1 view .LVU893
2658 .LBE550:
1738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2659 .loc 1 1738 3 is_stmt 1 discriminator 2 view .LVU894
1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2660 .loc 1 1739 3 discriminator 1 view .LVU895
2661 .LBB555:
1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2662 .loc 1 1739 3 discriminator 1 view .LVU896
1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2663 .loc 1 1739 3 discriminator 1 view .LVU897
1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2664 .loc 1 1739 3 discriminator 1 view .LVU898
2665 0016 2268 ldr r2, [r4]
2666 .LVL233:
2667 .LBB556:
2668 .LBI556:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2669 .loc 2 1068 31 view .LVU899
ARM GAS /tmp/ccQxTlMj.s page 148
2670 .LBB557:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
2671 .loc 2 1070 5 view .LVU900
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2672 .loc 2 1072 4 view .LVU901
2673 0018 02F10803 add r3, r2, #8
2674 .LVL234:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2675 .loc 2 1072 4 is_stmt 0 view .LVU902
2676 .syntax unified
2677 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2678 001c 53E8003F ldrex r3, [r3]
2679 @ 0 "" 2
2680 .LVL235:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2681 .loc 2 1073 4 is_stmt 1 view .LVU903
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2682 .loc 2 1073 4 is_stmt 0 view .LVU904
2683 .thumb
2684 .syntax unified
2685 .LBE557:
2686 .LBE556:
1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2687 .loc 1 1739 3 discriminator 1 view .LVU905
2688 0020 23F00103 bic r3, r3, #1
2689 .LVL236:
1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2690 .loc 1 1739 3 is_stmt 1 discriminator 1 view .LVU906
2691 .LBB558:
2692 .LBI558:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2693 .loc 2 1119 31 view .LVU907
2694 .LBB559:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2695 .loc 2 1121 4 view .LVU908
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2696 .loc 2 1123 4 view .LVU909
2697 0024 0832 adds r2, r2, #8
2698 .LVL237:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2699 .loc 2 1123 4 is_stmt 0 view .LVU910
2700 .syntax unified
2701 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2702 0026 42E80031 strex r1, r3, [r2]
2703 @ 0 "" 2
2704 .LVL238:
2705 .loc 2 1124 4 is_stmt 1 view .LVU911
2706 .loc 2 1124 4 is_stmt 0 view .LVU912
2707 .thumb
2708 .syntax unified
2709 .LBE559:
2710 .LBE558:
1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2711 .loc 1 1739 3 discriminator 1 view .LVU913
2712 002a 0029 cmp r1, #0
2713 002c F3D1 bne .L102
2714 .LBE555:
ARM GAS /tmp/ccQxTlMj.s page 149
1739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2715 .loc 1 1739 3 is_stmt 1 discriminator 2 view .LVU914
1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2716 .loc 1 1742 3 view .LVU915
1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2717 .loc 1 1742 12 is_stmt 0 view .LVU916
2718 002e 236E ldr r3, [r4, #96]
2719 .LVL239:
1742:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2720 .loc 1 1742 6 view .LVU917
2721 0030 012B cmp r3, #1
2722 0032 28D0 beq .L104
2723 .L103:
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2724 .loc 1 1744 5 is_stmt 1 discriminator 2 view .LVU918
1748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2725 .loc 1 1748 3 view .LVU919
1748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2726 .loc 1 1748 7 is_stmt 0 view .LVU920
2727 0034 2368 ldr r3, [r4]
2728 0036 9B68 ldr r3, [r3, #8]
1748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2729 .loc 1 1748 6 view .LVU921
2730 0038 13F0400F tst r3, #64
2731 003c 13D0 beq .L105
2732 .L106:
1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2733 .loc 1 1751 5 is_stmt 1 discriminator 1 view .LVU922
2734 .LBB560:
1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2735 .loc 1 1751 5 discriminator 1 view .LVU923
1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2736 .loc 1 1751 5 discriminator 1 view .LVU924
1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2737 .loc 1 1751 5 discriminator 1 view .LVU925
2738 003e 2268 ldr r2, [r4]
2739 .LVL240:
2740 .LBB561:
2741 .LBI561:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2742 .loc 2 1068 31 view .LVU926
2743 .LBB562:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
2744 .loc 2 1070 5 view .LVU927
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2745 .loc 2 1072 4 view .LVU928
2746 0040 02F10803 add r3, r2, #8
2747 .LVL241:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2748 .loc 2 1072 4 is_stmt 0 view .LVU929
2749 .syntax unified
2750 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2751 0044 53E8003F ldrex r3, [r3]
2752 @ 0 "" 2
2753 .LVL242:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2754 .loc 2 1073 4 is_stmt 1 view .LVU930
ARM GAS /tmp/ccQxTlMj.s page 150
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2755 .loc 2 1073 4 is_stmt 0 view .LVU931
2756 .thumb
2757 .syntax unified
2758 .LBE562:
2759 .LBE561:
1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2760 .loc 1 1751 5 discriminator 1 view .LVU932
2761 0048 23F04003 bic r3, r3, #64
2762 .LVL243:
1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2763 .loc 1 1751 5 is_stmt 1 discriminator 1 view .LVU933
2764 .LBB563:
2765 .LBI563:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2766 .loc 2 1119 31 view .LVU934
2767 .LBB564:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2768 .loc 2 1121 4 view .LVU935
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2769 .loc 2 1123 4 view .LVU936
2770 004c 0832 adds r2, r2, #8
2771 .LVL244:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2772 .loc 2 1123 4 is_stmt 0 view .LVU937
2773 .syntax unified
2774 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2775 004e 42E80031 strex r1, r3, [r2]
2776 @ 0 "" 2
2777 .LVL245:
2778 .loc 2 1124 4 is_stmt 1 view .LVU938
2779 .loc 2 1124 4 is_stmt 0 view .LVU939
2780 .thumb
2781 .syntax unified
2782 .LBE564:
2783 .LBE563:
1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2784 .loc 1 1751 5 discriminator 1 view .LVU940
2785 0052 0029 cmp r1, #0
2786 0054 F3D1 bne .L106
2787 .LBE560:
1751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2788 .loc 1 1751 5 is_stmt 1 discriminator 2 view .LVU941
1754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2789 .loc 1 1754 5 view .LVU942
1754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2790 .loc 1 1754 14 is_stmt 0 view .LVU943
2791 0056 636F ldr r3, [r4, #116]
2792 .LVL246:
1754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2793 .loc 1 1754 8 view .LVU944
2794 0058 2BB1 cbz r3, .L105
1758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2795 .loc 1 1758 7 is_stmt 1 view .LVU945
1758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2796 .loc 1 1758 40 is_stmt 0 view .LVU946
2797 005a 0022 movs r2, #0
ARM GAS /tmp/ccQxTlMj.s page 151
2798 005c 1A65 str r2, [r3, #80]
1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2799 .loc 1 1760 7 is_stmt 1 view .LVU947
1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2800 .loc 1 1760 11 is_stmt 0 view .LVU948
2801 005e 606F ldr r0, [r4, #116]
2802 .LVL247:
1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2803 .loc 1 1760 11 view .LVU949
2804 0060 FFF7FEFF bl HAL_DMA_Abort
2805 .LVL248:
1760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2806 .loc 1 1760 10 discriminator 1 view .LVU950
2807 0064 C8B9 cbnz r0, .L109
2808 .LVL249:
2809 .L105:
1774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2810 .loc 1 1774 3 is_stmt 1 view .LVU951
1774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2811 .loc 1 1774 22 is_stmt 0 view .LVU952
2812 0066 0020 movs r0, #0
2813 0068 A4F85A00 strh r0, [r4, #90] @ movhi
1777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2814 .loc 1 1777 3 is_stmt 1 view .LVU953
2815 006c 2368 ldr r3, [r4]
2816 006e 0F22 movs r2, #15
2817 0070 1A62 str r2, [r3, #32]
1780:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2818 .loc 1 1780 3 view .LVU954
2819 0072 2268 ldr r2, [r4]
2820 0074 9369 ldr r3, [r2, #24]
2821 0076 43F00803 orr r3, r3, #8
2822 007a 9361 str r3, [r2, #24]
1783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2823 .loc 1 1783 3 view .LVU955
1783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2824 .loc 1 1783 18 is_stmt 0 view .LVU956
2825 007c 2023 movs r3, #32
2826 007e C4F88030 str r3, [r4, #128]
1784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2827 .loc 1 1784 3 is_stmt 1 view .LVU957
1784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2828 .loc 1 1784 24 is_stmt 0 view .LVU958
2829 0082 2066 str r0, [r4, #96]
1786:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2830 .loc 1 1786 3 is_stmt 1 view .LVU959
2831 .L107:
1787:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2832 .loc 1 1787 1 is_stmt 0 view .LVU960
2833 0084 10BD pop {r4, pc}
2834 .LVL250:
2835 .L104:
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2836 .loc 1 1744 5 is_stmt 1 discriminator 1 view .LVU961
2837 .LBB565:
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2838 .loc 1 1744 5 discriminator 1 view .LVU962
ARM GAS /tmp/ccQxTlMj.s page 152
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2839 .loc 1 1744 5 discriminator 1 view .LVU963
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2840 .loc 1 1744 5 discriminator 1 view .LVU964
2841 0086 2268 ldr r2, [r4]
2842 .LVL251:
2843 .LBB566:
2844 .LBI566:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2845 .loc 2 1068 31 view .LVU965
2846 .LBB567:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
2847 .loc 2 1070 5 view .LVU966
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2848 .loc 2 1072 4 view .LVU967
2849 .syntax unified
2850 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2851 0088 52E8003F ldrex r3, [r2]
2852 @ 0 "" 2
2853 .LVL252:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2854 .loc 2 1073 4 view .LVU968
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2855 .loc 2 1073 4 is_stmt 0 view .LVU969
2856 .thumb
2857 .syntax unified
2858 .LBE567:
2859 .LBE566:
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2860 .loc 1 1744 5 discriminator 1 view .LVU970
2861 008c 23F01003 bic r3, r3, #16
2862 .LVL253:
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2863 .loc 1 1744 5 is_stmt 1 discriminator 1 view .LVU971
2864 .LBB568:
2865 .LBI568:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2866 .loc 2 1119 31 view .LVU972
2867 .LBB569:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2868 .loc 2 1121 4 view .LVU973
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2869 .loc 2 1123 4 view .LVU974
2870 .syntax unified
2871 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2872 0090 42E80031 strex r1, r3, [r2]
2873 @ 0 "" 2
2874 .LVL254:
2875 .loc 2 1124 4 view .LVU975
2876 .loc 2 1124 4 is_stmt 0 view .LVU976
2877 .thumb
2878 .syntax unified
2879 .LBE569:
2880 .LBE568:
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2881 .loc 1 1744 5 discriminator 1 view .LVU977
2882 0094 0029 cmp r1, #0
ARM GAS /tmp/ccQxTlMj.s page 153
2883 0096 F6D1 bne .L104
2884 0098 CCE7 b .L103
2885 .LVL255:
2886 .L109:
1744:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2887 .loc 1 1744 5 discriminator 1 view .LVU978
2888 .LBE565:
1762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2889 .loc 1 1762 9 is_stmt 1 view .LVU979
1762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2890 .loc 1 1762 13 is_stmt 0 view .LVU980
2891 009a 606F ldr r0, [r4, #116]
2892 009c FFF7FEFF bl HAL_DMA_GetError
2893 .LVL256:
1762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2894 .loc 1 1762 12 discriminator 1 view .LVU981
2895 00a0 2028 cmp r0, #32
2896 00a2 E0D1 bne .L105
1765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2897 .loc 1 1765 11 is_stmt 1 view .LVU982
1765:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2898 .loc 1 1765 28 is_stmt 0 view .LVU983
2899 00a4 1023 movs r3, #16
2900 00a6 C4F88430 str r3, [r4, #132]
1767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2901 .loc 1 1767 11 is_stmt 1 view .LVU984
1767:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
2902 .loc 1 1767 18 is_stmt 0 view .LVU985
2903 00aa 0320 movs r0, #3
2904 00ac EAE7 b .L107
2905 .cfi_endproc
2906 .LFE159:
2908 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
2909 .align 1
2910 .weak HAL_UART_TxCpltCallback
2911 .syntax unified
2912 .thumb
2913 .thumb_func
2915 HAL_UART_TxCpltCallback:
2916 .LVL257:
2917 .LFB164:
2435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2918 .loc 1 2435 1 is_stmt 1 view -0
2919 .cfi_startproc
2920 @ args = 0, pretend = 0, frame = 0
2921 @ frame_needed = 0, uses_anonymous_args = 0
2922 @ link register save eliminated.
2437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2923 .loc 1 2437 3 view .LVU987
2442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2924 .loc 1 2442 1 is_stmt 0 view .LVU988
2925 0000 7047 bx lr
2926 .cfi_endproc
2927 .LFE164:
2929 .section .text.UART_DMATransmitCplt,"ax",%progbits
2930 .align 1
2931 .syntax unified
ARM GAS /tmp/ccQxTlMj.s page 154
2932 .thumb
2933 .thumb_func
2935 UART_DMATransmitCplt:
2936 .LVL258:
2937 .LFB193:
3406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
2938 .loc 1 3406 1 is_stmt 1 view -0
2939 .cfi_startproc
2940 @ args = 0, pretend = 0, frame = 0
2941 @ frame_needed = 0, uses_anonymous_args = 0
3406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
2942 .loc 1 3406 1 is_stmt 0 view .LVU990
2943 0000 08B5 push {r3, lr}
2944 .LCFI12:
2945 .cfi_def_cfa_offset 8
2946 .cfi_offset 3, -8
2947 .cfi_offset 14, -4
3407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2948 .loc 1 3407 3 is_stmt 1 view .LVU991
3407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2949 .loc 1 3407 23 is_stmt 0 view .LVU992
2950 0002 816B ldr r1, [r0, #56]
2951 .LVL259:
3410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2952 .loc 1 3410 3 is_stmt 1 view .LVU993
3410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2953 .loc 1 3410 17 is_stmt 0 view .LVU994
2954 0004 C369 ldr r3, [r0, #28]
3410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
2955 .loc 1 3410 6 view .LVU995
2956 0006 B3F5807F cmp r3, #256
2957 000a 18D0 beq .L112
3412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2958 .loc 1 3412 5 is_stmt 1 view .LVU996
3412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2959 .loc 1 3412 24 is_stmt 0 view .LVU997
2960 000c 0023 movs r3, #0
2961 000e A1F85230 strh r3, [r1, #82] @ movhi
2962 .LVL260:
2963 .L113:
3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2964 .loc 1 3416 5 is_stmt 1 discriminator 1 view .LVU998
2965 .LBB570:
3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2966 .loc 1 3416 5 discriminator 1 view .LVU999
3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2967 .loc 1 3416 5 discriminator 1 view .LVU1000
3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2968 .loc 1 3416 5 discriminator 1 view .LVU1001
2969 0012 0A68 ldr r2, [r1]
2970 .LVL261:
2971 .LBB571:
2972 .LBI571:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2973 .loc 2 1068 31 view .LVU1002
2974 .LBB572:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/ccQxTlMj.s page 155
2975 .loc 2 1070 5 view .LVU1003
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2976 .loc 2 1072 4 view .LVU1004
2977 0014 02F10803 add r3, r2, #8
2978 .LVL262:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2979 .loc 2 1072 4 is_stmt 0 view .LVU1005
2980 .syntax unified
2981 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2982 0018 53E8003F ldrex r3, [r3]
2983 @ 0 "" 2
2984 .LVL263:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2985 .loc 2 1073 4 is_stmt 1 view .LVU1006
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2986 .loc 2 1073 4 is_stmt 0 view .LVU1007
2987 .thumb
2988 .syntax unified
2989 .LBE572:
2990 .LBE571:
3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2991 .loc 1 3416 5 discriminator 1 view .LVU1008
2992 001c 23F08003 bic r3, r3, #128
2993 .LVL264:
3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
2994 .loc 1 3416 5 is_stmt 1 discriminator 1 view .LVU1009
2995 .LBB573:
2996 .LBI573:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2997 .loc 2 1119 31 view .LVU1010
2998 .LBB574:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
2999 .loc 2 1121 4 view .LVU1011
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3000 .loc 2 1123 4 view .LVU1012
3001 0020 0832 adds r2, r2, #8
3002 .LVL265:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3003 .loc 2 1123 4 is_stmt 0 view .LVU1013
3004 .syntax unified
3005 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3006 0022 42E80030 strex r0, r3, [r2]
3007 @ 0 "" 2
3008 .LVL266:
3009 .loc 2 1124 4 is_stmt 1 view .LVU1014
3010 .loc 2 1124 4 is_stmt 0 view .LVU1015
3011 .thumb
3012 .syntax unified
3013 .LBE574:
3014 .LBE573:
3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3015 .loc 1 3416 5 discriminator 1 view .LVU1016
3016 0026 0028 cmp r0, #0
3017 0028 F3D1 bne .L113
3018 .LVL267:
3019 .L114:
3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 156
3020 .loc 1 3416 5 discriminator 1 view .LVU1017
3021 .LBE570:
3416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3022 .loc 1 3416 5 is_stmt 1 discriminator 2 view .LVU1018
3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3023 .loc 1 3419 5 discriminator 1 view .LVU1019
3024 .LBB575:
3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3025 .loc 1 3419 5 discriminator 1 view .LVU1020
3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3026 .loc 1 3419 5 discriminator 1 view .LVU1021
3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3027 .loc 1 3419 5 discriminator 1 view .LVU1022
3028 002a 0A68 ldr r2, [r1]
3029 .LVL268:
3030 .LBB576:
3031 .LBI576:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3032 .loc 2 1068 31 view .LVU1023
3033 .LBB577:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
3034 .loc 2 1070 5 view .LVU1024
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3035 .loc 2 1072 4 view .LVU1025
3036 .syntax unified
3037 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3038 002c 52E8003F ldrex r3, [r2]
3039 @ 0 "" 2
3040 .LVL269:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3041 .loc 2 1073 4 view .LVU1026
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3042 .loc 2 1073 4 is_stmt 0 view .LVU1027
3043 .thumb
3044 .syntax unified
3045 .LBE577:
3046 .LBE576:
3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3047 .loc 1 3419 5 discriminator 1 view .LVU1028
3048 0030 43F04003 orr r3, r3, #64
3049 .LVL270:
3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3050 .loc 1 3419 5 is_stmt 1 discriminator 1 view .LVU1029
3051 .LBB578:
3052 .LBI578:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3053 .loc 2 1119 31 view .LVU1030
3054 .LBB579:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
3055 .loc 2 1121 4 view .LVU1031
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3056 .loc 2 1123 4 view .LVU1032
3057 .syntax unified
3058 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3059 0034 42E80030 strex r0, r3, [r2]
3060 @ 0 "" 2
3061 .LVL271:
ARM GAS /tmp/ccQxTlMj.s page 157
3062 .loc 2 1124 4 view .LVU1033
3063 .loc 2 1124 4 is_stmt 0 view .LVU1034
3064 .thumb
3065 .syntax unified
3066 .LBE579:
3067 .LBE578:
3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3068 .loc 1 3419 5 discriminator 1 view .LVU1035
3069 0038 0028 cmp r0, #0
3070 003a F6D1 bne .L114
3071 .LVL272:
3072 .L111:
3419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3073 .loc 1 3419 5 discriminator 1 view .LVU1036
3074 .LBE575:
3432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3075 .loc 1 3432 1 view .LVU1037
3076 003c 08BD pop {r3, pc}
3077 .LVL273:
3078 .L112:
3429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3079 .loc 1 3429 5 is_stmt 1 view .LVU1038
3080 003e 0846 mov r0, r1
3081 .LVL274:
3429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3082 .loc 1 3429 5 is_stmt 0 view .LVU1039
3083 0040 FFF7FEFF bl HAL_UART_TxCpltCallback
3084 .LVL275:
3432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3085 .loc 1 3432 1 view .LVU1040
3086 0044 FAE7 b .L111
3087 .cfi_endproc
3088 .LFE193:
3090 .section .text.UART_EndTransmit_IT,"ax",%progbits
3091 .align 1
3092 .syntax unified
3093 .thumb
3094 .thumb_func
3096 UART_EndTransmit_IT:
3097 .LFB205:
3835:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3836:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3837:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode.
3839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains
3840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * the configuration information for the specified UART module.
3841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3843:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart)
3844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3098 .loc 1 3844 1 is_stmt 1 view -0
3099 .cfi_startproc
3100 @ args = 0, pretend = 0, frame = 0
3101 @ frame_needed = 0, uses_anonymous_args = 0
3102 .LVL276:
3103 .loc 1 3844 1 is_stmt 0 view .LVU1042
3104 0000 08B5 push {r3, lr}
ARM GAS /tmp/ccQxTlMj.s page 158
3105 .LCFI13:
3106 .cfi_def_cfa_offset 8
3107 .cfi_offset 3, -8
3108 .cfi_offset 14, -4
3109 .L118:
3845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
3846:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3110 .loc 1 3846 3 is_stmt 1 discriminator 1 view .LVU1043
3111 .LBB580:
3112 .loc 1 3846 3 discriminator 1 view .LVU1044
3113 .loc 1 3846 3 discriminator 1 view .LVU1045
3114 .loc 1 3846 3 discriminator 1 view .LVU1046
3115 0002 0268 ldr r2, [r0]
3116 .LVL277:
3117 .LBB581:
3118 .LBI581:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3119 .loc 2 1068 31 view .LVU1047
3120 .LBB582:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
3121 .loc 2 1070 5 view .LVU1048
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3122 .loc 2 1072 4 view .LVU1049
3123 .syntax unified
3124 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3125 0004 52E8003F ldrex r3, [r2]
3126 @ 0 "" 2
3127 .LVL278:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3128 .loc 2 1073 4 view .LVU1050
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3129 .loc 2 1073 4 is_stmt 0 view .LVU1051
3130 .thumb
3131 .syntax unified
3132 .LBE582:
3133 .LBE581:
3134 .loc 1 3846 3 discriminator 1 view .LVU1052
3135 0008 23F04003 bic r3, r3, #64
3136 .LVL279:
3137 .loc 1 3846 3 is_stmt 1 discriminator 1 view .LVU1053
3138 .LBB583:
3139 .LBI583:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3140 .loc 2 1119 31 view .LVU1054
3141 .LBB584:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
3142 .loc 2 1121 4 view .LVU1055
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3143 .loc 2 1123 4 view .LVU1056
3144 .syntax unified
3145 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3146 000c 42E80031 strex r1, r3, [r2]
3147 @ 0 "" 2
3148 .LVL280:
3149 .loc 2 1124 4 view .LVU1057
3150 .loc 2 1124 4 is_stmt 0 view .LVU1058
3151 .thumb
ARM GAS /tmp/ccQxTlMj.s page 159
3152 .syntax unified
3153 .LBE584:
3154 .LBE583:
3155 .loc 1 3846 3 discriminator 1 view .LVU1059
3156 0010 0029 cmp r1, #0
3157 0012 F6D1 bne .L118
3158 .LBE580:
3159 .loc 1 3846 3 is_stmt 1 discriminator 2 view .LVU1060
3847:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3848:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
3849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3160 .loc 1 3849 3 view .LVU1061
3161 .loc 1 3849 17 is_stmt 0 view .LVU1062
3162 0014 2023 movs r3, #32
3163 .LVL281:
3164 .loc 1 3849 17 view .LVU1063
3165 0016 C367 str r3, [r0, #124]
3850:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3851:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Cleat TxISR function pointer */
3852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
3166 .loc 1 3852 3 is_stmt 1 view .LVU1064
3167 .loc 1 3852 16 is_stmt 0 view .LVU1065
3168 0018 0023 movs r3, #0
3169 001a C366 str r3, [r0, #108]
3853:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Tx complete callback*/
3856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxCpltCallback(huart);
3857:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3858:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
3859:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
3170 .loc 1 3859 3 is_stmt 1 view .LVU1066
3171 001c FFF7FEFF bl HAL_UART_TxCpltCallback
3172 .LVL282:
3860:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3173 .loc 1 3861 1 is_stmt 0 view .LVU1067
3174 0020 08BD pop {r3, pc}
3175 .cfi_endproc
3176 .LFE205:
3178 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
3179 .align 1
3180 .weak HAL_UART_TxHalfCpltCallback
3181 .syntax unified
3182 .thumb
3183 .thumb_func
3185 HAL_UART_TxHalfCpltCallback:
3186 .LVL283:
3187 .LFB165:
2450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3188 .loc 1 2450 1 is_stmt 1 view -0
3189 .cfi_startproc
3190 @ args = 0, pretend = 0, frame = 0
3191 @ frame_needed = 0, uses_anonymous_args = 0
3192 @ link register save eliminated.
2452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3193 .loc 1 2452 3 view .LVU1069
ARM GAS /tmp/ccQxTlMj.s page 160
2457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3194 .loc 1 2457 1 is_stmt 0 view .LVU1070
3195 0000 7047 bx lr
3196 .cfi_endproc
3197 .LFE165:
3199 .section .text.UART_DMATxHalfCplt,"ax",%progbits
3200 .align 1
3201 .syntax unified
3202 .thumb
3203 .thumb_func
3205 UART_DMATxHalfCplt:
3206 .LVL284:
3207 .LFB194:
3440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3208 .loc 1 3440 1 is_stmt 1 view -0
3209 .cfi_startproc
3210 @ args = 0, pretend = 0, frame = 0
3211 @ frame_needed = 0, uses_anonymous_args = 0
3440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3212 .loc 1 3440 1 is_stmt 0 view .LVU1072
3213 0000 08B5 push {r3, lr}
3214 .LCFI14:
3215 .cfi_def_cfa_offset 8
3216 .cfi_offset 3, -8
3217 .cfi_offset 14, -4
3441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3218 .loc 1 3441 3 is_stmt 1 view .LVU1073
3219 .LVL285:
3448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3220 .loc 1 3448 3 view .LVU1074
3221 0002 806B ldr r0, [r0, #56]
3222 .LVL286:
3448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3223 .loc 1 3448 3 is_stmt 0 view .LVU1075
3224 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
3225 .LVL287:
3450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3226 .loc 1 3450 1 view .LVU1076
3227 0008 08BD pop {r3, pc}
3228 .cfi_endproc
3229 .LFE194:
3231 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
3232 .align 1
3233 .weak HAL_UART_RxCpltCallback
3234 .syntax unified
3235 .thumb
3236 .thumb_func
3238 HAL_UART_RxCpltCallback:
3239 .LVL288:
3240 .LFB166:
2465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3241 .loc 1 2465 1 is_stmt 1 view -0
3242 .cfi_startproc
3243 @ args = 0, pretend = 0, frame = 0
3244 @ frame_needed = 0, uses_anonymous_args = 0
3245 @ link register save eliminated.
2467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 161
3246 .loc 1 2467 3 view .LVU1078
2472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3247 .loc 1 2472 1 is_stmt 0 view .LVU1079
3248 0000 7047 bx lr
3249 .cfi_endproc
3250 .LFE166:
3252 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
3253 .align 1
3254 .weak HAL_UART_RxHalfCpltCallback
3255 .syntax unified
3256 .thumb
3257 .thumb_func
3259 HAL_UART_RxHalfCpltCallback:
3260 .LVL289:
3261 .LFB167:
2480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3262 .loc 1 2480 1 is_stmt 1 view -0
3263 .cfi_startproc
3264 @ args = 0, pretend = 0, frame = 0
3265 @ frame_needed = 0, uses_anonymous_args = 0
3266 @ link register save eliminated.
2482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3267 .loc 1 2482 3 view .LVU1081
2487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3268 .loc 1 2487 1 is_stmt 0 view .LVU1082
3269 0000 7047 bx lr
3270 .cfi_endproc
3271 .LFE167:
3273 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
3274 .align 1
3275 .weak HAL_UART_ErrorCallback
3276 .syntax unified
3277 .thumb
3278 .thumb_func
3280 HAL_UART_ErrorCallback:
3281 .LVL290:
3282 .LFB168:
2495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3283 .loc 1 2495 1 is_stmt 1 view -0
3284 .cfi_startproc
3285 @ args = 0, pretend = 0, frame = 0
3286 @ frame_needed = 0, uses_anonymous_args = 0
3287 @ link register save eliminated.
2497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3288 .loc 1 2497 3 view .LVU1084
2502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3289 .loc 1 2502 1 is_stmt 0 view .LVU1085
3290 0000 7047 bx lr
3291 .cfi_endproc
3292 .LFE168:
3294 .section .text.UART_DMAError,"ax",%progbits
3295 .align 1
3296 .syntax unified
3297 .thumb
3298 .thumb_func
3300 UART_DMAError:
3301 .LVL291:
ARM GAS /tmp/ccQxTlMj.s page 162
3302 .LFB197:
3557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3303 .loc 1 3557 1 is_stmt 1 view -0
3304 .cfi_startproc
3305 @ args = 0, pretend = 0, frame = 0
3306 @ frame_needed = 0, uses_anonymous_args = 0
3557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3307 .loc 1 3557 1 is_stmt 0 view .LVU1087
3308 0000 38B5 push {r3, r4, r5, lr}
3309 .LCFI15:
3310 .cfi_def_cfa_offset 16
3311 .cfi_offset 3, -16
3312 .cfi_offset 4, -12
3313 .cfi_offset 5, -8
3314 .cfi_offset 14, -4
3558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3315 .loc 1 3558 3 is_stmt 1 view .LVU1088
3558:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3316 .loc 1 3558 23 is_stmt 0 view .LVU1089
3317 0002 846B ldr r4, [r0, #56]
3318 .LVL292:
3560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
3319 .loc 1 3560 3 is_stmt 1 view .LVU1090
3560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
3320 .loc 1 3560 31 is_stmt 0 view .LVU1091
3321 0004 E26F ldr r2, [r4, #124]
3322 .LVL293:
3561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3323 .loc 1 3561 3 is_stmt 1 view .LVU1092
3561:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3324 .loc 1 3561 31 is_stmt 0 view .LVU1093
3325 0006 D4F88050 ldr r5, [r4, #128]
3326 .LVL294:
3564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3327 .loc 1 3564 3 is_stmt 1 view .LVU1094
3564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3328 .loc 1 3564 8 is_stmt 0 view .LVU1095
3329 000a 2368 ldr r3, [r4]
3330 000c 9B68 ldr r3, [r3, #8]
3564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3331 .loc 1 3564 6 view .LVU1096
3332 000e 13F0800F tst r3, #128
3333 0012 01D0 beq .L127
3564:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3334 .loc 1 3564 62 discriminator 1 view .LVU1097
3335 0014 212A cmp r2, #33
3336 0016 10D0 beq .L130
3337 .LVL295:
3338 .L127:
3572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3339 .loc 1 3572 3 is_stmt 1 view .LVU1098
3572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3340 .loc 1 3572 8 is_stmt 0 view .LVU1099
3341 0018 2368 ldr r3, [r4]
3342 001a 9B68 ldr r3, [r3, #8]
3572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3343 .loc 1 3572 6 view .LVU1100
ARM GAS /tmp/ccQxTlMj.s page 163
3344 001c 13F0400F tst r3, #64
3345 0020 01D0 beq .L128
3572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3346 .loc 1 3572 62 discriminator 1 view .LVU1101
3347 0022 222D cmp r5, #34
3348 0024 10D0 beq .L131
3349 .L128:
3579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3350 .loc 1 3579 3 is_stmt 1 view .LVU1102
3579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3351 .loc 1 3579 8 is_stmt 0 view .LVU1103
3352 0026 D4F88430 ldr r3, [r4, #132]
3579:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3353 .loc 1 3579 20 view .LVU1104
3354 002a 43F01003 orr r3, r3, #16
3355 002e C4F88430 str r3, [r4, #132]
3586:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3356 .loc 1 3586 3 is_stmt 1 view .LVU1105
3357 0032 2046 mov r0, r4
3358 0034 FFF7FEFF bl HAL_UART_ErrorCallback
3359 .LVL296:
3588:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3360 .loc 1 3588 1 is_stmt 0 view .LVU1106
3361 0038 38BD pop {r3, r4, r5, pc}
3362 .LVL297:
3363 .L130:
3567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndTxTransfer(huart);
3364 .loc 1 3567 5 is_stmt 1 view .LVU1107
3567:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndTxTransfer(huart);
3365 .loc 1 3567 24 is_stmt 0 view .LVU1108
3366 003a 0023 movs r3, #0
3367 003c A4F85230 strh r3, [r4, #82] @ movhi
3568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3368 .loc 1 3568 5 is_stmt 1 view .LVU1109
3369 0040 2046 mov r0, r4
3370 .LVL298:
3568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3371 .loc 1 3568 5 is_stmt 0 view .LVU1110
3372 0042 FFF7FEFF bl UART_EndTxTransfer
3373 .LVL299:
3568:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3374 .loc 1 3568 5 view .LVU1111
3375 0046 E7E7 b .L127
3376 .L131:
3575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart);
3377 .loc 1 3575 5 is_stmt 1 view .LVU1112
3575:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_EndRxTransfer(huart);
3378 .loc 1 3575 24 is_stmt 0 view .LVU1113
3379 0048 0023 movs r3, #0
3380 004a A4F85A30 strh r3, [r4, #90] @ movhi
3576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3381 .loc 1 3576 5 is_stmt 1 view .LVU1114
3382 004e 2046 mov r0, r4
3383 0050 FFF7FEFF bl UART_EndRxTransfer
3384 .LVL300:
3385 0054 E7E7 b .L128
3386 .cfi_endproc
ARM GAS /tmp/ccQxTlMj.s page 164
3387 .LFE197:
3389 .section .text.UART_DMAAbortOnError,"ax",%progbits
3390 .align 1
3391 .syntax unified
3392 .thumb
3393 .thumb_func
3395 UART_DMAAbortOnError:
3396 .LVL301:
3397 .LFB198:
3597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3398 .loc 1 3597 1 view -0
3399 .cfi_startproc
3400 @ args = 0, pretend = 0, frame = 0
3401 @ frame_needed = 0, uses_anonymous_args = 0
3597:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3402 .loc 1 3597 1 is_stmt 0 view .LVU1116
3403 0000 08B5 push {r3, lr}
3404 .LCFI16:
3405 .cfi_def_cfa_offset 8
3406 .cfi_offset 3, -8
3407 .cfi_offset 14, -4
3598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3408 .loc 1 3598 3 is_stmt 1 view .LVU1117
3598:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3409 .loc 1 3598 23 is_stmt 0 view .LVU1118
3410 0002 806B ldr r0, [r0, #56]
3411 .LVL302:
3599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
3412 .loc 1 3599 3 is_stmt 1 view .LVU1119
3599:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = 0U;
3413 .loc 1 3599 22 is_stmt 0 view .LVU1120
3414 0004 0023 movs r3, #0
3415 0006 A0F85A30 strh r3, [r0, #90] @ movhi
3600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3416 .loc 1 3600 3 is_stmt 1 view .LVU1121
3600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3417 .loc 1 3600 22 is_stmt 0 view .LVU1122
3418 000a A0F85230 strh r3, [r0, #82] @ movhi
3607:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3419 .loc 1 3607 3 is_stmt 1 view .LVU1123
3420 000e FFF7FEFF bl HAL_UART_ErrorCallback
3421 .LVL303:
3609:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3422 .loc 1 3609 1 is_stmt 0 view .LVU1124
3423 0012 08BD pop {r3, pc}
3424 .cfi_endproc
3425 .LFE198:
3427 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
3428 .align 1
3429 .weak HAL_UART_AbortCpltCallback
3430 .syntax unified
3431 .thumb
3432 .thumb_func
3434 HAL_UART_AbortCpltCallback:
3435 .LVL304:
3436 .LFB169:
2510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS /tmp/ccQxTlMj.s page 165
3437 .loc 1 2510 1 is_stmt 1 view -0
3438 .cfi_startproc
3439 @ args = 0, pretend = 0, frame = 0
3440 @ frame_needed = 0, uses_anonymous_args = 0
3441 @ link register save eliminated.
2512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3442 .loc 1 2512 3 view .LVU1126
2517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3443 .loc 1 2517 1 is_stmt 0 view .LVU1127
3444 0000 7047 bx lr
3445 .cfi_endproc
3446 .LFE169:
3448 .section .text.HAL_UART_Abort_IT,"ax",%progbits
3449 .align 1
3450 .global HAL_UART_Abort_IT
3451 .syntax unified
3452 .thumb
3453 .thumb_func
3455 HAL_UART_Abort_IT:
3456 .LVL305:
3457 .LFB160:
1804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t abortcplt = 1U;
3458 .loc 1 1804 1 is_stmt 1 view -0
3459 .cfi_startproc
3460 @ args = 0, pretend = 0, frame = 0
3461 @ frame_needed = 0, uses_anonymous_args = 0
1804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t abortcplt = 1U;
3462 .loc 1 1804 1 is_stmt 0 view .LVU1129
3463 0000 38B5 push {r3, r4, r5, lr}
3464 .LCFI17:
3465 .cfi_def_cfa_offset 16
3466 .cfi_offset 3, -16
3467 .cfi_offset 4, -12
3468 .cfi_offset 5, -8
3469 .cfi_offset 14, -4
3470 0002 0446 mov r4, r0
1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3471 .loc 1 1805 3 is_stmt 1 view .LVU1130
3472 .LVL306:
3473 .L136:
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3474 .loc 1 1808 3 discriminator 1 view .LVU1131
3475 .LBB585:
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3476 .loc 1 1808 3 discriminator 1 view .LVU1132
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3477 .loc 1 1808 3 discriminator 1 view .LVU1133
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3478 .loc 1 1808 3 discriminator 1 view .LVU1134
3479 0004 2268 ldr r2, [r4]
3480 .LVL307:
3481 .LBB586:
3482 .LBI586:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3483 .loc 2 1068 31 view .LVU1135
3484 .LBB587:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/ccQxTlMj.s page 166
3485 .loc 2 1070 5 view .LVU1136
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3486 .loc 2 1072 4 view .LVU1137
3487 .syntax unified
3488 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3489 0006 52E8003F ldrex r3, [r2]
3490 @ 0 "" 2
3491 .LVL308:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3492 .loc 2 1073 4 view .LVU1138
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3493 .loc 2 1073 4 is_stmt 0 view .LVU1139
3494 .thumb
3495 .syntax unified
3496 .LBE587:
3497 .LBE586:
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3498 .loc 1 1808 3 discriminator 1 view .LVU1140
3499 000a 23F4F073 bic r3, r3, #480
3500 .LVL309:
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3501 .loc 1 1808 3 is_stmt 1 discriminator 1 view .LVU1141
3502 .LBB588:
3503 .LBI588:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3504 .loc 2 1119 31 view .LVU1142
3505 .LBB589:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
3506 .loc 2 1121 4 view .LVU1143
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3507 .loc 2 1123 4 view .LVU1144
3508 .syntax unified
3509 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3510 000e 42E80031 strex r1, r3, [r2]
3511 @ 0 "" 2
3512 .LVL310:
3513 .loc 2 1124 4 view .LVU1145
3514 .loc 2 1124 4 is_stmt 0 view .LVU1146
3515 .thumb
3516 .syntax unified
3517 .LBE589:
3518 .LBE588:
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3519 .loc 1 1808 3 discriminator 1 view .LVU1147
3520 0012 0029 cmp r1, #0
3521 0014 F6D1 bne .L136
3522 .LVL311:
3523 .L137:
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3524 .loc 1 1808 3 discriminator 1 view .LVU1148
3525 .LBE585:
1808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3526 .loc 1 1808 3 is_stmt 1 discriminator 2 view .LVU1149
1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3527 .loc 1 1809 3 discriminator 1 view .LVU1150
3528 .LBB590:
1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 167
3529 .loc 1 1809 3 discriminator 1 view .LVU1151
1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3530 .loc 1 1809 3 discriminator 1 view .LVU1152
1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3531 .loc 1 1809 3 discriminator 1 view .LVU1153
3532 0016 2268 ldr r2, [r4]
3533 .LVL312:
3534 .LBB591:
3535 .LBI591:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3536 .loc 2 1068 31 view .LVU1154
3537 .LBB592:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
3538 .loc 2 1070 5 view .LVU1155
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3539 .loc 2 1072 4 view .LVU1156
3540 0018 02F10803 add r3, r2, #8
3541 .LVL313:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3542 .loc 2 1072 4 is_stmt 0 view .LVU1157
3543 .syntax unified
3544 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3545 001c 53E8003F ldrex r3, [r3]
3546 @ 0 "" 2
3547 .LVL314:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3548 .loc 2 1073 4 is_stmt 1 view .LVU1158
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3549 .loc 2 1073 4 is_stmt 0 view .LVU1159
3550 .thumb
3551 .syntax unified
3552 .LBE592:
3553 .LBE591:
1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3554 .loc 1 1809 3 discriminator 1 view .LVU1160
3555 0020 23F00103 bic r3, r3, #1
3556 .LVL315:
1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3557 .loc 1 1809 3 is_stmt 1 discriminator 1 view .LVU1161
3558 .LBB593:
3559 .LBI593:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3560 .loc 2 1119 31 view .LVU1162
3561 .LBB594:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
3562 .loc 2 1121 4 view .LVU1163
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3563 .loc 2 1123 4 view .LVU1164
3564 0024 0832 adds r2, r2, #8
3565 .LVL316:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3566 .loc 2 1123 4 is_stmt 0 view .LVU1165
3567 .syntax unified
3568 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3569 0026 42E80031 strex r1, r3, [r2]
3570 @ 0 "" 2
3571 .LVL317:
ARM GAS /tmp/ccQxTlMj.s page 168
3572 .loc 2 1124 4 is_stmt 1 view .LVU1166
3573 .loc 2 1124 4 is_stmt 0 view .LVU1167
3574 .thumb
3575 .syntax unified
3576 .LBE594:
3577 .LBE593:
1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3578 .loc 1 1809 3 discriminator 1 view .LVU1168
3579 002a 0029 cmp r1, #0
3580 002c F3D1 bne .L137
3581 .LBE590:
1809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3582 .loc 1 1809 3 is_stmt 1 discriminator 2 view .LVU1169
1812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3583 .loc 1 1812 3 view .LVU1170
1812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3584 .loc 1 1812 12 is_stmt 0 view .LVU1171
3585 002e 236E ldr r3, [r4, #96]
3586 .LVL318:
1812:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3587 .loc 1 1812 6 view .LVU1172
3588 0030 012B cmp r3, #1
3589 0032 2ED0 beq .L139
3590 .L138:
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3591 .loc 1 1814 5 is_stmt 1 discriminator 2 view .LVU1173
1820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3592 .loc 1 1820 3 view .LVU1174
1820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3593 .loc 1 1820 12 is_stmt 0 view .LVU1175
3594 0034 236F ldr r3, [r4, #112]
1820:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3595 .loc 1 1820 6 view .LVU1176
3596 0036 33B1 cbz r3, .L140
1824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3597 .loc 1 1824 5 is_stmt 1 view .LVU1177
1824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3598 .loc 1 1824 9 is_stmt 0 view .LVU1178
3599 0038 2268 ldr r2, [r4]
3600 003a 9268 ldr r2, [r2, #8]
1824:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3601 .loc 1 1824 8 view .LVU1179
3602 003c 12F0800F tst r2, #128
3603 0040 31D0 beq .L141
1826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3604 .loc 1 1826 7 is_stmt 1 view .LVU1180
1826:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3605 .loc 1 1826 40 is_stmt 0 view .LVU1181
3606 0042 394A ldr r2, .L153
3607 0044 1A65 str r2, [r3, #80]
3608 .L140:
1834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3609 .loc 1 1834 3 is_stmt 1 view .LVU1182
1834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3610 .loc 1 1834 12 is_stmt 0 view .LVU1183
3611 0046 636F ldr r3, [r4, #116]
1834:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 169
3612 .loc 1 1834 6 view .LVU1184
3613 0048 33B1 cbz r3, .L142
1838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3614 .loc 1 1838 5 is_stmt 1 view .LVU1185
1838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3615 .loc 1 1838 9 is_stmt 0 view .LVU1186
3616 004a 2268 ldr r2, [r4]
3617 004c 9268 ldr r2, [r2, #8]
1838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3618 .loc 1 1838 8 view .LVU1187
3619 004e 12F0400F tst r2, #64
3620 0052 2BD0 beq .L143
1840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3621 .loc 1 1840 7 is_stmt 1 view .LVU1188
1840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3622 .loc 1 1840 40 is_stmt 0 view .LVU1189
3623 0054 354A ldr r2, .L153+4
3624 0056 1A65 str r2, [r3, #80]
3625 .L142:
1849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3626 .loc 1 1849 3 is_stmt 1 view .LVU1190
1849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3627 .loc 1 1849 7 is_stmt 0 view .LVU1191
3628 0058 2368 ldr r3, [r4]
3629 005a 9B68 ldr r3, [r3, #8]
1849:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3630 .loc 1 1849 6 view .LVU1192
3631 005c 13F0800F tst r3, #128
3632 0060 27D0 beq .L150
3633 .L145:
1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3634 .loc 1 1852 5 is_stmt 1 discriminator 1 view .LVU1193
3635 .LBB595:
1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3636 .loc 1 1852 5 discriminator 1 view .LVU1194
1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3637 .loc 1 1852 5 discriminator 1 view .LVU1195
1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3638 .loc 1 1852 5 discriminator 1 view .LVU1196
3639 0062 2168 ldr r1, [r4]
3640 .LVL319:
3641 .LBB596:
3642 .LBI596:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3643 .loc 2 1068 31 view .LVU1197
3644 .LBB597:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
3645 .loc 2 1070 5 view .LVU1198
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3646 .loc 2 1072 4 view .LVU1199
3647 0064 01F10803 add r3, r1, #8
3648 .LVL320:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3649 .loc 2 1072 4 is_stmt 0 view .LVU1200
3650 .syntax unified
3651 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3652 0068 53E8003F ldrex r3, [r3]
ARM GAS /tmp/ccQxTlMj.s page 170
3653 @ 0 "" 2
3654 .LVL321:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3655 .loc 2 1073 4 is_stmt 1 view .LVU1201
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3656 .loc 2 1073 4 is_stmt 0 view .LVU1202
3657 .thumb
3658 .syntax unified
3659 .LBE597:
3660 .LBE596:
1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3661 .loc 1 1852 5 discriminator 1 view .LVU1203
3662 006c 23F08003 bic r3, r3, #128
3663 .LVL322:
1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3664 .loc 1 1852 5 is_stmt 1 discriminator 1 view .LVU1204
3665 .LBB598:
3666 .LBI598:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3667 .loc 2 1119 31 view .LVU1205
3668 .LBB599:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
3669 .loc 2 1121 4 view .LVU1206
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3670 .loc 2 1123 4 view .LVU1207
3671 0070 0831 adds r1, r1, #8
3672 .LVL323:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3673 .loc 2 1123 4 is_stmt 0 view .LVU1208
3674 .syntax unified
3675 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3676 0072 41E80032 strex r2, r3, [r1]
3677 @ 0 "" 2
3678 .thumb
3679 .syntax unified
3680 0076 1546 mov r5, r2
3681 .LVL324:
3682 .loc 2 1124 4 is_stmt 1 view .LVU1209
3683 .loc 2 1124 4 is_stmt 0 view .LVU1210
3684 .LBE599:
3685 .LBE598:
1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3686 .loc 1 1852 5 discriminator 1 view .LVU1211
3687 0078 002A cmp r2, #0
3688 007a F2D1 bne .L145
3689 .LBE595:
1852:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3690 .loc 1 1852 5 is_stmt 1 discriminator 2 view .LVU1212
1855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3691 .loc 1 1855 5 view .LVU1213
1855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3692 .loc 1 1855 14 is_stmt 0 view .LVU1214
3693 007c 206F ldr r0, [r4, #112]
3694 .LVL325:
1855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3695 .loc 1 1855 8 view .LVU1215
3696 007e 0028 cmp r0, #0
ARM GAS /tmp/ccQxTlMj.s page 171
3697 0080 4BD0 beq .L151
1861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3698 .loc 1 1861 7 is_stmt 1 view .LVU1216
1861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3699 .loc 1 1861 11 is_stmt 0 view .LVU1217
3700 0082 FFF7FEFF bl HAL_DMA_Abort_IT
3701 .LVL326:
1861:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3702 .loc 1 1861 10 discriminator 1 view .LVU1218
3703 0086 A8B1 cbz r0, .L144
1863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3704 .loc 1 1863 9 is_stmt 1 view .LVU1219
1863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3705 .loc 1 1863 14 is_stmt 0 view .LVU1220
3706 0088 236F ldr r3, [r4, #112]
1863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3707 .loc 1 1863 42 view .LVU1221
3708 008a 0022 movs r2, #0
3709 008c 1A65 str r2, [r3, #80]
1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3710 .loc 1 1805 12 view .LVU1222
3711 008e 0125 movs r5, #1
3712 0090 10E0 b .L144
3713 .LVL327:
3714 .L139:
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3715 .loc 1 1814 5 is_stmt 1 discriminator 1 view .LVU1223
3716 .LBB600:
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3717 .loc 1 1814 5 discriminator 1 view .LVU1224
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3718 .loc 1 1814 5 discriminator 1 view .LVU1225
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3719 .loc 1 1814 5 discriminator 1 view .LVU1226
3720 0092 2268 ldr r2, [r4]
3721 .LVL328:
3722 .LBB601:
3723 .LBI601:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3724 .loc 2 1068 31 view .LVU1227
3725 .LBB602:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
3726 .loc 2 1070 5 view .LVU1228
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3727 .loc 2 1072 4 view .LVU1229
3728 .syntax unified
3729 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3730 0094 52E8003F ldrex r3, [r2]
3731 @ 0 "" 2
3732 .LVL329:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3733 .loc 2 1073 4 view .LVU1230
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3734 .loc 2 1073 4 is_stmt 0 view .LVU1231
3735 .thumb
3736 .syntax unified
3737 .LBE602:
ARM GAS /tmp/ccQxTlMj.s page 172
3738 .LBE601:
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3739 .loc 1 1814 5 discriminator 1 view .LVU1232
3740 0098 23F01003 bic r3, r3, #16
3741 .LVL330:
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3742 .loc 1 1814 5 is_stmt 1 discriminator 1 view .LVU1233
3743 .LBB603:
3744 .LBI603:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3745 .loc 2 1119 31 view .LVU1234
3746 .LBB604:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
3747 .loc 2 1121 4 view .LVU1235
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3748 .loc 2 1123 4 view .LVU1236
3749 .syntax unified
3750 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3751 009c 42E80031 strex r1, r3, [r2]
3752 @ 0 "" 2
3753 .LVL331:
3754 .loc 2 1124 4 view .LVU1237
3755 .loc 2 1124 4 is_stmt 0 view .LVU1238
3756 .thumb
3757 .syntax unified
3758 .LBE604:
3759 .LBE603:
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3760 .loc 1 1814 5 discriminator 1 view .LVU1239
3761 00a0 0029 cmp r1, #0
3762 00a2 F6D1 bne .L139
3763 00a4 C6E7 b .L138
3764 .LVL332:
3765 .L141:
1814:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3766 .loc 1 1814 5 discriminator 1 view .LVU1240
3767 .LBE600:
1830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3768 .loc 1 1830 7 is_stmt 1 view .LVU1241
1830:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3769 .loc 1 1830 40 is_stmt 0 view .LVU1242
3770 00a6 0022 movs r2, #0
3771 00a8 1A65 str r2, [r3, #80]
3772 00aa CCE7 b .L140
3773 .L143:
1844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3774 .loc 1 1844 7 is_stmt 1 view .LVU1243
1844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3775 .loc 1 1844 40 is_stmt 0 view .LVU1244
3776 00ac 0022 movs r2, #0
3777 00ae 1A65 str r2, [r3, #80]
3778 00b0 D2E7 b .L142
3779 .L150:
1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3780 .loc 1 1805 12 view .LVU1245
3781 00b2 0125 movs r5, #1
3782 .LVL333:
ARM GAS /tmp/ccQxTlMj.s page 173
3783 .L144:
1873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3784 .loc 1 1873 3 is_stmt 1 view .LVU1246
1873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3785 .loc 1 1873 7 is_stmt 0 view .LVU1247
3786 00b4 2368 ldr r3, [r4]
3787 00b6 9B68 ldr r3, [r3, #8]
1873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3788 .loc 1 1873 6 view .LVU1248
3789 00b8 13F0400F tst r3, #64
3790 00bc 2FD0 beq .L146
3791 .L147:
1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3792 .loc 1 1876 5 is_stmt 1 discriminator 1 view .LVU1249
3793 .LBB605:
1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3794 .loc 1 1876 5 discriminator 1 view .LVU1250
1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3795 .loc 1 1876 5 discriminator 1 view .LVU1251
1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3796 .loc 1 1876 5 discriminator 1 view .LVU1252
3797 00be 2268 ldr r2, [r4]
3798 .LVL334:
3799 .LBB606:
3800 .LBI606:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3801 .loc 2 1068 31 view .LVU1253
3802 .LBB607:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
3803 .loc 2 1070 5 view .LVU1254
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3804 .loc 2 1072 4 view .LVU1255
3805 00c0 02F10803 add r3, r2, #8
3806 .LVL335:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3807 .loc 2 1072 4 is_stmt 0 view .LVU1256
3808 .syntax unified
3809 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3810 00c4 53E8003F ldrex r3, [r3]
3811 @ 0 "" 2
3812 .LVL336:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3813 .loc 2 1073 4 is_stmt 1 view .LVU1257
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3814 .loc 2 1073 4 is_stmt 0 view .LVU1258
3815 .thumb
3816 .syntax unified
3817 .LBE607:
3818 .LBE606:
1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3819 .loc 1 1876 5 discriminator 1 view .LVU1259
3820 00c8 23F04003 bic r3, r3, #64
3821 .LVL337:
1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3822 .loc 1 1876 5 is_stmt 1 discriminator 1 view .LVU1260
3823 .LBB608:
3824 .LBI608:
ARM GAS /tmp/ccQxTlMj.s page 174
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3825 .loc 2 1119 31 view .LVU1261
3826 .LBB609:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
3827 .loc 2 1121 4 view .LVU1262
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3828 .loc 2 1123 4 view .LVU1263
3829 00cc 0832 adds r2, r2, #8
3830 .LVL338:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3831 .loc 2 1123 4 is_stmt 0 view .LVU1264
3832 .syntax unified
3833 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3834 00ce 42E80031 strex r1, r3, [r2]
3835 @ 0 "" 2
3836 .LVL339:
3837 .loc 2 1124 4 is_stmt 1 view .LVU1265
3838 .loc 2 1124 4 is_stmt 0 view .LVU1266
3839 .thumb
3840 .syntax unified
3841 .LBE609:
3842 .LBE608:
1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3843 .loc 1 1876 5 discriminator 1 view .LVU1267
3844 00d2 0029 cmp r1, #0
3845 00d4 F3D1 bne .L147
3846 .LBE605:
1876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3847 .loc 1 1876 5 is_stmt 1 discriminator 2 view .LVU1268
1879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3848 .loc 1 1879 5 view .LVU1269
1879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3849 .loc 1 1879 14 is_stmt 0 view .LVU1270
3850 00d6 606F ldr r0, [r4, #116]
1879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3851 .loc 1 1879 8 view .LVU1271
3852 00d8 08B3 cbz r0, .L146
1885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3853 .loc 1 1885 7 is_stmt 1 view .LVU1272
1885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3854 .loc 1 1885 11 is_stmt 0 view .LVU1273
3855 00da FFF7FEFF bl HAL_DMA_Abort_IT
3856 .LVL340:
1885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3857 .loc 1 1885 10 discriminator 1 view .LVU1274
3858 00de 00B3 cbz r0, .L148
1887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 1U;
3859 .loc 1 1887 9 is_stmt 1 view .LVU1275
1887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 1U;
3860 .loc 1 1887 14 is_stmt 0 view .LVU1276
3861 00e0 636F ldr r3, [r4, #116]
1887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** abortcplt = 1U;
3862 .loc 1 1887 42 view .LVU1277
3863 00e2 0022 movs r2, #0
3864 00e4 1A65 str r2, [r3, #80]
1888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3865 .loc 1 1888 9 is_stmt 1 view .LVU1278
ARM GAS /tmp/ccQxTlMj.s page 175
3866 .LVL341:
1898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3867 .loc 1 1898 3 view .LVU1279
3868 .L149:
1901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3869 .loc 1 1901 5 view .LVU1280
1901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3870 .loc 1 1901 24 is_stmt 0 view .LVU1281
3871 00e6 0023 movs r3, #0
3872 00e8 A4F85230 strh r3, [r4, #82] @ movhi
1902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3873 .loc 1 1902 5 is_stmt 1 view .LVU1282
1902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3874 .loc 1 1902 24 is_stmt 0 view .LVU1283
3875 00ec A4F85A30 strh r3, [r4, #90] @ movhi
1905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
3876 .loc 1 1905 5 is_stmt 1 view .LVU1284
1905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
3877 .loc 1 1905 18 is_stmt 0 view .LVU1285
3878 00f0 A366 str r3, [r4, #104]
1906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3879 .loc 1 1906 5 is_stmt 1 view .LVU1286
1906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3880 .loc 1 1906 18 is_stmt 0 view .LVU1287
3881 00f2 E366 str r3, [r4, #108]
1909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3882 .loc 1 1909 5 is_stmt 1 view .LVU1288
1909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3883 .loc 1 1909 22 is_stmt 0 view .LVU1289
3884 00f4 C4F88430 str r3, [r4, #132]
1912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3885 .loc 1 1912 5 is_stmt 1 view .LVU1290
3886 00f8 2268 ldr r2, [r4]
3887 00fa 0F21 movs r1, #15
3888 00fc 1162 str r1, [r2, #32]
1916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3889 .loc 1 1916 5 view .LVU1291
3890 00fe 2168 ldr r1, [r4]
3891 0100 8A69 ldr r2, [r1, #24]
3892 0102 42F00802 orr r2, r2, #8
3893 0106 8A61 str r2, [r1, #24]
1919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3894 .loc 1 1919 5 view .LVU1292
1919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3895 .loc 1 1919 20 is_stmt 0 view .LVU1293
3896 0108 2022 movs r2, #32
3897 010a E267 str r2, [r4, #124]
1920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3898 .loc 1 1920 5 is_stmt 1 view .LVU1294
1920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3899 .loc 1 1920 20 is_stmt 0 view .LVU1295
3900 010c C4F88020 str r2, [r4, #128]
1921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3901 .loc 1 1921 5 is_stmt 1 view .LVU1296
1921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3902 .loc 1 1921 26 is_stmt 0 view .LVU1297
3903 0110 2366 str r3, [r4, #96]
ARM GAS /tmp/ccQxTlMj.s page 176
1929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3904 .loc 1 1929 5 is_stmt 1 view .LVU1298
3905 0112 2046 mov r0, r4
3906 0114 FFF7FEFF bl HAL_UART_AbortCpltCallback
3907 .LVL342:
3908 0118 03E0 b .L148
3909 .LVL343:
3910 .L151:
1805:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3911 .loc 1 1805 12 is_stmt 0 view .LVU1299
3912 011a 0125 movs r5, #1
3913 011c CAE7 b .L144
3914 .LVL344:
3915 .L146:
1898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3916 .loc 1 1898 3 is_stmt 1 view .LVU1300
1898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3917 .loc 1 1898 6 is_stmt 0 view .LVU1301
3918 011e 012D cmp r5, #1
3919 0120 E1D0 beq .L149
3920 .LVL345:
3921 .L148:
1933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3922 .loc 1 1933 3 is_stmt 1 view .LVU1302
1934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3923 .loc 1 1934 1 is_stmt 0 view .LVU1303
3924 0122 0020 movs r0, #0
3925 0124 38BD pop {r3, r4, r5, pc}
3926 .LVL346:
3927 .L154:
1934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3928 .loc 1 1934 1 view .LVU1304
3929 0126 00BF .align 2
3930 .L153:
3931 0128 00000000 .word UART_DMATxAbortCallback
3932 012c 00000000 .word UART_DMARxAbortCallback
3933 .cfi_endproc
3934 .LFE160:
3936 .section .text.UART_DMARxAbortCallback,"ax",%progbits
3937 .align 1
3938 .syntax unified
3939 .thumb
3940 .thumb_func
3942 UART_DMARxAbortCallback:
3943 .LVL347:
3944 .LFB200:
3670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3945 .loc 1 3670 1 is_stmt 1 view -0
3946 .cfi_startproc
3947 @ args = 0, pretend = 0, frame = 0
3948 @ frame_needed = 0, uses_anonymous_args = 0
3670:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3949 .loc 1 3670 1 is_stmt 0 view .LVU1306
3950 0000 08B5 push {r3, lr}
3951 .LCFI18:
3952 .cfi_def_cfa_offset 8
3953 .cfi_offset 3, -8
ARM GAS /tmp/ccQxTlMj.s page 177
3954 .cfi_offset 14, -4
3671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3955 .loc 1 3671 3 is_stmt 1 view .LVU1307
3671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3956 .loc 1 3671 23 is_stmt 0 view .LVU1308
3957 0002 806B ldr r0, [r0, #56]
3958 .LVL348:
3673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3959 .loc 1 3673 3 is_stmt 1 view .LVU1309
3673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3960 .loc 1 3673 8 is_stmt 0 view .LVU1310
3961 0004 436F ldr r3, [r0, #116]
3673:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3962 .loc 1 3673 36 view .LVU1311
3963 0006 0022 movs r2, #0
3964 0008 1A65 str r2, [r3, #80]
3676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3965 .loc 1 3676 3 is_stmt 1 view .LVU1312
3676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3966 .loc 1 3676 12 is_stmt 0 view .LVU1313
3967 000a 036F ldr r3, [r0, #112]
3676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3968 .loc 1 3676 6 view .LVU1314
3969 000c 0BB1 cbz r3, .L156
3678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3970 .loc 1 3678 5 is_stmt 1 view .LVU1315
3678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3971 .loc 1 3678 22 is_stmt 0 view .LVU1316
3972 000e 1B6D ldr r3, [r3, #80]
3678:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3973 .loc 1 3678 8 view .LVU1317
3974 0010 ABB9 cbnz r3, .L155
3975 .L156:
3685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3976 .loc 1 3685 3 is_stmt 1 view .LVU1318
3685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
3977 .loc 1 3685 22 is_stmt 0 view .LVU1319
3978 0012 0023 movs r3, #0
3979 0014 A0F85230 strh r3, [r0, #82] @ movhi
3686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3980 .loc 1 3686 3 is_stmt 1 view .LVU1320
3686:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3981 .loc 1 3686 22 is_stmt 0 view .LVU1321
3982 0018 A0F85A30 strh r3, [r0, #90] @ movhi
3689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3983 .loc 1 3689 3 is_stmt 1 view .LVU1322
3689:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3984 .loc 1 3689 20 is_stmt 0 view .LVU1323
3985 001c C0F88430 str r3, [r0, #132]
3692:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3986 .loc 1 3692 3 is_stmt 1 view .LVU1324
3987 0020 0268 ldr r2, [r0]
3988 0022 0F21 movs r1, #15
3989 0024 1162 str r1, [r2, #32]
3695:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3990 .loc 1 3695 3 view .LVU1325
3991 0026 0168 ldr r1, [r0]
ARM GAS /tmp/ccQxTlMj.s page 178
3992 0028 8A69 ldr r2, [r1, #24]
3993 002a 42F00802 orr r2, r2, #8
3994 002e 8A61 str r2, [r1, #24]
3698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3995 .loc 1 3698 3 view .LVU1326
3698:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3996 .loc 1 3698 18 is_stmt 0 view .LVU1327
3997 0030 2022 movs r2, #32
3998 0032 C267 str r2, [r0, #124]
3699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3999 .loc 1 3699 3 is_stmt 1 view .LVU1328
3699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4000 .loc 1 3699 18 is_stmt 0 view .LVU1329
4001 0034 C0F88020 str r2, [r0, #128]
3700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4002 .loc 1 3700 3 is_stmt 1 view .LVU1330
3700:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4003 .loc 1 3700 24 is_stmt 0 view .LVU1331
4004 0038 0366 str r3, [r0, #96]
3708:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4005 .loc 1 3708 3 is_stmt 1 view .LVU1332
4006 003a FFF7FEFF bl HAL_UART_AbortCpltCallback
4007 .LVL349:
4008 .L155:
3710:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4009 .loc 1 3710 1 is_stmt 0 view .LVU1333
4010 003e 08BD pop {r3, pc}
4011 .cfi_endproc
4012 .LFE200:
4014 .section .text.UART_DMATxAbortCallback,"ax",%progbits
4015 .align 1
4016 .syntax unified
4017 .thumb
4018 .thumb_func
4020 UART_DMATxAbortCallback:
4021 .LVL350:
4022 .LFB199:
3620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
4023 .loc 1 3620 1 is_stmt 1 view -0
4024 .cfi_startproc
4025 @ args = 0, pretend = 0, frame = 0
4026 @ frame_needed = 0, uses_anonymous_args = 0
3620:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
4027 .loc 1 3620 1 is_stmt 0 view .LVU1335
4028 0000 08B5 push {r3, lr}
4029 .LCFI19:
4030 .cfi_def_cfa_offset 8
4031 .cfi_offset 3, -8
4032 .cfi_offset 14, -4
3621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4033 .loc 1 3621 3 is_stmt 1 view .LVU1336
3621:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4034 .loc 1 3621 23 is_stmt 0 view .LVU1337
4035 0002 806B ldr r0, [r0, #56]
4036 .LVL351:
3623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4037 .loc 1 3623 3 is_stmt 1 view .LVU1338
ARM GAS /tmp/ccQxTlMj.s page 179
3623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4038 .loc 1 3623 8 is_stmt 0 view .LVU1339
4039 0004 036F ldr r3, [r0, #112]
3623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4040 .loc 1 3623 36 view .LVU1340
4041 0006 0022 movs r2, #0
4042 0008 1A65 str r2, [r3, #80]
3626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4043 .loc 1 3626 3 is_stmt 1 view .LVU1341
3626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4044 .loc 1 3626 12 is_stmt 0 view .LVU1342
4045 000a 436F ldr r3, [r0, #116]
3626:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4046 .loc 1 3626 6 view .LVU1343
4047 000c 0BB1 cbz r3, .L160
3628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4048 .loc 1 3628 5 is_stmt 1 view .LVU1344
3628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4049 .loc 1 3628 22 is_stmt 0 view .LVU1345
4050 000e 1B6D ldr r3, [r3, #80]
3628:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4051 .loc 1 3628 8 view .LVU1346
4052 0010 83B9 cbnz r3, .L159
4053 .L160:
3635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
4054 .loc 1 3635 3 is_stmt 1 view .LVU1347
3635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = 0U;
4055 .loc 1 3635 22 is_stmt 0 view .LVU1348
4056 0012 0023 movs r3, #0
4057 0014 A0F85230 strh r3, [r0, #82] @ movhi
3636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4058 .loc 1 3636 3 is_stmt 1 view .LVU1349
3636:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4059 .loc 1 3636 22 is_stmt 0 view .LVU1350
4060 0018 A0F85A30 strh r3, [r0, #90] @ movhi
3639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4061 .loc 1 3639 3 is_stmt 1 view .LVU1351
3639:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4062 .loc 1 3639 20 is_stmt 0 view .LVU1352
4063 001c C0F88430 str r3, [r0, #132]
3642:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4064 .loc 1 3642 3 is_stmt 1 view .LVU1353
4065 0020 0268 ldr r2, [r0]
4066 0022 0F21 movs r1, #15
4067 0024 1162 str r1, [r2, #32]
3646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4068 .loc 1 3646 3 view .LVU1354
3646:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4069 .loc 1 3646 18 is_stmt 0 view .LVU1355
4070 0026 2022 movs r2, #32
4071 0028 C267 str r2, [r0, #124]
3647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4072 .loc 1 3647 3 is_stmt 1 view .LVU1356
3647:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4073 .loc 1 3647 18 is_stmt 0 view .LVU1357
4074 002a C0F88020 str r2, [r0, #128]
3648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 180
4075 .loc 1 3648 3 is_stmt 1 view .LVU1358
3648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4076 .loc 1 3648 24 is_stmt 0 view .LVU1359
4077 002e 0366 str r3, [r0, #96]
3656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4078 .loc 1 3656 3 is_stmt 1 view .LVU1360
4079 0030 FFF7FEFF bl HAL_UART_AbortCpltCallback
4080 .LVL352:
4081 .L159:
3658:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4082 .loc 1 3658 1 is_stmt 0 view .LVU1361
4083 0034 08BD pop {r3, pc}
4084 .cfi_endproc
4085 .LFE199:
4087 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
4088 .align 1
4089 .weak HAL_UART_AbortTransmitCpltCallback
4090 .syntax unified
4091 .thumb
4092 .thumb_func
4094 HAL_UART_AbortTransmitCpltCallback:
4095 .LVL353:
4096 .LFB170:
2525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4097 .loc 1 2525 1 is_stmt 1 view -0
4098 .cfi_startproc
4099 @ args = 0, pretend = 0, frame = 0
4100 @ frame_needed = 0, uses_anonymous_args = 0
4101 @ link register save eliminated.
2527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4102 .loc 1 2527 3 view .LVU1363
2532:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4103 .loc 1 2532 1 is_stmt 0 view .LVU1364
4104 0000 7047 bx lr
4105 .cfi_endproc
4106 .LFE170:
4108 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
4109 .align 1
4110 .global HAL_UART_AbortTransmit_IT
4111 .syntax unified
4112 .thumb
4113 .thumb_func
4115 HAL_UART_AbortTransmit_IT:
4116 .LVL354:
4117 .LFB161:
1951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable interrupts */
4118 .loc 1 1951 1 is_stmt 1 view -0
4119 .cfi_startproc
4120 @ args = 0, pretend = 0, frame = 0
4121 @ frame_needed = 0, uses_anonymous_args = 0
1951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable interrupts */
4122 .loc 1 1951 1 is_stmt 0 view .LVU1366
4123 0000 10B5 push {r4, lr}
4124 .LCFI20:
4125 .cfi_def_cfa_offset 8
4126 .cfi_offset 4, -8
4127 .cfi_offset 14, -4
ARM GAS /tmp/ccQxTlMj.s page 181
4128 0002 0446 mov r4, r0
4129 .L165:
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4130 .loc 1 1953 3 is_stmt 1 discriminator 1 view .LVU1367
4131 .LBB610:
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4132 .loc 1 1953 3 discriminator 1 view .LVU1368
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4133 .loc 1 1953 3 discriminator 1 view .LVU1369
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4134 .loc 1 1953 3 discriminator 1 view .LVU1370
4135 0004 2268 ldr r2, [r4]
4136 .LVL355:
4137 .LBB611:
4138 .LBI611:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4139 .loc 2 1068 31 view .LVU1371
4140 .LBB612:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
4141 .loc 2 1070 5 view .LVU1372
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4142 .loc 2 1072 4 view .LVU1373
4143 .syntax unified
4144 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4145 0006 52E8003F ldrex r3, [r2]
4146 @ 0 "" 2
4147 .LVL356:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4148 .loc 2 1073 4 view .LVU1374
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4149 .loc 2 1073 4 is_stmt 0 view .LVU1375
4150 .thumb
4151 .syntax unified
4152 .LBE612:
4153 .LBE611:
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4154 .loc 1 1953 3 discriminator 1 view .LVU1376
4155 000a 23F0C003 bic r3, r3, #192
4156 .LVL357:
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4157 .loc 1 1953 3 is_stmt 1 discriminator 1 view .LVU1377
4158 .LBB613:
4159 .LBI613:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4160 .loc 2 1119 31 view .LVU1378
4161 .LBB614:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
4162 .loc 2 1121 4 view .LVU1379
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4163 .loc 2 1123 4 view .LVU1380
4164 .syntax unified
4165 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4166 000e 42E80031 strex r1, r3, [r2]
4167 @ 0 "" 2
4168 .LVL358:
4169 .loc 2 1124 4 view .LVU1381
4170 .loc 2 1124 4 is_stmt 0 view .LVU1382
ARM GAS /tmp/ccQxTlMj.s page 182
4171 .thumb
4172 .syntax unified
4173 .LBE614:
4174 .LBE613:
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4175 .loc 1 1953 3 discriminator 1 view .LVU1383
4176 0012 0029 cmp r1, #0
4177 0014 F6D1 bne .L165
4178 .LBE610:
1953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4179 .loc 1 1953 3 is_stmt 1 discriminator 2 view .LVU1384
1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4180 .loc 1 1956 3 view .LVU1385
1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4181 .loc 1 1956 7 is_stmt 0 view .LVU1386
4182 0016 2368 ldr r3, [r4]
4183 .LVL359:
1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4184 .loc 1 1956 7 view .LVU1387
4185 0018 9B68 ldr r3, [r3, #8]
1956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4186 .loc 1 1956 6 view .LVU1388
4187 001a 13F0800F tst r3, #128
4188 001e 21D0 beq .L166
4189 .L167:
1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4190 .loc 1 1959 5 is_stmt 1 discriminator 1 view .LVU1389
4191 .LBB615:
1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4192 .loc 1 1959 5 discriminator 1 view .LVU1390
1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4193 .loc 1 1959 5 discriminator 1 view .LVU1391
1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4194 .loc 1 1959 5 discriminator 1 view .LVU1392
4195 0020 2268 ldr r2, [r4]
4196 .LVL360:
4197 .LBB616:
4198 .LBI616:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4199 .loc 2 1068 31 view .LVU1393
4200 .LBB617:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
4201 .loc 2 1070 5 view .LVU1394
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4202 .loc 2 1072 4 view .LVU1395
4203 0022 02F10803 add r3, r2, #8
4204 .LVL361:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4205 .loc 2 1072 4 is_stmt 0 view .LVU1396
4206 .syntax unified
4207 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4208 0026 53E8003F ldrex r3, [r3]
4209 @ 0 "" 2
4210 .LVL362:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4211 .loc 2 1073 4 is_stmt 1 view .LVU1397
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/ccQxTlMj.s page 183
4212 .loc 2 1073 4 is_stmt 0 view .LVU1398
4213 .thumb
4214 .syntax unified
4215 .LBE617:
4216 .LBE616:
1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4217 .loc 1 1959 5 discriminator 1 view .LVU1399
4218 002a 23F08003 bic r3, r3, #128
4219 .LVL363:
1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4220 .loc 1 1959 5 is_stmt 1 discriminator 1 view .LVU1400
4221 .LBB618:
4222 .LBI618:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4223 .loc 2 1119 31 view .LVU1401
4224 .LBB619:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
4225 .loc 2 1121 4 view .LVU1402
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4226 .loc 2 1123 4 view .LVU1403
4227 002e 0832 adds r2, r2, #8
4228 .LVL364:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4229 .loc 2 1123 4 is_stmt 0 view .LVU1404
4230 .syntax unified
4231 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4232 0030 42E80031 strex r1, r3, [r2]
4233 @ 0 "" 2
4234 .LVL365:
4235 .loc 2 1124 4 is_stmt 1 view .LVU1405
4236 .loc 2 1124 4 is_stmt 0 view .LVU1406
4237 .thumb
4238 .syntax unified
4239 .LBE619:
4240 .LBE618:
1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4241 .loc 1 1959 5 discriminator 1 view .LVU1407
4242 0034 0029 cmp r1, #0
4243 0036 F3D1 bne .L167
4244 .LBE615:
1959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4245 .loc 1 1959 5 is_stmt 1 discriminator 2 view .LVU1408
1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4246 .loc 1 1962 5 view .LVU1409
1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4247 .loc 1 1962 14 is_stmt 0 view .LVU1410
4248 0038 236F ldr r3, [r4, #112]
4249 .LVL366:
1962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4250 .loc 1 1962 8 view .LVU1411
4251 003a 4BB1 cbz r3, .L168
1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4252 .loc 1 1966 7 is_stmt 1 view .LVU1412
1966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4253 .loc 1 1966 40 is_stmt 0 view .LVU1413
4254 003c 0F4A ldr r2, .L171
4255 003e 1A65 str r2, [r3, #80]
ARM GAS /tmp/ccQxTlMj.s page 184
1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4256 .loc 1 1969 7 is_stmt 1 view .LVU1414
1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4257 .loc 1 1969 11 is_stmt 0 view .LVU1415
4258 0040 206F ldr r0, [r4, #112]
4259 .LVL367:
1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4260 .loc 1 1969 11 view .LVU1416
4261 0042 FFF7FEFF bl HAL_DMA_Abort_IT
4262 .LVL368:
1969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4263 .loc 1 1969 10 discriminator 1 view .LVU1417
4264 0046 B0B1 cbz r0, .L169
1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4265 .loc 1 1972 9 is_stmt 1 view .LVU1418
1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4266 .loc 1 1972 14 is_stmt 0 view .LVU1419
4267 0048 206F ldr r0, [r4, #112]
1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4268 .loc 1 1972 22 view .LVU1420
4269 004a 036D ldr r3, [r0, #80]
1972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4270 .loc 1 1972 9 view .LVU1421
4271 004c 9847 blx r3
4272 .LVL369:
4273 004e 12E0 b .L169
4274 .LVL370:
4275 .L168:
1978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4276 .loc 1 1978 7 is_stmt 1 view .LVU1422
1978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4277 .loc 1 1978 26 is_stmt 0 view .LVU1423
4278 0050 0023 movs r3, #0
4279 0052 A4F85230 strh r3, [r4, #82] @ movhi
1981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4280 .loc 1 1981 7 is_stmt 1 view .LVU1424
1981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4281 .loc 1 1981 20 is_stmt 0 view .LVU1425
4282 0056 E366 str r3, [r4, #108]
1984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4283 .loc 1 1984 7 is_stmt 1 view .LVU1426
1984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4284 .loc 1 1984 21 is_stmt 0 view .LVU1427
4285 0058 2023 movs r3, #32
4286 005a E367 str r3, [r4, #124]
1992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4287 .loc 1 1992 7 is_stmt 1 view .LVU1428
4288 005c 2046 mov r0, r4
4289 .LVL371:
1992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4290 .loc 1 1992 7 is_stmt 0 view .LVU1429
4291 005e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4292 .LVL372:
4293 0062 08E0 b .L169
4294 .LVL373:
4295 .L166:
1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 185
4296 .loc 1 1999 5 is_stmt 1 view .LVU1430
1999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4297 .loc 1 1999 24 is_stmt 0 view .LVU1431
4298 0064 0023 movs r3, #0
4299 0066 A4F85230 strh r3, [r4, #82] @ movhi
2002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4300 .loc 1 2002 5 is_stmt 1 view .LVU1432
2002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4301 .loc 1 2002 18 is_stmt 0 view .LVU1433
4302 006a E366 str r3, [r4, #108]
2006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4303 .loc 1 2006 5 is_stmt 1 view .LVU1434
2006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4304 .loc 1 2006 19 is_stmt 0 view .LVU1435
4305 006c 2023 movs r3, #32
4306 006e E367 str r3, [r4, #124]
2014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4307 .loc 1 2014 5 is_stmt 1 view .LVU1436
4308 0070 2046 mov r0, r4
4309 .LVL374:
2014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4310 .loc 1 2014 5 is_stmt 0 view .LVU1437
4311 0072 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4312 .LVL375:
4313 .L169:
2018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4314 .loc 1 2018 3 is_stmt 1 view .LVU1438
2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4315 .loc 1 2019 1 is_stmt 0 view .LVU1439
4316 0076 0020 movs r0, #0
4317 0078 10BD pop {r4, pc}
4318 .LVL376:
4319 .L172:
2019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4320 .loc 1 2019 1 view .LVU1440
4321 007a 00BF .align 2
4322 .L171:
4323 007c 00000000 .word UART_DMATxOnlyAbortCallback
4324 .cfi_endproc
4325 .LFE161:
4327 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
4328 .align 1
4329 .syntax unified
4330 .thumb
4331 .thumb_func
4333 UART_DMATxOnlyAbortCallback:
4334 .LVL377:
4335 .LFB201:
3722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
4336 .loc 1 3722 1 is_stmt 1 view -0
4337 .cfi_startproc
4338 @ args = 0, pretend = 0, frame = 0
4339 @ frame_needed = 0, uses_anonymous_args = 0
3722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
4340 .loc 1 3722 1 is_stmt 0 view .LVU1442
4341 0000 08B5 push {r3, lr}
4342 .LCFI21:
ARM GAS /tmp/ccQxTlMj.s page 186
4343 .cfi_def_cfa_offset 8
4344 .cfi_offset 3, -8
4345 .cfi_offset 14, -4
3723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4346 .loc 1 3723 3 is_stmt 1 view .LVU1443
3723:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4347 .loc 1 3723 23 is_stmt 0 view .LVU1444
4348 0002 806B ldr r0, [r0, #56]
4349 .LVL378:
3725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4350 .loc 1 3725 3 is_stmt 1 view .LVU1445
3725:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4351 .loc 1 3725 22 is_stmt 0 view .LVU1446
4352 0004 0023 movs r3, #0
4353 0006 A0F85230 strh r3, [r0, #82] @ movhi
3729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4354 .loc 1 3729 3 is_stmt 1 view .LVU1447
3729:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4355 .loc 1 3729 17 is_stmt 0 view .LVU1448
4356 000a 2023 movs r3, #32
4357 000c C367 str r3, [r0, #124]
3737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4358 .loc 1 3737 3 is_stmt 1 view .LVU1449
4359 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4360 .LVL379:
3739:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4361 .loc 1 3739 1 is_stmt 0 view .LVU1450
4362 0012 08BD pop {r3, pc}
4363 .cfi_endproc
4364 .LFE201:
4366 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
4367 .align 1
4368 .weak HAL_UART_AbortReceiveCpltCallback
4369 .syntax unified
4370 .thumb
4371 .thumb_func
4373 HAL_UART_AbortReceiveCpltCallback:
4374 .LVL380:
4375 .LFB171:
2540:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4376 .loc 1 2540 1 is_stmt 1 view -0
4377 .cfi_startproc
4378 @ args = 0, pretend = 0, frame = 0
4379 @ frame_needed = 0, uses_anonymous_args = 0
4380 @ link register save eliminated.
2542:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4381 .loc 1 2542 3 view .LVU1452
2547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4382 .loc 1 2547 1 is_stmt 0 view .LVU1453
4383 0000 7047 bx lr
4384 .cfi_endproc
4385 .LFE171:
4387 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
4388 .align 1
4389 .global HAL_UART_AbortReceive_IT
4390 .syntax unified
4391 .thumb
ARM GAS /tmp/ccQxTlMj.s page 187
4392 .thumb_func
4394 HAL_UART_AbortReceive_IT:
4395 .LVL381:
4396 .LFB162:
2036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
4397 .loc 1 2036 1 is_stmt 1 view -0
4398 .cfi_startproc
4399 @ args = 0, pretend = 0, frame = 0
4400 @ frame_needed = 0, uses_anonymous_args = 0
2036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
4401 .loc 1 2036 1 is_stmt 0 view .LVU1455
4402 0000 10B5 push {r4, lr}
4403 .LCFI22:
4404 .cfi_def_cfa_offset 8
4405 .cfi_offset 4, -8
4406 .cfi_offset 14, -4
4407 0002 0446 mov r4, r0
4408 .L177:
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4409 .loc 1 2038 3 is_stmt 1 discriminator 1 view .LVU1456
4410 .LBB620:
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4411 .loc 1 2038 3 discriminator 1 view .LVU1457
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4412 .loc 1 2038 3 discriminator 1 view .LVU1458
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4413 .loc 1 2038 3 discriminator 1 view .LVU1459
4414 0004 2268 ldr r2, [r4]
4415 .LVL382:
4416 .LBB621:
4417 .LBI621:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4418 .loc 2 1068 31 view .LVU1460
4419 .LBB622:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
4420 .loc 2 1070 5 view .LVU1461
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4421 .loc 2 1072 4 view .LVU1462
4422 .syntax unified
4423 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4424 0006 52E8003F ldrex r3, [r2]
4425 @ 0 "" 2
4426 .LVL383:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4427 .loc 2 1073 4 view .LVU1463
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4428 .loc 2 1073 4 is_stmt 0 view .LVU1464
4429 .thumb
4430 .syntax unified
4431 .LBE622:
4432 .LBE621:
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4433 .loc 1 2038 3 discriminator 1 view .LVU1465
4434 000a 23F49073 bic r3, r3, #288
4435 .LVL384:
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4436 .loc 1 2038 3 is_stmt 1 discriminator 1 view .LVU1466
ARM GAS /tmp/ccQxTlMj.s page 188
4437 .LBB623:
4438 .LBI623:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4439 .loc 2 1119 31 view .LVU1467
4440 .LBB624:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
4441 .loc 2 1121 4 view .LVU1468
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4442 .loc 2 1123 4 view .LVU1469
4443 .syntax unified
4444 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4445 000e 42E80031 strex r1, r3, [r2]
4446 @ 0 "" 2
4447 .LVL385:
4448 .loc 2 1124 4 view .LVU1470
4449 .loc 2 1124 4 is_stmt 0 view .LVU1471
4450 .thumb
4451 .syntax unified
4452 .LBE624:
4453 .LBE623:
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4454 .loc 1 2038 3 discriminator 1 view .LVU1472
4455 0012 0029 cmp r1, #0
4456 0014 F6D1 bne .L177
4457 .LVL386:
4458 .L178:
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4459 .loc 1 2038 3 discriminator 1 view .LVU1473
4460 .LBE620:
2038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4461 .loc 1 2038 3 is_stmt 1 discriminator 2 view .LVU1474
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4462 .loc 1 2039 3 discriminator 1 view .LVU1475
4463 .LBB625:
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4464 .loc 1 2039 3 discriminator 1 view .LVU1476
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4465 .loc 1 2039 3 discriminator 1 view .LVU1477
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4466 .loc 1 2039 3 discriminator 1 view .LVU1478
4467 0016 2268 ldr r2, [r4]
4468 .LVL387:
4469 .LBB626:
4470 .LBI626:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4471 .loc 2 1068 31 view .LVU1479
4472 .LBB627:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
4473 .loc 2 1070 5 view .LVU1480
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4474 .loc 2 1072 4 view .LVU1481
4475 0018 02F10803 add r3, r2, #8
4476 .LVL388:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4477 .loc 2 1072 4 is_stmt 0 view .LVU1482
4478 .syntax unified
4479 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
ARM GAS /tmp/ccQxTlMj.s page 189
4480 001c 53E8003F ldrex r3, [r3]
4481 @ 0 "" 2
4482 .LVL389:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4483 .loc 2 1073 4 is_stmt 1 view .LVU1483
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4484 .loc 2 1073 4 is_stmt 0 view .LVU1484
4485 .thumb
4486 .syntax unified
4487 .LBE627:
4488 .LBE626:
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4489 .loc 1 2039 3 discriminator 1 view .LVU1485
4490 0020 23F00103 bic r3, r3, #1
4491 .LVL390:
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4492 .loc 1 2039 3 is_stmt 1 discriminator 1 view .LVU1486
4493 .LBB628:
4494 .LBI628:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4495 .loc 2 1119 31 view .LVU1487
4496 .LBB629:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
4497 .loc 2 1121 4 view .LVU1488
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4498 .loc 2 1123 4 view .LVU1489
4499 0024 0832 adds r2, r2, #8
4500 .LVL391:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4501 .loc 2 1123 4 is_stmt 0 view .LVU1490
4502 .syntax unified
4503 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4504 0026 42E80031 strex r1, r3, [r2]
4505 @ 0 "" 2
4506 .LVL392:
4507 .loc 2 1124 4 is_stmt 1 view .LVU1491
4508 .loc 2 1124 4 is_stmt 0 view .LVU1492
4509 .thumb
4510 .syntax unified
4511 .LBE629:
4512 .LBE628:
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4513 .loc 1 2039 3 discriminator 1 view .LVU1493
4514 002a 0029 cmp r1, #0
4515 002c F3D1 bne .L178
4516 .LBE625:
2039:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4517 .loc 1 2039 3 is_stmt 1 discriminator 2 view .LVU1494
2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4518 .loc 1 2042 3 view .LVU1495
2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4519 .loc 1 2042 12 is_stmt 0 view .LVU1496
4520 002e 236E ldr r3, [r4, #96]
4521 .LVL393:
2042:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4522 .loc 1 2042 6 view .LVU1497
4523 0030 012B cmp r3, #1
ARM GAS /tmp/ccQxTlMj.s page 190
4524 0032 1CD0 beq .L180
4525 .L179:
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4526 .loc 1 2044 5 is_stmt 1 discriminator 2 view .LVU1498
2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4527 .loc 1 2048 3 view .LVU1499
2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4528 .loc 1 2048 7 is_stmt 0 view .LVU1500
4529 0034 2368 ldr r3, [r4]
4530 0036 9A68 ldr r2, [r3, #8]
2048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4531 .loc 1 2048 6 view .LVU1501
4532 0038 12F0400F tst r2, #64
4533 003c 35D0 beq .L181
4534 .L182:
2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4535 .loc 1 2051 5 is_stmt 1 discriminator 1 view .LVU1502
4536 .LBB630:
2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4537 .loc 1 2051 5 discriminator 1 view .LVU1503
2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4538 .loc 1 2051 5 discriminator 1 view .LVU1504
2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4539 .loc 1 2051 5 discriminator 1 view .LVU1505
4540 003e 2268 ldr r2, [r4]
4541 .LVL394:
4542 .LBB631:
4543 .LBI631:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4544 .loc 2 1068 31 view .LVU1506
4545 .LBB632:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
4546 .loc 2 1070 5 view .LVU1507
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4547 .loc 2 1072 4 view .LVU1508
4548 0040 02F10803 add r3, r2, #8
4549 .LVL395:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4550 .loc 2 1072 4 is_stmt 0 view .LVU1509
4551 .syntax unified
4552 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4553 0044 53E8003F ldrex r3, [r3]
4554 @ 0 "" 2
4555 .LVL396:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4556 .loc 2 1073 4 is_stmt 1 view .LVU1510
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4557 .loc 2 1073 4 is_stmt 0 view .LVU1511
4558 .thumb
4559 .syntax unified
4560 .LBE632:
4561 .LBE631:
2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4562 .loc 1 2051 5 discriminator 1 view .LVU1512
4563 0048 23F04003 bic r3, r3, #64
4564 .LVL397:
2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 191
4565 .loc 1 2051 5 is_stmt 1 discriminator 1 view .LVU1513
4566 .LBB633:
4567 .LBI633:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4568 .loc 2 1119 31 view .LVU1514
4569 .LBB634:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
4570 .loc 2 1121 4 view .LVU1515
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4571 .loc 2 1123 4 view .LVU1516
4572 004c 0832 adds r2, r2, #8
4573 .LVL398:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4574 .loc 2 1123 4 is_stmt 0 view .LVU1517
4575 .syntax unified
4576 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4577 004e 42E80031 strex r1, r3, [r2]
4578 @ 0 "" 2
4579 .LVL399:
4580 .loc 2 1124 4 is_stmt 1 view .LVU1518
4581 .loc 2 1124 4 is_stmt 0 view .LVU1519
4582 .thumb
4583 .syntax unified
4584 .LBE634:
4585 .LBE633:
2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4586 .loc 1 2051 5 discriminator 1 view .LVU1520
4587 0052 0029 cmp r1, #0
4588 0054 F3D1 bne .L182
4589 .LBE630:
2051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4590 .loc 1 2051 5 is_stmt 1 discriminator 2 view .LVU1521
2054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4591 .loc 1 2054 5 view .LVU1522
2054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4592 .loc 1 2054 14 is_stmt 0 view .LVU1523
4593 0056 636F ldr r3, [r4, #116]
4594 .LVL400:
2054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4595 .loc 1 2054 8 view .LVU1524
4596 0058 9BB1 cbz r3, .L183
2058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4597 .loc 1 2058 7 is_stmt 1 view .LVU1525
2058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4598 .loc 1 2058 40 is_stmt 0 view .LVU1526
4599 005a 1B4A ldr r2, .L186
4600 005c 1A65 str r2, [r3, #80]
2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4601 .loc 1 2061 7 is_stmt 1 view .LVU1527
2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4602 .loc 1 2061 11 is_stmt 0 view .LVU1528
4603 005e 606F ldr r0, [r4, #116]
4604 .LVL401:
2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4605 .loc 1 2061 11 view .LVU1529
4606 0060 FFF7FEFF bl HAL_DMA_Abort_IT
4607 .LVL402:
ARM GAS /tmp/ccQxTlMj.s page 192
2061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4608 .loc 1 2061 10 discriminator 1 view .LVU1530
4609 0064 70B3 cbz r0, .L184
2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4610 .loc 1 2064 9 is_stmt 1 view .LVU1531
2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4611 .loc 1 2064 14 is_stmt 0 view .LVU1532
4612 0066 606F ldr r0, [r4, #116]
2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4613 .loc 1 2064 22 view .LVU1533
4614 0068 036D ldr r3, [r0, #80]
2064:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4615 .loc 1 2064 9 view .LVU1534
4616 006a 9847 blx r3
4617 .LVL403:
4618 006c 2AE0 b .L184
4619 .LVL404:
4620 .L180:
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4621 .loc 1 2044 5 is_stmt 1 discriminator 1 view .LVU1535
4622 .LBB635:
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4623 .loc 1 2044 5 discriminator 1 view .LVU1536
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4624 .loc 1 2044 5 discriminator 1 view .LVU1537
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4625 .loc 1 2044 5 discriminator 1 view .LVU1538
4626 006e 2268 ldr r2, [r4]
4627 .LVL405:
4628 .LBB636:
4629 .LBI636:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4630 .loc 2 1068 31 view .LVU1539
4631 .LBB637:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
4632 .loc 2 1070 5 view .LVU1540
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4633 .loc 2 1072 4 view .LVU1541
4634 .syntax unified
4635 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4636 0070 52E8003F ldrex r3, [r2]
4637 @ 0 "" 2
4638 .LVL406:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4639 .loc 2 1073 4 view .LVU1542
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4640 .loc 2 1073 4 is_stmt 0 view .LVU1543
4641 .thumb
4642 .syntax unified
4643 .LBE637:
4644 .LBE636:
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4645 .loc 1 2044 5 discriminator 1 view .LVU1544
4646 0074 23F01003 bic r3, r3, #16
4647 .LVL407:
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4648 .loc 1 2044 5 is_stmt 1 discriminator 1 view .LVU1545
ARM GAS /tmp/ccQxTlMj.s page 193
4649 .LBB638:
4650 .LBI638:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4651 .loc 2 1119 31 view .LVU1546
4652 .LBB639:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
4653 .loc 2 1121 4 view .LVU1547
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4654 .loc 2 1123 4 view .LVU1548
4655 .syntax unified
4656 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4657 0078 42E80031 strex r1, r3, [r2]
4658 @ 0 "" 2
4659 .LVL408:
4660 .loc 2 1124 4 view .LVU1549
4661 .loc 2 1124 4 is_stmt 0 view .LVU1550
4662 .thumb
4663 .syntax unified
4664 .LBE639:
4665 .LBE638:
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4666 .loc 1 2044 5 discriminator 1 view .LVU1551
4667 007c 0029 cmp r1, #0
4668 007e F6D1 bne .L180
4669 0080 D8E7 b .L179
4670 .LVL409:
4671 .L183:
2044:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4672 .loc 1 2044 5 discriminator 1 view .LVU1552
4673 .LBE635:
2070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4674 .loc 1 2070 7 is_stmt 1 view .LVU1553
2070:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4675 .loc 1 2070 26 is_stmt 0 view .LVU1554
4676 0082 0023 movs r3, #0
4677 0084 A4F85A30 strh r3, [r4, #90] @ movhi
2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4678 .loc 1 2073 7 is_stmt 1 view .LVU1555
2073:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4679 .loc 1 2073 25 is_stmt 0 view .LVU1556
4680 0088 6365 str r3, [r4, #84]
2076:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4681 .loc 1 2076 7 is_stmt 1 view .LVU1557
4682 008a 2268 ldr r2, [r4]
4683 008c 0F21 movs r1, #15
4684 008e 1162 str r1, [r2, #32]
2079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4685 .loc 1 2079 7 view .LVU1558
4686 0090 2168 ldr r1, [r4]
4687 0092 8A69 ldr r2, [r1, #24]
4688 0094 42F00802 orr r2, r2, #8
4689 0098 8A61 str r2, [r1, #24]
2082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4690 .loc 1 2082 7 view .LVU1559
2082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4691 .loc 1 2082 22 is_stmt 0 view .LVU1560
4692 009a 2022 movs r2, #32
ARM GAS /tmp/ccQxTlMj.s page 194
4693 009c C4F88020 str r2, [r4, #128]
2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4694 .loc 1 2083 7 is_stmt 1 view .LVU1561
2083:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4695 .loc 1 2083 28 is_stmt 0 view .LVU1562
4696 00a0 2366 str r3, [r4, #96]
2091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4697 .loc 1 2091 7 is_stmt 1 view .LVU1563
4698 00a2 2046 mov r0, r4
4699 .LVL410:
2091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4700 .loc 1 2091 7 is_stmt 0 view .LVU1564
4701 00a4 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
4702 .LVL411:
4703 00a8 0CE0 b .L184
4704 .LVL412:
4705 .L181:
2098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4706 .loc 1 2098 5 is_stmt 1 view .LVU1565
2098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4707 .loc 1 2098 24 is_stmt 0 view .LVU1566
4708 00aa 0022 movs r2, #0
4709 00ac A4F85A20 strh r2, [r4, #90] @ movhi
2101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4710 .loc 1 2101 5 is_stmt 1 view .LVU1567
2101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4711 .loc 1 2101 23 is_stmt 0 view .LVU1568
4712 00b0 6265 str r2, [r4, #84]
2104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4713 .loc 1 2104 5 is_stmt 1 view .LVU1569
4714 00b2 0F21 movs r1, #15
4715 00b4 1962 str r1, [r3, #32]
2107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4716 .loc 1 2107 5 view .LVU1570
2107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4717 .loc 1 2107 20 is_stmt 0 view .LVU1571
4718 00b6 2023 movs r3, #32
4719 00b8 C4F88030 str r3, [r4, #128]
2108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4720 .loc 1 2108 5 is_stmt 1 view .LVU1572
2108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4721 .loc 1 2108 26 is_stmt 0 view .LVU1573
4722 00bc 2266 str r2, [r4, #96]
2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4723 .loc 1 2116 5 is_stmt 1 view .LVU1574
4724 00be 2046 mov r0, r4
4725 .LVL413:
2116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4726 .loc 1 2116 5 is_stmt 0 view .LVU1575
4727 00c0 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
4728 .LVL414:
4729 .L184:
2120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4730 .loc 1 2120 3 is_stmt 1 view .LVU1576
2121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4731 .loc 1 2121 1 is_stmt 0 view .LVU1577
4732 00c4 0020 movs r0, #0
ARM GAS /tmp/ccQxTlMj.s page 195
4733 00c6 10BD pop {r4, pc}
4734 .LVL415:
4735 .L187:
2121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4736 .loc 1 2121 1 view .LVU1578
4737 .align 2
4738 .L186:
4739 00c8 00000000 .word UART_DMARxOnlyAbortCallback
4740 .cfi_endproc
4741 .LFE162:
4743 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
4744 .align 1
4745 .syntax unified
4746 .thumb
4747 .thumb_func
4749 UART_DMARxOnlyAbortCallback:
4750 .LVL416:
4751 .LFB202:
3750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4752 .loc 1 3750 1 is_stmt 1 view -0
4753 .cfi_startproc
4754 @ args = 0, pretend = 0, frame = 0
4755 @ frame_needed = 0, uses_anonymous_args = 0
3750:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4756 .loc 1 3750 1 is_stmt 0 view .LVU1580
4757 0000 08B5 push {r3, lr}
4758 .LCFI23:
4759 .cfi_def_cfa_offset 8
4760 .cfi_offset 3, -8
4761 .cfi_offset 14, -4
3751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4762 .loc 1 3751 3 is_stmt 1 view .LVU1581
3751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4763 .loc 1 3751 23 is_stmt 0 view .LVU1582
4764 0002 806B ldr r0, [r0, #56]
4765 .LVL417:
3753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4766 .loc 1 3753 3 is_stmt 1 view .LVU1583
3753:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4767 .loc 1 3753 22 is_stmt 0 view .LVU1584
4768 0004 0022 movs r2, #0
4769 0006 A0F85A20 strh r2, [r0, #90] @ movhi
3756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4770 .loc 1 3756 3 is_stmt 1 view .LVU1585
4771 000a 0368 ldr r3, [r0]
4772 000c 0F21 movs r1, #15
4773 000e 1962 str r1, [r3, #32]
3759:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4774 .loc 1 3759 3 view .LVU1586
4775 0010 0168 ldr r1, [r0]
4776 0012 8B69 ldr r3, [r1, #24]
4777 0014 43F00803 orr r3, r3, #8
4778 0018 8B61 str r3, [r1, #24]
3762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4779 .loc 1 3762 3 view .LVU1587
3762:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4780 .loc 1 3762 18 is_stmt 0 view .LVU1588
ARM GAS /tmp/ccQxTlMj.s page 196
4781 001a 2023 movs r3, #32
4782 001c C0F88030 str r3, [r0, #128]
3763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4783 .loc 1 3763 3 is_stmt 1 view .LVU1589
3763:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4784 .loc 1 3763 24 is_stmt 0 view .LVU1590
4785 0020 0266 str r2, [r0, #96]
3771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4786 .loc 1 3771 3 is_stmt 1 view .LVU1591
4787 0022 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
4788 .LVL418:
3773:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4789 .loc 1 3773 1 is_stmt 0 view .LVU1592
4790 0026 08BD pop {r3, pc}
4791 .cfi_endproc
4792 .LFE202:
4794 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits
4795 .align 1
4796 .weak HAL_UARTEx_RxEventCallback
4797 .syntax unified
4798 .thumb
4799 .thumb_func
4801 HAL_UARTEx_RxEventCallback:
4802 .LVL419:
4803 .LFB172:
2557:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4804 .loc 1 2557 1 is_stmt 1 view -0
4805 .cfi_startproc
4806 @ args = 0, pretend = 0, frame = 0
4807 @ frame_needed = 0, uses_anonymous_args = 0
4808 @ link register save eliminated.
2559:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UNUSED(Size);
4809 .loc 1 2559 3 view .LVU1594
2560:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4810 .loc 1 2560 3 view .LVU1595
2565:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4811 .loc 1 2565 1 is_stmt 0 view .LVU1596
4812 0000 7047 bx lr
4813 .cfi_endproc
4814 .LFE172:
4816 .section .text.UART_RxISR_8BIT,"ax",%progbits
4817 .align 1
4818 .syntax unified
4819 .thumb
4820 .thumb_func
4822 UART_RxISR_8BIT:
4823 .LVL420:
4824 .LFB206:
3862:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3863:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3864:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length .
3865:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3866:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3867:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3868:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart)
3869:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4825 .loc 1 3869 1 is_stmt 1 view -0
ARM GAS /tmp/ccQxTlMj.s page 197
4826 .cfi_startproc
4827 @ args = 0, pretend = 0, frame = 0
4828 @ frame_needed = 0, uses_anonymous_args = 0
4829 .loc 1 3869 1 is_stmt 0 view .LVU1598
4830 0000 08B5 push {r3, lr}
4831 .LCFI24:
4832 .cfi_def_cfa_offset 8
4833 .cfi_offset 3, -8
4834 .cfi_offset 14, -4
3870:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
4835 .loc 1 3870 3 is_stmt 1 view .LVU1599
4836 .loc 1 3870 12 is_stmt 0 view .LVU1600
4837 0002 B0F85C30 ldrh r3, [r0, #92]
4838 .LVL421:
3871:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhdata;
4839 .loc 1 3871 3 is_stmt 1 view .LVU1601
3872:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3873:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is ongoing */
3874:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
4840 .loc 1 3874 3 view .LVU1602
4841 .loc 1 3874 12 is_stmt 0 view .LVU1603
4842 0006 D0F88020 ldr r2, [r0, #128]
4843 .loc 1 3874 6 view .LVU1604
4844 000a 222A cmp r2, #34
4845 000c 05D0 beq .L202
3875:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
3878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++;
3879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--;
3880:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxXferCount == 0U)
3882:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3883:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
3885:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3886:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3888:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3889:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
3890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3891:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3892:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RxISR function pointer */
3893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL;
3894:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3895:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */
3896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
3897:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3898:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
3899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
3900:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3901:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
3903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check current reception Mode :
3906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If Reception till IDLE event has been selected : */
ARM GAS /tmp/ccQxTlMj.s page 198
3907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3909:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set reception type to Standard */
3910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable IDLE interrupt */
3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
3914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET)
3916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear IDLE Flag */
3918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
3919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3920:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3921:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3922:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Event callback*/
3923:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
3924:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3925:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
3926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
3927:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
3928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
3930:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3931:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Standard reception API called */
3932:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3933:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx complete callback*/
3934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback(huart);
3935:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
3936:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
3937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
3938:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3939:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3940:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3941:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
3943:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RXNE interrupt flag */
3945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
4846 .loc 1 3945 5 is_stmt 1 view .LVU1605
4847 000e 0268 ldr r2, [r0]
4848 0010 9369 ldr r3, [r2, #24]
4849 .LVL422:
4850 .loc 1 3945 5 is_stmt 0 view .LVU1606
4851 0012 43F00803 orr r3, r3, #8
4852 0016 9361 str r3, [r2, #24]
4853 .LVL423:
4854 .L191:
3946:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3947:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4855 .loc 1 3947 1 view .LVU1607
4856 0018 08BD pop {r3, pc}
4857 .LVL424:
4858 .L202:
3876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
4859 .loc 1 3876 5 is_stmt 1 view .LVU1608
3876:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
ARM GAS /tmp/ccQxTlMj.s page 199
4860 .loc 1 3876 25 is_stmt 0 view .LVU1609
4861 001a 0268 ldr r2, [r0]
4862 001c 516A ldr r1, [r2, #36]
4863 .LVL425:
3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++;
4864 .loc 1 3877 5 is_stmt 1 view .LVU1610
3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++;
4865 .loc 1 3877 45 is_stmt 0 view .LVU1611
4866 001e DBB2 uxtb r3, r3
4867 .LVL426:
3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++;
4868 .loc 1 3877 11 view .LVU1612
4869 0020 426D ldr r2, [r0, #84]
3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++;
4870 .loc 1 3877 26 view .LVU1613
4871 0022 0B40 ands r3, r3, r1
3877:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr++;
4872 .loc 1 3877 24 view .LVU1614
4873 0024 1370 strb r3, [r2]
4874 .LVL427:
3878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--;
4875 .loc 1 3878 5 is_stmt 1 view .LVU1615
3878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--;
4876 .loc 1 3878 10 is_stmt 0 view .LVU1616
4877 0026 436D ldr r3, [r0, #84]
3878:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--;
4878 .loc 1 3878 22 view .LVU1617
4879 0028 0133 adds r3, r3, #1
4880 002a 4365 str r3, [r0, #84]
3879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4881 .loc 1 3879 5 is_stmt 1 view .LVU1618
3879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4882 .loc 1 3879 10 is_stmt 0 view .LVU1619
4883 002c B0F85A30 ldrh r3, [r0, #90]
4884 0030 9BB2 uxth r3, r3
3879:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4885 .loc 1 3879 23 view .LVU1620
4886 0032 013B subs r3, r3, #1
4887 0034 9BB2 uxth r3, r3
4888 0036 A0F85A30 strh r3, [r0, #90] @ movhi
3881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4889 .loc 1 3881 5 is_stmt 1 view .LVU1621
3881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4890 .loc 1 3881 14 is_stmt 0 view .LVU1622
4891 003a B0F85A30 ldrh r3, [r0, #90]
4892 003e 9BB2 uxth r3, r3
3881:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4893 .loc 1 3881 8 view .LVU1623
4894 0040 002B cmp r3, #0
4895 0042 E9D1 bne .L191
4896 .LVL428:
4897 .L194:
3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4898 .loc 1 3884 7 is_stmt 1 discriminator 1 view .LVU1624
4899 .LBB640:
3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4900 .loc 1 3884 7 discriminator 1 view .LVU1625
ARM GAS /tmp/ccQxTlMj.s page 200
3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4901 .loc 1 3884 7 discriminator 1 view .LVU1626
3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4902 .loc 1 3884 7 discriminator 1 view .LVU1627
4903 0044 0268 ldr r2, [r0]
4904 .LVL429:
4905 .LBB641:
4906 .LBI641:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4907 .loc 2 1068 31 view .LVU1628
4908 .LBB642:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
4909 .loc 2 1070 5 view .LVU1629
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4910 .loc 2 1072 4 view .LVU1630
4911 .syntax unified
4912 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4913 0046 52E8003F ldrex r3, [r2]
4914 @ 0 "" 2
4915 .LVL430:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4916 .loc 2 1073 4 view .LVU1631
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4917 .loc 2 1073 4 is_stmt 0 view .LVU1632
4918 .thumb
4919 .syntax unified
4920 .LBE642:
4921 .LBE641:
3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4922 .loc 1 3884 7 discriminator 1 view .LVU1633
4923 004a 23F49073 bic r3, r3, #288
4924 .LVL431:
3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4925 .loc 1 3884 7 is_stmt 1 discriminator 1 view .LVU1634
4926 .LBB643:
4927 .LBI643:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4928 .loc 2 1119 31 view .LVU1635
4929 .LBB644:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
4930 .loc 2 1121 4 view .LVU1636
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4931 .loc 2 1123 4 view .LVU1637
4932 .syntax unified
4933 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4934 004e 42E80031 strex r1, r3, [r2]
4935 @ 0 "" 2
4936 .LVL432:
4937 .loc 2 1124 4 view .LVU1638
4938 .loc 2 1124 4 is_stmt 0 view .LVU1639
4939 .thumb
4940 .syntax unified
4941 .LBE644:
4942 .LBE643:
3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4943 .loc 1 3884 7 discriminator 1 view .LVU1640
4944 0052 0029 cmp r1, #0
ARM GAS /tmp/ccQxTlMj.s page 201
4945 0054 F6D1 bne .L194
4946 .LVL433:
4947 .L195:
3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4948 .loc 1 3884 7 discriminator 1 view .LVU1641
4949 .LBE640:
3884:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4950 .loc 1 3884 7 is_stmt 1 discriminator 2 view .LVU1642
3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4951 .loc 1 3887 7 discriminator 1 view .LVU1643
4952 .LBB645:
3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4953 .loc 1 3887 7 discriminator 1 view .LVU1644
3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4954 .loc 1 3887 7 discriminator 1 view .LVU1645
3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4955 .loc 1 3887 7 discriminator 1 view .LVU1646
4956 0056 0268 ldr r2, [r0]
4957 .LVL434:
4958 .LBB646:
4959 .LBI646:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4960 .loc 2 1068 31 view .LVU1647
4961 .LBB647:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
4962 .loc 2 1070 5 view .LVU1648
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4963 .loc 2 1072 4 view .LVU1649
4964 0058 02F10803 add r3, r2, #8
4965 .LVL435:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4966 .loc 2 1072 4 is_stmt 0 view .LVU1650
4967 .syntax unified
4968 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4969 005c 53E8003F ldrex r3, [r3]
4970 @ 0 "" 2
4971 .LVL436:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4972 .loc 2 1073 4 is_stmt 1 view .LVU1651
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4973 .loc 2 1073 4 is_stmt 0 view .LVU1652
4974 .thumb
4975 .syntax unified
4976 .LBE647:
4977 .LBE646:
3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4978 .loc 1 3887 7 discriminator 1 view .LVU1653
4979 0060 23F00103 bic r3, r3, #1
4980 .LVL437:
3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4981 .loc 1 3887 7 is_stmt 1 discriminator 1 view .LVU1654
4982 .LBB648:
4983 .LBI648:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4984 .loc 2 1119 31 view .LVU1655
4985 .LBB649:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/ccQxTlMj.s page 202
4986 .loc 2 1121 4 view .LVU1656
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4987 .loc 2 1123 4 view .LVU1657
4988 0064 0832 adds r2, r2, #8
4989 .LVL438:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4990 .loc 2 1123 4 is_stmt 0 view .LVU1658
4991 .syntax unified
4992 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4993 0066 42E80031 strex r1, r3, [r2]
4994 @ 0 "" 2
4995 .LVL439:
4996 .loc 2 1124 4 is_stmt 1 view .LVU1659
4997 .loc 2 1124 4 is_stmt 0 view .LVU1660
4998 .thumb
4999 .syntax unified
5000 .LBE649:
5001 .LBE648:
3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5002 .loc 1 3887 7 discriminator 1 view .LVU1661
5003 006a 0029 cmp r1, #0
5004 006c F3D1 bne .L195
5005 .LBE645:
3887:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5006 .loc 1 3887 7 is_stmt 1 discriminator 2 view .LVU1662
3890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5007 .loc 1 3890 7 view .LVU1663
3890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5008 .loc 1 3890 22 is_stmt 0 view .LVU1664
5009 006e 2023 movs r3, #32
5010 .LVL440:
3890:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5011 .loc 1 3890 22 view .LVU1665
5012 0070 C0F88030 str r3, [r0, #128]
3893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5013 .loc 1 3893 7 is_stmt 1 view .LVU1666
3893:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5014 .loc 1 3893 20 is_stmt 0 view .LVU1667
5015 0074 0023 movs r3, #0
5016 0076 8366 str r3, [r0, #104]
3896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5017 .loc 1 3896 7 is_stmt 1 view .LVU1668
3896:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5018 .loc 1 3896 26 is_stmt 0 view .LVU1669
5019 0078 4366 str r3, [r0, #100]
3899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5020 .loc 1 3899 7 is_stmt 1 view .LVU1670
3899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5021 .loc 1 3899 11 is_stmt 0 view .LVU1671
5022 007a 0368 ldr r3, [r0]
5023 007c 5B68 ldr r3, [r3, #4]
3899:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5024 .loc 1 3899 10 view .LVU1672
5025 007e 13F4000F tst r3, #8388608
5026 0082 08D0 beq .L196
5027 .L197:
3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
ARM GAS /tmp/ccQxTlMj.s page 203
5028 .loc 1 3902 9 is_stmt 1 discriminator 1 view .LVU1673
5029 .LBB650:
3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5030 .loc 1 3902 9 discriminator 1 view .LVU1674
3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5031 .loc 1 3902 9 discriminator 1 view .LVU1675
3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5032 .loc 1 3902 9 discriminator 1 view .LVU1676
5033 0084 0268 ldr r2, [r0]
5034 .LVL441:
5035 .LBB651:
5036 .LBI651:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5037 .loc 2 1068 31 view .LVU1677
5038 .LBB652:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
5039 .loc 2 1070 5 view .LVU1678
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5040 .loc 2 1072 4 view .LVU1679
5041 .syntax unified
5042 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5043 0086 52E8003F ldrex r3, [r2]
5044 @ 0 "" 2
5045 .LVL442:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5046 .loc 2 1073 4 view .LVU1680
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5047 .loc 2 1073 4 is_stmt 0 view .LVU1681
5048 .thumb
5049 .syntax unified
5050 .LBE652:
5051 .LBE651:
3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5052 .loc 1 3902 9 discriminator 1 view .LVU1682
5053 008a 23F08063 bic r3, r3, #67108864
5054 .LVL443:
3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5055 .loc 1 3902 9 is_stmt 1 discriminator 1 view .LVU1683
5056 .LBB653:
5057 .LBI653:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5058 .loc 2 1119 31 view .LVU1684
5059 .LBB654:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
5060 .loc 2 1121 4 view .LVU1685
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5061 .loc 2 1123 4 view .LVU1686
5062 .syntax unified
5063 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5064 008e 42E80031 strex r1, r3, [r2]
5065 @ 0 "" 2
5066 .LVL444:
5067 .loc 2 1124 4 view .LVU1687
5068 .loc 2 1124 4 is_stmt 0 view .LVU1688
5069 .thumb
5070 .syntax unified
5071 .LBE654:
ARM GAS /tmp/ccQxTlMj.s page 204
5072 .LBE653:
3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5073 .loc 1 3902 9 discriminator 1 view .LVU1689
5074 0092 0029 cmp r1, #0
5075 0094 F6D1 bne .L197
5076 .LVL445:
5077 .L196:
3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5078 .loc 1 3902 9 discriminator 1 view .LVU1690
5079 .LBE650:
3902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5080 .loc 1 3902 9 is_stmt 1 discriminator 2 view .LVU1691
3907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5081 .loc 1 3907 7 view .LVU1692
3907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5082 .loc 1 3907 16 is_stmt 0 view .LVU1693
5083 0096 036E ldr r3, [r0, #96]
3907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5084 .loc 1 3907 10 view .LVU1694
5085 0098 012B cmp r3, #1
5086 009a 16D1 bne .L198
3910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5087 .loc 1 3910 9 is_stmt 1 view .LVU1695
3910:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5088 .loc 1 3910 30 is_stmt 0 view .LVU1696
5089 009c 0023 movs r3, #0
5090 009e 0366 str r3, [r0, #96]
5091 .L199:
3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5092 .loc 1 3913 9 is_stmt 1 discriminator 1 view .LVU1697
5093 .LBB655:
3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5094 .loc 1 3913 9 discriminator 1 view .LVU1698
3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5095 .loc 1 3913 9 discriminator 1 view .LVU1699
3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5096 .loc 1 3913 9 discriminator 1 view .LVU1700
5097 00a0 0268 ldr r2, [r0]
5098 .LVL446:
5099 .LBB656:
5100 .LBI656:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5101 .loc 2 1068 31 view .LVU1701
5102 .LBB657:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
5103 .loc 2 1070 5 view .LVU1702
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5104 .loc 2 1072 4 view .LVU1703
5105 .syntax unified
5106 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5107 00a2 52E8003F ldrex r3, [r2]
5108 @ 0 "" 2
5109 .LVL447:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5110 .loc 2 1073 4 view .LVU1704
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5111 .loc 2 1073 4 is_stmt 0 view .LVU1705
ARM GAS /tmp/ccQxTlMj.s page 205
5112 .thumb
5113 .syntax unified
5114 .LBE657:
5115 .LBE656:
3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5116 .loc 1 3913 9 discriminator 1 view .LVU1706
5117 00a6 23F01003 bic r3, r3, #16
5118 .LVL448:
3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5119 .loc 1 3913 9 is_stmt 1 discriminator 1 view .LVU1707
5120 .LBB658:
5121 .LBI658:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5122 .loc 2 1119 31 view .LVU1708
5123 .LBB659:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
5124 .loc 2 1121 4 view .LVU1709
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5125 .loc 2 1123 4 view .LVU1710
5126 .syntax unified
5127 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5128 00aa 42E80031 strex r1, r3, [r2]
5129 @ 0 "" 2
5130 .LVL449:
5131 .loc 2 1124 4 view .LVU1711
5132 .loc 2 1124 4 is_stmt 0 view .LVU1712
5133 .thumb
5134 .syntax unified
5135 .LBE659:
5136 .LBE658:
3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5137 .loc 1 3913 9 discriminator 1 view .LVU1713
5138 00ae 0029 cmp r1, #0
5139 00b0 F6D1 bne .L199
5140 .LBE655:
3913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5141 .loc 1 3913 9 is_stmt 1 discriminator 2 view .LVU1714
3915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5142 .loc 1 3915 9 view .LVU1715
3915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5143 .loc 1 3915 13 is_stmt 0 view .LVU1716
5144 00b2 0368 ldr r3, [r0]
5145 .LVL450:
3915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5146 .loc 1 3915 13 view .LVU1717
5147 00b4 DA69 ldr r2, [r3, #28]
3915:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5148 .loc 1 3915 12 view .LVU1718
5149 00b6 12F0100F tst r2, #16
5150 00ba 01D0 beq .L200
3918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5151 .loc 1 3918 11 is_stmt 1 view .LVU1719
5152 00bc 1022 movs r2, #16
5153 00be 1A62 str r2, [r3, #32]
5154 .L200:
3926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
5155 .loc 1 3926 9 view .LVU1720
ARM GAS /tmp/ccQxTlMj.s page 206
5156 00c0 B0F85810 ldrh r1, [r0, #88]
5157 00c4 FFF7FEFF bl HAL_UARTEx_RxEventCallback
5158 .LVL451:
3926:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
5159 .loc 1 3926 9 is_stmt 0 view .LVU1721
5160 00c8 A6E7 b .L191
5161 .LVL452:
5162 .L198:
3937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5163 .loc 1 3937 9 is_stmt 1 view .LVU1722
5164 00ca FFF7FEFF bl HAL_UART_RxCpltCallback
5165 .LVL453:
3937:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5166 .loc 1 3937 9 is_stmt 0 view .LVU1723
5167 00ce A3E7 b .L191
5168 .cfi_endproc
5169 .LFE206:
5171 .section .text.UART_RxISR_16BIT,"ax",%progbits
5172 .align 1
5173 .syntax unified
5174 .thumb
5175 .thumb_func
5177 UART_RxISR_16BIT:
5178 .LVL454:
5179 .LFB207:
3948:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
3950:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length .
3951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @note Function is called under interruption only, once
3952:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT()
3953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @param huart UART handle.
3954:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** * @retval None
3955:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** */
3956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart)
3957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5180 .loc 1 3957 1 is_stmt 1 view -0
5181 .cfi_startproc
5182 @ args = 0, pretend = 0, frame = 0
5183 @ frame_needed = 0, uses_anonymous_args = 0
5184 .loc 1 3957 1 is_stmt 0 view .LVU1725
5185 0000 08B5 push {r3, lr}
5186 .LCFI25:
5187 .cfi_def_cfa_offset 8
5188 .cfi_offset 3, -8
5189 .cfi_offset 14, -4
3958:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t *tmp;
5190 .loc 1 3958 3 is_stmt 1 view .LVU1726
3959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
5191 .loc 1 3959 3 view .LVU1727
5192 .loc 1 3959 12 is_stmt 0 view .LVU1728
5193 0002 B0F85C20 ldrh r2, [r0, #92]
5194 .LVL455:
3960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhdata;
5195 .loc 1 3960 3 is_stmt 1 view .LVU1729
3961:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is ongoing */
3963:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
ARM GAS /tmp/ccQxTlMj.s page 207
5196 .loc 1 3963 3 view .LVU1730
5197 .loc 1 3963 12 is_stmt 0 view .LVU1731
5198 0006 D0F88030 ldr r3, [r0, #128]
5199 .loc 1 3963 6 view .LVU1732
5200 000a 222B cmp r3, #34
5201 000c 05D0 beq .L214
3964:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
3966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
3967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask);
3968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--;
3970:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->RxXferCount == 0U)
3972:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3973:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/
3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
3975:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3976:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3978:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
3980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3981:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RxISR function pointer */
3983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL;
3984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3985:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */
3986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
3987:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
3989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
3990:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3991:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
3993:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
3994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
3995:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check current reception Mode :
3996:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** If Reception till IDLE event has been selected : */
3997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
3999:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Set reception type to Standard */
4000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4002:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Disable IDLE interrupt */
4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4004:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET)
4006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear IDLE Flag */
4008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
4009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4010:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
4011:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4012:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx Event callback*/
4013:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
4014:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
ARM GAS /tmp/ccQxTlMj.s page 208
4015:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
4016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4018:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4019:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
4020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Standard reception API called */
4022:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call registered Rx complete callback*/
4024:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxCpltCallback(huart);
4025:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #else
4026:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
4027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
4028:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4029:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4030:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4031:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4032:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** else
4033:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
4034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Clear RXNE interrupt flag */
4035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
5202 .loc 1 4035 5 is_stmt 1 view .LVU1733
5203 000e 0268 ldr r2, [r0]
5204 .LVL456:
5205 .loc 1 4035 5 is_stmt 0 view .LVU1734
5206 0010 9369 ldr r3, [r2, #24]
5207 0012 43F00803 orr r3, r3, #8
5208 0016 9361 str r3, [r2, #24]
5209 .LVL457:
5210 .L203:
4036:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
4037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5211 .loc 1 4037 1 view .LVU1735
5212 0018 08BD pop {r3, pc}
5213 .LVL458:
5214 .L214:
3965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
5215 .loc 1 3965 5 is_stmt 1 view .LVU1736
3965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
5216 .loc 1 3965 25 is_stmt 0 view .LVU1737
5217 001a 0368 ldr r3, [r0]
5218 001c 5B6A ldr r3, [r3, #36]
5219 .LVL459:
3966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask);
5220 .loc 1 3966 5 is_stmt 1 view .LVU1738
3966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask);
5221 .loc 1 3966 9 is_stmt 0 view .LVU1739
5222 001e 416D ldr r1, [r0, #84]
5223 .LVL460:
3967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
5224 .loc 1 3967 5 is_stmt 1 view .LVU1740
3967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
5225 .loc 1 3967 12 is_stmt 0 view .LVU1741
5226 0020 1340 ands r3, r3, r2
5227 .LVL461:
3967:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
5228 .loc 1 3967 10 view .LVU1742
ARM GAS /tmp/ccQxTlMj.s page 209
5229 0022 0B80 strh r3, [r1] @ movhi
3968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--;
5230 .loc 1 3968 5 is_stmt 1 view .LVU1743
3968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--;
5231 .loc 1 3968 10 is_stmt 0 view .LVU1744
5232 0024 436D ldr r3, [r0, #84]
3968:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount--;
5233 .loc 1 3968 23 view .LVU1745
5234 0026 0233 adds r3, r3, #2
5235 0028 4365 str r3, [r0, #84]
3969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5236 .loc 1 3969 5 is_stmt 1 view .LVU1746
3969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5237 .loc 1 3969 10 is_stmt 0 view .LVU1747
5238 002a B0F85A30 ldrh r3, [r0, #90]
5239 002e 9BB2 uxth r3, r3
3969:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5240 .loc 1 3969 23 view .LVU1748
5241 0030 013B subs r3, r3, #1
5242 0032 9BB2 uxth r3, r3
5243 0034 A0F85A30 strh r3, [r0, #90] @ movhi
3971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5244 .loc 1 3971 5 is_stmt 1 view .LVU1749
3971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5245 .loc 1 3971 14 is_stmt 0 view .LVU1750
5246 0038 B0F85A30 ldrh r3, [r0, #90]
5247 003c 9BB2 uxth r3, r3
3971:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5248 .loc 1 3971 8 view .LVU1751
5249 003e 002B cmp r3, #0
5250 0040 EAD1 bne .L203
5251 .LVL462:
5252 .L206:
3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5253 .loc 1 3974 7 is_stmt 1 discriminator 1 view .LVU1752
5254 .LBB660:
3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5255 .loc 1 3974 7 discriminator 1 view .LVU1753
3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5256 .loc 1 3974 7 discriminator 1 view .LVU1754
3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5257 .loc 1 3974 7 discriminator 1 view .LVU1755
5258 0042 0268 ldr r2, [r0]
5259 .LVL463:
5260 .LBB661:
5261 .LBI661:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5262 .loc 2 1068 31 view .LVU1756
5263 .LBB662:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
5264 .loc 2 1070 5 view .LVU1757
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5265 .loc 2 1072 4 view .LVU1758
5266 .syntax unified
5267 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5268 0044 52E8003F ldrex r3, [r2]
5269 @ 0 "" 2
ARM GAS /tmp/ccQxTlMj.s page 210
5270 .LVL464:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5271 .loc 2 1073 4 view .LVU1759
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5272 .loc 2 1073 4 is_stmt 0 view .LVU1760
5273 .thumb
5274 .syntax unified
5275 .LBE662:
5276 .LBE661:
3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5277 .loc 1 3974 7 discriminator 1 view .LVU1761
5278 0048 23F49073 bic r3, r3, #288
5279 .LVL465:
3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5280 .loc 1 3974 7 is_stmt 1 discriminator 1 view .LVU1762
5281 .LBB663:
5282 .LBI663:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5283 .loc 2 1119 31 view .LVU1763
5284 .LBB664:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
5285 .loc 2 1121 4 view .LVU1764
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5286 .loc 2 1123 4 view .LVU1765
5287 .syntax unified
5288 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5289 004c 42E80031 strex r1, r3, [r2]
5290 @ 0 "" 2
5291 .LVL466:
5292 .loc 2 1124 4 view .LVU1766
5293 .loc 2 1124 4 is_stmt 0 view .LVU1767
5294 .thumb
5295 .syntax unified
5296 .LBE664:
5297 .LBE663:
3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5298 .loc 1 3974 7 discriminator 1 view .LVU1768
5299 0050 0029 cmp r1, #0
5300 0052 F6D1 bne .L206
5301 .LVL467:
5302 .L207:
3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5303 .loc 1 3974 7 discriminator 1 view .LVU1769
5304 .LBE660:
3974:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5305 .loc 1 3974 7 is_stmt 1 discriminator 2 view .LVU1770
3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5306 .loc 1 3977 7 discriminator 1 view .LVU1771
5307 .LBB665:
3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5308 .loc 1 3977 7 discriminator 1 view .LVU1772
3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5309 .loc 1 3977 7 discriminator 1 view .LVU1773
3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5310 .loc 1 3977 7 discriminator 1 view .LVU1774
5311 0054 0268 ldr r2, [r0]
5312 .LVL468:
ARM GAS /tmp/ccQxTlMj.s page 211
5313 .LBB666:
5314 .LBI666:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5315 .loc 2 1068 31 view .LVU1775
5316 .LBB667:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
5317 .loc 2 1070 5 view .LVU1776
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5318 .loc 2 1072 4 view .LVU1777
5319 0056 02F10803 add r3, r2, #8
5320 .LVL469:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5321 .loc 2 1072 4 is_stmt 0 view .LVU1778
5322 .syntax unified
5323 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5324 005a 53E8003F ldrex r3, [r3]
5325 @ 0 "" 2
5326 .LVL470:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5327 .loc 2 1073 4 is_stmt 1 view .LVU1779
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5328 .loc 2 1073 4 is_stmt 0 view .LVU1780
5329 .thumb
5330 .syntax unified
5331 .LBE667:
5332 .LBE666:
3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5333 .loc 1 3977 7 discriminator 1 view .LVU1781
5334 005e 23F00103 bic r3, r3, #1
5335 .LVL471:
3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5336 .loc 1 3977 7 is_stmt 1 discriminator 1 view .LVU1782
5337 .LBB668:
5338 .LBI668:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5339 .loc 2 1119 31 view .LVU1783
5340 .LBB669:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
5341 .loc 2 1121 4 view .LVU1784
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5342 .loc 2 1123 4 view .LVU1785
5343 0062 0832 adds r2, r2, #8
5344 .LVL472:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5345 .loc 2 1123 4 is_stmt 0 view .LVU1786
5346 .syntax unified
5347 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5348 0064 42E80031 strex r1, r3, [r2]
5349 @ 0 "" 2
5350 .LVL473:
5351 .loc 2 1124 4 is_stmt 1 view .LVU1787
5352 .loc 2 1124 4 is_stmt 0 view .LVU1788
5353 .thumb
5354 .syntax unified
5355 .LBE669:
5356 .LBE668:
3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 212
5357 .loc 1 3977 7 discriminator 1 view .LVU1789
5358 0068 0029 cmp r1, #0
5359 006a F3D1 bne .L207
5360 .LBE665:
3977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5361 .loc 1 3977 7 is_stmt 1 discriminator 2 view .LVU1790
3980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5362 .loc 1 3980 7 view .LVU1791
3980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5363 .loc 1 3980 22 is_stmt 0 view .LVU1792
5364 006c 2023 movs r3, #32
5365 .LVL474:
3980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5366 .loc 1 3980 22 view .LVU1793
5367 006e C0F88030 str r3, [r0, #128]
3983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5368 .loc 1 3983 7 is_stmt 1 view .LVU1794
3983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5369 .loc 1 3983 20 is_stmt 0 view .LVU1795
5370 0072 0023 movs r3, #0
5371 0074 8366 str r3, [r0, #104]
3986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5372 .loc 1 3986 7 is_stmt 1 view .LVU1796
3986:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5373 .loc 1 3986 26 is_stmt 0 view .LVU1797
5374 0076 4366 str r3, [r0, #100]
3989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5375 .loc 1 3989 7 is_stmt 1 view .LVU1798
3989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5376 .loc 1 3989 11 is_stmt 0 view .LVU1799
5377 0078 0368 ldr r3, [r0]
5378 007a 5B68 ldr r3, [r3, #4]
3989:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5379 .loc 1 3989 10 view .LVU1800
5380 007c 13F4000F tst r3, #8388608
5381 0080 08D0 beq .L208
5382 .L209:
3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5383 .loc 1 3992 9 is_stmt 1 discriminator 1 view .LVU1801
5384 .LBB670:
3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5385 .loc 1 3992 9 discriminator 1 view .LVU1802
3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5386 .loc 1 3992 9 discriminator 1 view .LVU1803
3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5387 .loc 1 3992 9 discriminator 1 view .LVU1804
5388 0082 0268 ldr r2, [r0]
5389 .LVL475:
5390 .LBB671:
5391 .LBI671:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5392 .loc 2 1068 31 view .LVU1805
5393 .LBB672:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
5394 .loc 2 1070 5 view .LVU1806
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5395 .loc 2 1072 4 view .LVU1807
ARM GAS /tmp/ccQxTlMj.s page 213
5396 .syntax unified
5397 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5398 0084 52E8003F ldrex r3, [r2]
5399 @ 0 "" 2
5400 .LVL476:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5401 .loc 2 1073 4 view .LVU1808
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5402 .loc 2 1073 4 is_stmt 0 view .LVU1809
5403 .thumb
5404 .syntax unified
5405 .LBE672:
5406 .LBE671:
3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5407 .loc 1 3992 9 discriminator 1 view .LVU1810
5408 0088 23F08063 bic r3, r3, #67108864
5409 .LVL477:
3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5410 .loc 1 3992 9 is_stmt 1 discriminator 1 view .LVU1811
5411 .LBB673:
5412 .LBI673:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5413 .loc 2 1119 31 view .LVU1812
5414 .LBB674:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
5415 .loc 2 1121 4 view .LVU1813
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5416 .loc 2 1123 4 view .LVU1814
5417 .syntax unified
5418 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5419 008c 42E80031 strex r1, r3, [r2]
5420 @ 0 "" 2
5421 .LVL478:
5422 .loc 2 1124 4 view .LVU1815
5423 .loc 2 1124 4 is_stmt 0 view .LVU1816
5424 .thumb
5425 .syntax unified
5426 .LBE674:
5427 .LBE673:
3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5428 .loc 1 3992 9 discriminator 1 view .LVU1817
5429 0090 0029 cmp r1, #0
5430 0092 F6D1 bne .L209
5431 .LVL479:
5432 .L208:
3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5433 .loc 1 3992 9 discriminator 1 view .LVU1818
5434 .LBE670:
3992:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5435 .loc 1 3992 9 is_stmt 1 discriminator 2 view .LVU1819
3997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5436 .loc 1 3997 7 view .LVU1820
3997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5437 .loc 1 3997 16 is_stmt 0 view .LVU1821
5438 0094 036E ldr r3, [r0, #96]
3997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5439 .loc 1 3997 10 view .LVU1822
ARM GAS /tmp/ccQxTlMj.s page 214
5440 0096 012B cmp r3, #1
5441 0098 16D1 bne .L210
4000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5442 .loc 1 4000 9 is_stmt 1 view .LVU1823
4000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5443 .loc 1 4000 30 is_stmt 0 view .LVU1824
5444 009a 0023 movs r3, #0
5445 009c 0366 str r3, [r0, #96]
5446 .L211:
4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5447 .loc 1 4003 9 is_stmt 1 discriminator 1 view .LVU1825
5448 .LBB675:
4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5449 .loc 1 4003 9 discriminator 1 view .LVU1826
4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5450 .loc 1 4003 9 discriminator 1 view .LVU1827
4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5451 .loc 1 4003 9 discriminator 1 view .LVU1828
5452 009e 0268 ldr r2, [r0]
5453 .LVL480:
5454 .LBB676:
5455 .LBI676:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5456 .loc 2 1068 31 view .LVU1829
5457 .LBB677:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
5458 .loc 2 1070 5 view .LVU1830
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5459 .loc 2 1072 4 view .LVU1831
5460 .syntax unified
5461 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5462 00a0 52E8003F ldrex r3, [r2]
5463 @ 0 "" 2
5464 .LVL481:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5465 .loc 2 1073 4 view .LVU1832
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5466 .loc 2 1073 4 is_stmt 0 view .LVU1833
5467 .thumb
5468 .syntax unified
5469 .LBE677:
5470 .LBE676:
4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5471 .loc 1 4003 9 discriminator 1 view .LVU1834
5472 00a4 23F01003 bic r3, r3, #16
5473 .LVL482:
4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5474 .loc 1 4003 9 is_stmt 1 discriminator 1 view .LVU1835
5475 .LBB678:
5476 .LBI678:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5477 .loc 2 1119 31 view .LVU1836
5478 .LBB679:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
5479 .loc 2 1121 4 view .LVU1837
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5480 .loc 2 1123 4 view .LVU1838
ARM GAS /tmp/ccQxTlMj.s page 215
5481 .syntax unified
5482 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5483 00a8 42E80031 strex r1, r3, [r2]
5484 @ 0 "" 2
5485 .LVL483:
5486 .loc 2 1124 4 view .LVU1839
5487 .loc 2 1124 4 is_stmt 0 view .LVU1840
5488 .thumb
5489 .syntax unified
5490 .LBE679:
5491 .LBE678:
4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5492 .loc 1 4003 9 discriminator 1 view .LVU1841
5493 00ac 0029 cmp r1, #0
5494 00ae F6D1 bne .L211
5495 .LBE675:
4003:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5496 .loc 1 4003 9 is_stmt 1 discriminator 2 view .LVU1842
4005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5497 .loc 1 4005 9 view .LVU1843
4005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5498 .loc 1 4005 13 is_stmt 0 view .LVU1844
5499 00b0 0368 ldr r3, [r0]
5500 .LVL484:
4005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5501 .loc 1 4005 13 view .LVU1845
5502 00b2 DA69 ldr r2, [r3, #28]
4005:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5503 .loc 1 4005 12 view .LVU1846
5504 00b4 12F0100F tst r2, #16
5505 00b8 01D0 beq .L212
4008:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5506 .loc 1 4008 11 is_stmt 1 view .LVU1847
5507 00ba 1022 movs r2, #16
5508 00bc 1A62 str r2, [r3, #32]
5509 .L212:
4016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
5510 .loc 1 4016 9 view .LVU1848
5511 00be B0F85810 ldrh r1, [r0, #88]
5512 00c2 FFF7FEFF bl HAL_UARTEx_RxEventCallback
5513 .LVL485:
4016:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
5514 .loc 1 4016 9 is_stmt 0 view .LVU1849
5515 00c6 A7E7 b .L203
5516 .LVL486:
5517 .L210:
4027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5518 .loc 1 4027 9 is_stmt 1 view .LVU1850
5519 00c8 FFF7FEFF bl HAL_UART_RxCpltCallback
5520 .LVL487:
4027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5521 .loc 1 4027 9 is_stmt 0 view .LVU1851
5522 00cc A4E7 b .L203
5523 .cfi_endproc
5524 .LFE207:
5526 .section .text.UART_DMARxHalfCplt,"ax",%progbits
5527 .align 1
ARM GAS /tmp/ccQxTlMj.s page 216
5528 .syntax unified
5529 .thumb
5530 .thumb_func
5532 UART_DMARxHalfCplt:
5533 .LVL488:
5534 .LFB196:
3519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
5535 .loc 1 3519 1 is_stmt 1 view -0
5536 .cfi_startproc
5537 @ args = 0, pretend = 0, frame = 0
5538 @ frame_needed = 0, uses_anonymous_args = 0
3519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
5539 .loc 1 3519 1 is_stmt 0 view .LVU1853
5540 0000 08B5 push {r3, lr}
5541 .LCFI26:
5542 .cfi_def_cfa_offset 8
5543 .cfi_offset 3, -8
5544 .cfi_offset 14, -4
3520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5545 .loc 1 3520 3 is_stmt 1 view .LVU1854
3520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5546 .loc 1 3520 23 is_stmt 0 view .LVU1855
5547 0002 806B ldr r0, [r0, #56]
5548 .LVL489:
3524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5549 .loc 1 3524 3 is_stmt 1 view .LVU1856
3524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5550 .loc 1 3524 22 is_stmt 0 view .LVU1857
5551 0004 0123 movs r3, #1
5552 0006 4366 str r3, [r0, #100]
3528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5553 .loc 1 3528 3 is_stmt 1 view .LVU1858
3528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5554 .loc 1 3528 12 is_stmt 0 view .LVU1859
5555 0008 036E ldr r3, [r0, #96]
3528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5556 .loc 1 3528 6 view .LVU1860
5557 000a 012B cmp r3, #1
5558 000c 02D0 beq .L219
3546:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5559 .loc 1 3546 5 is_stmt 1 view .LVU1861
5560 000e FFF7FEFF bl HAL_UART_RxHalfCpltCallback
5561 .LVL490:
5562 .L215:
3549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5563 .loc 1 3549 1 is_stmt 0 view .LVU1862
5564 0012 08BD pop {r3, pc}
5565 .LVL491:
5566 .L219:
3535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5567 .loc 1 3535 5 is_stmt 1 view .LVU1863
3535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5568 .loc 1 3535 44 is_stmt 0 view .LVU1864
5569 0014 B0F85810 ldrh r1, [r0, #88]
3535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5570 .loc 1 3535 5 view .LVU1865
5571 0018 4908 lsrs r1, r1, #1
ARM GAS /tmp/ccQxTlMj.s page 217
5572 001a FFF7FEFF bl HAL_UARTEx_RxEventCallback
5573 .LVL492:
3535:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5574 .loc 1 3535 5 view .LVU1866
5575 001e F8E7 b .L215
5576 .cfi_endproc
5577 .LFE196:
5579 .section .text.UART_DMAReceiveCplt,"ax",%progbits
5580 .align 1
5581 .syntax unified
5582 .thumb
5583 .thumb_func
5585 UART_DMAReceiveCplt:
5586 .LVL493:
5587 .LFB195:
3458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
5588 .loc 1 3458 1 is_stmt 1 view -0
5589 .cfi_startproc
5590 @ args = 0, pretend = 0, frame = 0
5591 @ frame_needed = 0, uses_anonymous_args = 0
3458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
5592 .loc 1 3458 1 is_stmt 0 view .LVU1868
5593 0000 08B5 push {r3, lr}
5594 .LCFI27:
5595 .cfi_def_cfa_offset 8
5596 .cfi_offset 3, -8
5597 .cfi_offset 14, -4
5598 0002 0346 mov r3, r0
3459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5599 .loc 1 3459 3 is_stmt 1 view .LVU1869
3459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5600 .loc 1 3459 23 is_stmt 0 view .LVU1870
5601 0004 806B ldr r0, [r0, #56]
5602 .LVL494:
3462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5603 .loc 1 3462 3 is_stmt 1 view .LVU1871
3462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5604 .loc 1 3462 17 is_stmt 0 view .LVU1872
5605 0006 DB69 ldr r3, [r3, #28]
5606 .LVL495:
3462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5607 .loc 1 3462 6 view .LVU1873
5608 0008 B3F5807F cmp r3, #256
5609 000c 29D0 beq .L221
3464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5610 .loc 1 3464 5 is_stmt 1 view .LVU1874
3464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5611 .loc 1 3464 24 is_stmt 0 view .LVU1875
5612 000e 0023 movs r3, #0
5613 0010 A0F85A30 strh r3, [r0, #90] @ movhi
5614 .L222:
3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5615 .loc 1 3467 5 is_stmt 1 discriminator 1 view .LVU1876
5616 .LBB680:
3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5617 .loc 1 3467 5 discriminator 1 view .LVU1877
3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
ARM GAS /tmp/ccQxTlMj.s page 218
5618 .loc 1 3467 5 discriminator 1 view .LVU1878
3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5619 .loc 1 3467 5 discriminator 1 view .LVU1879
5620 0014 0268 ldr r2, [r0]
5621 .LVL496:
5622 .LBB681:
5623 .LBI681:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5624 .loc 2 1068 31 view .LVU1880
5625 .LBB682:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
5626 .loc 2 1070 5 view .LVU1881
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5627 .loc 2 1072 4 view .LVU1882
5628 .syntax unified
5629 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5630 0016 52E8003F ldrex r3, [r2]
5631 @ 0 "" 2
5632 .LVL497:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5633 .loc 2 1073 4 view .LVU1883
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5634 .loc 2 1073 4 is_stmt 0 view .LVU1884
5635 .thumb
5636 .syntax unified
5637 .LBE682:
5638 .LBE681:
3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5639 .loc 1 3467 5 discriminator 1 view .LVU1885
5640 001a 23F48073 bic r3, r3, #256
5641 .LVL498:
3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5642 .loc 1 3467 5 is_stmt 1 discriminator 1 view .LVU1886
5643 .LBB683:
5644 .LBI683:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5645 .loc 2 1119 31 view .LVU1887
5646 .LBB684:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
5647 .loc 2 1121 4 view .LVU1888
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5648 .loc 2 1123 4 view .LVU1889
5649 .syntax unified
5650 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5651 001e 42E80031 strex r1, r3, [r2]
5652 @ 0 "" 2
5653 .LVL499:
5654 .loc 2 1124 4 view .LVU1890
5655 .loc 2 1124 4 is_stmt 0 view .LVU1891
5656 .thumb
5657 .syntax unified
5658 .LBE684:
5659 .LBE683:
3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5660 .loc 1 3467 5 discriminator 1 view .LVU1892
5661 0022 0029 cmp r1, #0
5662 0024 F6D1 bne .L222
ARM GAS /tmp/ccQxTlMj.s page 219
5663 .LVL500:
5664 .L223:
3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5665 .loc 1 3467 5 discriminator 1 view .LVU1893
5666 .LBE680:
3467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5667 .loc 1 3467 5 is_stmt 1 discriminator 2 view .LVU1894
3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5668 .loc 1 3468 5 discriminator 1 view .LVU1895
5669 .LBB685:
3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5670 .loc 1 3468 5 discriminator 1 view .LVU1896
3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5671 .loc 1 3468 5 discriminator 1 view .LVU1897
3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5672 .loc 1 3468 5 discriminator 1 view .LVU1898
5673 0026 0268 ldr r2, [r0]
5674 .LVL501:
5675 .LBB686:
5676 .LBI686:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5677 .loc 2 1068 31 view .LVU1899
5678 .LBB687:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
5679 .loc 2 1070 5 view .LVU1900
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5680 .loc 2 1072 4 view .LVU1901
5681 0028 02F10803 add r3, r2, #8
5682 .LVL502:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5683 .loc 2 1072 4 is_stmt 0 view .LVU1902
5684 .syntax unified
5685 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5686 002c 53E8003F ldrex r3, [r3]
5687 @ 0 "" 2
5688 .LVL503:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5689 .loc 2 1073 4 is_stmt 1 view .LVU1903
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5690 .loc 2 1073 4 is_stmt 0 view .LVU1904
5691 .thumb
5692 .syntax unified
5693 .LBE687:
5694 .LBE686:
3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5695 .loc 1 3468 5 discriminator 1 view .LVU1905
5696 0030 23F00103 bic r3, r3, #1
5697 .LVL504:
3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5698 .loc 1 3468 5 is_stmt 1 discriminator 1 view .LVU1906
5699 .LBB688:
5700 .LBI688:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5701 .loc 2 1119 31 view .LVU1907
5702 .LBB689:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
5703 .loc 2 1121 4 view .LVU1908
ARM GAS /tmp/ccQxTlMj.s page 220
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5704 .loc 2 1123 4 view .LVU1909
5705 0034 0832 adds r2, r2, #8
5706 .LVL505:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5707 .loc 2 1123 4 is_stmt 0 view .LVU1910
5708 .syntax unified
5709 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5710 0036 42E80031 strex r1, r3, [r2]
5711 @ 0 "" 2
5712 .LVL506:
5713 .loc 2 1124 4 is_stmt 1 view .LVU1911
5714 .loc 2 1124 4 is_stmt 0 view .LVU1912
5715 .thumb
5716 .syntax unified
5717 .LBE689:
5718 .LBE688:
3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5719 .loc 1 3468 5 discriminator 1 view .LVU1913
5720 003a 0029 cmp r1, #0
5721 003c F3D1 bne .L223
5722 .LVL507:
5723 .L224:
3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5724 .loc 1 3468 5 discriminator 1 view .LVU1914
5725 .LBE685:
3468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5726 .loc 1 3468 5 is_stmt 1 discriminator 2 view .LVU1915
3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5727 .loc 1 3472 5 discriminator 1 view .LVU1916
5728 .LBB690:
3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5729 .loc 1 3472 5 discriminator 1 view .LVU1917
3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5730 .loc 1 3472 5 discriminator 1 view .LVU1918
3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5731 .loc 1 3472 5 discriminator 1 view .LVU1919
5732 003e 0268 ldr r2, [r0]
5733 .LVL508:
5734 .LBB691:
5735 .LBI691:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5736 .loc 2 1068 31 view .LVU1920
5737 .LBB692:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
5738 .loc 2 1070 5 view .LVU1921
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5739 .loc 2 1072 4 view .LVU1922
5740 0040 02F10803 add r3, r2, #8
5741 .LVL509:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5742 .loc 2 1072 4 is_stmt 0 view .LVU1923
5743 .syntax unified
5744 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5745 0044 53E8003F ldrex r3, [r3]
5746 @ 0 "" 2
5747 .LVL510:
ARM GAS /tmp/ccQxTlMj.s page 221
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5748 .loc 2 1073 4 is_stmt 1 view .LVU1924
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5749 .loc 2 1073 4 is_stmt 0 view .LVU1925
5750 .thumb
5751 .syntax unified
5752 .LBE692:
5753 .LBE691:
3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5754 .loc 1 3472 5 discriminator 1 view .LVU1926
5755 0048 23F04003 bic r3, r3, #64
5756 .LVL511:
3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5757 .loc 1 3472 5 is_stmt 1 discriminator 1 view .LVU1927
5758 .LBB693:
5759 .LBI693:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5760 .loc 2 1119 31 view .LVU1928
5761 .LBB694:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
5762 .loc 2 1121 4 view .LVU1929
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5763 .loc 2 1123 4 view .LVU1930
5764 004c 0832 adds r2, r2, #8
5765 .LVL512:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5766 .loc 2 1123 4 is_stmt 0 view .LVU1931
5767 .syntax unified
5768 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5769 004e 42E80031 strex r1, r3, [r2]
5770 @ 0 "" 2
5771 .LVL513:
5772 .loc 2 1124 4 is_stmt 1 view .LVU1932
5773 .loc 2 1124 4 is_stmt 0 view .LVU1933
5774 .thumb
5775 .syntax unified
5776 .LBE694:
5777 .LBE693:
3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5778 .loc 1 3472 5 discriminator 1 view .LVU1934
5779 0052 0029 cmp r1, #0
5780 0054 F3D1 bne .L224
5781 .LBE690:
3472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5782 .loc 1 3472 5 is_stmt 1 discriminator 2 view .LVU1935
3475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5783 .loc 1 3475 5 view .LVU1936
3475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5784 .loc 1 3475 20 is_stmt 0 view .LVU1937
5785 0056 2023 movs r3, #32
5786 .LVL514:
3475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5787 .loc 1 3475 20 view .LVU1938
5788 0058 C0F88030 str r3, [r0, #128]
3478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5789 .loc 1 3478 5 is_stmt 1 view .LVU1939
3478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 222
5790 .loc 1 3478 14 is_stmt 0 view .LVU1940
5791 005c 036E ldr r3, [r0, #96]
3478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5792 .loc 1 3478 8 view .LVU1941
5793 005e 012B cmp r3, #1
5794 0060 07D0 beq .L225
5795 .LVL515:
5796 .L221:
3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5797 .loc 1 3480 7 is_stmt 1 discriminator 2 view .LVU1942
3486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5798 .loc 1 3486 3 view .LVU1943
3486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5799 .loc 1 3486 22 is_stmt 0 view .LVU1944
5800 0062 0023 movs r3, #0
5801 0064 4366 str r3, [r0, #100]
3490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5802 .loc 1 3490 3 is_stmt 1 view .LVU1945
3490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5803 .loc 1 3490 12 is_stmt 0 view .LVU1946
5804 0066 036E ldr r3, [r0, #96]
3490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5805 .loc 1 3490 6 view .LVU1947
5806 0068 012B cmp r3, #1
5807 006a 0CD0 beq .L229
3508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5808 .loc 1 3508 5 is_stmt 1 view .LVU1948
5809 006c FFF7FEFF bl HAL_UART_RxCpltCallback
5810 .LVL516:
5811 .L220:
3511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5812 .loc 1 3511 1 is_stmt 0 view .LVU1949
5813 0070 08BD pop {r3, pc}
5814 .LVL517:
5815 .L225:
3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5816 .loc 1 3480 7 is_stmt 1 discriminator 1 view .LVU1950
5817 .LBB695:
3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5818 .loc 1 3480 7 discriminator 1 view .LVU1951
3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5819 .loc 1 3480 7 discriminator 1 view .LVU1952
3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5820 .loc 1 3480 7 discriminator 1 view .LVU1953
5821 0072 0268 ldr r2, [r0]
5822 .LVL518:
5823 .LBB696:
5824 .LBI696:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5825 .loc 2 1068 31 view .LVU1954
5826 .LBB697:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
5827 .loc 2 1070 5 view .LVU1955
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5828 .loc 2 1072 4 view .LVU1956
5829 .syntax unified
5830 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
ARM GAS /tmp/ccQxTlMj.s page 223
5831 0074 52E8003F ldrex r3, [r2]
5832 @ 0 "" 2
5833 .LVL519:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5834 .loc 2 1073 4 view .LVU1957
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5835 .loc 2 1073 4 is_stmt 0 view .LVU1958
5836 .thumb
5837 .syntax unified
5838 .LBE697:
5839 .LBE696:
3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5840 .loc 1 3480 7 discriminator 1 view .LVU1959
5841 0078 23F01003 bic r3, r3, #16
5842 .LVL520:
3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5843 .loc 1 3480 7 is_stmt 1 discriminator 1 view .LVU1960
5844 .LBB698:
5845 .LBI698:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5846 .loc 2 1119 31 view .LVU1961
5847 .LBB699:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
5848 .loc 2 1121 4 view .LVU1962
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5849 .loc 2 1123 4 view .LVU1963
5850 .syntax unified
5851 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5852 007c 42E80031 strex r1, r3, [r2]
5853 @ 0 "" 2
5854 .LVL521:
5855 .loc 2 1124 4 view .LVU1964
5856 .loc 2 1124 4 is_stmt 0 view .LVU1965
5857 .thumb
5858 .syntax unified
5859 .LBE699:
5860 .LBE698:
3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5861 .loc 1 3480 7 discriminator 1 view .LVU1966
5862 0080 0029 cmp r1, #0
5863 0082 F6D1 bne .L225
5864 0084 EDE7 b .L221
5865 .LVL522:
5866 .L229:
3480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5867 .loc 1 3480 7 discriminator 1 view .LVU1967
5868 .LBE695:
3497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5869 .loc 1 3497 5 is_stmt 1 view .LVU1968
5870 0086 B0F85810 ldrh r1, [r0, #88]
5871 008a FFF7FEFF bl HAL_UARTEx_RxEventCallback
5872 .LVL523:
3497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5873 .loc 1 3497 5 is_stmt 0 view .LVU1969
5874 008e EFE7 b .L220
5875 .cfi_endproc
5876 .LFE195:
ARM GAS /tmp/ccQxTlMj.s page 224
5878 .section .text.HAL_UARTEx_WakeupCallback,"ax",%progbits
5879 .align 1
5880 .weak HAL_UARTEx_WakeupCallback
5881 .syntax unified
5882 .thumb
5883 .thumb_func
5885 HAL_UARTEx_WakeupCallback:
5886 .LVL524:
5887 .LFB173:
2574:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
5888 .loc 1 2574 1 is_stmt 1 view -0
5889 .cfi_startproc
5890 @ args = 0, pretend = 0, frame = 0
5891 @ frame_needed = 0, uses_anonymous_args = 0
5892 @ link register save eliminated.
2576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5893 .loc 1 2576 3 view .LVU1971
2581:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5894 .loc 1 2581 1 is_stmt 0 view .LVU1972
5895 0000 7047 bx lr
5896 .cfi_endproc
5897 .LFE173:
5899 .section .text.HAL_UART_IRQHandler,"ax",%progbits
5900 .align 1
5901 .global HAL_UART_IRQHandler
5902 .syntax unified
5903 .thumb
5904 .thumb_func
5906 HAL_UART_IRQHandler:
5907 .LVL525:
5908 .LFB163:
2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
5909 .loc 1 2129 1 is_stmt 1 view -0
5910 .cfi_startproc
5911 @ args = 0, pretend = 0, frame = 0
5912 @ frame_needed = 0, uses_anonymous_args = 0
2129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
5913 .loc 1 2129 1 is_stmt 0 view .LVU1974
5914 0000 70B5 push {r4, r5, r6, lr}
5915 .LCFI28:
5916 .cfi_def_cfa_offset 16
5917 .cfi_offset 4, -16
5918 .cfi_offset 5, -12
5919 .cfi_offset 6, -8
5920 .cfi_offset 14, -4
5921 0002 0446 mov r4, r0
2130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
5922 .loc 1 2130 3 is_stmt 1 view .LVU1975
2130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
5923 .loc 1 2130 25 is_stmt 0 view .LVU1976
5924 0004 0268 ldr r2, [r0]
2130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
5925 .loc 1 2130 12 view .LVU1977
5926 0006 D369 ldr r3, [r2, #28]
5927 .LVL526:
2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
5928 .loc 1 2131 3 is_stmt 1 view .LVU1978
ARM GAS /tmp/ccQxTlMj.s page 225
2131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
5929 .loc 1 2131 12 is_stmt 0 view .LVU1979
5930 0008 1168 ldr r1, [r2]
5931 .LVL527:
2132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5932 .loc 1 2132 3 is_stmt 1 view .LVU1980
2132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5933 .loc 1 2132 12 is_stmt 0 view .LVU1981
5934 000a 9068 ldr r0, [r2, #8]
5935 .LVL528:
2134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t errorcode;
5936 .loc 1 2134 3 is_stmt 1 view .LVU1982
2135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
5937 .loc 1 2135 3 view .LVU1983
2138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (errorflags == 0U)
5938 .loc 1 2138 3 view .LVU1984
2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5939 .loc 1 2139 3 view .LVU1985
2139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5940 .loc 1 2139 6 is_stmt 0 view .LVU1986
5941 000c 40F60F0C movw ip, #2063
5942 0010 13EA0C0F tst r3, ip
5943 0014 0AD1 bne .L232
2142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
5944 .loc 1 2142 5 is_stmt 1 view .LVU1987
2142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
5945 .loc 1 2142 8 is_stmt 0 view .LVU1988
5946 0016 13F0200F tst r3, #32
5947 001a 0DD0 beq .L233
2143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5948 .loc 1 2143 9 view .LVU1989
5949 001c 11F0200F tst r1, #32
5950 0020 0AD0 beq .L233
2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5951 .loc 1 2145 7 is_stmt 1 view .LVU1990
2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5952 .loc 1 2145 16 is_stmt 0 view .LVU1991
5953 0022 A36E ldr r3, [r4, #104]
5954 .LVL529:
2145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5955 .loc 1 2145 10 view .LVU1992
5956 0024 0BB3 cbz r3, .L231
2147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5957 .loc 1 2147 9 is_stmt 1 view .LVU1993
5958 0026 2046 mov r0, r4
5959 .LVL530:
2147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5960 .loc 1 2147 9 is_stmt 0 view .LVU1994
5961 0028 9847 blx r3
5962 .LVL531:
2149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
5963 .loc 1 2149 7 is_stmt 1 view .LVU1995
5964 002a 1EE0 b .L231
5965 .LVL532:
5966 .L232:
2155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))
5967 .loc 1 2155 7 is_stmt 0 view .LVU1996
ARM GAS /tmp/ccQxTlMj.s page 226
5968 002c 10F00105 ands r5, r0, #1
5969 0030 1CD1 bne .L236
2156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5970 .loc 1 2156 11 view .LVU1997
5971 0032 AB4E ldr r6, .L270
5972 0034 3142 tst r1, r6
5973 0036 19D1 bne .L236
5974 .L233:
2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
5975 .loc 1 2292 3 is_stmt 1 view .LVU1998
2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
5976 .loc 1 2292 13 is_stmt 0 view .LVU1999
5977 0038 256E ldr r5, [r4, #96]
2292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
5978 .loc 1 2292 6 view .LVU2000
5979 003a 012D cmp r5, #1
5980 003c 00F0A480 beq .L266
5981 .L250:
2390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5982 .loc 1 2390 3 is_stmt 1 view .LVU2001
2390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5983 .loc 1 2390 6 is_stmt 0 view .LVU2002
5984 0040 13F4801F tst r3, #1048576
5985 0044 03D0 beq .L262
2390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5986 .loc 1 2390 42 discriminator 1 view .LVU2003
5987 0046 10F4800F tst r0, #4194304
5988 004a 40F03781 bne .L267
5989 .L262:
2410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U))
5990 .loc 1 2410 3 is_stmt 1 view .LVU2004
2410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U))
5991 .loc 1 2410 6 is_stmt 0 view .LVU2005
5992 004e 13F0800F tst r3, #128
5993 0052 03D0 beq .L263
2411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5994 .loc 1 2411 7 view .LVU2006
5995 0054 11F0800F tst r1, #128
5996 0058 40F03781 bne .L268
5997 .L263:
2421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5998 .loc 1 2421 3 is_stmt 1 view .LVU2007
2421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
5999 .loc 1 2421 6 is_stmt 0 view .LVU2008
6000 005c 13F0400F tst r3, #64
6001 0060 03D0 beq .L231
2421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6002 .loc 1 2421 41 discriminator 1 view .LVU2009
6003 0062 11F0400F tst r1, #64
6004 0066 40F03781 bne .L269
6005 .LVL533:
6006 .L231:
2427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6007 .loc 1 2427 1 view .LVU2010
6008 006a 70BD pop {r4, r5, r6, pc}
6009 .LVL534:
6010 .L236:
ARM GAS /tmp/ccQxTlMj.s page 227
2159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6011 .loc 1 2159 5 is_stmt 1 view .LVU2011
2159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6012 .loc 1 2159 8 is_stmt 0 view .LVU2012
6013 006c 13F0010F tst r3, #1
6014 0070 09D0 beq .L237
2159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6015 .loc 1 2159 43 discriminator 1 view .LVU2013
6016 0072 11F4807F tst r1, #256
6017 0076 06D0 beq .L237
2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6018 .loc 1 2161 7 is_stmt 1 view .LVU2014
6019 0078 0120 movs r0, #1
6020 .LVL535:
2161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6021 .loc 1 2161 7 is_stmt 0 view .LVU2015
6022 007a 1062 str r0, [r2, #32]
2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6023 .loc 1 2163 7 is_stmt 1 view .LVU2016
2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6024 .loc 1 2163 12 is_stmt 0 view .LVU2017
6025 007c D4F88420 ldr r2, [r4, #132]
2163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6026 .loc 1 2163 24 view .LVU2018
6027 0080 0243 orrs r2, r2, r0
6028 0082 C4F88420 str r2, [r4, #132]
6029 .L237:
2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6030 .loc 1 2167 5 is_stmt 1 view .LVU2019
2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6031 .loc 1 2167 8 is_stmt 0 view .LVU2020
6032 0086 13F0020F tst r3, #2
6033 008a 09D0 beq .L238
2167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6034 .loc 1 2167 43 discriminator 1 view .LVU2021
6035 008c 45B1 cbz r5, .L238
2169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6036 .loc 1 2169 7 is_stmt 1 view .LVU2022
6037 008e 2268 ldr r2, [r4]
6038 0090 0220 movs r0, #2
6039 0092 1062 str r0, [r2, #32]
2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6040 .loc 1 2171 7 view .LVU2023
2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6041 .loc 1 2171 12 is_stmt 0 view .LVU2024
6042 0094 D4F88420 ldr r2, [r4, #132]
2171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6043 .loc 1 2171 24 view .LVU2025
6044 0098 42F00402 orr r2, r2, #4
6045 009c C4F88420 str r2, [r4, #132]
6046 .L238:
2175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6047 .loc 1 2175 5 is_stmt 1 view .LVU2026
2175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6048 .loc 1 2175 8 is_stmt 0 view .LVU2027
6049 00a0 13F0040F tst r3, #4
6050 00a4 09D0 beq .L239
ARM GAS /tmp/ccQxTlMj.s page 228
2175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6051 .loc 1 2175 43 discriminator 1 view .LVU2028
6052 00a6 45B1 cbz r5, .L239
2177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6053 .loc 1 2177 7 is_stmt 1 view .LVU2029
6054 00a8 2268 ldr r2, [r4]
6055 00aa 0420 movs r0, #4
6056 00ac 1062 str r0, [r2, #32]
2179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6057 .loc 1 2179 7 view .LVU2030
2179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6058 .loc 1 2179 12 is_stmt 0 view .LVU2031
6059 00ae D4F88420 ldr r2, [r4, #132]
2179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6060 .loc 1 2179 24 view .LVU2032
6061 00b2 42F00202 orr r2, r2, #2
6062 00b6 C4F88420 str r2, [r4, #132]
6063 .L239:
2183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
6064 .loc 1 2183 5 is_stmt 1 view .LVU2033
2183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
6065 .loc 1 2183 8 is_stmt 0 view .LVU2034
6066 00ba 13F0080F tst r3, #8
6067 00be 0BD0 beq .L240
2184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U)))
6068 .loc 1 2184 9 view .LVU2035
6069 00c0 11F0200F tst r1, #32
6070 00c4 00D1 bne .L241
2184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U)))
6071 .loc 1 2184 49 discriminator 1 view .LVU2036
6072 00c6 3DB1 cbz r5, .L240
6073 .L241:
2187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6074 .loc 1 2187 7 is_stmt 1 view .LVU2037
6075 00c8 2268 ldr r2, [r4]
6076 00ca 0820 movs r0, #8
6077 00cc 1062 str r0, [r2, #32]
2189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6078 .loc 1 2189 7 view .LVU2038
2189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6079 .loc 1 2189 12 is_stmt 0 view .LVU2039
6080 00ce D4F88420 ldr r2, [r4, #132]
2189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6081 .loc 1 2189 24 view .LVU2040
6082 00d2 0243 orrs r2, r2, r0
6083 00d4 C4F88420 str r2, [r4, #132]
6084 .L240:
2193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6085 .loc 1 2193 5 is_stmt 1 view .LVU2041
2193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6086 .loc 1 2193 8 is_stmt 0 view .LVU2042
6087 00d8 13F4006F tst r3, #2048
6088 00dc 0CD0 beq .L242
2193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6089 .loc 1 2193 45 discriminator 1 view .LVU2043
6090 00de 11F0806F tst r1, #67108864
6091 00e2 09D0 beq .L242
ARM GAS /tmp/ccQxTlMj.s page 229
2195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6092 .loc 1 2195 7 is_stmt 1 view .LVU2044
6093 00e4 2268 ldr r2, [r4]
6094 00e6 4FF40060 mov r0, #2048
6095 00ea 1062 str r0, [r2, #32]
2197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6096 .loc 1 2197 7 view .LVU2045
2197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6097 .loc 1 2197 12 is_stmt 0 view .LVU2046
6098 00ec D4F88420 ldr r2, [r4, #132]
2197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6099 .loc 1 2197 24 view .LVU2047
6100 00f0 42F02002 orr r2, r2, #32
6101 00f4 C4F88420 str r2, [r4, #132]
6102 .L242:
2201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6103 .loc 1 2201 5 is_stmt 1 view .LVU2048
2201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6104 .loc 1 2201 14 is_stmt 0 view .LVU2049
6105 00f8 D4F88420 ldr r2, [r4, #132]
2201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6106 .loc 1 2201 8 view .LVU2050
6107 00fc 002A cmp r2, #0
6108 00fe B4D0 beq .L231
2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
6109 .loc 1 2204 7 is_stmt 1 view .LVU2051
2204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
6110 .loc 1 2204 10 is_stmt 0 view .LVU2052
6111 0100 13F0200F tst r3, #32
6112 0104 06D0 beq .L244
2205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6113 .loc 1 2205 11 view .LVU2053
6114 0106 11F0200F tst r1, #32
6115 010a 03D0 beq .L244
2207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6116 .loc 1 2207 9 is_stmt 1 view .LVU2054
2207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6117 .loc 1 2207 18 is_stmt 0 view .LVU2055
6118 010c A36E ldr r3, [r4, #104]
6119 .LVL536:
2207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6120 .loc 1 2207 12 view .LVU2056
6121 010e 0BB1 cbz r3, .L244
2209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6122 .loc 1 2209 11 is_stmt 1 view .LVU2057
6123 0110 2046 mov r0, r4
6124 0112 9847 blx r3
6125 .LVL537:
6126 .L244:
2218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
6127 .loc 1 2218 7 view .LVU2058
2218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
6128 .loc 1 2218 17 is_stmt 0 view .LVU2059
6129 0114 D4F88420 ldr r2, [r4, #132]
6130 .LVL538:
2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
6131 .loc 1 2219 7 is_stmt 1 view .LVU2060
ARM GAS /tmp/ccQxTlMj.s page 230
2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
6132 .loc 1 2219 12 is_stmt 0 view .LVU2061
6133 0118 2368 ldr r3, [r4]
6134 011a 9B68 ldr r3, [r3, #8]
2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
6135 .loc 1 2219 10 view .LVU2062
6136 011c 13F0400F tst r3, #64
6137 0120 02D1 bne .L245
2219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
6138 .loc 1 2219 66 discriminator 1 view .LVU2063
6139 0122 12F0280F tst r2, #40
6140 0126 28D0 beq .L246
6141 .L245:
2225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6142 .loc 1 2225 9 is_stmt 1 view .LVU2064
6143 0128 2046 mov r0, r4
6144 012a FFF7FEFF bl UART_EndRxTransfer
6145 .LVL539:
2228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6146 .loc 1 2228 9 view .LVU2065
2228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6147 .loc 1 2228 13 is_stmt 0 view .LVU2066
6148 012e 2368 ldr r3, [r4]
6149 0130 9B68 ldr r3, [r3, #8]
2228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6150 .loc 1 2228 12 view .LVU2067
6151 0132 13F0400F tst r3, #64
6152 0136 1CD0 beq .L247
6153 .L248:
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6154 .loc 1 2231 11 is_stmt 1 discriminator 1 view .LVU2068
6155 .LBB700:
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6156 .loc 1 2231 11 discriminator 1 view .LVU2069
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6157 .loc 1 2231 11 discriminator 1 view .LVU2070
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6158 .loc 1 2231 11 discriminator 1 view .LVU2071
6159 0138 2268 ldr r2, [r4]
6160 .LVL540:
6161 .LBB701:
6162 .LBI701:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6163 .loc 2 1068 31 view .LVU2072
6164 .LBB702:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
6165 .loc 2 1070 5 view .LVU2073
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6166 .loc 2 1072 4 view .LVU2074
6167 013a 02F10803 add r3, r2, #8
6168 .LVL541:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6169 .loc 2 1072 4 is_stmt 0 view .LVU2075
6170 .syntax unified
6171 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6172 013e 53E8003F ldrex r3, [r3]
6173 @ 0 "" 2
ARM GAS /tmp/ccQxTlMj.s page 231
6174 .LVL542:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6175 .loc 2 1073 4 is_stmt 1 view .LVU2076
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6176 .loc 2 1073 4 is_stmt 0 view .LVU2077
6177 .thumb
6178 .syntax unified
6179 .LBE702:
6180 .LBE701:
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6181 .loc 1 2231 11 discriminator 1 view .LVU2078
6182 0142 23F04003 bic r3, r3, #64
6183 .LVL543:
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6184 .loc 1 2231 11 is_stmt 1 discriminator 1 view .LVU2079
6185 .LBB703:
6186 .LBI703:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6187 .loc 2 1119 31 view .LVU2080
6188 .LBB704:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
6189 .loc 2 1121 4 view .LVU2081
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6190 .loc 2 1123 4 view .LVU2082
6191 0146 0832 adds r2, r2, #8
6192 .LVL544:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6193 .loc 2 1123 4 is_stmt 0 view .LVU2083
6194 .syntax unified
6195 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6196 0148 42E80031 strex r1, r3, [r2]
6197 @ 0 "" 2
6198 .LVL545:
6199 .loc 2 1124 4 is_stmt 1 view .LVU2084
6200 .loc 2 1124 4 is_stmt 0 view .LVU2085
6201 .thumb
6202 .syntax unified
6203 .LBE704:
6204 .LBE703:
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6205 .loc 1 2231 11 discriminator 1 view .LVU2086
6206 014c 0029 cmp r1, #0
6207 014e F3D1 bne .L248
6208 .LBE700:
2231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6209 .loc 1 2231 11 is_stmt 1 discriminator 2 view .LVU2087
2234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6210 .loc 1 2234 11 view .LVU2088
2234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6211 .loc 1 2234 20 is_stmt 0 view .LVU2089
6212 0150 636F ldr r3, [r4, #116]
6213 .LVL546:
2234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6214 .loc 1 2234 14 view .LVU2090
6215 0152 53B1 cbz r3, .L249
2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6216 .loc 1 2238 13 is_stmt 1 view .LVU2091
ARM GAS /tmp/ccQxTlMj.s page 232
2238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6217 .loc 1 2238 46 is_stmt 0 view .LVU2092
6218 0154 634A ldr r2, .L270+4
6219 0156 1A65 str r2, [r3, #80]
2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6220 .loc 1 2241 13 is_stmt 1 view .LVU2093
2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6221 .loc 1 2241 17 is_stmt 0 view .LVU2094
6222 0158 606F ldr r0, [r4, #116]
6223 015a FFF7FEFF bl HAL_DMA_Abort_IT
6224 .LVL547:
2241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6225 .loc 1 2241 16 discriminator 1 view .LVU2095
6226 015e 0028 cmp r0, #0
6227 0160 83D0 beq .L231
2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6228 .loc 1 2244 15 is_stmt 1 view .LVU2096
2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6229 .loc 1 2244 20 is_stmt 0 view .LVU2097
6230 0162 606F ldr r0, [r4, #116]
2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6231 .loc 1 2244 28 view .LVU2098
6232 0164 036D ldr r3, [r0, #80]
2244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6233 .loc 1 2244 15 view .LVU2099
6234 0166 9847 blx r3
6235 .LVL548:
6236 0168 7FE7 b .L231
6237 .L249:
2255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6238 .loc 1 2255 13 is_stmt 1 view .LVU2100
6239 016a 2046 mov r0, r4
6240 016c FFF7FEFF bl HAL_UART_ErrorCallback
6241 .LVL549:
6242 0170 7BE7 b .L231
6243 .LVL550:
6244 .L247:
2268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6245 .loc 1 2268 11 view .LVU2101
6246 0172 2046 mov r0, r4
6247 0174 FFF7FEFF bl HAL_UART_ErrorCallback
6248 .LVL551:
6249 0178 77E7 b .L231
6250 .LVL552:
6251 .L246:
2281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6252 .loc 1 2281 9 view .LVU2102
6253 017a 2046 mov r0, r4
6254 017c FFF7FEFF bl HAL_UART_ErrorCallback
6255 .LVL553:
2283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6256 .loc 1 2283 9 view .LVU2103
2283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6257 .loc 1 2283 26 is_stmt 0 view .LVU2104
6258 0180 0023 movs r3, #0
6259 0182 C4F88430 str r3, [r4, #132]
2286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 233
6260 .loc 1 2286 5 is_stmt 1 view .LVU2105
6261 0186 70E7 b .L231
6262 .LVL554:
6263 .L266:
2293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U))
6264 .loc 1 2293 7 is_stmt 0 view .LVU2106
6265 0188 13F0100F tst r3, #16
6266 018c 3FF458AF beq .L250
2294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6267 .loc 1 2294 7 view .LVU2107
6268 0190 11F0100F tst r1, #16
6269 0194 3FF454AF beq .L250
2296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6270 .loc 1 2296 5 is_stmt 1 view .LVU2108
6271 0198 1023 movs r3, #16
6272 .LVL555:
2296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6273 .loc 1 2296 5 is_stmt 0 view .LVU2109
6274 019a 1362 str r3, [r2, #32]
2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6275 .loc 1 2299 5 is_stmt 1 view .LVU2110
2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6276 .loc 1 2299 9 is_stmt 0 view .LVU2111
6277 019c 2368 ldr r3, [r4]
6278 019e 9B68 ldr r3, [r3, #8]
2299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6279 .loc 1 2299 8 view .LVU2112
6280 01a0 13F0400F tst r3, #64
6281 01a4 50D0 beq .L251
6282 .LBB705:
2305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
6283 .loc 1 2305 7 is_stmt 1 view .LVU2113
2305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
6284 .loc 1 2305 50 is_stmt 0 view .LVU2114
6285 01a6 626F ldr r2, [r4, #116]
6286 01a8 1368 ldr r3, [r2]
6287 01aa 5B68 ldr r3, [r3, #4]
2305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
6288 .loc 1 2305 16 view .LVU2115
6289 01ac 9BB2 uxth r3, r3
6290 .LVL556:
2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
6291 .loc 1 2306 7 is_stmt 1 view .LVU2116
2306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
6292 .loc 1 2306 10 is_stmt 0 view .LVU2117
6293 01ae 002B cmp r3, #0
6294 01b0 3FF45BAF beq .L231
2307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6295 .loc 1 2307 43 view .LVU2118
6296 01b4 B4F85810 ldrh r1, [r4, #88]
6297 .LVL557:
2307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6298 .loc 1 2307 11 view .LVU2119
6299 01b8 9942 cmp r1, r3
6300 01ba 7FF656AF bls .L231
2310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6301 .loc 1 2310 9 is_stmt 1 view .LVU2120
ARM GAS /tmp/ccQxTlMj.s page 234
2310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6302 .loc 1 2310 28 is_stmt 0 view .LVU2121
6303 01be A4F85A30 strh r3, [r4, #90] @ movhi
2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6304 .loc 1 2313 9 is_stmt 1 view .LVU2122
2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6305 .loc 1 2313 32 is_stmt 0 view .LVU2123
6306 01c2 D369 ldr r3, [r2, #28]
6307 .LVL558:
2313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6308 .loc 1 2313 12 view .LVU2124
6309 01c4 B3F5807F cmp r3, #256
6310 01c8 31D0 beq .L253
6311 .L254:
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6312 .loc 1 2316 11 is_stmt 1 discriminator 1 view .LVU2125
6313 .LBB706:
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6314 .loc 1 2316 11 discriminator 1 view .LVU2126
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6315 .loc 1 2316 11 discriminator 1 view .LVU2127
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6316 .loc 1 2316 11 discriminator 1 view .LVU2128
6317 01ca 2268 ldr r2, [r4]
6318 .LVL559:
6319 .LBB707:
6320 .LBI707:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6321 .loc 2 1068 31 view .LVU2129
6322 .LBB708:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
6323 .loc 2 1070 5 view .LVU2130
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6324 .loc 2 1072 4 view .LVU2131
6325 .syntax unified
6326 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6327 01cc 52E8003F ldrex r3, [r2]
6328 @ 0 "" 2
6329 .LVL560:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6330 .loc 2 1073 4 view .LVU2132
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6331 .loc 2 1073 4 is_stmt 0 view .LVU2133
6332 .thumb
6333 .syntax unified
6334 .LBE708:
6335 .LBE707:
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6336 .loc 1 2316 11 discriminator 1 view .LVU2134
6337 01d0 23F48073 bic r3, r3, #256
6338 .LVL561:
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6339 .loc 1 2316 11 is_stmt 1 discriminator 1 view .LVU2135
6340 .LBB709:
6341 .LBI709:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6342 .loc 2 1119 31 view .LVU2136
ARM GAS /tmp/ccQxTlMj.s page 235
6343 .LBB710:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
6344 .loc 2 1121 4 view .LVU2137
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6345 .loc 2 1123 4 view .LVU2138
6346 .syntax unified
6347 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6348 01d4 42E80031 strex r1, r3, [r2]
6349 @ 0 "" 2
6350 .LVL562:
6351 .loc 2 1124 4 view .LVU2139
6352 .loc 2 1124 4 is_stmt 0 view .LVU2140
6353 .thumb
6354 .syntax unified
6355 .LBE710:
6356 .LBE709:
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6357 .loc 1 2316 11 discriminator 1 view .LVU2141
6358 01d8 0029 cmp r1, #0
6359 01da F6D1 bne .L254
6360 .LVL563:
6361 .L255:
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6362 .loc 1 2316 11 discriminator 1 view .LVU2142
6363 .LBE706:
2316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6364 .loc 1 2316 11 is_stmt 1 discriminator 2 view .LVU2143
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6365 .loc 1 2317 11 discriminator 1 view .LVU2144
6366 .LBB711:
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6367 .loc 1 2317 11 discriminator 1 view .LVU2145
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6368 .loc 1 2317 11 discriminator 1 view .LVU2146
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6369 .loc 1 2317 11 discriminator 1 view .LVU2147
6370 01dc 2268 ldr r2, [r4]
6371 .LVL564:
6372 .LBB712:
6373 .LBI712:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6374 .loc 2 1068 31 view .LVU2148
6375 .LBB713:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
6376 .loc 2 1070 5 view .LVU2149
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6377 .loc 2 1072 4 view .LVU2150
6378 01de 02F10803 add r3, r2, #8
6379 .LVL565:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6380 .loc 2 1072 4 is_stmt 0 view .LVU2151
6381 .syntax unified
6382 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6383 01e2 53E8003F ldrex r3, [r3]
6384 @ 0 "" 2
6385 .LVL566:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/ccQxTlMj.s page 236
6386 .loc 2 1073 4 is_stmt 1 view .LVU2152
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6387 .loc 2 1073 4 is_stmt 0 view .LVU2153
6388 .thumb
6389 .syntax unified
6390 .LBE713:
6391 .LBE712:
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6392 .loc 1 2317 11 discriminator 1 view .LVU2154
6393 01e6 23F00103 bic r3, r3, #1
6394 .LVL567:
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6395 .loc 1 2317 11 is_stmt 1 discriminator 1 view .LVU2155
6396 .LBB714:
6397 .LBI714:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6398 .loc 2 1119 31 view .LVU2156
6399 .LBB715:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
6400 .loc 2 1121 4 view .LVU2157
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6401 .loc 2 1123 4 view .LVU2158
6402 01ea 0832 adds r2, r2, #8
6403 .LVL568:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6404 .loc 2 1123 4 is_stmt 0 view .LVU2159
6405 .syntax unified
6406 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6407 01ec 42E80031 strex r1, r3, [r2]
6408 @ 0 "" 2
6409 .LVL569:
6410 .loc 2 1124 4 is_stmt 1 view .LVU2160
6411 .loc 2 1124 4 is_stmt 0 view .LVU2161
6412 .thumb
6413 .syntax unified
6414 .LBE715:
6415 .LBE714:
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6416 .loc 1 2317 11 discriminator 1 view .LVU2162
6417 01f0 0029 cmp r1, #0
6418 01f2 F3D1 bne .L255
6419 .LVL570:
6420 .L256:
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6421 .loc 1 2317 11 discriminator 1 view .LVU2163
6422 .LBE711:
2317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6423 .loc 1 2317 11 is_stmt 1 discriminator 2 view .LVU2164
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6424 .loc 1 2321 11 discriminator 1 view .LVU2165
6425 .LBB716:
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6426 .loc 1 2321 11 discriminator 1 view .LVU2166
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6427 .loc 1 2321 11 discriminator 1 view .LVU2167
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6428 .loc 1 2321 11 discriminator 1 view .LVU2168
ARM GAS /tmp/ccQxTlMj.s page 237
6429 01f4 2268 ldr r2, [r4]
6430 .LVL571:
6431 .LBB717:
6432 .LBI717:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6433 .loc 2 1068 31 view .LVU2169
6434 .LBB718:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
6435 .loc 2 1070 5 view .LVU2170
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6436 .loc 2 1072 4 view .LVU2171
6437 01f6 02F10803 add r3, r2, #8
6438 .LVL572:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6439 .loc 2 1072 4 is_stmt 0 view .LVU2172
6440 .syntax unified
6441 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6442 01fa 53E8003F ldrex r3, [r3]
6443 @ 0 "" 2
6444 .LVL573:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6445 .loc 2 1073 4 is_stmt 1 view .LVU2173
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6446 .loc 2 1073 4 is_stmt 0 view .LVU2174
6447 .thumb
6448 .syntax unified
6449 .LBE718:
6450 .LBE717:
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6451 .loc 1 2321 11 discriminator 1 view .LVU2175
6452 01fe 23F04003 bic r3, r3, #64
6453 .LVL574:
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6454 .loc 1 2321 11 is_stmt 1 discriminator 1 view .LVU2176
6455 .LBB719:
6456 .LBI719:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6457 .loc 2 1119 31 view .LVU2177
6458 .LBB720:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
6459 .loc 2 1121 4 view .LVU2178
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6460 .loc 2 1123 4 view .LVU2179
6461 0202 0832 adds r2, r2, #8
6462 .LVL575:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6463 .loc 2 1123 4 is_stmt 0 view .LVU2180
6464 .syntax unified
6465 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6466 0204 42E80031 strex r1, r3, [r2]
6467 @ 0 "" 2
6468 .LVL576:
6469 .loc 2 1124 4 is_stmt 1 view .LVU2181
6470 .loc 2 1124 4 is_stmt 0 view .LVU2182
6471 .thumb
6472 .syntax unified
6473 .LBE720:
ARM GAS /tmp/ccQxTlMj.s page 238
6474 .LBE719:
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6475 .loc 1 2321 11 discriminator 1 view .LVU2183
6476 0208 0029 cmp r1, #0
6477 020a F3D1 bne .L256
6478 .LBE716:
2321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6479 .loc 1 2321 11 is_stmt 1 discriminator 2 view .LVU2184
2324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6480 .loc 1 2324 11 view .LVU2185
2324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6481 .loc 1 2324 26 is_stmt 0 view .LVU2186
6482 020c 2023 movs r3, #32
6483 .LVL577:
2324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6484 .loc 1 2324 26 view .LVU2187
6485 020e C4F88030 str r3, [r4, #128]
6486 .LVL578:
2325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6487 .loc 1 2325 11 is_stmt 1 view .LVU2188
2325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6488 .loc 1 2325 32 is_stmt 0 view .LVU2189
6489 0212 0023 movs r3, #0
6490 0214 2366 str r3, [r4, #96]
6491 .L257:
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6492 .loc 1 2327 11 is_stmt 1 discriminator 1 view .LVU2190
6493 .LBB721:
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6494 .loc 1 2327 11 discriminator 1 view .LVU2191
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6495 .loc 1 2327 11 discriminator 1 view .LVU2192
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6496 .loc 1 2327 11 discriminator 1 view .LVU2193
6497 0216 2268 ldr r2, [r4]
6498 .LVL579:
6499 .LBB722:
6500 .LBI722:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6501 .loc 2 1068 31 view .LVU2194
6502 .LBB723:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
6503 .loc 2 1070 5 view .LVU2195
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6504 .loc 2 1072 4 view .LVU2196
6505 .syntax unified
6506 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6507 0218 52E8003F ldrex r3, [r2]
6508 @ 0 "" 2
6509 .LVL580:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6510 .loc 2 1073 4 view .LVU2197
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6511 .loc 2 1073 4 is_stmt 0 view .LVU2198
6512 .thumb
6513 .syntax unified
6514 .LBE723:
ARM GAS /tmp/ccQxTlMj.s page 239
6515 .LBE722:
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6516 .loc 1 2327 11 discriminator 1 view .LVU2199
6517 021c 23F01003 bic r3, r3, #16
6518 .LVL581:
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6519 .loc 1 2327 11 is_stmt 1 discriminator 1 view .LVU2200
6520 .LBB724:
6521 .LBI724:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6522 .loc 2 1119 31 view .LVU2201
6523 .LBB725:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
6524 .loc 2 1121 4 view .LVU2202
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6525 .loc 2 1123 4 view .LVU2203
6526 .syntax unified
6527 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6528 0220 42E80031 strex r1, r3, [r2]
6529 @ 0 "" 2
6530 .LVL582:
6531 .loc 2 1124 4 view .LVU2204
6532 .loc 2 1124 4 is_stmt 0 view .LVU2205
6533 .thumb
6534 .syntax unified
6535 .LBE725:
6536 .LBE724:
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6537 .loc 1 2327 11 discriminator 1 view .LVU2206
6538 0224 0029 cmp r1, #0
6539 0226 F6D1 bne .L257
6540 .LBE721:
2327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6541 .loc 1 2327 11 is_stmt 1 discriminator 2 view .LVU2207
2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6542 .loc 1 2330 11 view .LVU2208
2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6543 .loc 1 2330 17 is_stmt 0 view .LVU2209
6544 0228 606F ldr r0, [r4, #116]
6545 .LVL583:
2330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6546 .loc 1 2330 17 view .LVU2210
6547 022a FFF7FEFF bl HAL_DMA_Abort
6548 .LVL584:
6549 .L253:
2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6550 .loc 1 2335 9 is_stmt 1 view .LVU2211
2335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6551 .loc 1 2335 28 is_stmt 0 view .LVU2212
6552 022e 0223 movs r3, #2
6553 0230 6366 str r3, [r4, #100]
2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
6554 .loc 1 2342 9 is_stmt 1 view .LVU2213
2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
6555 .loc 1 2342 49 is_stmt 0 view .LVU2214
6556 0232 B4F85810 ldrh r1, [r4, #88]
2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
ARM GAS /tmp/ccQxTlMj.s page 240
6557 .loc 1 2342 69 view .LVU2215
6558 0236 B4F85A30 ldrh r3, [r4, #90]
6559 023a 9BB2 uxth r3, r3
2342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
6560 .loc 1 2342 9 view .LVU2216
6561 023c C91A subs r1, r1, r3
6562 023e 89B2 uxth r1, r1
6563 0240 2046 mov r0, r4
6564 0242 FFF7FEFF bl HAL_UARTEx_RxEventCallback
6565 .LVL585:
2345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6566 .loc 1 2345 7 is_stmt 1 view .LVU2217
6567 0246 10E7 b .L231
6568 .LVL586:
6569 .L251:
2345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6570 .loc 1 2345 7 is_stmt 0 view .LVU2218
6571 .LBE705:
6572 .LBB726:
2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
6573 .loc 1 2352 7 is_stmt 1 view .LVU2219
2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
6574 .loc 1 2352 34 is_stmt 0 view .LVU2220
6575 0248 B4F85810 ldrh r1, [r4, #88]
6576 .LVL587:
2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
6577 .loc 1 2352 54 view .LVU2221
6578 024c B4F85A30 ldrh r3, [r4, #90]
6579 0250 9BB2 uxth r3, r3
2352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
6580 .loc 1 2352 16 view .LVU2222
6581 0252 C91A subs r1, r1, r3
6582 0254 89B2 uxth r1, r1
6583 .LVL588:
2353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_rx_data > 0U))
6584 .loc 1 2353 7 is_stmt 1 view .LVU2223
2353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_rx_data > 0U))
6585 .loc 1 2353 17 is_stmt 0 view .LVU2224
6586 0256 B4F85A30 ldrh r3, [r4, #90]
6587 025a 9BB2 uxth r3, r3
2353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** && (nb_rx_data > 0U))
6588 .loc 1 2353 10 view .LVU2225
6589 025c 002B cmp r3, #0
6590 025e 3FF404AF beq .L231
2354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6591 .loc 1 2354 11 view .LVU2226
6592 0262 0029 cmp r1, #0
6593 0264 3FF401AF beq .L231
6594 .LVL589:
6595 .L259:
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6596 .loc 1 2357 9 is_stmt 1 discriminator 1 view .LVU2227
6597 .LBB727:
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6598 .loc 1 2357 9 discriminator 1 view .LVU2228
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6599 .loc 1 2357 9 discriminator 1 view .LVU2229
ARM GAS /tmp/ccQxTlMj.s page 241
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6600 .loc 1 2357 9 discriminator 1 view .LVU2230
6601 0268 2268 ldr r2, [r4]
6602 .LVL590:
6603 .LBB728:
6604 .LBI728:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6605 .loc 2 1068 31 view .LVU2231
6606 .LBB729:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
6607 .loc 2 1070 5 view .LVU2232
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6608 .loc 2 1072 4 view .LVU2233
6609 .syntax unified
6610 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6611 026a 52E8003F ldrex r3, [r2]
6612 @ 0 "" 2
6613 .LVL591:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6614 .loc 2 1073 4 view .LVU2234
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6615 .loc 2 1073 4 is_stmt 0 view .LVU2235
6616 .thumb
6617 .syntax unified
6618 .LBE729:
6619 .LBE728:
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6620 .loc 1 2357 9 discriminator 1 view .LVU2236
6621 026e 23F49073 bic r3, r3, #288
6622 .LVL592:
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6623 .loc 1 2357 9 is_stmt 1 discriminator 1 view .LVU2237
6624 .LBB730:
6625 .LBI730:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6626 .loc 2 1119 31 view .LVU2238
6627 .LBB731:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
6628 .loc 2 1121 4 view .LVU2239
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6629 .loc 2 1123 4 view .LVU2240
6630 .syntax unified
6631 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6632 0272 42E80030 strex r0, r3, [r2]
6633 @ 0 "" 2
6634 .LVL593:
6635 .loc 2 1124 4 view .LVU2241
6636 .loc 2 1124 4 is_stmt 0 view .LVU2242
6637 .thumb
6638 .syntax unified
6639 .LBE731:
6640 .LBE730:
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6641 .loc 1 2357 9 discriminator 1 view .LVU2243
6642 0276 0028 cmp r0, #0
6643 0278 F6D1 bne .L259
6644 .LVL594:
ARM GAS /tmp/ccQxTlMj.s page 242
6645 .L260:
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6646 .loc 1 2357 9 discriminator 1 view .LVU2244
6647 .LBE727:
2357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6648 .loc 1 2357 9 is_stmt 1 discriminator 2 view .LVU2245
2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6649 .loc 1 2360 9 discriminator 1 view .LVU2246
6650 .LBB732:
2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6651 .loc 1 2360 9 discriminator 1 view .LVU2247
2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6652 .loc 1 2360 9 discriminator 1 view .LVU2248
2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6653 .loc 1 2360 9 discriminator 1 view .LVU2249
6654 027a 2268 ldr r2, [r4]
6655 .LVL595:
6656 .LBB733:
6657 .LBI733:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6658 .loc 2 1068 31 view .LVU2250
6659 .LBB734:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
6660 .loc 2 1070 5 view .LVU2251
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6661 .loc 2 1072 4 view .LVU2252
6662 027c 02F10803 add r3, r2, #8
6663 .LVL596:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6664 .loc 2 1072 4 is_stmt 0 view .LVU2253
6665 .syntax unified
6666 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6667 0280 53E8003F ldrex r3, [r3]
6668 @ 0 "" 2
6669 .LVL597:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6670 .loc 2 1073 4 is_stmt 1 view .LVU2254
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6671 .loc 2 1073 4 is_stmt 0 view .LVU2255
6672 .thumb
6673 .syntax unified
6674 .LBE734:
6675 .LBE733:
2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6676 .loc 1 2360 9 discriminator 1 view .LVU2256
6677 0284 23F00103 bic r3, r3, #1
6678 .LVL598:
2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6679 .loc 1 2360 9 is_stmt 1 discriminator 1 view .LVU2257
6680 .LBB735:
6681 .LBI735:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6682 .loc 2 1119 31 view .LVU2258
6683 .LBB736:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
6684 .loc 2 1121 4 view .LVU2259
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/ccQxTlMj.s page 243
6685 .loc 2 1123 4 view .LVU2260
6686 0288 0832 adds r2, r2, #8
6687 .LVL599:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6688 .loc 2 1123 4 is_stmt 0 view .LVU2261
6689 .syntax unified
6690 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6691 028a 42E80030 strex r0, r3, [r2]
6692 @ 0 "" 2
6693 .LVL600:
6694 .loc 2 1124 4 is_stmt 1 view .LVU2262
6695 .loc 2 1124 4 is_stmt 0 view .LVU2263
6696 .thumb
6697 .syntax unified
6698 .LBE736:
6699 .LBE735:
2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6700 .loc 1 2360 9 discriminator 1 view .LVU2264
6701 028e 0028 cmp r0, #0
6702 0290 F3D1 bne .L260
6703 .LBE732:
2360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6704 .loc 1 2360 9 is_stmt 1 discriminator 2 view .LVU2265
2363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6705 .loc 1 2363 9 view .LVU2266
2363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6706 .loc 1 2363 24 is_stmt 0 view .LVU2267
6707 0292 2023 movs r3, #32
6708 .LVL601:
2363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6709 .loc 1 2363 24 view .LVU2268
6710 0294 C4F88030 str r3, [r4, #128]
2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6711 .loc 1 2364 9 is_stmt 1 view .LVU2269
2364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6712 .loc 1 2364 30 is_stmt 0 view .LVU2270
6713 0298 0023 movs r3, #0
6714 029a 2366 str r3, [r4, #96]
2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6715 .loc 1 2367 9 is_stmt 1 view .LVU2271
2367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6716 .loc 1 2367 22 is_stmt 0 view .LVU2272
6717 029c A366 str r3, [r4, #104]
6718 .L261:
2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6719 .loc 1 2369 9 is_stmt 1 discriminator 1 view .LVU2273
6720 .LBB737:
2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6721 .loc 1 2369 9 discriminator 1 view .LVU2274
2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6722 .loc 1 2369 9 discriminator 1 view .LVU2275
2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6723 .loc 1 2369 9 discriminator 1 view .LVU2276
6724 029e 2268 ldr r2, [r4]
6725 .LVL602:
6726 .LBB738:
6727 .LBI738:
ARM GAS /tmp/ccQxTlMj.s page 244
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6728 .loc 2 1068 31 view .LVU2277
6729 .LBB739:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
6730 .loc 2 1070 5 view .LVU2278
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6731 .loc 2 1072 4 view .LVU2279
6732 .syntax unified
6733 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6734 02a0 52E8003F ldrex r3, [r2]
6735 @ 0 "" 2
6736 .LVL603:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6737 .loc 2 1073 4 view .LVU2280
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6738 .loc 2 1073 4 is_stmt 0 view .LVU2281
6739 .thumb
6740 .syntax unified
6741 .LBE739:
6742 .LBE738:
2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6743 .loc 1 2369 9 discriminator 1 view .LVU2282
6744 02a4 23F01003 bic r3, r3, #16
6745 .LVL604:
2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6746 .loc 1 2369 9 is_stmt 1 discriminator 1 view .LVU2283
6747 .LBB740:
6748 .LBI740:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6749 .loc 2 1119 31 view .LVU2284
6750 .LBB741:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
6751 .loc 2 1121 4 view .LVU2285
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6752 .loc 2 1123 4 view .LVU2286
6753 .syntax unified
6754 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6755 02a8 42E80030 strex r0, r3, [r2]
6756 @ 0 "" 2
6757 .LVL605:
6758 .loc 2 1124 4 view .LVU2287
6759 .loc 2 1124 4 is_stmt 0 view .LVU2288
6760 .thumb
6761 .syntax unified
6762 .LBE741:
6763 .LBE740:
2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6764 .loc 1 2369 9 discriminator 1 view .LVU2289
6765 02ac 0028 cmp r0, #0
6766 02ae F6D1 bne .L261
6767 .LBE737:
2369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6768 .loc 1 2369 9 is_stmt 1 discriminator 2 view .LVU2290
2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6769 .loc 1 2373 9 view .LVU2291
2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6770 .loc 1 2373 28 is_stmt 0 view .LVU2292
ARM GAS /tmp/ccQxTlMj.s page 245
6771 02b0 0223 movs r3, #2
6772 .LVL606:
2373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6773 .loc 1 2373 28 view .LVU2293
6774 02b2 6366 str r3, [r4, #100]
2380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
6775 .loc 1 2380 9 is_stmt 1 view .LVU2294
6776 02b4 2046 mov r0, r4
6777 02b6 FFF7FEFF bl HAL_UARTEx_RxEventCallback
6778 .LVL607:
2383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6779 .loc 1 2383 7 view .LVU2295
6780 02ba D6E6 b .L231
6781 .LVL608:
6782 .L267:
2383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6783 .loc 1 2383 7 is_stmt 0 view .LVU2296
6784 .LBE726:
2392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6785 .loc 1 2392 5 is_stmt 1 view .LVU2297
6786 02bc 4FF48013 mov r3, #1048576
6787 .LVL609:
2392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6788 .loc 1 2392 5 is_stmt 0 view .LVU2298
6789 02c0 1362 str r3, [r2, #32]
2402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6790 .loc 1 2402 5 is_stmt 1 view .LVU2299
6791 02c2 2046 mov r0, r4
6792 .LVL610:
2402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6793 .loc 1 2402 5 is_stmt 0 view .LVU2300
6794 02c4 FFF7FEFF bl HAL_UARTEx_WakeupCallback
6795 .LVL611:
2404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6796 .loc 1 2404 5 is_stmt 1 view .LVU2301
6797 02c8 CFE6 b .L231
6798 .LVL612:
6799 .L268:
2413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6800 .loc 1 2413 5 view .LVU2302
2413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6801 .loc 1 2413 14 is_stmt 0 view .LVU2303
6802 02ca E36E ldr r3, [r4, #108]
6803 .LVL613:
2413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6804 .loc 1 2413 8 view .LVU2304
6805 02cc 002B cmp r3, #0
6806 02ce 3FF4CCAE beq .L231
2415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6807 .loc 1 2415 7 is_stmt 1 view .LVU2305
6808 02d2 2046 mov r0, r4
6809 .LVL614:
2415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6810 .loc 1 2415 7 is_stmt 0 view .LVU2306
6811 02d4 9847 blx r3
6812 .LVL615:
2417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
ARM GAS /tmp/ccQxTlMj.s page 246
6813 .loc 1 2417 5 is_stmt 1 view .LVU2307
6814 02d6 C8E6 b .L231
6815 .LVL616:
6816 .L269:
2423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
6817 .loc 1 2423 5 view .LVU2308
6818 02d8 2046 mov r0, r4
6819 .LVL617:
2423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return;
6820 .loc 1 2423 5 is_stmt 0 view .LVU2309
6821 02da FFF7FEFF bl UART_EndTransmit_IT
6822 .LVL618:
2424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6823 .loc 1 2424 5 is_stmt 1 view .LVU2310
6824 02de C4E6 b .L231
6825 .L271:
6826 .align 2
6827 .L270:
6828 02e0 20010004 .word 67109152
6829 02e4 00000000 .word UART_DMAAbortOnError
6830 .cfi_endproc
6831 .LFE163:
6833 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits
6834 .align 1
6835 .global HAL_UART_ReceiverTimeout_Config
6836 .syntax unified
6837 .thumb
6838 .thumb_func
6840 HAL_UART_ReceiverTimeout_Config:
6841 .LVL619:
6842 .LFB174:
2622:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue));
6843 .loc 1 2622 1 view -0
6844 .cfi_startproc
6845 @ args = 0, pretend = 0, frame = 0
6846 @ frame_needed = 0, uses_anonymous_args = 0
6847 @ link register save eliminated.
2623:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue);
6848 .loc 1 2623 3 view .LVU2312
2624:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6849 .loc 1 2624 3 view .LVU2313
6850 0000 0268 ldr r2, [r0]
6851 0002 5369 ldr r3, [r2, #20]
6852 0004 03F07F43 and r3, r3, #-16777216
6853 0008 0B43 orrs r3, r3, r1
6854 000a 5361 str r3, [r2, #20]
2625:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6855 .loc 1 2625 1 is_stmt 0 view .LVU2314
6856 000c 7047 bx lr
6857 .cfi_endproc
6858 .LFE174:
6860 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits
6861 .align 1
6862 .global HAL_UART_EnableReceiverTimeout
6863 .syntax unified
6864 .thumb
6865 .thumb_func
ARM GAS /tmp/ccQxTlMj.s page 247
6867 HAL_UART_EnableReceiverTimeout:
6868 .LVL620:
6869 .LFB175:
2634:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
6870 .loc 1 2634 1 is_stmt 1 view -0
6871 .cfi_startproc
6872 @ args = 0, pretend = 0, frame = 0
6873 @ frame_needed = 0, uses_anonymous_args = 0
6874 @ link register save eliminated.
2635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6875 .loc 1 2635 3 view .LVU2316
2635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6876 .loc 1 2635 12 is_stmt 0 view .LVU2317
6877 0000 C36F ldr r3, [r0, #124]
2635:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6878 .loc 1 2635 6 view .LVU2318
6879 0002 202B cmp r3, #32
6880 0004 14D1 bne .L275
2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6881 .loc 1 2638 5 is_stmt 1 view .LVU2319
2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6882 .loc 1 2638 5 view .LVU2320
6883 0006 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2
6884 000a 012B cmp r3, #1
6885 000c 12D0 beq .L276
2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6886 .loc 1 2638 5 discriminator 2 view .LVU2321
6887 000e 0123 movs r3, #1
6888 0010 80F87830 strb r3, [r0, #120]
2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6889 .loc 1 2638 5 discriminator 2 view .LVU2322
2640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6890 .loc 1 2640 5 view .LVU2323
2640:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6891 .loc 1 2640 19 is_stmt 0 view .LVU2324
6892 0014 2423 movs r3, #36
6893 0016 C367 str r3, [r0, #124]
2643:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6894 .loc 1 2643 5 is_stmt 1 view .LVU2325
6895 0018 0268 ldr r2, [r0]
6896 001a 5368 ldr r3, [r2, #4]
6897 001c 43F40003 orr r3, r3, #8388608
6898 0020 5360 str r3, [r2, #4]
2645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6899 .loc 1 2645 5 view .LVU2326
2645:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6900 .loc 1 2645 19 is_stmt 0 view .LVU2327
6901 0022 2023 movs r3, #32
6902 0024 C367 str r3, [r0, #124]
2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6903 .loc 1 2648 5 is_stmt 1 view .LVU2328
2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6904 .loc 1 2648 5 view .LVU2329
6905 0026 0023 movs r3, #0
6906 0028 80F87830 strb r3, [r0, #120]
2648:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6907 .loc 1 2648 5 view .LVU2330
ARM GAS /tmp/ccQxTlMj.s page 248
2650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6908 .loc 1 2650 5 view .LVU2331
2650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6909 .loc 1 2650 12 is_stmt 0 view .LVU2332
6910 002c 1846 mov r0, r3
6911 .LVL621:
2650:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6912 .loc 1 2650 12 view .LVU2333
6913 002e 7047 bx lr
6914 .LVL622:
6915 .L275:
2654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6916 .loc 1 2654 12 view .LVU2334
6917 0030 0220 movs r0, #2
6918 .LVL623:
2654:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6919 .loc 1 2654 12 view .LVU2335
6920 0032 7047 bx lr
6921 .LVL624:
6922 .L276:
2638:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6923 .loc 1 2638 5 discriminator 1 view .LVU2336
6924 0034 0220 movs r0, #2
6925 .LVL625:
2656:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6926 .loc 1 2656 1 view .LVU2337
6927 0036 7047 bx lr
6928 .cfi_endproc
6929 .LFE175:
6931 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits
6932 .align 1
6933 .global HAL_UART_DisableReceiverTimeout
6934 .syntax unified
6935 .thumb
6936 .thumb_func
6938 HAL_UART_DisableReceiverTimeout:
6939 .LVL626:
6940 .LFB176:
2665:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
6941 .loc 1 2665 1 is_stmt 1 view -0
6942 .cfi_startproc
6943 @ args = 0, pretend = 0, frame = 0
6944 @ frame_needed = 0, uses_anonymous_args = 0
6945 @ link register save eliminated.
2666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6946 .loc 1 2666 3 view .LVU2339
2666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6947 .loc 1 2666 12 is_stmt 0 view .LVU2340
6948 0000 C36F ldr r3, [r0, #124]
2666:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
6949 .loc 1 2666 6 view .LVU2341
6950 0002 202B cmp r3, #32
6951 0004 14D1 bne .L279
2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6952 .loc 1 2669 5 is_stmt 1 view .LVU2342
2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6953 .loc 1 2669 5 view .LVU2343
ARM GAS /tmp/ccQxTlMj.s page 249
6954 0006 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2
6955 000a 012B cmp r3, #1
6956 000c 12D0 beq .L280
2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6957 .loc 1 2669 5 discriminator 2 view .LVU2344
6958 000e 0123 movs r3, #1
6959 0010 80F87830 strb r3, [r0, #120]
2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6960 .loc 1 2669 5 discriminator 2 view .LVU2345
2671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6961 .loc 1 2671 5 view .LVU2346
2671:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6962 .loc 1 2671 19 is_stmt 0 view .LVU2347
6963 0014 2423 movs r3, #36
6964 0016 C367 str r3, [r0, #124]
2674:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6965 .loc 1 2674 5 is_stmt 1 view .LVU2348
6966 0018 0268 ldr r2, [r0]
6967 001a 5368 ldr r3, [r2, #4]
6968 001c 23F40003 bic r3, r3, #8388608
6969 0020 5360 str r3, [r2, #4]
2676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6970 .loc 1 2676 5 view .LVU2349
2676:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6971 .loc 1 2676 19 is_stmt 0 view .LVU2350
6972 0022 2023 movs r3, #32
6973 0024 C367 str r3, [r0, #124]
2679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6974 .loc 1 2679 5 is_stmt 1 view .LVU2351
2679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6975 .loc 1 2679 5 view .LVU2352
6976 0026 0023 movs r3, #0
6977 0028 80F87830 strb r3, [r0, #120]
2679:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6978 .loc 1 2679 5 view .LVU2353
2681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6979 .loc 1 2681 5 view .LVU2354
2681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6980 .loc 1 2681 12 is_stmt 0 view .LVU2355
6981 002c 1846 mov r0, r3
6982 .LVL627:
2681:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6983 .loc 1 2681 12 view .LVU2356
6984 002e 7047 bx lr
6985 .LVL628:
6986 .L279:
2685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6987 .loc 1 2685 12 view .LVU2357
6988 0030 0220 movs r0, #2
6989 .LVL629:
2685:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
6990 .loc 1 2685 12 view .LVU2358
6991 0032 7047 bx lr
6992 .LVL630:
6993 .L280:
2669:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6994 .loc 1 2669 5 discriminator 1 view .LVU2359
ARM GAS /tmp/ccQxTlMj.s page 250
6995 0034 0220 movs r0, #2
6996 .LVL631:
2687:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
6997 .loc 1 2687 1 view .LVU2360
6998 0036 7047 bx lr
6999 .cfi_endproc
7000 .LFE176:
7002 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
7003 .align 1
7004 .global HAL_MultiProcessor_EnterMuteMode
7005 .syntax unified
7006 .thumb
7007 .thumb_func
7009 HAL_MultiProcessor_EnterMuteMode:
7010 .LVL632:
7011 .LFB179:
2736:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
7012 .loc 1 2736 1 is_stmt 1 view -0
7013 .cfi_startproc
7014 @ args = 0, pretend = 0, frame = 0
7015 @ frame_needed = 0, uses_anonymous_args = 0
7016 @ link register save eliminated.
2737:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7017 .loc 1 2737 3 view .LVU2362
7018 0000 0268 ldr r2, [r0]
7019 0002 9369 ldr r3, [r2, #24]
7020 0004 43F00403 orr r3, r3, #4
7021 0008 9361 str r3, [r2, #24]
2738:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7022 .loc 1 2738 1 is_stmt 0 view .LVU2363
7023 000a 7047 bx lr
7024 .cfi_endproc
7025 .LFE179:
7027 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
7028 .align 1
7029 .global HAL_HalfDuplex_EnableTransmitter
7030 .syntax unified
7031 .thumb
7032 .thumb_func
7034 HAL_HalfDuplex_EnableTransmitter:
7035 .LVL633:
7036 .LFB180:
2746:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
7037 .loc 1 2746 1 is_stmt 1 view -0
7038 .cfi_startproc
7039 @ args = 0, pretend = 0, frame = 0
7040 @ frame_needed = 0, uses_anonymous_args = 0
7041 @ link register save eliminated.
2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7042 .loc 1 2747 3 view .LVU2365
2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7043 .loc 1 2747 3 view .LVU2366
7044 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2
7045 0004 012B cmp r3, #1
7046 0006 1DD0 beq .L286
2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7047 .loc 1 2747 3 discriminator 2 view .LVU2367
ARM GAS /tmp/ccQxTlMj.s page 251
7048 0008 0123 movs r3, #1
7049 000a 80F87830 strb r3, [r0, #120]
2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7050 .loc 1 2747 3 discriminator 2 view .LVU2368
2748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7051 .loc 1 2748 3 view .LVU2369
2748:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7052 .loc 1 2748 17 is_stmt 0 view .LVU2370
7053 000e 2423 movs r3, #36
7054 0010 C367 str r3, [r0, #124]
7055 .L284:
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7056 .loc 1 2751 3 is_stmt 1 discriminator 1 view .LVU2371
7057 .LBB742:
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7058 .loc 1 2751 3 discriminator 1 view .LVU2372
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7059 .loc 1 2751 3 discriminator 1 view .LVU2373
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7060 .loc 1 2751 3 discriminator 1 view .LVU2374
7061 0012 0268 ldr r2, [r0]
7062 .LVL634:
7063 .LBB743:
7064 .LBI743:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7065 .loc 2 1068 31 view .LVU2375
7066 .LBB744:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
7067 .loc 2 1070 5 view .LVU2376
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7068 .loc 2 1072 4 view .LVU2377
7069 .syntax unified
7070 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7071 0014 52E8003F ldrex r3, [r2]
7072 @ 0 "" 2
7073 .LVL635:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7074 .loc 2 1073 4 view .LVU2378
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7075 .loc 2 1073 4 is_stmt 0 view .LVU2379
7076 .thumb
7077 .syntax unified
7078 .LBE744:
7079 .LBE743:
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7080 .loc 1 2751 3 discriminator 1 view .LVU2380
7081 0018 23F00C03 bic r3, r3, #12
7082 .LVL636:
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7083 .loc 1 2751 3 is_stmt 1 discriminator 1 view .LVU2381
7084 .LBB745:
7085 .LBI745:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7086 .loc 2 1119 31 view .LVU2382
7087 .LBB746:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
7088 .loc 2 1121 4 view .LVU2383
ARM GAS /tmp/ccQxTlMj.s page 252
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7089 .loc 2 1123 4 view .LVU2384
7090 .syntax unified
7091 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7092 001c 42E80031 strex r1, r3, [r2]
7093 @ 0 "" 2
7094 .LVL637:
7095 .loc 2 1124 4 view .LVU2385
7096 .loc 2 1124 4 is_stmt 0 view .LVU2386
7097 .thumb
7098 .syntax unified
7099 .LBE746:
7100 .LBE745:
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7101 .loc 1 2751 3 discriminator 1 view .LVU2387
7102 0020 0029 cmp r1, #0
7103 0022 F6D1 bne .L284
7104 .LVL638:
7105 .L285:
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7106 .loc 1 2751 3 discriminator 1 view .LVU2388
7107 .LBE742:
2751:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7108 .loc 1 2751 3 is_stmt 1 discriminator 2 view .LVU2389
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7109 .loc 1 2754 3 discriminator 1 view .LVU2390
7110 .LBB747:
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7111 .loc 1 2754 3 discriminator 1 view .LVU2391
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7112 .loc 1 2754 3 discriminator 1 view .LVU2392
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7113 .loc 1 2754 3 discriminator 1 view .LVU2393
7114 0024 0268 ldr r2, [r0]
7115 .LVL639:
7116 .LBB748:
7117 .LBI748:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7118 .loc 2 1068 31 view .LVU2394
7119 .LBB749:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
7120 .loc 2 1070 5 view .LVU2395
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7121 .loc 2 1072 4 view .LVU2396
7122 .syntax unified
7123 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7124 0026 52E8003F ldrex r3, [r2]
7125 @ 0 "" 2
7126 .LVL640:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7127 .loc 2 1073 4 view .LVU2397
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7128 .loc 2 1073 4 is_stmt 0 view .LVU2398
7129 .thumb
7130 .syntax unified
7131 .LBE749:
7132 .LBE748:
ARM GAS /tmp/ccQxTlMj.s page 253
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7133 .loc 1 2754 3 discriminator 1 view .LVU2399
7134 002a 43F00803 orr r3, r3, #8
7135 .LVL641:
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7136 .loc 1 2754 3 is_stmt 1 discriminator 1 view .LVU2400
7137 .LBB750:
7138 .LBI750:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7139 .loc 2 1119 31 view .LVU2401
7140 .LBB751:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
7141 .loc 2 1121 4 view .LVU2402
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7142 .loc 2 1123 4 view .LVU2403
7143 .syntax unified
7144 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7145 002e 42E80031 strex r1, r3, [r2]
7146 @ 0 "" 2
7147 .LVL642:
7148 .loc 2 1124 4 view .LVU2404
7149 .loc 2 1124 4 is_stmt 0 view .LVU2405
7150 .thumb
7151 .syntax unified
7152 .LBE751:
7153 .LBE750:
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7154 .loc 1 2754 3 discriminator 1 view .LVU2406
7155 0032 0029 cmp r1, #0
7156 0034 F6D1 bne .L285
7157 .LBE747:
2754:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7158 .loc 1 2754 3 is_stmt 1 discriminator 2 view .LVU2407
2756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7159 .loc 1 2756 3 view .LVU2408
2756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7160 .loc 1 2756 17 is_stmt 0 view .LVU2409
7161 0036 2023 movs r3, #32
7162 .LVL643:
2756:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7163 .loc 1 2756 17 view .LVU2410
7164 0038 C367 str r3, [r0, #124]
2758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7165 .loc 1 2758 3 is_stmt 1 view .LVU2411
2758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7166 .loc 1 2758 3 view .LVU2412
7167 003a 0023 movs r3, #0
7168 003c 80F87830 strb r3, [r0, #120]
2758:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7169 .loc 1 2758 3 view .LVU2413
2760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7170 .loc 1 2760 3 view .LVU2414
2760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7171 .loc 1 2760 10 is_stmt 0 view .LVU2415
7172 0040 1846 mov r0, r3
7173 .LVL644:
2760:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
ARM GAS /tmp/ccQxTlMj.s page 254
7174 .loc 1 2760 10 view .LVU2416
7175 0042 7047 bx lr
7176 .LVL645:
7177 .L286:
2747:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7178 .loc 1 2747 3 discriminator 1 view .LVU2417
7179 0044 0220 movs r0, #2
7180 .LVL646:
2761:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7181 .loc 1 2761 1 view .LVU2418
7182 0046 7047 bx lr
7183 .cfi_endproc
7184 .LFE180:
7186 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
7187 .align 1
7188 .global HAL_HalfDuplex_EnableReceiver
7189 .syntax unified
7190 .thumb
7191 .thumb_func
7193 HAL_HalfDuplex_EnableReceiver:
7194 .LVL647:
7195 .LFB181:
2769:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
7196 .loc 1 2769 1 is_stmt 1 view -0
7197 .cfi_startproc
7198 @ args = 0, pretend = 0, frame = 0
7199 @ frame_needed = 0, uses_anonymous_args = 0
7200 @ link register save eliminated.
2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7201 .loc 1 2770 3 view .LVU2420
2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7202 .loc 1 2770 3 view .LVU2421
7203 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2
7204 0004 012B cmp r3, #1
7205 0006 1DD0 beq .L291
2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7206 .loc 1 2770 3 discriminator 2 view .LVU2422
7207 0008 0123 movs r3, #1
7208 000a 80F87830 strb r3, [r0, #120]
2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7209 .loc 1 2770 3 discriminator 2 view .LVU2423
2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7210 .loc 1 2771 3 view .LVU2424
2771:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7211 .loc 1 2771 17 is_stmt 0 view .LVU2425
7212 000e 2423 movs r3, #36
7213 0010 C367 str r3, [r0, #124]
7214 .L289:
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7215 .loc 1 2774 3 is_stmt 1 discriminator 1 view .LVU2426
7216 .LBB752:
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7217 .loc 1 2774 3 discriminator 1 view .LVU2427
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7218 .loc 1 2774 3 discriminator 1 view .LVU2428
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7219 .loc 1 2774 3 discriminator 1 view .LVU2429
ARM GAS /tmp/ccQxTlMj.s page 255
7220 0012 0268 ldr r2, [r0]
7221 .LVL648:
7222 .LBB753:
7223 .LBI753:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7224 .loc 2 1068 31 view .LVU2430
7225 .LBB754:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
7226 .loc 2 1070 5 view .LVU2431
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7227 .loc 2 1072 4 view .LVU2432
7228 .syntax unified
7229 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7230 0014 52E8003F ldrex r3, [r2]
7231 @ 0 "" 2
7232 .LVL649:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7233 .loc 2 1073 4 view .LVU2433
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7234 .loc 2 1073 4 is_stmt 0 view .LVU2434
7235 .thumb
7236 .syntax unified
7237 .LBE754:
7238 .LBE753:
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7239 .loc 1 2774 3 discriminator 1 view .LVU2435
7240 0018 23F00C03 bic r3, r3, #12
7241 .LVL650:
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7242 .loc 1 2774 3 is_stmt 1 discriminator 1 view .LVU2436
7243 .LBB755:
7244 .LBI755:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7245 .loc 2 1119 31 view .LVU2437
7246 .LBB756:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
7247 .loc 2 1121 4 view .LVU2438
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7248 .loc 2 1123 4 view .LVU2439
7249 .syntax unified
7250 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7251 001c 42E80031 strex r1, r3, [r2]
7252 @ 0 "" 2
7253 .LVL651:
7254 .loc 2 1124 4 view .LVU2440
7255 .loc 2 1124 4 is_stmt 0 view .LVU2441
7256 .thumb
7257 .syntax unified
7258 .LBE756:
7259 .LBE755:
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7260 .loc 1 2774 3 discriminator 1 view .LVU2442
7261 0020 0029 cmp r1, #0
7262 0022 F6D1 bne .L289
7263 .LVL652:
7264 .L290:
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 256
7265 .loc 1 2774 3 discriminator 1 view .LVU2443
7266 .LBE752:
2774:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7267 .loc 1 2774 3 is_stmt 1 discriminator 2 view .LVU2444
2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7268 .loc 1 2777 3 discriminator 1 view .LVU2445
7269 .LBB757:
2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7270 .loc 1 2777 3 discriminator 1 view .LVU2446
2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7271 .loc 1 2777 3 discriminator 1 view .LVU2447
2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7272 .loc 1 2777 3 discriminator 1 view .LVU2448
7273 0024 0268 ldr r2, [r0]
7274 .LVL653:
7275 .LBB758:
7276 .LBI758:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7277 .loc 2 1068 31 view .LVU2449
7278 .LBB759:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
7279 .loc 2 1070 5 view .LVU2450
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7280 .loc 2 1072 4 view .LVU2451
7281 .syntax unified
7282 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7283 0026 52E8003F ldrex r3, [r2]
7284 @ 0 "" 2
7285 .LVL654:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7286 .loc 2 1073 4 view .LVU2452
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7287 .loc 2 1073 4 is_stmt 0 view .LVU2453
7288 .thumb
7289 .syntax unified
7290 .LBE759:
7291 .LBE758:
2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7292 .loc 1 2777 3 discriminator 1 view .LVU2454
7293 002a 43F00403 orr r3, r3, #4
7294 .LVL655:
2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7295 .loc 1 2777 3 is_stmt 1 discriminator 1 view .LVU2455
7296 .LBB760:
7297 .LBI760:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7298 .loc 2 1119 31 view .LVU2456
7299 .LBB761:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
7300 .loc 2 1121 4 view .LVU2457
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7301 .loc 2 1123 4 view .LVU2458
7302 .syntax unified
7303 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7304 002e 42E80031 strex r1, r3, [r2]
7305 @ 0 "" 2
7306 .LVL656:
ARM GAS /tmp/ccQxTlMj.s page 257
7307 .loc 2 1124 4 view .LVU2459
7308 .loc 2 1124 4 is_stmt 0 view .LVU2460
7309 .thumb
7310 .syntax unified
7311 .LBE761:
7312 .LBE760:
2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7313 .loc 1 2777 3 discriminator 1 view .LVU2461
7314 0032 0029 cmp r1, #0
7315 0034 F6D1 bne .L290
7316 .LBE757:
2777:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7317 .loc 1 2777 3 is_stmt 1 discriminator 2 view .LVU2462
2779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7318 .loc 1 2779 3 view .LVU2463
2779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7319 .loc 1 2779 17 is_stmt 0 view .LVU2464
7320 0036 2023 movs r3, #32
7321 .LVL657:
2779:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7322 .loc 1 2779 17 view .LVU2465
7323 0038 C367 str r3, [r0, #124]
2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7324 .loc 1 2781 3 is_stmt 1 view .LVU2466
2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7325 .loc 1 2781 3 view .LVU2467
7326 003a 0023 movs r3, #0
7327 003c 80F87830 strb r3, [r0, #120]
2781:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7328 .loc 1 2781 3 view .LVU2468
2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7329 .loc 1 2783 3 view .LVU2469
2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7330 .loc 1 2783 10 is_stmt 0 view .LVU2470
7331 0040 1846 mov r0, r3
7332 .LVL658:
2783:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7333 .loc 1 2783 10 view .LVU2471
7334 0042 7047 bx lr
7335 .LVL659:
7336 .L291:
2770:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7337 .loc 1 2770 3 discriminator 1 view .LVU2472
7338 0044 0220 movs r0, #2
7339 .LVL660:
2784:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7340 .loc 1 2784 1 view .LVU2473
7341 0046 7047 bx lr
7342 .cfi_endproc
7343 .LFE181:
7345 .section .text.HAL_LIN_SendBreak,"ax",%progbits
7346 .align 1
7347 .global HAL_LIN_SendBreak
7348 .syntax unified
7349 .thumb
7350 .thumb_func
7352 HAL_LIN_SendBreak:
ARM GAS /tmp/ccQxTlMj.s page 258
7353 .LVL661:
7354 .LFB182:
2793:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the parameters */
7355 .loc 1 2793 1 is_stmt 1 view -0
7356 .cfi_startproc
7357 @ args = 0, pretend = 0, frame = 0
7358 @ frame_needed = 0, uses_anonymous_args = 0
7359 @ link register save eliminated.
2795:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7360 .loc 1 2795 3 view .LVU2475
2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7361 .loc 1 2797 3 view .LVU2476
2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7362 .loc 1 2797 3 view .LVU2477
7363 0000 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2
7364 0004 012B cmp r3, #1
7365 0006 10D0 beq .L294
2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7366 .loc 1 2797 3 discriminator 2 view .LVU2478
7367 0008 0123 movs r3, #1
7368 000a 80F87830 strb r3, [r0, #120]
2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7369 .loc 1 2797 3 discriminator 2 view .LVU2479
2799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7370 .loc 1 2799 3 view .LVU2480
2799:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7371 .loc 1 2799 17 is_stmt 0 view .LVU2481
7372 000e 2423 movs r3, #36
7373 0010 C367 str r3, [r0, #124]
2802:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7374 .loc 1 2802 3 is_stmt 1 view .LVU2482
7375 0012 0268 ldr r2, [r0]
7376 0014 9369 ldr r3, [r2, #24]
7377 0016 43F00203 orr r3, r3, #2
7378 001a 9361 str r3, [r2, #24]
2804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7379 .loc 1 2804 3 view .LVU2483
2804:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7380 .loc 1 2804 17 is_stmt 0 view .LVU2484
7381 001c 2023 movs r3, #32
7382 001e C367 str r3, [r0, #124]
2806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7383 .loc 1 2806 3 is_stmt 1 view .LVU2485
2806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7384 .loc 1 2806 3 view .LVU2486
7385 0020 0023 movs r3, #0
7386 0022 80F87830 strb r3, [r0, #120]
2806:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7387 .loc 1 2806 3 view .LVU2487
2808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7388 .loc 1 2808 3 view .LVU2488
2808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7389 .loc 1 2808 10 is_stmt 0 view .LVU2489
7390 0026 1846 mov r0, r3
7391 .LVL662:
2808:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7392 .loc 1 2808 10 view .LVU2490
ARM GAS /tmp/ccQxTlMj.s page 259
7393 0028 7047 bx lr
7394 .LVL663:
7395 .L294:
2797:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7396 .loc 1 2797 3 discriminator 1 view .LVU2491
7397 002a 0220 movs r0, #2
7398 .LVL664:
2809:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7399 .loc 1 2809 1 view .LVU2492
7400 002c 7047 bx lr
7401 .cfi_endproc
7402 .LFE182:
7404 .section .text.HAL_UART_GetState,"ax",%progbits
7405 .align 1
7406 .global HAL_UART_GetState
7407 .syntax unified
7408 .thumb
7409 .thumb_func
7411 HAL_UART_GetState:
7412 .LVL665:
7413 .LFB183:
2838:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t temp1;
7414 .loc 1 2838 1 is_stmt 1 view -0
7415 .cfi_startproc
7416 @ args = 0, pretend = 0, frame = 0
7417 @ frame_needed = 0, uses_anonymous_args = 0
7418 @ link register save eliminated.
2839:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t temp2;
7419 .loc 1 2839 3 view .LVU2494
2840:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** temp1 = huart->gState;
7420 .loc 1 2840 3 view .LVU2495
2841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** temp2 = huart->RxState;
7421 .loc 1 2841 3 view .LVU2496
2841:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** temp2 = huart->RxState;
7422 .loc 1 2841 9 is_stmt 0 view .LVU2497
7423 0000 C26F ldr r2, [r0, #124]
7424 .LVL666:
2842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7425 .loc 1 2842 3 is_stmt 1 view .LVU2498
2842:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7426 .loc 1 2842 9 is_stmt 0 view .LVU2499
7427 0002 D0F88000 ldr r0, [r0, #128]
7428 .LVL667:
2844:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7429 .loc 1 2844 3 is_stmt 1 view .LVU2500
2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7430 .loc 1 2845 1 is_stmt 0 view .LVU2501
7431 0006 1043 orrs r0, r0, r2
7432 .LVL668:
2845:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7433 .loc 1 2845 1 view .LVU2502
7434 0008 7047 bx lr
7435 .cfi_endproc
7436 .LFE183:
7438 .section .text.HAL_UART_GetError,"ax",%progbits
7439 .align 1
7440 .global HAL_UART_GetError
ARM GAS /tmp/ccQxTlMj.s page 260
7441 .syntax unified
7442 .thumb
7443 .thumb_func
7445 HAL_UART_GetError:
7446 .LVL669:
7447 .LFB184:
2854:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** return huart->ErrorCode;
7448 .loc 1 2854 1 is_stmt 1 view -0
7449 .cfi_startproc
7450 @ args = 0, pretend = 0, frame = 0
7451 @ frame_needed = 0, uses_anonymous_args = 0
7452 @ link register save eliminated.
2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7453 .loc 1 2855 3 view .LVU2504
2855:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7454 .loc 1 2855 15 is_stmt 0 view .LVU2505
7455 0000 D0F88400 ldr r0, [r0, #132]
7456 .LVL670:
2856:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /**
7457 .loc 1 2856 1 view .LVU2506
7458 0004 7047 bx lr
7459 .cfi_endproc
7460 .LFE184:
7462 .section .text.UART_SetConfig,"ax",%progbits
7463 .align 1
7464 .global UART_SetConfig
7465 .syntax unified
7466 .thumb
7467 .thumb_func
7469 UART_SetConfig:
7470 .LVL671:
7471 .LFB185:
2902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tmpreg;
7472 .loc 1 2902 1 is_stmt 1 view -0
7473 .cfi_startproc
7474 @ args = 0, pretend = 0, frame = 0
7475 @ frame_needed = 0, uses_anonymous_args = 0
2902:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tmpreg;
7476 .loc 1 2902 1 is_stmt 0 view .LVU2508
7477 0000 10B5 push {r4, lr}
7478 .LCFI29:
7479 .cfi_def_cfa_offset 8
7480 .cfi_offset 4, -8
7481 .cfi_offset 14, -4
7482 0002 0446 mov r4, r0
2903:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t brrtemp;
7483 .loc 1 2903 3 is_stmt 1 view .LVU2509
2904:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource;
7484 .loc 1 2904 3 view .LVU2510
2905:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t usartdiv;
7485 .loc 1 2905 3 view .LVU2511
2906:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK;
7486 .loc 1 2906 3 view .LVU2512
2907:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t pclk;
7487 .loc 1 2907 3 view .LVU2513
7488 .LVL672:
2908:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 261
7489 .loc 1 2908 3 view .LVU2514
2911:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
7490 .loc 1 2911 3 view .LVU2515
2912:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
7491 .loc 1 2912 3 view .LVU2516
2913:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling));
7492 .loc 1 2913 3 view .LVU2517
2914:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7493 .loc 1 2914 3 view .LVU2518
2916:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
7494 .loc 1 2916 3 view .LVU2519
2917:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
7495 .loc 1 2917 3 view .LVU2520
2918:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
7496 .loc 1 2918 3 view .LVU2521
2919:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7497 .loc 1 2919 3 view .LVU2522
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7498 .loc 1 2928 3 view .LVU2523
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7499 .loc 1 2928 33 is_stmt 0 view .LVU2524
7500 0004 8368 ldr r3, [r0, #8]
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7501 .loc 1 2928 58 view .LVU2525
7502 0006 0269 ldr r2, [r0, #16]
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7503 .loc 1 2928 45 view .LVU2526
7504 0008 1343 orrs r3, r3, r2
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7505 .loc 1 2928 79 view .LVU2527
7506 000a 4269 ldr r2, [r0, #20]
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7507 .loc 1 2928 66 view .LVU2528
7508 000c 1343 orrs r3, r3, r2
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7509 .loc 1 2928 98 view .LVU2529
7510 000e C269 ldr r2, [r0, #28]
2928:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7511 .loc 1 2928 10 view .LVU2530
7512 0010 1343 orrs r3, r3, r2
7513 .LVL673:
2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7514 .loc 1 2929 3 is_stmt 1 view .LVU2531
7515 0012 0168 ldr r1, [r0]
7516 0014 0868 ldr r0, [r1]
7517 .LVL674:
2929:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7518 .loc 1 2929 3 is_stmt 0 view .LVU2532
7519 0016 914A ldr r2, .L384
7520 0018 0240 ands r2, r2, r0
7521 001a 1A43 orrs r2, r2, r3
7522 001c 0A60 str r2, [r1]
2934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7523 .loc 1 2934 3 is_stmt 1 view .LVU2533
7524 001e 2268 ldr r2, [r4]
7525 0020 5368 ldr r3, [r2, #4]
7526 .LVL675:
ARM GAS /tmp/ccQxTlMj.s page 262
2934:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7527 .loc 1 2934 3 is_stmt 0 view .LVU2534
7528 0022 23F44053 bic r3, r3, #12288
7529 0026 E168 ldr r1, [r4, #12]
7530 0028 0B43 orrs r3, r3, r1
7531 002a 5360 str r3, [r2, #4]
2942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7532 .loc 1 2942 3 is_stmt 1 view .LVU2535
2942:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7533 .loc 1 2942 10 is_stmt 0 view .LVU2536
7534 002c A269 ldr r2, [r4, #24]
7535 .LVL676:
2944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
7536 .loc 1 2944 3 is_stmt 1 view .LVU2537
2944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
7537 .loc 1 2944 24 is_stmt 0 view .LVU2538
7538 002e 236A ldr r3, [r4, #32]
2944:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
7539 .loc 1 2944 10 view .LVU2539
7540 0030 1A43 orrs r2, r2, r3
7541 .LVL677:
2945:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7542 .loc 1 2945 3 is_stmt 1 view .LVU2540
7543 0032 2168 ldr r1, [r4]
7544 0034 8B68 ldr r3, [r1, #8]
7545 0036 23F43063 bic r3, r3, #2816
7546 003a 1343 orrs r3, r3, r2
7547 003c 8B60 str r3, [r1, #8]
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7548 .loc 1 2949 3 view .LVU2541
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7549 .loc 1 2949 3 view .LVU2542
7550 003e 2368 ldr r3, [r4]
7551 0040 874A ldr r2, .L384+4
7552 .LVL678:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7553 .loc 1 2949 3 is_stmt 0 view .LVU2543
7554 0042 9342 cmp r3, r2
7555 0044 18D0 beq .L375
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7556 .loc 1 2949 3 is_stmt 1 discriminator 2 view .LVU2544
7557 0046 874A ldr r2, .L384+8
7558 0048 9342 cmp r3, r2
7559 004a 3AD0 beq .L376
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7560 .loc 1 2949 3 discriminator 9 view .LVU2545
7561 004c 864A ldr r2, .L384+12
7562 004e 9342 cmp r3, r2
7563 0050 4FD0 beq .L377
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7564 .loc 1 2949 3 discriminator 16 view .LVU2546
7565 0052 864A ldr r2, .L384+16
7566 0054 9342 cmp r3, r2
7567 0056 5ED0 beq .L378
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7568 .loc 1 2949 3 discriminator 23 view .LVU2547
7569 0058 854A ldr r2, .L384+20
ARM GAS /tmp/ccQxTlMj.s page 263
7570 005a 9342 cmp r3, r2
7571 005c 6DD0 beq .L379
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7572 .loc 1 2949 3 discriminator 30 view .LVU2548
7573 005e 854A ldr r2, .L384+24
7574 0060 9342 cmp r3, r2
7575 0062 7FD0 beq .L380
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7576 .loc 1 2949 3 discriminator 37 view .LVU2549
7577 0064 844A ldr r2, .L384+28
7578 0066 9342 cmp r3, r2
7579 0068 00F09180 beq .L381
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7580 .loc 1 2949 3 discriminator 44 view .LVU2550
7581 006c 834A ldr r2, .L384+32
7582 006e 9342 cmp r3, r2
7583 0070 00F0A280 beq .L382
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7584 .loc 1 2949 3 is_stmt 0 discriminator 51 view .LVU2551
7585 0074 1023 movs r3, #16
7586 0076 0BE0 b .L302
7587 .L375:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7588 .loc 1 2949 3 is_stmt 1 discriminator 1 view .LVU2552
7589 0078 814B ldr r3, .L384+36
7590 007a D3F89030 ldr r3, [r3, #144]
7591 007e 03F00303 and r3, r3, #3
7592 0082 032B cmp r3, #3
7593 0084 1BD8 bhi .L299
7594 0086 DFE803F0 tbb [pc, r3]
7595 .L301:
7596 008a 02 .byte (.L304-.L301)/2
7597 008b 16 .byte (.L303-.L301)/2
7598 008c AB .byte (.L338-.L301)/2
7599 008d 18 .byte (.L300-.L301)/2
7600 .p2align 1
7601 .L304:
7602 008e 0123 movs r3, #1
7603 .L302:
7604 .LVL679:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7605 .loc 1 2949 3 discriminator 57 view .LVU2553
2951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
7606 .loc 1 2951 3 view .LVU2554
2951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
7607 .loc 1 2951 18 is_stmt 0 view .LVU2555
7608 0090 E069 ldr r0, [r4, #28]
2951:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
7609 .loc 1 2951 6 view .LVU2556
7610 0092 B0F5004F cmp r0, #32768
7611 0096 00F0D780 beq .L383
2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
7612 .loc 1 2994 5 is_stmt 1 view .LVU2557
7613 009a 082B cmp r3, #8
7614 009c 00F23881 bhi .L369
7615 00a0 DFE813F0 tbh [pc, r3, lsl #1]
7616 .L332:
ARM GAS /tmp/ccQxTlMj.s page 264
7617 00a4 1401 .2byte (.L336-.L332)/2
7618 00a6 2701 .2byte (.L335-.L332)/2
7619 00a8 1201 .2byte (.L334-.L332)/2
7620 00aa 3601 .2byte (.L369-.L332)/2
7621 00ac 2A01 .2byte (.L333-.L332)/2
7622 00ae 3601 .2byte (.L369-.L332)/2
7623 00b0 3601 .2byte (.L369-.L332)/2
7624 00b2 3601 .2byte (.L369-.L332)/2
7625 00b4 2D01 .2byte (.L370-.L332)/2
7626 .LVL680:
7627 .p2align 1
7628 .L303:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7629 .loc 1 2949 3 discriminator 5 view .LVU2558
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7630 .loc 1 2949 3 discriminator 5 view .LVU2559
7631 00b6 0423 movs r3, #4
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7632 .loc 1 2949 3 is_stmt 0 view .LVU2560
7633 00b8 EAE7 b .L302
7634 .LVL681:
7635 .L300:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7636 .loc 1 2949 3 is_stmt 1 discriminator 7 view .LVU2561
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7637 .loc 1 2949 3 discriminator 7 view .LVU2562
7638 00ba 0823 movs r3, #8
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7639 .loc 1 2949 3 is_stmt 0 view .LVU2563
7640 00bc E8E7 b .L302
7641 .LVL682:
7642 .L299:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7643 .loc 1 2949 3 is_stmt 1 discriminator 3 view .LVU2564
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7644 .loc 1 2949 3 discriminator 3 view .LVU2565
7645 00be 1023 movs r3, #16
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7646 .loc 1 2949 3 is_stmt 0 view .LVU2566
7647 00c0 E6E7 b .L302
7648 .LVL683:
7649 .L376:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7650 .loc 1 2949 3 is_stmt 1 discriminator 8 view .LVU2567
7651 00c2 6F4B ldr r3, .L384+36
7652 00c4 D3F89030 ldr r3, [r3, #144]
7653 00c8 03F00C03 and r3, r3, #12
7654 00cc 0C2B cmp r3, #12
7655 00ce 0ED8 bhi .L306
7656 00d0 DFE803F0 tbb [pc, r3]
7657 .L308:
7658 00d4 07 .byte (.L310-.L308)/2
7659 00d5 0D .byte (.L306-.L308)/2
7660 00d6 0D .byte (.L306-.L308)/2
7661 00d7 0D .byte (.L306-.L308)/2
7662 00d8 09 .byte (.L309-.L308)/2
7663 00d9 0D .byte (.L306-.L308)/2
ARM GAS /tmp/ccQxTlMj.s page 265
7664 00da 0D .byte (.L306-.L308)/2
7665 00db 0D .byte (.L306-.L308)/2
7666 00dc 88 .byte (.L339-.L308)/2
7667 00dd 0D .byte (.L306-.L308)/2
7668 00de 0D .byte (.L306-.L308)/2
7669 00df 0D .byte (.L306-.L308)/2
7670 00e0 0B .byte (.L307-.L308)/2
7671 00e1 00 .p2align 1
7672 .L310:
7673 00e2 0023 movs r3, #0
7674 00e4 D4E7 b .L302
7675 .L309:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7676 .loc 1 2949 3 discriminator 12 view .LVU2568
7677 .LVL684:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7678 .loc 1 2949 3 discriminator 12 view .LVU2569
7679 00e6 0423 movs r3, #4
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7680 .loc 1 2949 3 is_stmt 0 view .LVU2570
7681 00e8 D2E7 b .L302
7682 .LVL685:
7683 .L307:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7684 .loc 1 2949 3 is_stmt 1 discriminator 14 view .LVU2571
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7685 .loc 1 2949 3 discriminator 14 view .LVU2572
7686 00ea 0823 movs r3, #8
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7687 .loc 1 2949 3 is_stmt 0 view .LVU2573
7688 00ec D0E7 b .L302
7689 .LVL686:
7690 .L306:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7691 .loc 1 2949 3 is_stmt 1 discriminator 10 view .LVU2574
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7692 .loc 1 2949 3 discriminator 10 view .LVU2575
7693 00ee 1023 movs r3, #16
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7694 .loc 1 2949 3 is_stmt 0 view .LVU2576
7695 00f0 CEE7 b .L302
7696 .LVL687:
7697 .L377:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7698 .loc 1 2949 3 is_stmt 1 discriminator 15 view .LVU2577
7699 00f2 634B ldr r3, .L384+36
7700 00f4 D3F89030 ldr r3, [r3, #144]
7701 00f8 03F03003 and r3, r3, #48
7702 00fc 202B cmp r3, #32
7703 00fe 73D0 beq .L340
7704 0100 05D8 bhi .L312
7705 0102 002B cmp r3, #0
7706 0104 72D0 beq .L341
7707 0106 102B cmp r3, #16
7708 0108 72D1 bne .L342
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7709 .loc 1 2949 3 is_stmt 0 discriminator 19 view .LVU2578
ARM GAS /tmp/ccQxTlMj.s page 266
7710 010a 0423 movs r3, #4
7711 010c C0E7 b .L302
7712 .L312:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7713 .loc 1 2949 3 discriminator 15 view .LVU2579
7714 010e 302B cmp r3, #48
7715 0110 70D1 bne .L343
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7716 .loc 1 2949 3 discriminator 21 view .LVU2580
7717 0112 0823 movs r3, #8
7718 0114 BCE7 b .L302
7719 .L378:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7720 .loc 1 2949 3 is_stmt 1 discriminator 22 view .LVU2581
7721 0116 5A4B ldr r3, .L384+36
7722 0118 D3F89030 ldr r3, [r3, #144]
7723 011c 03F0C003 and r3, r3, #192
7724 0120 802B cmp r3, #128
7725 0122 69D0 beq .L344
7726 0124 05D8 bhi .L314
7727 0126 002B cmp r3, #0
7728 0128 68D0 beq .L345
7729 012a 402B cmp r3, #64
7730 012c 68D1 bne .L346
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7731 .loc 1 2949 3 is_stmt 0 discriminator 26 view .LVU2582
7732 012e 0423 movs r3, #4
7733 0130 AEE7 b .L302
7734 .L314:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7735 .loc 1 2949 3 discriminator 22 view .LVU2583
7736 0132 C02B cmp r3, #192
7737 0134 66D1 bne .L347
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7738 .loc 1 2949 3 discriminator 28 view .LVU2584
7739 0136 0823 movs r3, #8
7740 0138 AAE7 b .L302
7741 .L379:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7742 .loc 1 2949 3 is_stmt 1 discriminator 29 view .LVU2585
7743 013a 514B ldr r3, .L384+36
7744 013c D3F89030 ldr r3, [r3, #144]
7745 0140 03F44073 and r3, r3, #768
7746 0144 B3F5007F cmp r3, #512
7747 0148 5ED0 beq .L348
7748 014a 06D8 bhi .L316
7749 014c 002B cmp r3, #0
7750 014e 5DD0 beq .L349
7751 0150 B3F5807F cmp r3, #256
7752 0154 5CD1 bne .L350
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7753 .loc 1 2949 3 is_stmt 0 discriminator 33 view .LVU2586
7754 0156 0423 movs r3, #4
7755 0158 9AE7 b .L302
7756 .L316:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7757 .loc 1 2949 3 discriminator 29 view .LVU2587
ARM GAS /tmp/ccQxTlMj.s page 267
7758 015a B3F5407F cmp r3, #768
7759 015e 59D1 bne .L351
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7760 .loc 1 2949 3 discriminator 35 view .LVU2588
7761 0160 0823 movs r3, #8
7762 0162 95E7 b .L302
7763 .L380:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7764 .loc 1 2949 3 is_stmt 1 discriminator 36 view .LVU2589
7765 0164 464B ldr r3, .L384+36
7766 0166 D3F89030 ldr r3, [r3, #144]
7767 016a 03F44063 and r3, r3, #3072
7768 016e B3F5006F cmp r3, #2048
7769 0172 51D0 beq .L352
7770 0174 06D8 bhi .L318
7771 0176 002B cmp r3, #0
7772 0178 50D0 beq .L353
7773 017a B3F5806F cmp r3, #1024
7774 017e 4FD1 bne .L354
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7775 .loc 1 2949 3 is_stmt 0 discriminator 40 view .LVU2590
7776 0180 0423 movs r3, #4
7777 0182 85E7 b .L302
7778 .L318:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7779 .loc 1 2949 3 discriminator 36 view .LVU2591
7780 0184 B3F5406F cmp r3, #3072
7781 0188 4CD1 bne .L355
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7782 .loc 1 2949 3 discriminator 42 view .LVU2592
7783 018a 0823 movs r3, #8
7784 018c 80E7 b .L302
7785 .L381:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7786 .loc 1 2949 3 is_stmt 1 discriminator 43 view .LVU2593
7787 018e 3C4B ldr r3, .L384+36
7788 0190 D3F89030 ldr r3, [r3, #144]
7789 0194 03F44053 and r3, r3, #12288
7790 0198 B3F5005F cmp r3, #8192
7791 019c 44D0 beq .L356
7792 019e 06D8 bhi .L320
7793 01a0 002B cmp r3, #0
7794 01a2 43D0 beq .L357
7795 01a4 B3F5805F cmp r3, #4096
7796 01a8 42D1 bne .L358
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7797 .loc 1 2949 3 is_stmt 0 discriminator 47 view .LVU2594
7798 01aa 0423 movs r3, #4
7799 01ac 70E7 b .L302
7800 .L320:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7801 .loc 1 2949 3 discriminator 43 view .LVU2595
7802 01ae B3F5405F cmp r3, #12288
7803 01b2 3FD1 bne .L359
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7804 .loc 1 2949 3 discriminator 49 view .LVU2596
7805 01b4 0823 movs r3, #8
ARM GAS /tmp/ccQxTlMj.s page 268
7806 01b6 6BE7 b .L302
7807 .L382:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7808 .loc 1 2949 3 is_stmt 1 discriminator 50 view .LVU2597
7809 01b8 314B ldr r3, .L384+36
7810 01ba D3F89030 ldr r3, [r3, #144]
7811 01be 03F44043 and r3, r3, #49152
7812 01c2 B3F5004F cmp r3, #32768
7813 01c6 37D0 beq .L361
7814 01c8 05D8 bhi .L321
7815 01ca BBB3 cbz r3, .L362
7816 01cc B3F5804F cmp r3, #16384
7817 01d0 36D1 bne .L363
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7818 .loc 1 2949 3 is_stmt 0 discriminator 54 view .LVU2598
7819 01d2 0423 movs r3, #4
7820 01d4 5CE7 b .L302
7821 .L321:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7822 .loc 1 2949 3 discriminator 50 view .LVU2599
7823 01d6 B3F5404F cmp r3, #49152
7824 01da 33D1 bne .L364
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7825 .loc 1 2949 3 discriminator 56 view .LVU2600
7826 01dc 0823 movs r3, #8
7827 01de 57E7 b .L302
7828 .L338:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7829 .loc 1 2949 3 discriminator 6 view .LVU2601
7830 01e0 0223 movs r3, #2
7831 01e2 55E7 b .L302
7832 .L339:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7833 .loc 1 2949 3 discriminator 13 view .LVU2602
7834 01e4 0223 movs r3, #2
7835 01e6 53E7 b .L302
7836 .L340:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7837 .loc 1 2949 3 discriminator 20 view .LVU2603
7838 01e8 0223 movs r3, #2
7839 01ea 51E7 b .L302
7840 .L341:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7841 .loc 1 2949 3 discriminator 15 view .LVU2604
7842 01ec 0023 movs r3, #0
7843 01ee 4FE7 b .L302
7844 .L342:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7845 .loc 1 2949 3 discriminator 17 view .LVU2605
7846 01f0 1023 movs r3, #16
7847 01f2 4DE7 b .L302
7848 .L343:
7849 01f4 1023 movs r3, #16
7850 01f6 4BE7 b .L302
7851 .L344:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7852 .loc 1 2949 3 discriminator 27 view .LVU2606
ARM GAS /tmp/ccQxTlMj.s page 269
7853 01f8 0223 movs r3, #2
7854 01fa 49E7 b .L302
7855 .L345:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7856 .loc 1 2949 3 discriminator 22 view .LVU2607
7857 01fc 0023 movs r3, #0
7858 01fe 47E7 b .L302
7859 .L346:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7860 .loc 1 2949 3 discriminator 24 view .LVU2608
7861 0200 1023 movs r3, #16
7862 0202 45E7 b .L302
7863 .L347:
7864 0204 1023 movs r3, #16
7865 0206 43E7 b .L302
7866 .L348:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7867 .loc 1 2949 3 discriminator 34 view .LVU2609
7868 0208 0223 movs r3, #2
7869 020a 41E7 b .L302
7870 .L349:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7871 .loc 1 2949 3 discriminator 29 view .LVU2610
7872 020c 0023 movs r3, #0
7873 020e 3FE7 b .L302
7874 .L350:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7875 .loc 1 2949 3 discriminator 31 view .LVU2611
7876 0210 1023 movs r3, #16
7877 0212 3DE7 b .L302
7878 .L351:
7879 0214 1023 movs r3, #16
7880 0216 3BE7 b .L302
7881 .L352:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7882 .loc 1 2949 3 discriminator 41 view .LVU2612
7883 0218 0223 movs r3, #2
7884 021a 39E7 b .L302
7885 .L353:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7886 .loc 1 2949 3 discriminator 36 view .LVU2613
7887 021c 0123 movs r3, #1
7888 021e 37E7 b .L302
7889 .L354:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7890 .loc 1 2949 3 discriminator 38 view .LVU2614
7891 0220 1023 movs r3, #16
7892 0222 35E7 b .L302
7893 .L355:
7894 0224 1023 movs r3, #16
7895 0226 33E7 b .L302
7896 .L356:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7897 .loc 1 2949 3 discriminator 48 view .LVU2615
7898 0228 0223 movs r3, #2
7899 022a 31E7 b .L302
7900 .L357:
ARM GAS /tmp/ccQxTlMj.s page 270
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7901 .loc 1 2949 3 discriminator 43 view .LVU2616
7902 022c 0023 movs r3, #0
7903 022e 2FE7 b .L302
7904 .L358:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7905 .loc 1 2949 3 discriminator 45 view .LVU2617
7906 0230 1023 movs r3, #16
7907 0232 2DE7 b .L302
7908 .L359:
7909 0234 1023 movs r3, #16
7910 0236 2BE7 b .L302
7911 .L361:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7912 .loc 1 2949 3 discriminator 55 view .LVU2618
7913 0238 0223 movs r3, #2
7914 023a 29E7 b .L302
7915 .L362:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7916 .loc 1 2949 3 discriminator 50 view .LVU2619
7917 023c 0023 movs r3, #0
7918 023e 27E7 b .L302
7919 .L363:
2949:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
7920 .loc 1 2949 3 discriminator 52 view .LVU2620
7921 0240 1023 movs r3, #16
7922 0242 25E7 b .L302
7923 .L364:
7924 0244 1023 movs r3, #16
7925 0246 23E7 b .L302
7926 .LVL688:
7927 .L383:
2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
7928 .loc 1 2953 5 is_stmt 1 view .LVU2621
7929 0248 082B cmp r3, #8
7930 024a 5BD8 bhi .L365
7931 024c DFE803F0 tbb [pc, r3]
7932 .L325:
7933 0250 1A .byte (.L329-.L325)/2
7934 0251 34 .byte (.L328-.L325)/2
7935 0252 3A .byte (.L366-.L325)/2
7936 0253 5A .byte (.L365-.L325)/2
7937 0254 37 .byte (.L326-.L325)/2
7938 0255 5A .byte (.L365-.L325)/2
7939 0256 5A .byte (.L365-.L325)/2
7940 0257 5A .byte (.L365-.L325)/2
7941 0258 1E .byte (.L327-.L325)/2
7942 0259 00 .p2align 1
7943 .L385:
7944 025a 00BF .align 2
7945 .L384:
7946 025c F369FFEF .word -268473869
7947 0260 00100140 .word 1073811456
7948 0264 00440040 .word 1073759232
7949 0268 00480040 .word 1073760256
7950 026c 004C0040 .word 1073761280
7951 0270 00500040 .word 1073762304
ARM GAS /tmp/ccQxTlMj.s page 271
7952 0274 00140140 .word 1073812480
7953 0278 00780040 .word 1073772544
7954 027c 007C0040 .word 1073773568
7955 0280 00380240 .word 1073887232
7956 .L329:
2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
7957 .loc 1 2956 9 view .LVU2622
2956:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
7958 .loc 1 2956 16 is_stmt 0 view .LVU2623
7959 0284 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
7960 .LVL689:
2957:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
7961 .loc 1 2957 9 is_stmt 1 view .LVU2624
7962 .L330:
2977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
7963 .loc 1 2977 5 view .LVU2625
2977:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
7964 .loc 1 2977 8 is_stmt 0 view .LVU2626
7965 0288 0028 cmp r0, #0
7966 028a 3DD0 beq .L367
7967 .LVL690:
7968 .L327:
2979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
7969 .loc 1 2979 7 is_stmt 1 view .LVU2627
2979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
7970 .loc 1 2979 29 is_stmt 0 view .LVU2628
7971 028c 6268 ldr r2, [r4, #4]
7972 028e 5308 lsrs r3, r2, #1
7973 0290 03EB4003 add r3, r3, r0, lsl #1
2979:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
7974 .loc 1 2979 16 view .LVU2629
7975 0294 B3FBF2F3 udiv r3, r3, r2
7976 .LVL691:
2980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
7977 .loc 1 2980 7 is_stmt 1 view .LVU2630
2980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
7978 .loc 1 2980 38 is_stmt 0 view .LVU2631
7979 0298 A3F11001 sub r1, r3, #16
2980:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
7980 .loc 1 2980 10 view .LVU2632
7981 029c 4FF6EF72 movw r2, #65519
7982 02a0 9142 cmp r1, r2
7983 02a2 33D8 bhi .L368
2982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
7984 .loc 1 2982 9 is_stmt 1 view .LVU2633
2982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
7985 .loc 1 2982 19 is_stmt 0 view .LVU2634
7986 02a4 9AB2 uxth r2, r3
2982:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
7987 .loc 1 2982 17 view .LVU2635
7988 02a6 22F00F02 bic r2, r2, #15
7989 .LVL692:
2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
7990 .loc 1 2983 9 is_stmt 1 view .LVU2636
2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
7991 .loc 1 2983 20 is_stmt 0 view .LVU2637
7992 02aa C3F34203 ubfx r3, r3, #1, #3
ARM GAS /tmp/ccQxTlMj.s page 272
7993 .LVL693:
2983:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
7994 .loc 1 2983 17 view .LVU2638
7995 02ae 1343 orrs r3, r3, r2
7996 .LVL694:
2984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7997 .loc 1 2984 9 is_stmt 1 view .LVU2639
2984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
7998 .loc 1 2984 14 is_stmt 0 view .LVU2640
7999 02b0 2268 ldr r2, [r4]
2984:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8000 .loc 1 2984 30 view .LVU2641
8001 02b2 D360 str r3, [r2, #12]
8002 02b4 0020 movs r0, #0
8003 02b6 30E0 b .L323
8004 .LVL695:
8005 .L328:
2959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8006 .loc 1 2959 9 is_stmt 1 view .LVU2642
2959:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8007 .loc 1 2959 16 is_stmt 0 view .LVU2643
8008 02b8 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
8009 .LVL696:
2960:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
8010 .loc 1 2960 9 is_stmt 1 view .LVU2644
8011 02bc E4E7 b .L330
8012 .LVL697:
8013 .L326:
2965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8014 .loc 1 2965 9 view .LVU2645
2965:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8015 .loc 1 2965 16 is_stmt 0 view .LVU2646
8016 02be FFF7FEFF bl HAL_RCC_GetSysClockFreq
8017 .LVL698:
2966:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
8018 .loc 1 2966 9 is_stmt 1 view .LVU2647
8019 02c2 E1E7 b .L330
8020 .LVL699:
8021 .L366:
2962:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8022 .loc 1 2962 14 is_stmt 0 view .LVU2648
8023 02c4 1748 ldr r0, .L386
8024 02c6 E1E7 b .L327
8025 .L334:
2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8026 .loc 1 2994 5 view .LVU2649
8027 02c8 1648 ldr r0, .L386
8028 02ca 02E0 b .L331
8029 .L336:
2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8030 .loc 1 2997 9 is_stmt 1 view .LVU2650
2997:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8031 .loc 1 2997 16 is_stmt 0 view .LVU2651
8032 02cc FFF7FEFF bl HAL_RCC_GetPCLK1Freq
8033 .LVL700:
2998:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
8034 .loc 1 2998 9 is_stmt 1 view .LVU2652
ARM GAS /tmp/ccQxTlMj.s page 273
8035 .L337:
3017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8036 .loc 1 3017 5 view .LVU2653
3017:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8037 .loc 1 3017 8 is_stmt 0 view .LVU2654
8038 02d0 00B3 cbz r0, .L371
8039 .LVL701:
8040 .L331:
3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
8041 .loc 1 3020 7 is_stmt 1 view .LVU2655
3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
8042 .loc 1 3020 29 is_stmt 0 view .LVU2656
8043 02d2 6368 ldr r3, [r4, #4]
8044 02d4 00EB5300 add r0, r0, r3, lsr #1
3020:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
8045 .loc 1 3020 16 view .LVU2657
8046 02d8 B0FBF3F0 udiv r0, r0, r3
8047 .LVL702:
3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8048 .loc 1 3021 7 is_stmt 1 view .LVU2658
3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8049 .loc 1 3021 38 is_stmt 0 view .LVU2659
8050 02dc A0F11002 sub r2, r0, #16
3021:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8051 .loc 1 3021 10 view .LVU2660
8052 02e0 4FF6EF73 movw r3, #65519
8053 02e4 9A42 cmp r2, r3
8054 02e6 17D8 bhi .L372
3023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8055 .loc 1 3023 9 is_stmt 1 view .LVU2661
3023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8056 .loc 1 3023 14 is_stmt 0 view .LVU2662
8057 02e8 2368 ldr r3, [r4]
8058 02ea 80B2 uxth r0, r0
8059 .LVL703:
3023:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8060 .loc 1 3023 30 view .LVU2663
8061 02ec D860 str r0, [r3, #12]
8062 02ee 0020 movs r0, #0
8063 02f0 13E0 b .L323
8064 .LVL704:
8065 .L335:
3000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8066 .loc 1 3000 9 is_stmt 1 view .LVU2664
3000:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8067 .loc 1 3000 16 is_stmt 0 view .LVU2665
8068 02f2 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
8069 .LVL705:
3001:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
8070 .loc 1 3001 9 is_stmt 1 view .LVU2666
8071 02f6 EBE7 b .L337
8072 .LVL706:
8073 .L333:
3006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8074 .loc 1 3006 9 view .LVU2667
3006:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8075 .loc 1 3006 16 is_stmt 0 view .LVU2668
ARM GAS /tmp/ccQxTlMj.s page 274
8076 02f8 FFF7FEFF bl HAL_RCC_GetSysClockFreq
8077 .LVL707:
3007:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
8078 .loc 1 3007 9 is_stmt 1 view .LVU2669
8079 02fc E8E7 b .L337
8080 .LVL708:
8081 .L370:
3009:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** break;
8082 .loc 1 3009 14 is_stmt 0 view .LVU2670
8083 02fe 4FF40040 mov r0, #32768
8084 0302 E6E7 b .L331
8085 .L365:
2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8086 .loc 1 2953 5 view .LVU2671
8087 0304 0120 movs r0, #1
8088 0306 08E0 b .L323
8089 .LVL709:
8090 .L367:
2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8091 .loc 1 2953 5 view .LVU2672
8092 0308 0020 movs r0, #0
8093 .LVL710:
2953:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8094 .loc 1 2953 5 view .LVU2673
8095 030a 06E0 b .L323
8096 .LVL711:
8097 .L368:
2988:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8098 .loc 1 2988 13 view .LVU2674
8099 030c 0120 movs r0, #1
8100 030e 04E0 b .L323
8101 .LVL712:
8102 .L369:
2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8103 .loc 1 2994 5 view .LVU2675
8104 0310 0120 movs r0, #1
8105 0312 02E0 b .L323
8106 .LVL713:
8107 .L371:
2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8108 .loc 1 2994 5 view .LVU2676
8109 0314 0020 movs r0, #0
8110 .LVL714:
2994:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8111 .loc 1 2994 5 view .LVU2677
8112 0316 00E0 b .L323
8113 .LVL715:
8114 .L372:
3027:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8115 .loc 1 3027 13 view .LVU2678
8116 0318 0120 movs r0, #1
8117 .LVL716:
8118 .L323:
3034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
8119 .loc 1 3034 3 is_stmt 1 view .LVU2679
3034:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxISR = NULL;
8120 .loc 1 3034 16 is_stmt 0 view .LVU2680
ARM GAS /tmp/ccQxTlMj.s page 275
8121 031a 0023 movs r3, #0
8122 031c A366 str r3, [r4, #104]
3035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8123 .loc 1 3035 3 is_stmt 1 view .LVU2681
3035:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8124 .loc 1 3035 16 is_stmt 0 view .LVU2682
8125 031e E366 str r3, [r4, #108]
3037:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8126 .loc 1 3037 3 is_stmt 1 view .LVU2683
3038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8127 .loc 1 3038 1 is_stmt 0 view .LVU2684
8128 0320 10BD pop {r4, pc}
8129 .LVL717:
8130 .L387:
3038:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8131 .loc 1 3038 1 view .LVU2685
8132 0322 00BF .align 2
8133 .L386:
8134 0324 0024F400 .word 16000000
8135 .cfi_endproc
8136 .LFE185:
8138 .section .text.UART_AdvFeatureConfig,"ax",%progbits
8139 .align 1
8140 .global UART_AdvFeatureConfig
8141 .syntax unified
8142 .thumb
8143 .thumb_func
8145 UART_AdvFeatureConfig:
8146 .LVL718:
8147 .LFB186:
3046:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
8148 .loc 1 3046 1 is_stmt 1 view -0
8149 .cfi_startproc
8150 @ args = 0, pretend = 0, frame = 0
8151 @ frame_needed = 0, uses_anonymous_args = 0
8152 @ link register save eliminated.
3048:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8153 .loc 1 3048 3 view .LVU2687
3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8154 .loc 1 3051 3 view .LVU2688
3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8155 .loc 1 3051 7 is_stmt 0 view .LVU2689
8156 0000 436A ldr r3, [r0, #36]
3051:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8157 .loc 1 3051 6 view .LVU2690
8158 0002 13F0080F tst r3, #8
8159 0006 06D0 beq .L389
3053:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
8160 .loc 1 3053 5 is_stmt 1 view .LVU2691
3054:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8161 .loc 1 3054 5 view .LVU2692
8162 0008 0268 ldr r2, [r0]
8163 000a 5368 ldr r3, [r2, #4]
8164 000c 23F40043 bic r3, r3, #32768
8165 0010 416B ldr r1, [r0, #52]
8166 0012 0B43 orrs r3, r3, r1
8167 0014 5360 str r3, [r2, #4]
ARM GAS /tmp/ccQxTlMj.s page 276
8168 .L389:
3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8169 .loc 1 3058 3 view .LVU2693
3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8170 .loc 1 3058 7 is_stmt 0 view .LVU2694
8171 0016 436A ldr r3, [r0, #36]
3058:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8172 .loc 1 3058 6 view .LVU2695
8173 0018 13F0010F tst r3, #1
8174 001c 06D0 beq .L390
3060:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
8175 .loc 1 3060 5 is_stmt 1 view .LVU2696
3061:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8176 .loc 1 3061 5 view .LVU2697
8177 001e 0268 ldr r2, [r0]
8178 0020 5368 ldr r3, [r2, #4]
8179 0022 23F40033 bic r3, r3, #131072
8180 0026 816A ldr r1, [r0, #40]
8181 0028 0B43 orrs r3, r3, r1
8182 002a 5360 str r3, [r2, #4]
8183 .L390:
3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8184 .loc 1 3065 3 view .LVU2698
3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8185 .loc 1 3065 7 is_stmt 0 view .LVU2699
8186 002c 436A ldr r3, [r0, #36]
3065:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8187 .loc 1 3065 6 view .LVU2700
8188 002e 13F0020F tst r3, #2
8189 0032 06D0 beq .L391
3067:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
8190 .loc 1 3067 5 is_stmt 1 view .LVU2701
3068:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8191 .loc 1 3068 5 view .LVU2702
8192 0034 0268 ldr r2, [r0]
8193 0036 5368 ldr r3, [r2, #4]
8194 0038 23F48033 bic r3, r3, #65536
8195 003c C16A ldr r1, [r0, #44]
8196 003e 0B43 orrs r3, r3, r1
8197 0040 5360 str r3, [r2, #4]
8198 .L391:
3072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8199 .loc 1 3072 3 view .LVU2703
3072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8200 .loc 1 3072 7 is_stmt 0 view .LVU2704
8201 0042 436A ldr r3, [r0, #36]
3072:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8202 .loc 1 3072 6 view .LVU2705
8203 0044 13F0040F tst r3, #4
8204 0048 06D0 beq .L392
3074:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
8205 .loc 1 3074 5 is_stmt 1 view .LVU2706
3075:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8206 .loc 1 3075 5 view .LVU2707
8207 004a 0268 ldr r2, [r0]
8208 004c 5368 ldr r3, [r2, #4]
8209 004e 23F48023 bic r3, r3, #262144
ARM GAS /tmp/ccQxTlMj.s page 277
8210 0052 016B ldr r1, [r0, #48]
8211 0054 0B43 orrs r3, r3, r1
8212 0056 5360 str r3, [r2, #4]
8213 .L392:
3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8214 .loc 1 3079 3 view .LVU2708
3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8215 .loc 1 3079 7 is_stmt 0 view .LVU2709
8216 0058 436A ldr r3, [r0, #36]
3079:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8217 .loc 1 3079 6 view .LVU2710
8218 005a 13F0100F tst r3, #16
8219 005e 06D0 beq .L393
3081:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
8220 .loc 1 3081 5 is_stmt 1 view .LVU2711
3082:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8221 .loc 1 3082 5 view .LVU2712
8222 0060 0268 ldr r2, [r0]
8223 0062 9368 ldr r3, [r2, #8]
8224 0064 23F48053 bic r3, r3, #4096
8225 0068 816B ldr r1, [r0, #56]
8226 006a 0B43 orrs r3, r3, r1
8227 006c 9360 str r3, [r2, #8]
8228 .L393:
3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8229 .loc 1 3086 3 view .LVU2713
3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8230 .loc 1 3086 7 is_stmt 0 view .LVU2714
8231 006e 436A ldr r3, [r0, #36]
3086:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8232 .loc 1 3086 6 view .LVU2715
8233 0070 13F0200F tst r3, #32
8234 0074 06D0 beq .L394
3088:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
8235 .loc 1 3088 5 is_stmt 1 view .LVU2716
3089:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8236 .loc 1 3089 5 view .LVU2717
8237 0076 0268 ldr r2, [r0]
8238 0078 9368 ldr r3, [r2, #8]
8239 007a 23F40053 bic r3, r3, #8192
8240 007e C16B ldr r1, [r0, #60]
8241 0080 0B43 orrs r3, r3, r1
8242 0082 9360 str r3, [r2, #8]
8243 .L394:
3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8244 .loc 1 3093 3 view .LVU2718
3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8245 .loc 1 3093 7 is_stmt 0 view .LVU2719
8246 0084 436A ldr r3, [r0, #36]
3093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8247 .loc 1 3093 6 view .LVU2720
8248 0086 13F0400F tst r3, #64
8249 008a 0AD0 beq .L395
3095:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
8250 .loc 1 3095 5 is_stmt 1 view .LVU2721
3096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
8251 .loc 1 3096 5 view .LVU2722
ARM GAS /tmp/ccQxTlMj.s page 278
3097:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
8252 .loc 1 3097 5 view .LVU2723
8253 008c 0268 ldr r2, [r0]
8254 008e 5368 ldr r3, [r2, #4]
8255 0090 23F48013 bic r3, r3, #1048576
8256 0094 016C ldr r1, [r0, #64]
8257 0096 0B43 orrs r3, r3, r1
8258 0098 5360 str r3, [r2, #4]
3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8259 .loc 1 3099 5 view .LVU2724
3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8260 .loc 1 3099 28 is_stmt 0 view .LVU2725
8261 009a 036C ldr r3, [r0, #64]
3099:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8262 .loc 1 3099 8 view .LVU2726
8263 009c B3F5801F cmp r3, #1048576
8264 00a0 0BD0 beq .L397
8265 .L395:
3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8266 .loc 1 3107 3 is_stmt 1 view .LVU2727
3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8267 .loc 1 3107 7 is_stmt 0 view .LVU2728
8268 00a2 436A ldr r3, [r0, #36]
3107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8269 .loc 1 3107 6 view .LVU2729
8270 00a4 13F0800F tst r3, #128
8271 00a8 06D0 beq .L388
3109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
8272 .loc 1 3109 5 is_stmt 1 view .LVU2730
3110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8273 .loc 1 3110 5 view .LVU2731
8274 00aa 0268 ldr r2, [r0]
8275 00ac 5368 ldr r3, [r2, #4]
8276 00ae 23F40023 bic r3, r3, #524288
8277 00b2 816C ldr r1, [r0, #72]
8278 00b4 0B43 orrs r3, r3, r1
8279 00b6 5360 str r3, [r2, #4]
8280 .L388:
3112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8281 .loc 1 3112 1 is_stmt 0 view .LVU2732
8282 00b8 7047 bx lr
8283 .L397:
3101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
8284 .loc 1 3101 7 is_stmt 1 view .LVU2733
3102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8285 .loc 1 3102 7 view .LVU2734
8286 00ba 0268 ldr r2, [r0]
8287 00bc 5368 ldr r3, [r2, #4]
8288 00be 23F4C003 bic r3, r3, #6291456
8289 00c2 416C ldr r1, [r0, #68]
8290 00c4 0B43 orrs r3, r3, r1
8291 00c6 5360 str r3, [r2, #4]
8292 00c8 EBE7 b .L395
8293 .cfi_endproc
8294 .LFE186:
8296 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
8297 .align 1
ARM GAS /tmp/ccQxTlMj.s page 279
8298 .global UART_WaitOnFlagUntilTimeout
8299 .syntax unified
8300 .thumb
8301 .thumb_func
8303 UART_WaitOnFlagUntilTimeout:
8304 .LVL719:
8305 .LFB188:
3192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Wait until flag is set */
8306 .loc 1 3192 1 view -0
8307 .cfi_startproc
8308 @ args = 4, pretend = 0, frame = 0
8309 @ frame_needed = 0, uses_anonymous_args = 0
3192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Wait until flag is set */
8310 .loc 1 3192 1 is_stmt 0 view .LVU2736
8311 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
8312 .LCFI30:
8313 .cfi_def_cfa_offset 32
8314 .cfi_offset 3, -32
8315 .cfi_offset 4, -28
8316 .cfi_offset 5, -24
8317 .cfi_offset 6, -20
8318 .cfi_offset 7, -16
8319 .cfi_offset 8, -12
8320 .cfi_offset 9, -8
8321 .cfi_offset 14, -4
8322 0004 0546 mov r5, r0
8323 0006 0E46 mov r6, r1
8324 0008 1746 mov r7, r2
8325 000a 9946 mov r9, r3
8326 000c DDF82080 ldr r8, [sp, #32]
3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8327 .loc 1 3194 3 is_stmt 1 view .LVU2737
8328 .LVL720:
8329 .L400:
3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8330 .loc 1 3194 59 view .LVU2738
3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8331 .loc 1 3194 11 is_stmt 0 view .LVU2739
8332 0010 2B68 ldr r3, [r5]
8333 0012 DC69 ldr r4, [r3, #28]
3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8334 .loc 1 3194 50 view .LVU2740
8335 0014 36EA0404 bics r4, r6, r4
8336 0018 0CBF ite eq
8337 001a 0124 moveq r4, #1
8338 001c 0024 movne r4, #0
3194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8339 .loc 1 3194 59 view .LVU2741
8340 001e BC42 cmp r4, r7
8341 0020 3AD1 bne .L407
3197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8342 .loc 1 3197 5 is_stmt 1 view .LVU2742
3197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8343 .loc 1 3197 8 is_stmt 0 view .LVU2743
8344 0022 B8F1FF3F cmp r8, #-1
8345 0026 F3D0 beq .L400
3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 280
8346 .loc 1 3199 7 is_stmt 1 view .LVU2744
3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8347 .loc 1 3199 13 is_stmt 0 view .LVU2745
8348 0028 FFF7FEFF bl HAL_GetTick
8349 .LVL721:
3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8350 .loc 1 3199 27 discriminator 1 view .LVU2746
8351 002c A0EB0900 sub r0, r0, r9
3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8352 .loc 1 3199 10 discriminator 1 view .LVU2747
8353 0030 4045 cmp r0, r8
8354 0032 34D8 bhi .L404
3199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8355 .loc 1 3199 51 discriminator 1 view .LVU2748
8356 0034 B8F1000F cmp r8, #0
8357 0038 33D0 beq .L405
3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8358 .loc 1 3205 7 is_stmt 1 view .LVU2749
3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8359 .loc 1 3205 12 is_stmt 0 view .LVU2750
8360 003a 2B68 ldr r3, [r5]
8361 003c 1A68 ldr r2, [r3]
3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8362 .loc 1 3205 10 view .LVU2751
8363 003e 12F0040F tst r2, #4
8364 0042 E5D0 beq .L400
3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8365 .loc 1 3205 100 discriminator 1 view .LVU2752
8366 0044 B6F14002 subs r2, r6, #64
8367 0048 18BF it ne
8368 004a 0122 movne r2, #1
3205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8369 .loc 1 3205 91 discriminator 1 view .LVU2753
8370 004c 802E cmp r6, #128
8371 004e DFD0 beq .L400
8372 0050 002A cmp r2, #0
8373 0052 DDD0 beq .L400
3207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8374 .loc 1 3207 9 is_stmt 1 view .LVU2754
3207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8375 .loc 1 3207 13 is_stmt 0 view .LVU2755
8376 0054 DA69 ldr r2, [r3, #28]
3207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8377 .loc 1 3207 12 view .LVU2756
8378 0056 12F0080F tst r2, #8
8379 005a 11D1 bne .L408
3224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8380 .loc 1 3224 9 is_stmt 1 view .LVU2757
3224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8381 .loc 1 3224 13 is_stmt 0 view .LVU2758
8382 005c DA69 ldr r2, [r3, #28]
3224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8383 .loc 1 3224 12 view .LVU2759
8384 005e 12F4006F tst r2, #2048
8385 0062 D5D0 beq .L400
3227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8386 .loc 1 3227 11 is_stmt 1 view .LVU2760
ARM GAS /tmp/ccQxTlMj.s page 281
8387 0064 4FF40062 mov r2, #2048
8388 0068 1A62 str r2, [r3, #32]
3232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8389 .loc 1 3232 11 view .LVU2761
8390 006a 2846 mov r0, r5
8391 006c FFF7FEFF bl UART_EndRxTransfer
8392 .LVL722:
3234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8393 .loc 1 3234 11 view .LVU2762
3234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8394 .loc 1 3234 28 is_stmt 0 view .LVU2763
8395 0070 2023 movs r3, #32
8396 0072 C5F88430 str r3, [r5, #132]
3237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8397 .loc 1 3237 11 is_stmt 1 view .LVU2764
3237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8398 .loc 1 3237 11 view .LVU2765
8399 0076 0023 movs r3, #0
8400 0078 85F87830 strb r3, [r5, #120]
3237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8401 .loc 1 3237 11 view .LVU2766
3239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8402 .loc 1 3239 11 view .LVU2767
3239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8403 .loc 1 3239 18 is_stmt 0 view .LVU2768
8404 007c 0320 movs r0, #3
8405 007e 0CE0 b .L401
8406 .L408:
3210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8407 .loc 1 3210 11 is_stmt 1 view .LVU2769
8408 0080 0824 movs r4, #8
8409 0082 1C62 str r4, [r3, #32]
3215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8410 .loc 1 3215 11 view .LVU2770
8411 0084 2846 mov r0, r5
8412 0086 FFF7FEFF bl UART_EndRxTransfer
8413 .LVL723:
3217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8414 .loc 1 3217 11 view .LVU2771
3217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8415 .loc 1 3217 28 is_stmt 0 view .LVU2772
8416 008a C5F88440 str r4, [r5, #132]
3220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8417 .loc 1 3220 11 is_stmt 1 view .LVU2773
3220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8418 .loc 1 3220 11 view .LVU2774
8419 008e 0023 movs r3, #0
8420 0090 85F87830 strb r3, [r5, #120]
3220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8421 .loc 1 3220 11 view .LVU2775
3222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8422 .loc 1 3222 11 view .LVU2776
3222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8423 .loc 1 3222 18 is_stmt 0 view .LVU2777
8424 0094 0120 movs r0, #1
8425 0096 00E0 b .L401
8426 .L407:
ARM GAS /tmp/ccQxTlMj.s page 282
3244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8427 .loc 1 3244 10 view .LVU2778
8428 0098 0020 movs r0, #0
8429 .L401:
3245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8430 .loc 1 3245 1 view .LVU2779
8431 009a BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
8432 .LVL724:
8433 .L404:
3202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8434 .loc 1 3202 16 view .LVU2780
8435 009e 0320 movs r0, #3
8436 00a0 FBE7 b .L401
8437 .L405:
8438 00a2 0320 movs r0, #3
8439 00a4 F9E7 b .L401
8440 .cfi_endproc
8441 .LFE188:
8443 .section .text.HAL_UART_Transmit,"ax",%progbits
8444 .align 1
8445 .global HAL_UART_Transmit
8446 .syntax unified
8447 .thumb
8448 .thumb_func
8450 HAL_UART_Transmit:
8451 .LVL725:
8452 .LFB148:
1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint8_t *pdata8bits;
8453 .loc 1 1090 1 is_stmt 1 view -0
8454 .cfi_startproc
8455 @ args = 0, pretend = 0, frame = 0
8456 @ frame_needed = 0, uses_anonymous_args = 0
1090:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint8_t *pdata8bits;
8457 .loc 1 1090 1 is_stmt 0 view .LVU2782
8458 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
8459 .LCFI31:
8460 .cfi_def_cfa_offset 24
8461 .cfi_offset 4, -24
8462 .cfi_offset 5, -20
8463 .cfi_offset 6, -16
8464 .cfi_offset 7, -12
8465 .cfi_offset 8, -8
8466 .cfi_offset 14, -4
8467 0004 82B0 sub sp, sp, #8
8468 .LCFI32:
8469 .cfi_def_cfa_offset 32
8470 0006 1E46 mov r6, r3
1091:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** const uint16_t *pdata16bits;
8471 .loc 1 1091 3 is_stmt 1 view .LVU2783
1092:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart;
8472 .loc 1 1092 3 view .LVU2784
1093:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8473 .loc 1 1093 3 view .LVU2785
1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8474 .loc 1 1096 3 view .LVU2786
1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8475 .loc 1 1096 12 is_stmt 0 view .LVU2787
ARM GAS /tmp/ccQxTlMj.s page 283
8476 0008 C36F ldr r3, [r0, #124]
8477 .LVL726:
1096:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8478 .loc 1 1096 6 view .LVU2788
8479 000a 202B cmp r3, #32
8480 000c 57D1 bne .L418
8481 000e 0446 mov r4, r0
8482 0010 0D46 mov r5, r1
8483 0012 9046 mov r8, r2
1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8484 .loc 1 1098 5 is_stmt 1 view .LVU2789
1098:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8485 .loc 1 1098 8 is_stmt 0 view .LVU2790
8486 0014 002A cmp r2, #0
8487 0016 18BF it ne
8488 0018 0029 cmpne r1, #0
8489 001a 01D1 bne .L423
1100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8490 .loc 1 1100 15 view .LVU2791
8491 001c 0120 movs r0, #1
8492 .LVL727:
1100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8493 .loc 1 1100 15 view .LVU2792
8494 001e 4FE0 b .L410
8495 .LVL728:
8496 .L423:
1103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
8497 .loc 1 1103 5 is_stmt 1 view .LVU2793
1103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
8498 .loc 1 1103 22 is_stmt 0 view .LVU2794
8499 0020 0023 movs r3, #0
8500 0022 C0F88430 str r3, [r0, #132]
1104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8501 .loc 1 1104 5 is_stmt 1 view .LVU2795
1104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8502 .loc 1 1104 19 is_stmt 0 view .LVU2796
8503 0026 2123 movs r3, #33
8504 0028 C367 str r3, [r0, #124]
1107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8505 .loc 1 1107 5 is_stmt 1 view .LVU2797
1107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8506 .loc 1 1107 17 is_stmt 0 view .LVU2798
8507 002a FFF7FEFF bl HAL_GetTick
8508 .LVL729:
1107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8509 .loc 1 1107 17 view .LVU2799
8510 002e 0746 mov r7, r0
8511 .LVL730:
1109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size;
8512 .loc 1 1109 5 is_stmt 1 view .LVU2800
1109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->TxXferCount = Size;
8513 .loc 1 1109 24 is_stmt 0 view .LVU2801
8514 0030 A4F85080 strh r8, [r4, #80] @ movhi
1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8515 .loc 1 1110 5 is_stmt 1 view .LVU2802
1110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8516 .loc 1 1110 24 is_stmt 0 view .LVU2803
ARM GAS /tmp/ccQxTlMj.s page 284
8517 0034 A4F85280 strh r8, [r4, #82] @ movhi
1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8518 .loc 1 1113 5 is_stmt 1 view .LVU2804
1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8519 .loc 1 1113 21 is_stmt 0 view .LVU2805
8520 0038 A368 ldr r3, [r4, #8]
1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8521 .loc 1 1113 8 view .LVU2806
8522 003a B3F5805F cmp r3, #4096
8523 003e 02D0 beq .L424
1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8524 .loc 1 1121 19 view .LVU2807
8525 0040 4FF00008 mov r8, #0
8526 .LVL731:
1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8527 .loc 1 1121 19 view .LVU2808
8528 0044 15E0 b .L415
8529 .L424:
1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8530 .loc 1 1113 71 discriminator 1 view .LVU2809
8531 0046 2369 ldr r3, [r4, #16]
1113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8532 .loc 1 1113 56 discriminator 1 view .LVU2810
8533 0048 3BB3 cbz r3, .L421
1121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8534 .loc 1 1121 19 view .LVU2811
8535 004a 4FF00008 mov r8, #0
8536 004e 10E0 b .L415
8537 .LVL732:
8538 .L426:
1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8539 .loc 1 1129 9 is_stmt 1 view .LVU2812
1129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8540 .loc 1 1129 23 is_stmt 0 view .LVU2813
8541 0050 2023 movs r3, #32
8542 0052 E367 str r3, [r4, #124]
1131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8543 .loc 1 1131 9 is_stmt 1 view .LVU2814
1131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8544 .loc 1 1131 16 is_stmt 0 view .LVU2815
8545 0054 0320 movs r0, #3
8546 0056 33E0 b .L410
8547 .L427:
1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
8548 .loc 1 1135 9 is_stmt 1 view .LVU2816
1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
8549 .loc 1 1135 43 is_stmt 0 view .LVU2817
8550 0058 38F8023B ldrh r3, [r8], #2
8551 .LVL733:
1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
8552 .loc 1 1135 14 view .LVU2818
8553 005c 2268 ldr r2, [r4]
1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
8554 .loc 1 1135 32 view .LVU2819
8555 005e C3F30803 ubfx r3, r3, #0, #9
1135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
8556 .loc 1 1135 30 view .LVU2820
ARM GAS /tmp/ccQxTlMj.s page 285
8557 0062 9362 str r3, [r2, #40]
1136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8558 .loc 1 1136 9 is_stmt 1 view .LVU2821
8559 .LVL734:
8560 .L414:
1143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8561 .loc 1 1143 7 view .LVU2822
1143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8562 .loc 1 1143 12 is_stmt 0 view .LVU2823
8563 0064 B4F85220 ldrh r2, [r4, #82]
8564 0068 92B2 uxth r2, r2
1143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8565 .loc 1 1143 25 view .LVU2824
8566 006a 013A subs r2, r2, #1
8567 006c 92B2 uxth r2, r2
8568 006e A4F85220 strh r2, [r4, #82] @ movhi
8569 .LVL735:
8570 .L415:
1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8571 .loc 1 1124 31 is_stmt 1 view .LVU2825
1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8572 .loc 1 1124 17 is_stmt 0 view .LVU2826
8573 0072 B4F85230 ldrh r3, [r4, #82]
8574 0076 9BB2 uxth r3, r3
1124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8575 .loc 1 1124 31 view .LVU2827
8576 0078 93B1 cbz r3, .L425
1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8577 .loc 1 1126 7 is_stmt 1 view .LVU2828
1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8578 .loc 1 1126 11 is_stmt 0 view .LVU2829
8579 007a 0096 str r6, [sp]
8580 007c 3B46 mov r3, r7
8581 007e 0022 movs r2, #0
8582 0080 8021 movs r1, #128
8583 0082 2046 mov r0, r4
8584 0084 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
8585 .LVL736:
1126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8586 .loc 1 1126 10 discriminator 1 view .LVU2830
8587 0088 0028 cmp r0, #0
8588 008a E1D1 bne .L426
1133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8589 .loc 1 1133 7 is_stmt 1 view .LVU2831
1133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8590 .loc 1 1133 10 is_stmt 0 view .LVU2832
8591 008c 002D cmp r5, #0
8592 008e E3D0 beq .L427
1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
8593 .loc 1 1140 9 is_stmt 1 view .LVU2833
1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
8594 .loc 1 1140 42 is_stmt 0 view .LVU2834
8595 0090 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2
8596 .LVL737:
1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
8597 .loc 1 1140 14 view .LVU2835
8598 0094 2368 ldr r3, [r4]
ARM GAS /tmp/ccQxTlMj.s page 286
1140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
8599 .loc 1 1140 30 view .LVU2836
8600 0096 9A62 str r2, [r3, #40]
1141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8601 .loc 1 1141 9 is_stmt 1 view .LVU2837
8602 .LVL738:
1141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8603 .loc 1 1141 9 is_stmt 0 view .LVU2838
8604 0098 E4E7 b .L414
8605 .LVL739:
8606 .L421:
1116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8607 .loc 1 1116 19 view .LVU2839
8608 009a A846 mov r8, r5
1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
8609 .loc 1 1115 19 view .LVU2840
8610 009c 0025 movs r5, #0
8611 .LVL740:
1115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
8612 .loc 1 1115 19 view .LVU2841
8613 009e E8E7 b .L415
8614 .LVL741:
8615 .L425:
1146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8616 .loc 1 1146 5 is_stmt 1 view .LVU2842
1146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8617 .loc 1 1146 9 is_stmt 0 view .LVU2843
8618 00a0 0096 str r6, [sp]
8619 00a2 3B46 mov r3, r7
8620 00a4 0022 movs r2, #0
8621 00a6 4021 movs r1, #64
8622 00a8 2046 mov r0, r4
8623 00aa FFF7FEFF bl UART_WaitOnFlagUntilTimeout
8624 .LVL742:
1146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8625 .loc 1 1146 8 discriminator 1 view .LVU2844
8626 00ae 10B9 cbnz r0, .L428
1154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8627 .loc 1 1154 5 is_stmt 1 view .LVU2845
1154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8628 .loc 1 1154 19 is_stmt 0 view .LVU2846
8629 00b0 2023 movs r3, #32
8630 00b2 E367 str r3, [r4, #124]
1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8631 .loc 1 1156 5 is_stmt 1 view .LVU2847
1156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8632 .loc 1 1156 12 is_stmt 0 view .LVU2848
8633 00b4 04E0 b .L410
8634 .L428:
1148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8635 .loc 1 1148 7 is_stmt 1 view .LVU2849
1148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8636 .loc 1 1148 21 is_stmt 0 view .LVU2850
8637 00b6 2023 movs r3, #32
8638 00b8 E367 str r3, [r4, #124]
1150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8639 .loc 1 1150 7 is_stmt 1 view .LVU2851
ARM GAS /tmp/ccQxTlMj.s page 287
1150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8640 .loc 1 1150 14 is_stmt 0 view .LVU2852
8641 00ba 0320 movs r0, #3
8642 00bc 00E0 b .L410
8643 .LVL743:
8644 .L418:
1160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8645 .loc 1 1160 12 view .LVU2853
8646 00be 0220 movs r0, #2
8647 .LVL744:
8648 .L410:
1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8649 .loc 1 1162 1 view .LVU2854
8650 00c0 02B0 add sp, sp, #8
8651 .LCFI33:
8652 .cfi_def_cfa_offset 24
8653 @ sp needed
8654 00c2 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8655 .loc 1 1162 1 view .LVU2855
8656 .cfi_endproc
8657 .LFE148:
8659 .section .text.HAL_UART_Receive,"ax",%progbits
8660 .align 1
8661 .global HAL_UART_Receive
8662 .syntax unified
8663 .thumb
8664 .thumb_func
8666 HAL_UART_Receive:
8667 .LVL745:
8668 .LFB149:
1176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint8_t *pdata8bits;
8669 .loc 1 1176 1 is_stmt 1 view -0
8670 .cfi_startproc
8671 @ args = 0, pretend = 0, frame = 0
8672 @ frame_needed = 0, uses_anonymous_args = 0
1176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint8_t *pdata8bits;
8673 .loc 1 1176 1 is_stmt 0 view .LVU2857
8674 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
8675 .LCFI34:
8676 .cfi_def_cfa_offset 28
8677 .cfi_offset 4, -28
8678 .cfi_offset 5, -24
8679 .cfi_offset 6, -20
8680 .cfi_offset 7, -16
8681 .cfi_offset 8, -12
8682 .cfi_offset 9, -8
8683 .cfi_offset 14, -4
8684 0004 83B0 sub sp, sp, #12
8685 .LCFI35:
8686 .cfi_def_cfa_offset 40
8687 0006 1E46 mov r6, r3
1177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t *pdata16bits;
8688 .loc 1 1177 3 is_stmt 1 view .LVU2858
1178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint16_t uhMask;
8689 .loc 1 1178 3 view .LVU2859
1179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart;
ARM GAS /tmp/ccQxTlMj.s page 288
8690 .loc 1 1179 3 view .LVU2860
1180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8691 .loc 1 1180 3 view .LVU2861
1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8692 .loc 1 1183 3 view .LVU2862
1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8693 .loc 1 1183 12 is_stmt 0 view .LVU2863
8694 0008 D0F88030 ldr r3, [r0, #128]
8695 .LVL746:
1183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8696 .loc 1 1183 6 view .LVU2864
8697 000c 202B cmp r3, #32
8698 000e 7ED1 bne .L444
8699 0010 0446 mov r4, r0
8700 0012 0D46 mov r5, r1
8701 0014 9046 mov r8, r2
1185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8702 .loc 1 1185 5 is_stmt 1 view .LVU2865
1185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8703 .loc 1 1185 8 is_stmt 0 view .LVU2866
8704 0016 002A cmp r2, #0
8705 0018 18BF it ne
8706 001a 0029 cmpne r1, #0
8707 001c 01D1 bne .L449
1187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8708 .loc 1 1187 15 view .LVU2867
8709 001e 0120 movs r0, #1
8710 .LVL747:
1187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8711 .loc 1 1187 15 view .LVU2868
8712 0020 76E0 b .L430
8713 .LVL748:
8714 .L449:
1190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
8715 .loc 1 1190 5 is_stmt 1 view .LVU2869
1190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
8716 .loc 1 1190 22 is_stmt 0 view .LVU2870
8717 0022 0023 movs r3, #0
8718 0024 C0F88430 str r3, [r0, #132]
1191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
8719 .loc 1 1191 5 is_stmt 1 view .LVU2871
1191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
8720 .loc 1 1191 20 is_stmt 0 view .LVU2872
8721 0028 2222 movs r2, #34
8722 .LVL749:
1191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
8723 .loc 1 1191 20 view .LVU2873
8724 002a C0F88020 str r2, [r0, #128]
1192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8725 .loc 1 1192 5 is_stmt 1 view .LVU2874
1192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8726 .loc 1 1192 26 is_stmt 0 view .LVU2875
8727 002e 0366 str r3, [r0, #96]
1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8728 .loc 1 1195 5 is_stmt 1 view .LVU2876
1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8729 .loc 1 1195 17 is_stmt 0 view .LVU2877
ARM GAS /tmp/ccQxTlMj.s page 289
8730 0030 FFF7FEFF bl HAL_GetTick
8731 .LVL750:
1195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8732 .loc 1 1195 17 view .LVU2878
8733 0034 0746 mov r7, r0
8734 .LVL751:
1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size;
8735 .loc 1 1197 5 is_stmt 1 view .LVU2879
1197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size;
8736 .loc 1 1197 24 is_stmt 0 view .LVU2880
8737 0036 A4F85880 strh r8, [r4, #88] @ movhi
1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8738 .loc 1 1198 5 is_stmt 1 view .LVU2881
1198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8739 .loc 1 1198 24 is_stmt 0 view .LVU2882
8740 003a A4F85A80 strh r8, [r4, #90] @ movhi
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8741 .loc 1 1201 5 is_stmt 1 view .LVU2883
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8742 .loc 1 1201 5 view .LVU2884
8743 003e A368 ldr r3, [r4, #8]
8744 0040 B3F5805F cmp r3, #4096
8745 0044 06D0 beq .L450
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8746 .loc 1 1201 5 discriminator 2 view .LVU2885
8747 0046 A3B9 cbnz r3, .L434
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8748 .loc 1 1201 5 discriminator 5 view .LVU2886
8749 0048 2269 ldr r2, [r4, #16]
8750 004a 72B9 cbnz r2, .L435
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8751 .loc 1 1201 5 discriminator 7 view .LVU2887
8752 004c FF22 movs r2, #255
8753 004e A4F85C20 strh r2, [r4, #92] @ movhi
8754 0052 14E0 b .L433
8755 .L450:
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8756 .loc 1 1201 5 discriminator 1 view .LVU2888
8757 0054 2269 ldr r2, [r4, #16]
8758 0056 22B9 cbnz r2, .L432
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8759 .loc 1 1201 5 discriminator 3 view .LVU2889
8760 0058 40F2FF12 movw r2, #511
8761 005c A4F85C20 strh r2, [r4, #92] @ movhi
8762 0060 0DE0 b .L433
8763 .L432:
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8764 .loc 1 1201 5 discriminator 4 view .LVU2890
8765 0062 FF22 movs r2, #255
8766 0064 A4F85C20 strh r2, [r4, #92] @ movhi
8767 0068 09E0 b .L433
8768 .L435:
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8769 .loc 1 1201 5 discriminator 8 view .LVU2891
8770 006a 7F22 movs r2, #127
8771 006c A4F85C20 strh r2, [r4, #92] @ movhi
8772 0070 05E0 b .L433
ARM GAS /tmp/ccQxTlMj.s page 290
8773 .L434:
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8774 .loc 1 1201 5 discriminator 6 view .LVU2892
8775 0072 B3F1805F cmp r3, #268435456
8776 0076 0AD0 beq .L451
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8777 .loc 1 1201 5 discriminator 10 view .LVU2893
8778 0078 0022 movs r2, #0
8779 007a A4F85C20 strh r2, [r4, #92] @ movhi
8780 .L433:
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8781 .loc 1 1201 5 discriminator 13 view .LVU2894
1202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8782 .loc 1 1202 5 view .LVU2895
1202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8783 .loc 1 1202 12 is_stmt 0 view .LVU2896
8784 007e B4F85C80 ldrh r8, [r4, #92]
8785 .LVL752:
1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8786 .loc 1 1205 5 is_stmt 1 view .LVU2897
1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8787 .loc 1 1205 8 is_stmt 0 view .LVU2898
8788 0082 B3F5805F cmp r3, #4096
8789 0086 0CD0 beq .L452
1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8790 .loc 1 1213 19 view .LVU2899
8791 0088 4FF00009 mov r9, #0
8792 008c 24E0 b .L439
8793 .LVL753:
8794 .L451:
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8795 .loc 1 1201 5 is_stmt 1 discriminator 9 view .LVU2900
8796 008e 2269 ldr r2, [r4, #16]
8797 0090 1AB9 cbnz r2, .L437
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8798 .loc 1 1201 5 discriminator 11 view .LVU2901
8799 0092 7F22 movs r2, #127
8800 0094 A4F85C20 strh r2, [r4, #92] @ movhi
8801 0098 F1E7 b .L433
8802 .L437:
1201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uhMask = huart->Mask;
8803 .loc 1 1201 5 discriminator 12 view .LVU2902
8804 009a 3F22 movs r2, #63
8805 009c A4F85C20 strh r2, [r4, #92] @ movhi
8806 00a0 EDE7 b .L433
8807 .LVL754:
8808 .L452:
1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8809 .loc 1 1205 71 is_stmt 0 discriminator 1 view .LVU2903
8810 00a2 2369 ldr r3, [r4, #16]
1205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8811 .loc 1 1205 56 discriminator 1 view .LVU2904
8812 00a4 13B1 cbz r3, .L447
1213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8813 .loc 1 1213 19 view .LVU2905
8814 00a6 4FF00009 mov r9, #0
8815 00aa 15E0 b .L439
ARM GAS /tmp/ccQxTlMj.s page 291
8816 .L447:
1208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8817 .loc 1 1208 19 view .LVU2906
8818 00ac A946 mov r9, r5
1207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
8819 .loc 1 1207 19 view .LVU2907
8820 00ae 0025 movs r5, #0
8821 .LVL755:
1207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
8822 .loc 1 1207 19 view .LVU2908
8823 00b0 12E0 b .L439
8824 .LVL756:
8825 .L454:
1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8826 .loc 1 1221 9 is_stmt 1 view .LVU2909
1221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8827 .loc 1 1221 24 is_stmt 0 view .LVU2910
8828 00b2 2023 movs r3, #32
8829 00b4 C4F88030 str r3, [r4, #128]
1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8830 .loc 1 1223 9 is_stmt 1 view .LVU2911
1223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8831 .loc 1 1223 16 is_stmt 0 view .LVU2912
8832 00b8 0320 movs r0, #3
8833 00ba 29E0 b .L430
8834 .L441:
1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
8835 .loc 1 1232 9 is_stmt 1 view .LVU2913
1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
8836 .loc 1 1232 38 is_stmt 0 view .LVU2914
8837 00bc 2368 ldr r3, [r4]
1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
8838 .loc 1 1232 48 view .LVU2915
8839 00be 5A6A ldr r2, [r3, #36]
1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
8840 .loc 1 1232 56 view .LVU2916
8841 00c0 5FFA88F3 uxtb r3, r8
1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
8842 .loc 1 1232 23 view .LVU2917
8843 00c4 1340 ands r3, r3, r2
1232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata8bits++;
8844 .loc 1 1232 21 view .LVU2918
8845 00c6 05F8013B strb r3, [r5], #1
8846 .LVL757:
1233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8847 .loc 1 1233 9 is_stmt 1 view .LVU2919
8848 .L442:
1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8849 .loc 1 1235 7 view .LVU2920
1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8850 .loc 1 1235 12 is_stmt 0 view .LVU2921
8851 00ca B4F85A20 ldrh r2, [r4, #90]
8852 00ce 92B2 uxth r2, r2
1235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8853 .loc 1 1235 25 view .LVU2922
8854 00d0 013A subs r2, r2, #1
8855 00d2 92B2 uxth r2, r2
ARM GAS /tmp/ccQxTlMj.s page 292
8856 00d4 A4F85A20 strh r2, [r4, #90] @ movhi
8857 .LVL758:
8858 .L439:
1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8859 .loc 1 1217 31 is_stmt 1 view .LVU2923
1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8860 .loc 1 1217 17 is_stmt 0 view .LVU2924
8861 00d8 B4F85A30 ldrh r3, [r4, #90]
8862 00dc 9BB2 uxth r3, r3
1217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8863 .loc 1 1217 31 view .LVU2925
8864 00de 8BB1 cbz r3, .L453
1219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8865 .loc 1 1219 7 is_stmt 1 view .LVU2926
1219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8866 .loc 1 1219 11 is_stmt 0 view .LVU2927
8867 00e0 0096 str r6, [sp]
8868 00e2 3B46 mov r3, r7
8869 00e4 0022 movs r2, #0
8870 00e6 2021 movs r1, #32
8871 00e8 2046 mov r0, r4
8872 00ea FFF7FEFF bl UART_WaitOnFlagUntilTimeout
8873 .LVL759:
1219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8874 .loc 1 1219 10 discriminator 1 view .LVU2928
8875 00ee 0028 cmp r0, #0
8876 00f0 DFD1 bne .L454
1225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8877 .loc 1 1225 7 is_stmt 1 view .LVU2929
1225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8878 .loc 1 1225 10 is_stmt 0 view .LVU2930
8879 00f2 002D cmp r5, #0
8880 00f4 E2D1 bne .L441
1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
8881 .loc 1 1227 9 is_stmt 1 view .LVU2931
1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
8882 .loc 1 1227 40 is_stmt 0 view .LVU2932
8883 00f6 2368 ldr r3, [r4]
1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
8884 .loc 1 1227 50 view .LVU2933
8885 00f8 5B6A ldr r3, [r3, #36]
1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
8886 .loc 1 1227 24 view .LVU2934
8887 00fa 08EA0303 and r3, r8, r3
1227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** pdata16bits++;
8888 .loc 1 1227 22 view .LVU2935
8889 00fe 29F8023B strh r3, [r9], #2 @ movhi
8890 .LVL760:
1228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8891 .loc 1 1228 9 is_stmt 1 view .LVU2936
1228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8892 .loc 1 1228 9 is_stmt 0 view .LVU2937
8893 0102 E2E7 b .L442
8894 .L453:
1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8895 .loc 1 1239 5 is_stmt 1 view .LVU2938
1239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 293
8896 .loc 1 1239 20 is_stmt 0 view .LVU2939
8897 0104 2023 movs r3, #32
8898 0106 C4F88030 str r3, [r4, #128]
1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8899 .loc 1 1241 5 is_stmt 1 view .LVU2940
1241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8900 .loc 1 1241 12 is_stmt 0 view .LVU2941
8901 010a 0020 movs r0, #0
8902 010c 00E0 b .L430
8903 .LVL761:
8904 .L444:
1245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8905 .loc 1 1245 12 view .LVU2942
8906 010e 0220 movs r0, #2
8907 .LVL762:
8908 .L430:
1247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8909 .loc 1 1247 1 view .LVU2943
8910 0110 03B0 add sp, sp, #12
8911 .LCFI36:
8912 .cfi_def_cfa_offset 28
8913 @ sp needed
8914 0112 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
1247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8915 .loc 1 1247 1 view .LVU2944
8916 .cfi_endproc
8917 .LFE149:
8919 .section .text.UART_CheckIdleState,"ax",%progbits
8920 .align 1
8921 .global UART_CheckIdleState
8922 .syntax unified
8923 .thumb
8924 .thumb_func
8926 UART_CheckIdleState:
8927 .LVL763:
8928 .LFB187:
3120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart;
8929 .loc 1 3120 1 is_stmt 1 view -0
8930 .cfi_startproc
8931 @ args = 0, pretend = 0, frame = 0
8932 @ frame_needed = 0, uses_anonymous_args = 0
3120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** uint32_t tickstart;
8933 .loc 1 3120 1 is_stmt 0 view .LVU2946
8934 0000 30B5 push {r4, r5, lr}
8935 .LCFI37:
8936 .cfi_def_cfa_offset 12
8937 .cfi_offset 4, -12
8938 .cfi_offset 5, -8
8939 .cfi_offset 14, -4
8940 0002 83B0 sub sp, sp, #12
8941 .LCFI38:
8942 .cfi_def_cfa_offset 24
8943 0004 0446 mov r4, r0
3121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8944 .loc 1 3121 3 is_stmt 1 view .LVU2947
3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8945 .loc 1 3124 3 view .LVU2948
ARM GAS /tmp/ccQxTlMj.s page 294
3124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8946 .loc 1 3124 20 is_stmt 0 view .LVU2949
8947 0006 0023 movs r3, #0
8948 0008 C0F88430 str r3, [r0, #132]
3127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8949 .loc 1 3127 3 is_stmt 1 view .LVU2950
3127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8950 .loc 1 3127 15 is_stmt 0 view .LVU2951
8951 000c FFF7FEFF bl HAL_GetTick
8952 .LVL764:
3127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8953 .loc 1 3127 15 view .LVU2952
8954 0010 0546 mov r5, r0
8955 .LVL765:
3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8956 .loc 1 3130 3 is_stmt 1 view .LVU2953
3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8957 .loc 1 3130 13 is_stmt 0 view .LVU2954
8958 0012 2268 ldr r2, [r4]
3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8959 .loc 1 3130 23 view .LVU2955
8960 0014 1268 ldr r2, [r2]
3130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8961 .loc 1 3130 6 view .LVU2956
8962 0016 12F0080F tst r2, #8
8963 001a 0FD1 bne .L463
8964 .LVL766:
8965 .L456:
3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8966 .loc 1 3149 3 is_stmt 1 view .LVU2957
3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8967 .loc 1 3149 13 is_stmt 0 view .LVU2958
8968 001c 2368 ldr r3, [r4]
3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8969 .loc 1 3149 23 view .LVU2959
8970 001e 1B68 ldr r3, [r3]
3149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
8971 .loc 1 3149 6 view .LVU2960
8972 0020 13F0040F tst r3, #4
8973 0024 26D1 bne .L464
8974 .L459:
3170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
8975 .loc 1 3170 3 is_stmt 1 view .LVU2961
3170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
8976 .loc 1 3170 17 is_stmt 0 view .LVU2962
8977 0026 2023 movs r3, #32
8978 0028 E367 str r3, [r4, #124]
3171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
8979 .loc 1 3171 3 is_stmt 1 view .LVU2963
3171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
8980 .loc 1 3171 18 is_stmt 0 view .LVU2964
8981 002a C4F88030 str r3, [r4, #128]
3172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
8982 .loc 1 3172 3 is_stmt 1 view .LVU2965
3172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
8983 .loc 1 3172 24 is_stmt 0 view .LVU2966
8984 002e 0020 movs r0, #0
ARM GAS /tmp/ccQxTlMj.s page 295
8985 0030 2066 str r0, [r4, #96]
3173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8986 .loc 1 3173 3 is_stmt 1 view .LVU2967
3173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8987 .loc 1 3173 22 is_stmt 0 view .LVU2968
8988 0032 6066 str r0, [r4, #100]
3175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8989 .loc 1 3175 3 is_stmt 1 view .LVU2969
3175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8990 .loc 1 3175 3 view .LVU2970
8991 0034 84F87800 strb r0, [r4, #120]
3175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8992 .loc 1 3175 3 view .LVU2971
3177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
8993 .loc 1 3177 3 view .LVU2972
8994 .L458:
3178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
8995 .loc 1 3178 1 is_stmt 0 view .LVU2973
8996 0038 03B0 add sp, sp, #12
8997 .LCFI39:
8998 .cfi_remember_state
8999 .cfi_def_cfa_offset 12
9000 @ sp needed
9001 003a 30BD pop {r4, r5, pc}
9002 .LVL767:
9003 .L463:
9004 .LCFI40:
9005 .cfi_restore_state
3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9006 .loc 1 3133 5 is_stmt 1 view .LVU2974
3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9007 .loc 1 3133 9 is_stmt 0 view .LVU2975
9008 003c 6FF07E43 mvn r3, #-33554432
9009 0040 0093 str r3, [sp]
9010 0042 0346 mov r3, r0
9011 0044 0022 movs r2, #0
9012 0046 4FF40011 mov r1, #2097152
9013 004a 2046 mov r0, r4
9014 .LVL768:
3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9015 .loc 1 3133 9 view .LVU2976
9016 004c FFF7FEFF bl UART_WaitOnFlagUntilTimeout
9017 .LVL769:
3133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9018 .loc 1 3133 8 discriminator 1 view .LVU2977
9019 0050 0028 cmp r0, #0
9020 0052 E3D0 beq .L456
9021 .L457:
3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9022 .loc 1 3136 7 is_stmt 1 discriminator 1 view .LVU2978
9023 .LBB762:
3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9024 .loc 1 3136 7 discriminator 1 view .LVU2979
3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9025 .loc 1 3136 7 discriminator 1 view .LVU2980
3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9026 .loc 1 3136 7 discriminator 1 view .LVU2981
ARM GAS /tmp/ccQxTlMj.s page 296
9027 0054 2268 ldr r2, [r4]
9028 .LVL770:
9029 .LBB763:
9030 .LBI763:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9031 .loc 2 1068 31 view .LVU2982
9032 .LBB764:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
9033 .loc 2 1070 5 view .LVU2983
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9034 .loc 2 1072 4 view .LVU2984
9035 .syntax unified
9036 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9037 0056 52E8003F ldrex r3, [r2]
9038 @ 0 "" 2
9039 .LVL771:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9040 .loc 2 1073 4 view .LVU2985
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9041 .loc 2 1073 4 is_stmt 0 view .LVU2986
9042 .thumb
9043 .syntax unified
9044 .LBE764:
9045 .LBE763:
3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9046 .loc 1 3136 7 discriminator 1 view .LVU2987
9047 005a 23F08003 bic r3, r3, #128
9048 .LVL772:
3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9049 .loc 1 3136 7 is_stmt 1 discriminator 1 view .LVU2988
9050 .LBB765:
9051 .LBI765:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9052 .loc 2 1119 31 view .LVU2989
9053 .LBB766:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
9054 .loc 2 1121 4 view .LVU2990
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9055 .loc 2 1123 4 view .LVU2991
9056 .syntax unified
9057 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9058 005e 42E80031 strex r1, r3, [r2]
9059 @ 0 "" 2
9060 .LVL773:
9061 .loc 2 1124 4 view .LVU2992
9062 .loc 2 1124 4 is_stmt 0 view .LVU2993
9063 .thumb
9064 .syntax unified
9065 .LBE766:
9066 .LBE765:
3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9067 .loc 1 3136 7 discriminator 1 view .LVU2994
9068 0062 0029 cmp r1, #0
9069 0064 F6D1 bne .L457
9070 .LBE762:
3136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9071 .loc 1 3136 7 is_stmt 1 discriminator 2 view .LVU2995
ARM GAS /tmp/ccQxTlMj.s page 297
3138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9072 .loc 1 3138 7 view .LVU2996
3138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9073 .loc 1 3138 21 is_stmt 0 view .LVU2997
9074 0066 2023 movs r3, #32
9075 .LVL774:
3138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9076 .loc 1 3138 21 view .LVU2998
9077 0068 E367 str r3, [r4, #124]
3140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9078 .loc 1 3140 7 is_stmt 1 view .LVU2999
3140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9079 .loc 1 3140 7 view .LVU3000
9080 006a 0023 movs r3, #0
9081 006c 84F87830 strb r3, [r4, #120]
3140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9082 .loc 1 3140 7 view .LVU3001
3143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9083 .loc 1 3143 7 view .LVU3002
3143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9084 .loc 1 3143 14 is_stmt 0 view .LVU3003
9085 0070 0320 movs r0, #3
9086 0072 E1E7 b .L458
9087 .LVL775:
9088 .L464:
3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9089 .loc 1 3152 5 is_stmt 1 view .LVU3004
3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9090 .loc 1 3152 9 is_stmt 0 view .LVU3005
9091 0074 6FF07E43 mvn r3, #-33554432
9092 0078 0093 str r3, [sp]
9093 007a 2B46 mov r3, r5
9094 007c 0022 movs r2, #0
9095 007e 4FF48001 mov r1, #4194304
9096 0082 2046 mov r0, r4
9097 0084 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
9098 .LVL776:
3152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9099 .loc 1 3152 8 discriminator 1 view .LVU3006
9100 0088 0028 cmp r0, #0
9101 008a CCD0 beq .L459
9102 .L460:
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9103 .loc 1 3156 7 is_stmt 1 discriminator 1 view .LVU3007
9104 .LBB767:
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9105 .loc 1 3156 7 discriminator 1 view .LVU3008
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9106 .loc 1 3156 7 discriminator 1 view .LVU3009
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9107 .loc 1 3156 7 discriminator 1 view .LVU3010
9108 008c 2268 ldr r2, [r4]
9109 .LVL777:
9110 .LBB768:
9111 .LBI768:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9112 .loc 2 1068 31 view .LVU3011
ARM GAS /tmp/ccQxTlMj.s page 298
9113 .LBB769:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
9114 .loc 2 1070 5 view .LVU3012
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9115 .loc 2 1072 4 view .LVU3013
9116 .syntax unified
9117 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9118 008e 52E8003F ldrex r3, [r2]
9119 @ 0 "" 2
9120 .LVL778:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9121 .loc 2 1073 4 view .LVU3014
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9122 .loc 2 1073 4 is_stmt 0 view .LVU3015
9123 .thumb
9124 .syntax unified
9125 .LBE769:
9126 .LBE768:
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9127 .loc 1 3156 7 discriminator 1 view .LVU3016
9128 0092 23F49073 bic r3, r3, #288
9129 .LVL779:
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9130 .loc 1 3156 7 is_stmt 1 discriminator 1 view .LVU3017
9131 .LBB770:
9132 .LBI770:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9133 .loc 2 1119 31 view .LVU3018
9134 .LBB771:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
9135 .loc 2 1121 4 view .LVU3019
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9136 .loc 2 1123 4 view .LVU3020
9137 .syntax unified
9138 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9139 0096 42E80031 strex r1, r3, [r2]
9140 @ 0 "" 2
9141 .LVL780:
9142 .loc 2 1124 4 view .LVU3021
9143 .loc 2 1124 4 is_stmt 0 view .LVU3022
9144 .thumb
9145 .syntax unified
9146 .LBE771:
9147 .LBE770:
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9148 .loc 1 3156 7 discriminator 1 view .LVU3023
9149 009a 0029 cmp r1, #0
9150 009c F6D1 bne .L460
9151 .LVL781:
9152 .L461:
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9153 .loc 1 3156 7 discriminator 1 view .LVU3024
9154 .LBE767:
3156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9155 .loc 1 3156 7 is_stmt 1 discriminator 2 view .LVU3025
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9156 .loc 1 3157 7 discriminator 1 view .LVU3026
ARM GAS /tmp/ccQxTlMj.s page 299
9157 .LBB772:
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9158 .loc 1 3157 7 discriminator 1 view .LVU3027
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9159 .loc 1 3157 7 discriminator 1 view .LVU3028
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9160 .loc 1 3157 7 discriminator 1 view .LVU3029
9161 009e 2268 ldr r2, [r4]
9162 .LVL782:
9163 .LBB773:
9164 .LBI773:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9165 .loc 2 1068 31 view .LVU3030
9166 .LBB774:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
9167 .loc 2 1070 5 view .LVU3031
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9168 .loc 2 1072 4 view .LVU3032
9169 00a0 02F10803 add r3, r2, #8
9170 .LVL783:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9171 .loc 2 1072 4 is_stmt 0 view .LVU3033
9172 .syntax unified
9173 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9174 00a4 53E8003F ldrex r3, [r3]
9175 @ 0 "" 2
9176 .LVL784:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9177 .loc 2 1073 4 is_stmt 1 view .LVU3034
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9178 .loc 2 1073 4 is_stmt 0 view .LVU3035
9179 .thumb
9180 .syntax unified
9181 .LBE774:
9182 .LBE773:
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9183 .loc 1 3157 7 discriminator 1 view .LVU3036
9184 00a8 23F00103 bic r3, r3, #1
9185 .LVL785:
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9186 .loc 1 3157 7 is_stmt 1 discriminator 1 view .LVU3037
9187 .LBB775:
9188 .LBI775:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9189 .loc 2 1119 31 view .LVU3038
9190 .LBB776:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
9191 .loc 2 1121 4 view .LVU3039
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9192 .loc 2 1123 4 view .LVU3040
9193 00ac 0832 adds r2, r2, #8
9194 .LVL786:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9195 .loc 2 1123 4 is_stmt 0 view .LVU3041
9196 .syntax unified
9197 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9198 00ae 42E80031 strex r1, r3, [r2]
ARM GAS /tmp/ccQxTlMj.s page 300
9199 @ 0 "" 2
9200 .LVL787:
9201 .loc 2 1124 4 is_stmt 1 view .LVU3042
9202 .loc 2 1124 4 is_stmt 0 view .LVU3043
9203 .thumb
9204 .syntax unified
9205 .LBE776:
9206 .LBE775:
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9207 .loc 1 3157 7 discriminator 1 view .LVU3044
9208 00b2 0029 cmp r1, #0
9209 00b4 F3D1 bne .L461
9210 .LBE772:
3157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9211 .loc 1 3157 7 is_stmt 1 discriminator 2 view .LVU3045
3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9212 .loc 1 3159 7 view .LVU3046
3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9213 .loc 1 3159 22 is_stmt 0 view .LVU3047
9214 00b6 2023 movs r3, #32
9215 .LVL788:
3159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9216 .loc 1 3159 22 view .LVU3048
9217 00b8 C4F88030 str r3, [r4, #128]
3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9218 .loc 1 3161 7 is_stmt 1 view .LVU3049
3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9219 .loc 1 3161 7 view .LVU3050
9220 00bc 0023 movs r3, #0
9221 00be 84F87830 strb r3, [r4, #120]
3161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9222 .loc 1 3161 7 view .LVU3051
3164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9223 .loc 1 3164 7 view .LVU3052
3164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9224 .loc 1 3164 14 is_stmt 0 view .LVU3053
9225 00c2 0320 movs r0, #3
9226 00c4 B8E7 b .L458
9227 .cfi_endproc
9228 .LFE187:
9230 .section .text.HAL_UART_Init,"ax",%progbits
9231 .align 1
9232 .global HAL_UART_Init
9233 .syntax unified
9234 .thumb
9235 .thumb_func
9237 HAL_UART_Init:
9238 .LVL789:
9239 .LFB141:
290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
9240 .loc 1 290 1 is_stmt 1 view -0
9241 .cfi_startproc
9242 @ args = 0, pretend = 0, frame = 0
9243 @ frame_needed = 0, uses_anonymous_args = 0
292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9244 .loc 1 292 3 view .LVU3055
292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 301
9245 .loc 1 292 6 is_stmt 0 view .LVU3056
9246 0000 68B3 cbz r0, .L469
290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
9247 .loc 1 290 1 view .LVU3057
9248 0002 10B5 push {r4, lr}
9249 .LCFI41:
9250 .cfi_def_cfa_offset 8
9251 .cfi_offset 4, -8
9252 .cfi_offset 14, -4
9253 0004 0446 mov r4, r0
297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9254 .loc 1 297 3 is_stmt 1 view .LVU3058
300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9255 .loc 1 300 5 view .LVU3059
305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9256 .loc 1 305 5 view .LVU3060
308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9257 .loc 1 308 3 view .LVU3061
308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9258 .loc 1 308 12 is_stmt 0 view .LVU3062
9259 0006 C36F ldr r3, [r0, #124]
308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9260 .loc 1 308 6 view .LVU3063
9261 0008 03B3 cbz r3, .L474
9262 .LVL790:
9263 .L467:
329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9264 .loc 1 329 3 is_stmt 1 view .LVU3064
329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9265 .loc 1 329 17 is_stmt 0 view .LVU3065
9266 000a 2423 movs r3, #36
9267 000c E367 str r3, [r4, #124]
331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9268 .loc 1 331 3 is_stmt 1 view .LVU3066
9269 000e 2268 ldr r2, [r4]
9270 0010 1368 ldr r3, [r2]
9271 0012 23F00103 bic r3, r3, #1
9272 0016 1360 str r3, [r2]
335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9273 .loc 1 335 3 view .LVU3067
335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9274 .loc 1 335 26 is_stmt 0 view .LVU3068
9275 0018 636A ldr r3, [r4, #36]
335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9276 .loc 1 335 6 view .LVU3069
9277 001a E3B9 cbnz r3, .L475
9278 .L468:
341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9279 .loc 1 341 3 is_stmt 1 view .LVU3070
341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9280 .loc 1 341 7 is_stmt 0 view .LVU3071
9281 001c 2046 mov r0, r4
9282 001e FFF7FEFF bl UART_SetConfig
9283 .LVL791:
341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9284 .loc 1 341 6 discriminator 1 view .LVU3072
9285 0022 0128 cmp r0, #1
ARM GAS /tmp/ccQxTlMj.s page 302
9286 0024 11D0 beq .L466
349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
9287 .loc 1 349 3 is_stmt 1 view .LVU3073
9288 0026 2268 ldr r2, [r4]
9289 0028 5368 ldr r3, [r2, #4]
9290 002a 23F49043 bic r3, r3, #18432
9291 002e 5360 str r3, [r2, #4]
350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9292 .loc 1 350 3 view .LVU3074
9293 0030 2268 ldr r2, [r4]
9294 0032 9368 ldr r3, [r2, #8]
9295 0034 23F02A03 bic r3, r3, #42
9296 0038 9360 str r3, [r2, #8]
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9297 .loc 1 352 3 view .LVU3075
9298 003a 2268 ldr r2, [r4]
9299 003c 1368 ldr r3, [r2]
9300 003e 43F00103 orr r3, r3, #1
9301 0042 1360 str r3, [r2]
355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9302 .loc 1 355 3 view .LVU3076
355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9303 .loc 1 355 11 is_stmt 0 view .LVU3077
9304 0044 2046 mov r0, r4
9305 0046 FFF7FEFF bl UART_CheckIdleState
9306 .LVL792:
9307 .L466:
356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9308 .loc 1 356 1 view .LVU3078
9309 004a 10BD pop {r4, pc}
9310 .LVL793:
9311 .L474:
311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9312 .loc 1 311 5 is_stmt 1 view .LVU3079
311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9313 .loc 1 311 17 is_stmt 0 view .LVU3080
9314 004c 80F87830 strb r3, [r0, #120]
325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
9315 .loc 1 325 5 is_stmt 1 view .LVU3081
9316 0050 FFF7FEFF bl HAL_UART_MspInit
9317 .LVL794:
325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
9318 .loc 1 325 5 is_stmt 0 view .LVU3082
9319 0054 D9E7 b .L467
9320 .L475:
337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9321 .loc 1 337 5 is_stmt 1 view .LVU3083
9322 0056 2046 mov r0, r4
9323 0058 FFF7FEFF bl UART_AdvFeatureConfig
9324 .LVL795:
9325 005c DEE7 b .L468
9326 .LVL796:
9327 .L469:
9328 .LCFI42:
9329 .cfi_def_cfa_offset 0
9330 .cfi_restore 4
9331 .cfi_restore 14
ARM GAS /tmp/ccQxTlMj.s page 303
294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9332 .loc 1 294 12 is_stmt 0 view .LVU3084
9333 005e 0120 movs r0, #1
9334 .LVL797:
356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9335 .loc 1 356 1 view .LVU3085
9336 0060 7047 bx lr
9337 .cfi_endproc
9338 .LFE141:
9340 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
9341 .align 1
9342 .global HAL_HalfDuplex_Init
9343 .syntax unified
9344 .thumb
9345 .thumb_func
9347 HAL_HalfDuplex_Init:
9348 .LVL798:
9349 .LFB142:
365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
9350 .loc 1 365 1 is_stmt 1 view -0
9351 .cfi_startproc
9352 @ args = 0, pretend = 0, frame = 0
9353 @ frame_needed = 0, uses_anonymous_args = 0
367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9354 .loc 1 367 3 view .LVU3087
367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9355 .loc 1 367 6 is_stmt 0 view .LVU3088
9356 0000 0028 cmp r0, #0
9357 0002 32D0 beq .L480
365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
9358 .loc 1 365 1 view .LVU3089
9359 0004 10B5 push {r4, lr}
9360 .LCFI43:
9361 .cfi_def_cfa_offset 8
9362 .cfi_offset 4, -8
9363 .cfi_offset 14, -4
9364 0006 0446 mov r4, r0
373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9365 .loc 1 373 3 is_stmt 1 view .LVU3090
375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9366 .loc 1 375 3 view .LVU3091
375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9367 .loc 1 375 12 is_stmt 0 view .LVU3092
9368 0008 C36F ldr r3, [r0, #124]
375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9369 .loc 1 375 6 view .LVU3093
9370 000a 2BB3 cbz r3, .L485
9371 .LVL799:
9372 .L478:
396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9373 .loc 1 396 3 is_stmt 1 view .LVU3094
396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9374 .loc 1 396 17 is_stmt 0 view .LVU3095
9375 000c 2423 movs r3, #36
9376 000e E367 str r3, [r4, #124]
398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9377 .loc 1 398 3 is_stmt 1 view .LVU3096
ARM GAS /tmp/ccQxTlMj.s page 304
9378 0010 2268 ldr r2, [r4]
9379 0012 1368 ldr r3, [r2]
9380 0014 23F00103 bic r3, r3, #1
9381 0018 1360 str r3, [r2]
402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9382 .loc 1 402 3 view .LVU3097
402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9383 .loc 1 402 26 is_stmt 0 view .LVU3098
9384 001a 636A ldr r3, [r4, #36]
402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9385 .loc 1 402 6 view .LVU3099
9386 001c 0BBB cbnz r3, .L486
9387 .L479:
408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9388 .loc 1 408 3 is_stmt 1 view .LVU3100
408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9389 .loc 1 408 7 is_stmt 0 view .LVU3101
9390 001e 2046 mov r0, r4
9391 0020 FFF7FEFF bl UART_SetConfig
9392 .LVL800:
408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9393 .loc 1 408 6 discriminator 1 view .LVU3102
9394 0024 0128 cmp r0, #1
9395 0026 16D0 beq .L477
416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
9396 .loc 1 416 3 is_stmt 1 view .LVU3103
9397 0028 2268 ldr r2, [r4]
9398 002a 5368 ldr r3, [r2, #4]
9399 002c 23F49043 bic r3, r3, #18432
9400 0030 5360 str r3, [r2, #4]
417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9401 .loc 1 417 3 view .LVU3104
9402 0032 2268 ldr r2, [r4]
9403 0034 9368 ldr r3, [r2, #8]
9404 0036 23F02203 bic r3, r3, #34
9405 003a 9360 str r3, [r2, #8]
420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9406 .loc 1 420 3 view .LVU3105
9407 003c 2268 ldr r2, [r4]
9408 003e 9368 ldr r3, [r2, #8]
9409 0040 43F00803 orr r3, r3, #8
9410 0044 9360 str r3, [r2, #8]
422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9411 .loc 1 422 3 view .LVU3106
9412 0046 2268 ldr r2, [r4]
9413 0048 1368 ldr r3, [r2]
9414 004a 43F00103 orr r3, r3, #1
9415 004e 1360 str r3, [r2]
425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9416 .loc 1 425 3 view .LVU3107
425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9417 .loc 1 425 11 is_stmt 0 view .LVU3108
9418 0050 2046 mov r0, r4
9419 0052 FFF7FEFF bl UART_CheckIdleState
9420 .LVL801:
9421 .L477:
426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 305
9422 .loc 1 426 1 view .LVU3109
9423 0056 10BD pop {r4, pc}
9424 .LVL802:
9425 .L485:
378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9426 .loc 1 378 5 is_stmt 1 view .LVU3110
378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9427 .loc 1 378 17 is_stmt 0 view .LVU3111
9428 0058 80F87830 strb r3, [r0, #120]
392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
9429 .loc 1 392 5 is_stmt 1 view .LVU3112
9430 005c FFF7FEFF bl HAL_UART_MspInit
9431 .LVL803:
392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
9432 .loc 1 392 5 is_stmt 0 view .LVU3113
9433 0060 D4E7 b .L478
9434 .L486:
404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9435 .loc 1 404 5 is_stmt 1 view .LVU3114
9436 0062 2046 mov r0, r4
9437 0064 FFF7FEFF bl UART_AdvFeatureConfig
9438 .LVL804:
9439 0068 D9E7 b .L479
9440 .LVL805:
9441 .L480:
9442 .LCFI44:
9443 .cfi_def_cfa_offset 0
9444 .cfi_restore 4
9445 .cfi_restore 14
369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9446 .loc 1 369 12 is_stmt 0 view .LVU3115
9447 006a 0120 movs r0, #1
9448 .LVL806:
426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9449 .loc 1 426 1 view .LVU3116
9450 006c 7047 bx lr
9451 .cfi_endproc
9452 .LFE142:
9454 .section .text.HAL_LIN_Init,"ax",%progbits
9455 .align 1
9456 .global HAL_LIN_Init
9457 .syntax unified
9458 .thumb
9459 .thumb_func
9461 HAL_LIN_Init:
9462 .LVL807:
9463 .LFB143:
440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
9464 .loc 1 440 1 is_stmt 1 view -0
9465 .cfi_startproc
9466 @ args = 0, pretend = 0, frame = 0
9467 @ frame_needed = 0, uses_anonymous_args = 0
442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9468 .loc 1 442 3 view .LVU3118
442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9469 .loc 1 442 6 is_stmt 0 view .LVU3119
9470 0000 0028 cmp r0, #0
ARM GAS /tmp/ccQxTlMj.s page 306
9471 0002 40D0 beq .L491
440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
9472 .loc 1 440 1 view .LVU3120
9473 0004 38B5 push {r3, r4, r5, lr}
9474 .LCFI45:
9475 .cfi_def_cfa_offset 16
9476 .cfi_offset 3, -16
9477 .cfi_offset 4, -12
9478 .cfi_offset 5, -8
9479 .cfi_offset 14, -4
9480 0006 0D46 mov r5, r1
9481 0008 0446 mov r4, r0
448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the Break detection length parameter */
9482 .loc 1 448 3 is_stmt 1 view .LVU3121
450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9483 .loc 1 450 3 view .LVU3122
453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9484 .loc 1 453 3 view .LVU3123
453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9485 .loc 1 453 18 is_stmt 0 view .LVU3124
9486 000a C369 ldr r3, [r0, #28]
453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9487 .loc 1 453 6 view .LVU3125
9488 000c B3F5004F cmp r3, #32768
9489 0010 3BD0 beq .L492
458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9490 .loc 1 458 3 is_stmt 1 view .LVU3126
458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9491 .loc 1 458 18 is_stmt 0 view .LVU3127
9492 0012 8368 ldr r3, [r0, #8]
458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9493 .loc 1 458 6 view .LVU3128
9494 0014 002B cmp r3, #0
9495 0016 3AD1 bne .L493
463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9496 .loc 1 463 3 is_stmt 1 view .LVU3129
463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9497 .loc 1 463 12 is_stmt 0 view .LVU3130
9498 0018 C36F ldr r3, [r0, #124]
463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9499 .loc 1 463 6 view .LVU3131
9500 001a 5BB3 cbz r3, .L498
9501 .LVL808:
9502 .L489:
484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9503 .loc 1 484 3 is_stmt 1 view .LVU3132
484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9504 .loc 1 484 17 is_stmt 0 view .LVU3133
9505 001c 2423 movs r3, #36
9506 001e E367 str r3, [r4, #124]
486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9507 .loc 1 486 3 is_stmt 1 view .LVU3134
9508 0020 2268 ldr r2, [r4]
9509 0022 1368 ldr r3, [r2]
9510 0024 23F00103 bic r3, r3, #1
9511 0028 1360 str r3, [r2]
490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 307
9512 .loc 1 490 3 view .LVU3135
490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9513 .loc 1 490 26 is_stmt 0 view .LVU3136
9514 002a 636A ldr r3, [r4, #36]
490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9515 .loc 1 490 6 view .LVU3137
9516 002c 3BBB cbnz r3, .L499
9517 .L490:
496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9518 .loc 1 496 3 is_stmt 1 view .LVU3138
496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9519 .loc 1 496 7 is_stmt 0 view .LVU3139
9520 002e 2046 mov r0, r4
9521 0030 FFF7FEFF bl UART_SetConfig
9522 .LVL809:
496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9523 .loc 1 496 6 discriminator 1 view .LVU3140
9524 0034 0128 cmp r0, #1
9525 0036 1CD0 beq .L488
504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
9526 .loc 1 504 3 is_stmt 1 view .LVU3141
9527 0038 2268 ldr r2, [r4]
9528 003a 5368 ldr r3, [r2, #4]
9529 003c 23F40063 bic r3, r3, #2048
9530 0040 5360 str r3, [r2, #4]
505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9531 .loc 1 505 3 view .LVU3142
9532 0042 2268 ldr r2, [r4]
9533 0044 9368 ldr r3, [r2, #8]
9534 0046 23F02A03 bic r3, r3, #42
9535 004a 9360 str r3, [r2, #8]
508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9536 .loc 1 508 3 view .LVU3143
9537 004c 2268 ldr r2, [r4]
9538 004e 5368 ldr r3, [r2, #4]
9539 0050 43F48043 orr r3, r3, #16384
9540 0054 5360 str r3, [r2, #4]
511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9541 .loc 1 511 3 view .LVU3144
9542 0056 2268 ldr r2, [r4]
9543 0058 5368 ldr r3, [r2, #4]
9544 005a 23F02003 bic r3, r3, #32
9545 005e 2B43 orrs r3, r3, r5
9546 0060 5360 str r3, [r2, #4]
513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9547 .loc 1 513 3 view .LVU3145
9548 0062 2268 ldr r2, [r4]
9549 0064 1368 ldr r3, [r2]
9550 0066 43F00103 orr r3, r3, #1
9551 006a 1360 str r3, [r2]
516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9552 .loc 1 516 3 view .LVU3146
516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9553 .loc 1 516 11 is_stmt 0 view .LVU3147
9554 006c 2046 mov r0, r4
9555 006e FFF7FEFF bl UART_CheckIdleState
9556 .LVL810:
ARM GAS /tmp/ccQxTlMj.s page 308
9557 .L488:
517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9558 .loc 1 517 1 view .LVU3148
9559 0072 38BD pop {r3, r4, r5, pc}
9560 .LVL811:
9561 .L498:
466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9562 .loc 1 466 5 is_stmt 1 view .LVU3149
466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9563 .loc 1 466 17 is_stmt 0 view .LVU3150
9564 0074 80F87830 strb r3, [r0, #120]
480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
9565 .loc 1 480 5 is_stmt 1 view .LVU3151
9566 0078 FFF7FEFF bl HAL_UART_MspInit
9567 .LVL812:
480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
9568 .loc 1 480 5 is_stmt 0 view .LVU3152
9569 007c CEE7 b .L489
9570 .L499:
492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9571 .loc 1 492 5 is_stmt 1 view .LVU3153
9572 007e 2046 mov r0, r4
9573 0080 FFF7FEFF bl UART_AdvFeatureConfig
9574 .LVL813:
9575 0084 D3E7 b .L490
9576 .LVL814:
9577 .L491:
9578 .LCFI46:
9579 .cfi_def_cfa_offset 0
9580 .cfi_restore 3
9581 .cfi_restore 4
9582 .cfi_restore 5
9583 .cfi_restore 14
444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9584 .loc 1 444 12 is_stmt 0 view .LVU3154
9585 0086 0120 movs r0, #1
9586 .LVL815:
517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9587 .loc 1 517 1 view .LVU3155
9588 0088 7047 bx lr
9589 .LVL816:
9590 .L492:
9591 .LCFI47:
9592 .cfi_def_cfa_offset 16
9593 .cfi_offset 3, -16
9594 .cfi_offset 4, -12
9595 .cfi_offset 5, -8
9596 .cfi_offset 14, -4
455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9597 .loc 1 455 12 view .LVU3156
9598 008a 0120 movs r0, #1
9599 .LVL817:
455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9600 .loc 1 455 12 view .LVU3157
9601 008c F1E7 b .L488
9602 .LVL818:
9603 .L493:
ARM GAS /tmp/ccQxTlMj.s page 309
460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9604 .loc 1 460 12 view .LVU3158
9605 008e 0120 movs r0, #1
9606 .LVL819:
460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9607 .loc 1 460 12 view .LVU3159
9608 0090 EFE7 b .L488
9609 .cfi_endproc
9610 .LFE143:
9612 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
9613 .align 1
9614 .global HAL_MultiProcessor_Init
9615 .syntax unified
9616 .thumb
9617 .thumb_func
9619 HAL_MultiProcessor_Init:
9620 .LVL820:
9621 .LFB144:
539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
9622 .loc 1 539 1 is_stmt 1 view -0
9623 .cfi_startproc
9624 @ args = 0, pretend = 0, frame = 0
9625 @ frame_needed = 0, uses_anonymous_args = 0
541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9626 .loc 1 541 3 view .LVU3161
541:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9627 .loc 1 541 6 is_stmt 0 view .LVU3162
9628 0000 0028 cmp r0, #0
9629 0002 40D0 beq .L505
539:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check the UART handle allocation */
9630 .loc 1 539 1 view .LVU3163
9631 0004 70B5 push {r4, r5, r6, lr}
9632 .LCFI48:
9633 .cfi_def_cfa_offset 16
9634 .cfi_offset 4, -16
9635 .cfi_offset 5, -12
9636 .cfi_offset 6, -8
9637 .cfi_offset 14, -4
9638 0006 0E46 mov r6, r1
9639 0008 1546 mov r5, r2
9640 000a 0446 mov r4, r0
547:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9641 .loc 1 547 3 is_stmt 1 view .LVU3164
549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9642 .loc 1 549 3 view .LVU3165
549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9643 .loc 1 549 12 is_stmt 0 view .LVU3166
9644 000c C36F ldr r3, [r0, #124]
549:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9645 .loc 1 549 6 view .LVU3167
9646 000e 4BB3 cbz r3, .L510
9647 .LVL821:
9648 .L502:
570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9649 .loc 1 570 3 is_stmt 1 view .LVU3168
570:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9650 .loc 1 570 17 is_stmt 0 view .LVU3169
ARM GAS /tmp/ccQxTlMj.s page 310
9651 0010 2423 movs r3, #36
9652 0012 E367 str r3, [r4, #124]
572:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9653 .loc 1 572 3 is_stmt 1 view .LVU3170
9654 0014 2268 ldr r2, [r4]
9655 0016 1368 ldr r3, [r2]
9656 0018 23F00103 bic r3, r3, #1
9657 001c 1360 str r3, [r2]
576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9658 .loc 1 576 3 view .LVU3171
576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9659 .loc 1 576 26 is_stmt 0 view .LVU3172
9660 001e 636A ldr r3, [r4, #36]
576:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9661 .loc 1 576 6 view .LVU3173
9662 0020 2BBB cbnz r3, .L511
9663 .L503:
582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9664 .loc 1 582 3 is_stmt 1 view .LVU3174
582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9665 .loc 1 582 7 is_stmt 0 view .LVU3175
9666 0022 2046 mov r0, r4
9667 0024 FFF7FEFF bl UART_SetConfig
9668 .LVL822:
582:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9669 .loc 1 582 6 discriminator 1 view .LVU3176
9670 0028 0128 cmp r0, #1
9671 002a 1AD0 beq .L501
590:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
9672 .loc 1 590 3 is_stmt 1 view .LVU3177
9673 002c 2268 ldr r2, [r4]
9674 002e 5368 ldr r3, [r2, #4]
9675 0030 23F49043 bic r3, r3, #18432
9676 0034 5360 str r3, [r2, #4]
591:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9677 .loc 1 591 3 view .LVU3178
9678 0036 2268 ldr r2, [r4]
9679 0038 9368 ldr r3, [r2, #8]
9680 003a 23F02A03 bic r3, r3, #42
9681 003e 9360 str r3, [r2, #8]
593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9682 .loc 1 593 3 view .LVU3179
593:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
9683 .loc 1 593 6 is_stmt 0 view .LVU3180
9684 0040 B5F5006F cmp r5, #2048
9685 0044 17D0 beq .L512
9686 .L504:
600:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9687 .loc 1 600 3 is_stmt 1 view .LVU3181
9688 0046 2268 ldr r2, [r4]
9689 0048 1368 ldr r3, [r2]
9690 004a 23F40063 bic r3, r3, #2048
9691 004e 2B43 orrs r3, r3, r5
9692 0050 1360 str r3, [r2]
602:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9693 .loc 1 602 3 view .LVU3182
9694 0052 2268 ldr r2, [r4]
ARM GAS /tmp/ccQxTlMj.s page 311
9695 0054 1368 ldr r3, [r2]
9696 0056 43F00103 orr r3, r3, #1
9697 005a 1360 str r3, [r2]
605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9698 .loc 1 605 3 view .LVU3183
605:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9699 .loc 1 605 11 is_stmt 0 view .LVU3184
9700 005c 2046 mov r0, r4
9701 005e FFF7FEFF bl UART_CheckIdleState
9702 .LVL823:
9703 .L501:
606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9704 .loc 1 606 1 view .LVU3185
9705 0062 70BD pop {r4, r5, r6, pc}
9706 .LVL824:
9707 .L510:
552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9708 .loc 1 552 5 is_stmt 1 view .LVU3186
552:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9709 .loc 1 552 17 is_stmt 0 view .LVU3187
9710 0064 80F87830 strb r3, [r0, #120]
566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
9711 .loc 1 566 5 is_stmt 1 view .LVU3188
9712 0068 FFF7FEFF bl HAL_UART_MspInit
9713 .LVL825:
566:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
9714 .loc 1 566 5 is_stmt 0 view .LVU3189
9715 006c D0E7 b .L502
9716 .L511:
578:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9717 .loc 1 578 5 is_stmt 1 view .LVU3190
9718 006e 2046 mov r0, r4
9719 0070 FFF7FEFF bl UART_AdvFeatureConfig
9720 .LVL826:
9721 0074 D5E7 b .L503
9722 .L512:
596:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9723 .loc 1 596 5 view .LVU3191
9724 0076 2268 ldr r2, [r4]
9725 0078 5368 ldr r3, [r2, #4]
9726 007a 23F07F43 bic r3, r3, #-16777216
9727 007e 43EA0663 orr r3, r3, r6, lsl #24
9728 0082 5360 str r3, [r2, #4]
9729 0084 DFE7 b .L504
9730 .LVL827:
9731 .L505:
9732 .LCFI49:
9733 .cfi_def_cfa_offset 0
9734 .cfi_restore 4
9735 .cfi_restore 5
9736 .cfi_restore 6
9737 .cfi_restore 14
543:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9738 .loc 1 543 12 is_stmt 0 view .LVU3192
9739 0086 0120 movs r0, #1
9740 .LVL828:
606:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 312
9741 .loc 1 606 1 view .LVU3193
9742 0088 7047 bx lr
9743 .cfi_endproc
9744 .LFE144:
9746 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits
9747 .align 1
9748 .global HAL_MultiProcessor_EnableMuteMode
9749 .syntax unified
9750 .thumb
9751 .thumb_func
9753 HAL_MultiProcessor_EnableMuteMode:
9754 .LVL829:
9755 .LFB177:
2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
9756 .loc 1 2696 1 is_stmt 1 view -0
9757 .cfi_startproc
9758 @ args = 0, pretend = 0, frame = 0
9759 @ frame_needed = 0, uses_anonymous_args = 0
2696:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
9760 .loc 1 2696 1 is_stmt 0 view .LVU3195
9761 0000 08B5 push {r3, lr}
9762 .LCFI50:
9763 .cfi_def_cfa_offset 8
9764 .cfi_offset 3, -8
9765 .cfi_offset 14, -4
2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9766 .loc 1 2697 3 is_stmt 1 view .LVU3196
2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9767 .loc 1 2697 3 view .LVU3197
9768 0002 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2
9769 0006 012B cmp r3, #1
9770 0008 12D0 beq .L516
2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9771 .loc 1 2697 3 discriminator 2 view .LVU3198
9772 000a 0123 movs r3, #1
9773 000c 80F87830 strb r3, [r0, #120]
2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9774 .loc 1 2697 3 discriminator 2 view .LVU3199
2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9775 .loc 1 2699 3 view .LVU3200
2699:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9776 .loc 1 2699 17 is_stmt 0 view .LVU3201
9777 0010 2423 movs r3, #36
9778 0012 C367 str r3, [r0, #124]
9779 .L515:
2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9780 .loc 1 2702 3 is_stmt 1 discriminator 1 view .LVU3202
9781 .LBB777:
2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9782 .loc 1 2702 3 discriminator 1 view .LVU3203
2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9783 .loc 1 2702 3 discriminator 1 view .LVU3204
2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9784 .loc 1 2702 3 discriminator 1 view .LVU3205
9785 0014 0268 ldr r2, [r0]
9786 .LVL830:
9787 .LBB778:
ARM GAS /tmp/ccQxTlMj.s page 313
9788 .LBI778:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9789 .loc 2 1068 31 view .LVU3206
9790 .LBB779:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
9791 .loc 2 1070 5 view .LVU3207
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9792 .loc 2 1072 4 view .LVU3208
9793 .syntax unified
9794 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9795 0016 52E8003F ldrex r3, [r2]
9796 @ 0 "" 2
9797 .LVL831:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9798 .loc 2 1073 4 view .LVU3209
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9799 .loc 2 1073 4 is_stmt 0 view .LVU3210
9800 .thumb
9801 .syntax unified
9802 .LBE779:
9803 .LBE778:
2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9804 .loc 1 2702 3 discriminator 1 view .LVU3211
9805 001a 43F40053 orr r3, r3, #8192
9806 .LVL832:
2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9807 .loc 1 2702 3 is_stmt 1 discriminator 1 view .LVU3212
9808 .LBB780:
9809 .LBI780:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9810 .loc 2 1119 31 view .LVU3213
9811 .LBB781:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
9812 .loc 2 1121 4 view .LVU3214
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9813 .loc 2 1123 4 view .LVU3215
9814 .syntax unified
9815 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9816 001e 42E80031 strex r1, r3, [r2]
9817 @ 0 "" 2
9818 .LVL833:
9819 .loc 2 1124 4 view .LVU3216
9820 .loc 2 1124 4 is_stmt 0 view .LVU3217
9821 .thumb
9822 .syntax unified
9823 .LBE781:
9824 .LBE780:
2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9825 .loc 1 2702 3 discriminator 1 view .LVU3218
9826 0022 0029 cmp r1, #0
9827 0024 F6D1 bne .L515
9828 .LBE777:
2702:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9829 .loc 1 2702 3 is_stmt 1 discriminator 2 view .LVU3219
2704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9830 .loc 1 2704 3 view .LVU3220
2704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 314
9831 .loc 1 2704 17 is_stmt 0 view .LVU3221
9832 0026 2023 movs r3, #32
9833 .LVL834:
2704:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9834 .loc 1 2704 17 view .LVU3222
9835 0028 C367 str r3, [r0, #124]
2706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9836 .loc 1 2706 3 is_stmt 1 view .LVU3223
2706:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9837 .loc 1 2706 11 is_stmt 0 view .LVU3224
9838 002a FFF7FEFF bl UART_CheckIdleState
9839 .LVL835:
9840 .L514:
2707:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9841 .loc 1 2707 1 view .LVU3225
9842 002e 08BD pop {r3, pc}
9843 .LVL836:
9844 .L516:
2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9845 .loc 1 2697 3 discriminator 1 view .LVU3226
9846 0030 0220 movs r0, #2
9847 .LVL837:
2697:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9848 .loc 1 2697 3 discriminator 1 view .LVU3227
9849 0032 FCE7 b .L514
9850 .cfi_endproc
9851 .LFE177:
9853 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits
9854 .align 1
9855 .global HAL_MultiProcessor_DisableMuteMode
9856 .syntax unified
9857 .thumb
9858 .thumb_func
9860 HAL_MultiProcessor_DisableMuteMode:
9861 .LVL838:
9862 .LFB178:
2716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
9863 .loc 1 2716 1 is_stmt 1 view -0
9864 .cfi_startproc
9865 @ args = 0, pretend = 0, frame = 0
9866 @ frame_needed = 0, uses_anonymous_args = 0
2716:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** __HAL_LOCK(huart);
9867 .loc 1 2716 1 is_stmt 0 view .LVU3229
9868 0000 08B5 push {r3, lr}
9869 .LCFI51:
9870 .cfi_def_cfa_offset 8
9871 .cfi_offset 3, -8
9872 .cfi_offset 14, -4
2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9873 .loc 1 2717 3 is_stmt 1 view .LVU3230
2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9874 .loc 1 2717 3 view .LVU3231
9875 0002 90F87830 ldrb r3, [r0, #120] @ zero_extendqisi2
9876 0006 012B cmp r3, #1
9877 0008 12D0 beq .L521
2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9878 .loc 1 2717 3 discriminator 2 view .LVU3232
ARM GAS /tmp/ccQxTlMj.s page 315
9879 000a 0123 movs r3, #1
9880 000c 80F87830 strb r3, [r0, #120]
2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9881 .loc 1 2717 3 discriminator 2 view .LVU3233
2719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9882 .loc 1 2719 3 view .LVU3234
2719:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9883 .loc 1 2719 17 is_stmt 0 view .LVU3235
9884 0010 2423 movs r3, #36
9885 0012 C367 str r3, [r0, #124]
9886 .L520:
2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9887 .loc 1 2722 3 is_stmt 1 discriminator 1 view .LVU3236
9888 .LBB782:
2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9889 .loc 1 2722 3 discriminator 1 view .LVU3237
2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9890 .loc 1 2722 3 discriminator 1 view .LVU3238
2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9891 .loc 1 2722 3 discriminator 1 view .LVU3239
9892 0014 0268 ldr r2, [r0]
9893 .LVL839:
9894 .LBB783:
9895 .LBI783:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9896 .loc 2 1068 31 view .LVU3240
9897 .LBB784:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
9898 .loc 2 1070 5 view .LVU3241
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9899 .loc 2 1072 4 view .LVU3242
9900 .syntax unified
9901 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9902 0016 52E8003F ldrex r3, [r2]
9903 @ 0 "" 2
9904 .LVL840:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9905 .loc 2 1073 4 view .LVU3243
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9906 .loc 2 1073 4 is_stmt 0 view .LVU3244
9907 .thumb
9908 .syntax unified
9909 .LBE784:
9910 .LBE783:
2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9911 .loc 1 2722 3 discriminator 1 view .LVU3245
9912 001a 23F40053 bic r3, r3, #8192
9913 .LVL841:
2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9914 .loc 1 2722 3 is_stmt 1 discriminator 1 view .LVU3246
9915 .LBB785:
9916 .LBI785:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9917 .loc 2 1119 31 view .LVU3247
9918 .LBB786:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
9919 .loc 2 1121 4 view .LVU3248
ARM GAS /tmp/ccQxTlMj.s page 316
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9920 .loc 2 1123 4 view .LVU3249
9921 .syntax unified
9922 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9923 001e 42E80031 strex r1, r3, [r2]
9924 @ 0 "" 2
9925 .LVL842:
9926 .loc 2 1124 4 view .LVU3250
9927 .loc 2 1124 4 is_stmt 0 view .LVU3251
9928 .thumb
9929 .syntax unified
9930 .LBE786:
9931 .LBE785:
2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9932 .loc 1 2722 3 discriminator 1 view .LVU3252
9933 0022 0029 cmp r1, #0
9934 0024 F6D1 bne .L520
9935 .LBE782:
2722:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9936 .loc 1 2722 3 is_stmt 1 discriminator 2 view .LVU3253
2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9937 .loc 1 2724 3 view .LVU3254
2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9938 .loc 1 2724 17 is_stmt 0 view .LVU3255
9939 0026 2023 movs r3, #32
9940 .LVL843:
2724:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9941 .loc 1 2724 17 view .LVU3256
9942 0028 C367 str r3, [r0, #124]
2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9943 .loc 1 2726 3 is_stmt 1 view .LVU3257
2726:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
9944 .loc 1 2726 11 is_stmt 0 view .LVU3258
9945 002a FFF7FEFF bl UART_CheckIdleState
9946 .LVL844:
9947 .L519:
2727:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9948 .loc 1 2727 1 view .LVU3259
9949 002e 08BD pop {r3, pc}
9950 .LVL845:
9951 .L521:
2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9952 .loc 1 2717 3 discriminator 1 view .LVU3260
9953 0030 0220 movs r0, #2
9954 .LVL846:
2717:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9955 .loc 1 2717 3 discriminator 1 view .LVU3261
9956 0032 FCE7 b .L519
9957 .cfi_endproc
9958 .LFE178:
9960 .section .text.UART_Start_Receive_IT,"ax",%progbits
9961 .align 1
9962 .global UART_Start_Receive_IT
9963 .syntax unified
9964 .thumb
9965 .thumb_func
9967 UART_Start_Receive_IT:
ARM GAS /tmp/ccQxTlMj.s page 317
9968 .LVL847:
9969 .LFB189:
3259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = pData;
9970 .loc 1 3259 1 is_stmt 1 view -0
9971 .cfi_startproc
9972 @ args = 0, pretend = 0, frame = 0
9973 @ frame_needed = 0, uses_anonymous_args = 0
9974 @ link register save eliminated.
3260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size;
9975 .loc 1 3260 3 view .LVU3263
3260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size;
9976 .loc 1 3260 22 is_stmt 0 view .LVU3264
9977 0000 4165 str r1, [r0, #84]
3261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size;
9978 .loc 1 3261 3 is_stmt 1 view .LVU3265
3261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferCount = Size;
9979 .loc 1 3261 22 is_stmt 0 view .LVU3266
9980 0002 A0F85820 strh r2, [r0, #88] @ movhi
3262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL;
9981 .loc 1 3262 3 is_stmt 1 view .LVU3267
3262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxISR = NULL;
9982 .loc 1 3262 22 is_stmt 0 view .LVU3268
9983 0006 A0F85A20 strh r2, [r0, #90] @ movhi
3263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9984 .loc 1 3263 3 is_stmt 1 view .LVU3269
3263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9985 .loc 1 3263 22 is_stmt 0 view .LVU3270
9986 000a 0023 movs r3, #0
9987 000c 8366 str r3, [r0, #104]
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9988 .loc 1 3266 3 is_stmt 1 view .LVU3271
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9989 .loc 1 3266 3 view .LVU3272
9990 000e 8368 ldr r3, [r0, #8]
9991 0010 B3F5805F cmp r3, #4096
9992 0014 06D0 beq .L537
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9993 .loc 1 3266 3 discriminator 2 view .LVU3273
9994 0016 A3B9 cbnz r3, .L527
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9995 .loc 1 3266 3 discriminator 5 view .LVU3274
9996 0018 0369 ldr r3, [r0, #16]
9997 001a 73B9 cbnz r3, .L528
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
9998 .loc 1 3266 3 discriminator 7 view .LVU3275
9999 001c FF23 movs r3, #255
10000 001e A0F85C30 strh r3, [r0, #92] @ movhi
10001 0022 14E0 b .L526
10002 .L537:
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10003 .loc 1 3266 3 discriminator 1 view .LVU3276
10004 0024 0369 ldr r3, [r0, #16]
10005 0026 23B9 cbnz r3, .L525
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10006 .loc 1 3266 3 discriminator 3 view .LVU3277
10007 0028 40F2FF13 movw r3, #511
10008 002c A0F85C30 strh r3, [r0, #92] @ movhi
ARM GAS /tmp/ccQxTlMj.s page 318
10009 0030 0DE0 b .L526
10010 .L525:
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10011 .loc 1 3266 3 discriminator 4 view .LVU3278
10012 0032 FF23 movs r3, #255
10013 0034 A0F85C30 strh r3, [r0, #92] @ movhi
10014 0038 09E0 b .L526
10015 .L528:
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10016 .loc 1 3266 3 discriminator 8 view .LVU3279
10017 003a 7F23 movs r3, #127
10018 003c A0F85C30 strh r3, [r0, #92] @ movhi
10019 0040 05E0 b .L526
10020 .L527:
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10021 .loc 1 3266 3 discriminator 6 view .LVU3280
10022 0042 B3F1805F cmp r3, #268435456
10023 0046 27D0 beq .L538
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10024 .loc 1 3266 3 discriminator 10 view .LVU3281
10025 0048 0023 movs r3, #0
10026 004a A0F85C30 strh r3, [r0, #92] @ movhi
10027 .L526:
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10028 .loc 1 3266 3 discriminator 13 view .LVU3282
3268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10029 .loc 1 3268 3 view .LVU3283
3268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10030 .loc 1 3268 20 is_stmt 0 view .LVU3284
10031 004e 0023 movs r3, #0
10032 0050 C0F88430 str r3, [r0, #132]
3269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10033 .loc 1 3269 3 is_stmt 1 view .LVU3285
3269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10034 .loc 1 3269 18 is_stmt 0 view .LVU3286
10035 0054 2223 movs r3, #34
10036 0056 C0F88030 str r3, [r0, #128]
10037 .LVL848:
10038 .L531:
3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10039 .loc 1 3272 3 is_stmt 1 discriminator 1 view .LVU3287
10040 .LBB787:
3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10041 .loc 1 3272 3 discriminator 1 view .LVU3288
3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10042 .loc 1 3272 3 discriminator 1 view .LVU3289
3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10043 .loc 1 3272 3 discriminator 1 view .LVU3290
10044 005a 0268 ldr r2, [r0]
10045 .LVL849:
10046 .LBB788:
10047 .LBI788:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10048 .loc 2 1068 31 view .LVU3291
10049 .LBB789:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
10050 .loc 2 1070 5 view .LVU3292
ARM GAS /tmp/ccQxTlMj.s page 319
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10051 .loc 2 1072 4 view .LVU3293
10052 005c 02F10803 add r3, r2, #8
10053 .LVL850:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10054 .loc 2 1072 4 is_stmt 0 view .LVU3294
10055 .syntax unified
10056 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10057 0060 53E8003F ldrex r3, [r3]
10058 @ 0 "" 2
10059 .LVL851:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10060 .loc 2 1073 4 is_stmt 1 view .LVU3295
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10061 .loc 2 1073 4 is_stmt 0 view .LVU3296
10062 .thumb
10063 .syntax unified
10064 .LBE789:
10065 .LBE788:
3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10066 .loc 1 3272 3 discriminator 1 view .LVU3297
10067 0064 43F00103 orr r3, r3, #1
10068 .LVL852:
3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10069 .loc 1 3272 3 is_stmt 1 discriminator 1 view .LVU3298
10070 .LBB790:
10071 .LBI790:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10072 .loc 2 1119 31 view .LVU3299
10073 .LBB791:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
10074 .loc 2 1121 4 view .LVU3300
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10075 .loc 2 1123 4 view .LVU3301
10076 0068 0832 adds r2, r2, #8
10077 .LVL853:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10078 .loc 2 1123 4 is_stmt 0 view .LVU3302
10079 .syntax unified
10080 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10081 006a 42E80031 strex r1, r3, [r2]
10082 @ 0 "" 2
10083 .LVL854:
10084 .loc 2 1124 4 is_stmt 1 view .LVU3303
10085 .loc 2 1124 4 is_stmt 0 view .LVU3304
10086 .thumb
10087 .syntax unified
10088 .LBE791:
10089 .LBE790:
3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10090 .loc 1 3272 3 discriminator 1 view .LVU3305
10091 006e 0029 cmp r1, #0
10092 0070 F3D1 bne .L531
10093 .LBE787:
3272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10094 .loc 1 3272 3 is_stmt 1 discriminator 2 view .LVU3306
3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 320
10095 .loc 1 3275 3 view .LVU3307
3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10096 .loc 1 3275 19 is_stmt 0 view .LVU3308
10097 0072 8368 ldr r3, [r0, #8]
10098 .LVL855:
3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10099 .loc 1 3275 6 view .LVU3309
10100 0074 B3F5805F cmp r3, #4096
10101 0078 18D0 beq .L539
10102 .L532:
3281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10103 .loc 1 3281 5 is_stmt 1 view .LVU3310
3281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10104 .loc 1 3281 18 is_stmt 0 view .LVU3311
10105 007a 144B ldr r3, .L540
10106 007c 8366 str r3, [r0, #104]
10107 .L533:
3285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10108 .loc 1 3285 3 is_stmt 1 view .LVU3312
3285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10109 .loc 1 3285 18 is_stmt 0 view .LVU3313
10110 007e 0369 ldr r3, [r0, #16]
3285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10111 .loc 1 3285 6 view .LVU3314
10112 0080 D3B1 cbz r3, .L534
10113 .L535:
3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10114 .loc 1 3287 5 is_stmt 1 discriminator 1 view .LVU3315
10115 .LBB792:
3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10116 .loc 1 3287 5 discriminator 1 view .LVU3316
3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10117 .loc 1 3287 5 discriminator 1 view .LVU3317
3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10118 .loc 1 3287 5 discriminator 1 view .LVU3318
10119 0082 0268 ldr r2, [r0]
10120 .LVL856:
10121 .LBB793:
10122 .LBI793:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10123 .loc 2 1068 31 view .LVU3319
10124 .LBB794:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
10125 .loc 2 1070 5 view .LVU3320
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10126 .loc 2 1072 4 view .LVU3321
10127 .syntax unified
10128 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10129 0084 52E8003F ldrex r3, [r2]
10130 @ 0 "" 2
10131 .LVL857:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10132 .loc 2 1073 4 view .LVU3322
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10133 .loc 2 1073 4 is_stmt 0 view .LVU3323
10134 .thumb
10135 .syntax unified
ARM GAS /tmp/ccQxTlMj.s page 321
10136 .LBE794:
10137 .LBE793:
3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10138 .loc 1 3287 5 discriminator 1 view .LVU3324
10139 0088 43F49073 orr r3, r3, #288
10140 .LVL858:
3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10141 .loc 1 3287 5 is_stmt 1 discriminator 1 view .LVU3325
10142 .LBB795:
10143 .LBI795:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10144 .loc 2 1119 31 view .LVU3326
10145 .LBB796:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
10146 .loc 2 1121 4 view .LVU3327
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10147 .loc 2 1123 4 view .LVU3328
10148 .syntax unified
10149 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10150 008c 42E80031 strex r1, r3, [r2]
10151 @ 0 "" 2
10152 .LVL859:
10153 .loc 2 1124 4 view .LVU3329
10154 .loc 2 1124 4 is_stmt 0 view .LVU3330
10155 .thumb
10156 .syntax unified
10157 .LBE796:
10158 .LBE795:
3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10159 .loc 1 3287 5 discriminator 1 view .LVU3331
10160 0090 0029 cmp r1, #0
10161 0092 F6D1 bne .L535
10162 .LVL860:
10163 .L536:
3287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10164 .loc 1 3287 5 discriminator 1 view .LVU3332
10165 .LBE792:
3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10166 .loc 1 3291 5 is_stmt 1 discriminator 2 view .LVU3333
3293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10167 .loc 1 3293 3 view .LVU3334
3294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10168 .loc 1 3294 1 is_stmt 0 view .LVU3335
10169 0094 0020 movs r0, #0
10170 .LVL861:
3294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10171 .loc 1 3294 1 view .LVU3336
10172 0096 7047 bx lr
10173 .LVL862:
10174 .L538:
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10175 .loc 1 3266 3 is_stmt 1 discriminator 9 view .LVU3337
10176 0098 0369 ldr r3, [r0, #16]
10177 009a 1BB9 cbnz r3, .L530
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10178 .loc 1 3266 3 discriminator 11 view .LVU3338
10179 009c 7F23 movs r3, #127
ARM GAS /tmp/ccQxTlMj.s page 322
10180 009e A0F85C30 strh r3, [r0, #92] @ movhi
10181 00a2 D4E7 b .L526
10182 .L530:
3266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10183 .loc 1 3266 3 discriminator 12 view .LVU3339
10184 00a4 3F23 movs r3, #63
10185 00a6 A0F85C30 strh r3, [r0, #92] @ movhi
10186 00aa D0E7 b .L526
10187 .LVL863:
10188 .L539:
3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10189 .loc 1 3275 69 is_stmt 0 discriminator 1 view .LVU3340
10190 00ac 0369 ldr r3, [r0, #16]
3275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10191 .loc 1 3275 54 discriminator 1 view .LVU3341
10192 00ae 002B cmp r3, #0
10193 00b0 E3D1 bne .L532
3277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10194 .loc 1 3277 5 is_stmt 1 view .LVU3342
3277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10195 .loc 1 3277 18 is_stmt 0 view .LVU3343
10196 00b2 074B ldr r3, .L540+4
10197 00b4 8366 str r3, [r0, #104]
10198 00b6 E2E7 b .L533
10199 .L534:
3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10200 .loc 1 3291 5 is_stmt 1 discriminator 1 view .LVU3344
10201 .LBB797:
3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10202 .loc 1 3291 5 discriminator 1 view .LVU3345
3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10203 .loc 1 3291 5 discriminator 1 view .LVU3346
3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10204 .loc 1 3291 5 discriminator 1 view .LVU3347
10205 00b8 0268 ldr r2, [r0]
10206 .LVL864:
10207 .LBB798:
10208 .LBI798:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10209 .loc 2 1068 31 view .LVU3348
10210 .LBB799:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
10211 .loc 2 1070 5 view .LVU3349
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10212 .loc 2 1072 4 view .LVU3350
10213 .syntax unified
10214 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10215 00ba 52E8003F ldrex r3, [r2]
10216 @ 0 "" 2
10217 .LVL865:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10218 .loc 2 1073 4 view .LVU3351
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10219 .loc 2 1073 4 is_stmt 0 view .LVU3352
10220 .thumb
10221 .syntax unified
10222 .LBE799:
ARM GAS /tmp/ccQxTlMj.s page 323
10223 .LBE798:
3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10224 .loc 1 3291 5 discriminator 1 view .LVU3353
10225 00be 43F02003 orr r3, r3, #32
10226 .LVL866:
3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10227 .loc 1 3291 5 is_stmt 1 discriminator 1 view .LVU3354
10228 .LBB800:
10229 .LBI800:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10230 .loc 2 1119 31 view .LVU3355
10231 .LBB801:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
10232 .loc 2 1121 4 view .LVU3356
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10233 .loc 2 1123 4 view .LVU3357
10234 .syntax unified
10235 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10236 00c2 42E80031 strex r1, r3, [r2]
10237 @ 0 "" 2
10238 .LVL867:
10239 .loc 2 1124 4 view .LVU3358
10240 .loc 2 1124 4 is_stmt 0 view .LVU3359
10241 .thumb
10242 .syntax unified
10243 .LBE801:
10244 .LBE800:
3291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10245 .loc 1 3291 5 discriminator 1 view .LVU3360
10246 00c6 0029 cmp r1, #0
10247 00c8 F6D1 bne .L534
10248 00ca E3E7 b .L536
10249 .L541:
10250 .align 2
10251 .L540:
10252 00cc 00000000 .word UART_RxISR_8BIT
10253 00d0 00000000 .word UART_RxISR_16BIT
10254 .LBE797:
10255 .cfi_endproc
10256 .LFE189:
10258 .section .text.HAL_UART_Receive_IT,"ax",%progbits
10259 .align 1
10260 .global HAL_UART_Receive_IT
10261 .syntax unified
10262 .thumb
10263 .thumb_func
10265 HAL_UART_Receive_IT:
10266 .LVL868:
10267 .LFB151:
1309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
10268 .loc 1 1309 1 is_stmt 1 view -0
10269 .cfi_startproc
10270 @ args = 0, pretend = 0, frame = 0
10271 @ frame_needed = 0, uses_anonymous_args = 0
1309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
10272 .loc 1 1309 1 is_stmt 0 view .LVU3362
10273 0000 38B5 push {r3, r4, r5, lr}
ARM GAS /tmp/ccQxTlMj.s page 324
10274 .LCFI52:
10275 .cfi_def_cfa_offset 16
10276 .cfi_offset 3, -16
10277 .cfi_offset 4, -12
10278 .cfi_offset 5, -8
10279 .cfi_offset 14, -4
1311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10280 .loc 1 1311 3 is_stmt 1 view .LVU3363
1311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10281 .loc 1 1311 12 is_stmt 0 view .LVU3364
10282 0002 D0F88030 ldr r3, [r0, #128]
1311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10283 .loc 1 1311 6 view .LVU3365
10284 0006 202B cmp r3, #32
10285 0008 16D1 bne .L546
1313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10286 .loc 1 1313 5 is_stmt 1 view .LVU3366
1313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10287 .loc 1 1313 8 is_stmt 0 view .LVU3367
10288 000a 002A cmp r2, #0
10289 000c 18BF it ne
10290 000e 0029 cmpne r1, #0
10291 0010 14D0 beq .L547
1319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10292 .loc 1 1319 5 is_stmt 1 view .LVU3368
1319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10293 .loc 1 1319 26 is_stmt 0 view .LVU3369
10294 0012 0023 movs r3, #0
10295 0014 0366 str r3, [r0, #96]
1322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10296 .loc 1 1322 5 is_stmt 1 view .LVU3370
1322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10297 .loc 1 1322 9 is_stmt 0 view .LVU3371
10298 0016 0368 ldr r3, [r0]
10299 0018 5B68 ldr r3, [r3, #4]
1322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10300 .loc 1 1322 8 view .LVU3372
10301 001a 13F4000F tst r3, #8388608
10302 001e 08D0 beq .L544
10303 .L545:
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10304 .loc 1 1325 7 is_stmt 1 discriminator 1 view .LVU3373
10305 .LBB802:
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10306 .loc 1 1325 7 discriminator 1 view .LVU3374
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10307 .loc 1 1325 7 discriminator 1 view .LVU3375
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10308 .loc 1 1325 7 discriminator 1 view .LVU3376
10309 0020 0468 ldr r4, [r0]
10310 .LVL869:
10311 .LBB803:
10312 .LBI803:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10313 .loc 2 1068 31 view .LVU3377
10314 .LBB804:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/ccQxTlMj.s page 325
10315 .loc 2 1070 5 view .LVU3378
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10316 .loc 2 1072 4 view .LVU3379
10317 .syntax unified
10318 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10319 0022 54E8003F ldrex r3, [r4]
10320 @ 0 "" 2
10321 .LVL870:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10322 .loc 2 1073 4 view .LVU3380
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10323 .loc 2 1073 4 is_stmt 0 view .LVU3381
10324 .thumb
10325 .syntax unified
10326 .LBE804:
10327 .LBE803:
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10328 .loc 1 1325 7 discriminator 1 view .LVU3382
10329 0026 43F08063 orr r3, r3, #67108864
10330 .LVL871:
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10331 .loc 1 1325 7 is_stmt 1 discriminator 1 view .LVU3383
10332 .LBB805:
10333 .LBI805:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10334 .loc 2 1119 31 view .LVU3384
10335 .LBB806:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
10336 .loc 2 1121 4 view .LVU3385
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10337 .loc 2 1123 4 view .LVU3386
10338 .syntax unified
10339 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10340 002a 44E80035 strex r5, r3, [r4]
10341 @ 0 "" 2
10342 .LVL872:
10343 .loc 2 1124 4 view .LVU3387
10344 .loc 2 1124 4 is_stmt 0 view .LVU3388
10345 .thumb
10346 .syntax unified
10347 .LBE806:
10348 .LBE805:
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10349 .loc 1 1325 7 discriminator 1 view .LVU3389
10350 002e 002D cmp r5, #0
10351 0030 F6D1 bne .L545
10352 .LVL873:
10353 .L544:
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10354 .loc 1 1325 7 discriminator 1 view .LVU3390
10355 .LBE802:
1325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10356 .loc 1 1325 7 is_stmt 1 discriminator 2 view .LVU3391
1328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10357 .loc 1 1328 5 view .LVU3392
1328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10358 .loc 1 1328 13 is_stmt 0 view .LVU3393
ARM GAS /tmp/ccQxTlMj.s page 326
10359 0032 FFF7FEFF bl UART_Start_Receive_IT
10360 .LVL874:
1328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10361 .loc 1 1328 13 view .LVU3394
10362 0036 00E0 b .L543
10363 .LVL875:
10364 .L546:
1332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10365 .loc 1 1332 12 view .LVU3395
10366 0038 0220 movs r0, #2
10367 .LVL876:
10368 .L543:
1334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10369 .loc 1 1334 1 view .LVU3396
10370 003a 38BD pop {r3, r4, r5, pc}
10371 .LVL877:
10372 .L547:
1315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10373 .loc 1 1315 14 view .LVU3397
10374 003c 0120 movs r0, #1
10375 .LVL878:
1315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10376 .loc 1 1315 14 view .LVU3398
10377 003e FCE7 b .L543
10378 .cfi_endproc
10379 .LFE151:
10381 .section .text.UART_Start_Receive_DMA,"ax",%progbits
10382 .align 1
10383 .global UART_Start_Receive_DMA
10384 .syntax unified
10385 .thumb
10386 .thumb_func
10388 UART_Start_Receive_DMA:
10389 .LVL879:
10390 .LFB190:
3308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = pData;
10391 .loc 1 3308 1 is_stmt 1 view -0
10392 .cfi_startproc
10393 @ args = 0, pretend = 0, frame = 0
10394 @ frame_needed = 0, uses_anonymous_args = 0
3308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->pRxBuffPtr = pData;
10395 .loc 1 3308 1 is_stmt 0 view .LVU3400
10396 0000 10B5 push {r4, lr}
10397 .LCFI53:
10398 .cfi_def_cfa_offset 8
10399 .cfi_offset 4, -8
10400 .cfi_offset 14, -4
10401 0002 0446 mov r4, r0
10402 0004 1346 mov r3, r2
3309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size;
10403 .loc 1 3309 3 is_stmt 1 view .LVU3401
3309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxXferSize = Size;
10404 .loc 1 3309 21 is_stmt 0 view .LVU3402
10405 0006 4165 str r1, [r0, #84]
3310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10406 .loc 1 3310 3 is_stmt 1 view .LVU3403
3310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 327
10407 .loc 1 3310 21 is_stmt 0 view .LVU3404
10408 0008 A0F85820 strh r2, [r0, #88] @ movhi
3312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10409 .loc 1 3312 3 is_stmt 1 view .LVU3405
3312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10410 .loc 1 3312 20 is_stmt 0 view .LVU3406
10411 000c 0022 movs r2, #0
10412 .LVL880:
3312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10413 .loc 1 3312 20 view .LVU3407
10414 000e C0F88420 str r2, [r0, #132]
3313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10415 .loc 1 3313 3 is_stmt 1 view .LVU3408
3313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10416 .loc 1 3313 18 is_stmt 0 view .LVU3409
10417 0012 2222 movs r2, #34
10418 0014 C0F88020 str r2, [r0, #128]
3315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10419 .loc 1 3315 3 is_stmt 1 view .LVU3410
3315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10420 .loc 1 3315 12 is_stmt 0 view .LVU3411
10421 0018 426F ldr r2, [r0, #116]
3315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10422 .loc 1 3315 6 view .LVU3412
10423 001a 8AB1 cbz r2, .L550
3318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10424 .loc 1 3318 5 is_stmt 1 view .LVU3413
3318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10425 .loc 1 3318 37 is_stmt 0 view .LVU3414
10426 001c 1F49 ldr r1, .L558
10427 .LVL881:
3318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10428 .loc 1 3318 37 view .LVU3415
10429 001e D163 str r1, [r2, #60]
10430 .LVL882:
3321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10431 .loc 1 3321 5 is_stmt 1 view .LVU3416
3321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10432 .loc 1 3321 10 is_stmt 0 view .LVU3417
10433 0020 426F ldr r2, [r0, #116]
3321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10434 .loc 1 3321 41 view .LVU3418
10435 0022 1F49 ldr r1, .L558+4
10436 0024 1164 str r1, [r2, #64]
3324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10437 .loc 1 3324 5 is_stmt 1 view .LVU3419
3324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10438 .loc 1 3324 10 is_stmt 0 view .LVU3420
10439 0026 426F ldr r2, [r0, #116]
3324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10440 .loc 1 3324 38 view .LVU3421
10441 0028 1E49 ldr r1, .L558+8
10442 002a D164 str r1, [r2, #76]
3327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10443 .loc 1 3327 5 is_stmt 1 view .LVU3422
3327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10444 .loc 1 3327 10 is_stmt 0 view .LVU3423
ARM GAS /tmp/ccQxTlMj.s page 328
10445 002c 426F ldr r2, [r0, #116]
3327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10446 .loc 1 3327 38 view .LVU3424
10447 002e 0021 movs r1, #0
10448 0030 1165 str r1, [r2, #80]
3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10449 .loc 1 3330 5 is_stmt 1 view .LVU3425
3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10450 .loc 1 3330 57 is_stmt 0 view .LVU3426
10451 0032 0168 ldr r1, [r0]
3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10452 .loc 1 3330 9 view .LVU3427
10453 0034 426D ldr r2, [r0, #84]
10454 0036 2431 adds r1, r1, #36
10455 0038 406F ldr r0, [r0, #116]
10456 .LVL883:
3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10457 .loc 1 3330 9 view .LVU3428
10458 003a FFF7FEFF bl HAL_DMA_Start_IT
10459 .LVL884:
3330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10460 .loc 1 3330 8 discriminator 1 view .LVU3429
10461 003e 20BB cbnz r0, .L557
10462 .L550:
3343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10463 .loc 1 3343 3 is_stmt 1 view .LVU3430
3343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10464 .loc 1 3343 18 is_stmt 0 view .LVU3431
10465 0040 2369 ldr r3, [r4, #16]
3343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10466 .loc 1 3343 6 view .LVU3432
10467 0042 43B1 cbz r3, .L554
10468 .L553:
3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10469 .loc 1 3345 5 is_stmt 1 discriminator 1 view .LVU3433
10470 .LBB807:
3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10471 .loc 1 3345 5 discriminator 1 view .LVU3434
3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10472 .loc 1 3345 5 discriminator 1 view .LVU3435
3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10473 .loc 1 3345 5 discriminator 1 view .LVU3436
10474 0044 2268 ldr r2, [r4]
10475 .LVL885:
10476 .LBB808:
10477 .LBI808:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10478 .loc 2 1068 31 view .LVU3437
10479 .LBB809:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
10480 .loc 2 1070 5 view .LVU3438
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10481 .loc 2 1072 4 view .LVU3439
10482 .syntax unified
10483 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10484 0046 52E8003F ldrex r3, [r2]
10485 @ 0 "" 2
ARM GAS /tmp/ccQxTlMj.s page 329
10486 .LVL886:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10487 .loc 2 1073 4 view .LVU3440
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10488 .loc 2 1073 4 is_stmt 0 view .LVU3441
10489 .thumb
10490 .syntax unified
10491 .LBE809:
10492 .LBE808:
3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10493 .loc 1 3345 5 discriminator 1 view .LVU3442
10494 004a 43F48073 orr r3, r3, #256
10495 .LVL887:
3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10496 .loc 1 3345 5 is_stmt 1 discriminator 1 view .LVU3443
10497 .LBB810:
10498 .LBI810:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10499 .loc 2 1119 31 view .LVU3444
10500 .LBB811:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
10501 .loc 2 1121 4 view .LVU3445
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10502 .loc 2 1123 4 view .LVU3446
10503 .syntax unified
10504 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10505 004e 42E80031 strex r1, r3, [r2]
10506 @ 0 "" 2
10507 .LVL888:
10508 .loc 2 1124 4 view .LVU3447
10509 .loc 2 1124 4 is_stmt 0 view .LVU3448
10510 .thumb
10511 .syntax unified
10512 .LBE811:
10513 .LBE810:
3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10514 .loc 1 3345 5 discriminator 1 view .LVU3449
10515 0052 0029 cmp r1, #0
10516 0054 F6D1 bne .L553
10517 .LVL889:
10518 .L554:
3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10519 .loc 1 3345 5 discriminator 1 view .LVU3450
10520 .LBE807:
3345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10521 .loc 1 3345 5 is_stmt 1 discriminator 2 view .LVU3451
3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10522 .loc 1 3349 3 discriminator 1 view .LVU3452
10523 .LBB812:
3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10524 .loc 1 3349 3 discriminator 1 view .LVU3453
3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10525 .loc 1 3349 3 discriminator 1 view .LVU3454
3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10526 .loc 1 3349 3 discriminator 1 view .LVU3455
10527 0056 2268 ldr r2, [r4]
10528 .LVL890:
ARM GAS /tmp/ccQxTlMj.s page 330
10529 .LBB813:
10530 .LBI813:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10531 .loc 2 1068 31 view .LVU3456
10532 .LBB814:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
10533 .loc 2 1070 5 view .LVU3457
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10534 .loc 2 1072 4 view .LVU3458
10535 0058 02F10803 add r3, r2, #8
10536 .LVL891:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10537 .loc 2 1072 4 is_stmt 0 view .LVU3459
10538 .syntax unified
10539 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10540 005c 53E8003F ldrex r3, [r3]
10541 @ 0 "" 2
10542 .LVL892:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10543 .loc 2 1073 4 is_stmt 1 view .LVU3460
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10544 .loc 2 1073 4 is_stmt 0 view .LVU3461
10545 .thumb
10546 .syntax unified
10547 .LBE814:
10548 .LBE813:
3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10549 .loc 1 3349 3 discriminator 1 view .LVU3462
10550 0060 43F00103 orr r3, r3, #1
10551 .LVL893:
3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10552 .loc 1 3349 3 is_stmt 1 discriminator 1 view .LVU3463
10553 .LBB815:
10554 .LBI815:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10555 .loc 2 1119 31 view .LVU3464
10556 .LBB816:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
10557 .loc 2 1121 4 view .LVU3465
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10558 .loc 2 1123 4 view .LVU3466
10559 0064 0832 adds r2, r2, #8
10560 .LVL894:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10561 .loc 2 1123 4 is_stmt 0 view .LVU3467
10562 .syntax unified
10563 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10564 0066 42E80031 strex r1, r3, [r2]
10565 @ 0 "" 2
10566 .LVL895:
10567 .loc 2 1124 4 is_stmt 1 view .LVU3468
10568 .loc 2 1124 4 is_stmt 0 view .LVU3469
10569 .thumb
10570 .syntax unified
10571 .LBE816:
10572 .LBE815:
3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
ARM GAS /tmp/ccQxTlMj.s page 331
10573 .loc 1 3349 3 discriminator 1 view .LVU3470
10574 006a 0029 cmp r1, #0
10575 006c F3D1 bne .L554
10576 .LVL896:
10577 .L555:
3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10578 .loc 1 3349 3 discriminator 1 view .LVU3471
10579 .LBE812:
3349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10580 .loc 1 3349 3 is_stmt 1 discriminator 2 view .LVU3472
3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10581 .loc 1 3353 3 discriminator 1 view .LVU3473
10582 .LBB817:
3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10583 .loc 1 3353 3 discriminator 1 view .LVU3474
3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10584 .loc 1 3353 3 discriminator 1 view .LVU3475
3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10585 .loc 1 3353 3 discriminator 1 view .LVU3476
10586 006e 2268 ldr r2, [r4]
10587 .LVL897:
10588 .LBB818:
10589 .LBI818:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10590 .loc 2 1068 31 view .LVU3477
10591 .LBB819:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
10592 .loc 2 1070 5 view .LVU3478
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10593 .loc 2 1072 4 view .LVU3479
10594 0070 02F10803 add r3, r2, #8
10595 .LVL898:
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10596 .loc 2 1072 4 is_stmt 0 view .LVU3480
10597 .syntax unified
10598 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10599 0074 53E8003F ldrex r3, [r3]
10600 @ 0 "" 2
10601 .LVL899:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10602 .loc 2 1073 4 is_stmt 1 view .LVU3481
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10603 .loc 2 1073 4 is_stmt 0 view .LVU3482
10604 .thumb
10605 .syntax unified
10606 .LBE819:
10607 .LBE818:
3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10608 .loc 1 3353 3 discriminator 1 view .LVU3483
10609 0078 43F04003 orr r3, r3, #64
10610 .LVL900:
3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10611 .loc 1 3353 3 is_stmt 1 discriminator 1 view .LVU3484
10612 .LBB820:
10613 .LBI820:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10614 .loc 2 1119 31 view .LVU3485
ARM GAS /tmp/ccQxTlMj.s page 332
10615 .LBB821:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
10616 .loc 2 1121 4 view .LVU3486
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10617 .loc 2 1123 4 view .LVU3487
10618 007c 0832 adds r2, r2, #8
10619 .LVL901:
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10620 .loc 2 1123 4 is_stmt 0 view .LVU3488
10621 .syntax unified
10622 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10623 007e 42E80031 strex r1, r3, [r2]
10624 @ 0 "" 2
10625 .LVL902:
10626 .loc 2 1124 4 is_stmt 1 view .LVU3489
10627 .loc 2 1124 4 is_stmt 0 view .LVU3490
10628 .thumb
10629 .syntax unified
10630 .LBE821:
10631 .LBE820:
3353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10632 .loc 1 3353 3 discriminator 1 view .LVU3491
10633 0082 0029 cmp r1, #0
10634 0084 F3D1 bne .L555
10635 .LBE817:
3355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10636 .loc 1 3355 10 view .LVU3492
10637 0086 0020 movs r0, #0
10638 .LVL903:
10639 .L551:
3356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10640 .loc 1 3356 1 view .LVU3493
10641 0088 10BD pop {r4, pc}
10642 .LVL904:
10643 .L557:
3333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10644 .loc 1 3333 7 is_stmt 1 view .LVU3494
3333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10645 .loc 1 3333 24 is_stmt 0 view .LVU3495
10646 008a 1023 movs r3, #16
10647 008c C4F88430 str r3, [r4, #132]
3336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10648 .loc 1 3336 7 is_stmt 1 view .LVU3496
3336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10649 .loc 1 3336 22 is_stmt 0 view .LVU3497
10650 0090 2023 movs r3, #32
10651 0092 C4F88030 str r3, [r4, #128]
3338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10652 .loc 1 3338 7 is_stmt 1 view .LVU3498
3338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10653 .loc 1 3338 14 is_stmt 0 view .LVU3499
10654 0096 0120 movs r0, #1
10655 0098 F6E7 b .L551
10656 .L559:
10657 009a 00BF .align 2
10658 .L558:
10659 009c 00000000 .word UART_DMAReceiveCplt
ARM GAS /tmp/ccQxTlMj.s page 333
10660 00a0 00000000 .word UART_DMARxHalfCplt
10661 00a4 00000000 .word UART_DMAError
10662 .cfi_endproc
10663 .LFE190:
10665 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
10666 .align 1
10667 .global HAL_UART_Receive_DMA
10668 .syntax unified
10669 .thumb
10670 .thumb_func
10672 HAL_UART_Receive_DMA:
10673 .LVL905:
10674 .LFB153:
1417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
10675 .loc 1 1417 1 is_stmt 1 view -0
10676 .cfi_startproc
10677 @ args = 0, pretend = 0, frame = 0
10678 @ frame_needed = 0, uses_anonymous_args = 0
1417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
10679 .loc 1 1417 1 is_stmt 0 view .LVU3501
10680 0000 38B5 push {r3, r4, r5, lr}
10681 .LCFI54:
10682 .cfi_def_cfa_offset 16
10683 .cfi_offset 3, -16
10684 .cfi_offset 4, -12
10685 .cfi_offset 5, -8
10686 .cfi_offset 14, -4
1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10687 .loc 1 1419 3 is_stmt 1 view .LVU3502
1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10688 .loc 1 1419 12 is_stmt 0 view .LVU3503
10689 0002 D0F88030 ldr r3, [r0, #128]
1419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10690 .loc 1 1419 6 view .LVU3504
10691 0006 202B cmp r3, #32
10692 0008 16D1 bne .L564
1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10693 .loc 1 1421 5 is_stmt 1 view .LVU3505
1421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10694 .loc 1 1421 8 is_stmt 0 view .LVU3506
10695 000a 002A cmp r2, #0
10696 000c 18BF it ne
10697 000e 0029 cmpne r1, #0
10698 0010 14D0 beq .L565
1427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10699 .loc 1 1427 5 is_stmt 1 view .LVU3507
1427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10700 .loc 1 1427 26 is_stmt 0 view .LVU3508
10701 0012 0023 movs r3, #0
10702 0014 0366 str r3, [r0, #96]
1430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10703 .loc 1 1430 5 is_stmt 1 view .LVU3509
1430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
10704 .loc 1 1430 9 is_stmt 0 view .LVU3510
10705 0016 0368 ldr r3, [r0]
10706 0018 5B68 ldr r3, [r3, #4]
1430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** {
ARM GAS /tmp/ccQxTlMj.s page 334
10707 .loc 1 1430 8 view .LVU3511
10708 001a 13F4000F tst r3, #8388608
10709 001e 08D0 beq .L562
10710 .L563:
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10711 .loc 1 1433 7 is_stmt 1 discriminator 1 view .LVU3512
10712 .LBB822:
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10713 .loc 1 1433 7 discriminator 1 view .LVU3513
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10714 .loc 1 1433 7 discriminator 1 view .LVU3514
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10715 .loc 1 1433 7 discriminator 1 view .LVU3515
10716 0020 0468 ldr r4, [r0]
10717 .LVL906:
10718 .LBB823:
10719 .LBI823:
1068:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10720 .loc 2 1068 31 view .LVU3516
10721 .LBB824:
1070:Drivers/CMSIS/Include/cmsis_gcc.h ****
10722 .loc 2 1070 5 view .LVU3517
1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10723 .loc 2 1072 4 view .LVU3518
10724 .syntax unified
10725 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10726 0022 54E8003F ldrex r3, [r4]
10727 @ 0 "" 2
10728 .LVL907:
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10729 .loc 2 1073 4 view .LVU3519
1073:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10730 .loc 2 1073 4 is_stmt 0 view .LVU3520
10731 .thumb
10732 .syntax unified
10733 .LBE824:
10734 .LBE823:
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10735 .loc 1 1433 7 discriminator 1 view .LVU3521
10736 0026 43F08063 orr r3, r3, #67108864
10737 .LVL908:
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10738 .loc 1 1433 7 is_stmt 1 discriminator 1 view .LVU3522
10739 .LBB825:
10740 .LBI825:
1119:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10741 .loc 2 1119 31 view .LVU3523
10742 .LBB826:
1121:Drivers/CMSIS/Include/cmsis_gcc.h ****
10743 .loc 2 1121 4 view .LVU3524
1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10744 .loc 2 1123 4 view .LVU3525
10745 .syntax unified
10746 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10747 002a 44E80035 strex r5, r3, [r4]
10748 @ 0 "" 2
10749 .LVL909:
ARM GAS /tmp/ccQxTlMj.s page 335
10750 .loc 2 1124 4 view .LVU3526
10751 .loc 2 1124 4 is_stmt 0 view .LVU3527
10752 .thumb
10753 .syntax unified
10754 .LBE826:
10755 .LBE825:
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10756 .loc 1 1433 7 discriminator 1 view .LVU3528
10757 002e 002D cmp r5, #0
10758 0030 F6D1 bne .L563
10759 .LVL910:
10760 .L562:
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10761 .loc 1 1433 7 discriminator 1 view .LVU3529
10762 .LBE822:
1433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10763 .loc 1 1433 7 is_stmt 1 discriminator 2 view .LVU3530
1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10764 .loc 1 1436 5 view .LVU3531
1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10765 .loc 1 1436 13 is_stmt 0 view .LVU3532
10766 0032 FFF7FEFF bl UART_Start_Receive_DMA
10767 .LVL911:
1436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10768 .loc 1 1436 13 view .LVU3533
10769 0036 00E0 b .L561
10770 .LVL912:
10771 .L564:
1440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10772 .loc 1 1440 12 view .LVU3534
10773 0038 0220 movs r0, #2
10774 .LVL913:
10775 .L561:
1442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c ****
10776 .loc 1 1442 1 view .LVU3535
10777 003a 38BD pop {r3, r4, r5, pc}
10778 .LVL914:
10779 .L565:
1423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10780 .loc 1 1423 14 view .LVU3536
10781 003c 0120 movs r0, #1
10782 .LVL915:
1423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c **** }
10783 .loc 1 1423 14 view .LVU3537
10784 003e FCE7 b .L561
10785 .cfi_endproc
10786 .LFE153:
10788 .text
10789 .Letext0:
10790 .file 3 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h"
10791 .file 4 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h"
10792 .file 5 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h"
10793 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h"
10794 .file 7 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h"
10795 .file 8 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart.h"
10796 .file 9 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h"
10797 .file 10 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h"
ARM GAS /tmp/ccQxTlMj.s page 336
ARM GAS /tmp/ccQxTlMj.s page 337
DEFINED SYMBOLS
*ABS*:00000000 stm32f7xx_hal_uart.c
/tmp/ccQxTlMj.s:20 .text.UART_EndTxTransfer:00000000 $t
/tmp/ccQxTlMj.s:25 .text.UART_EndTxTransfer:00000000 UART_EndTxTransfer
/tmp/ccQxTlMj.s:97 .text.UART_EndRxTransfer:00000000 $t
/tmp/ccQxTlMj.s:102 .text.UART_EndRxTransfer:00000000 UART_EndRxTransfer
/tmp/ccQxTlMj.s:297 .text.UART_TxISR_8BIT:00000000 $t
/tmp/ccQxTlMj.s:302 .text.UART_TxISR_8BIT:00000000 UART_TxISR_8BIT
/tmp/ccQxTlMj.s:462 .text.UART_TxISR_16BIT:00000000 $t
/tmp/ccQxTlMj.s:467 .text.UART_TxISR_16BIT:00000000 UART_TxISR_16BIT
/tmp/ccQxTlMj.s:634 .text.HAL_UART_MspInit:00000000 $t
/tmp/ccQxTlMj.s:640 .text.HAL_UART_MspInit:00000000 HAL_UART_MspInit
/tmp/ccQxTlMj.s:655 .text.HAL_UART_MspDeInit:00000000 $t
/tmp/ccQxTlMj.s:661 .text.HAL_UART_MspDeInit:00000000 HAL_UART_MspDeInit
/tmp/ccQxTlMj.s:676 .text.HAL_UART_DeInit:00000000 $t
/tmp/ccQxTlMj.s:682 .text.HAL_UART_DeInit:00000000 HAL_UART_DeInit
/tmp/ccQxTlMj.s:771 .text.HAL_UART_Transmit_IT:00000000 $t
/tmp/ccQxTlMj.s:777 .text.HAL_UART_Transmit_IT:00000000 HAL_UART_Transmit_IT
/tmp/ccQxTlMj.s:915 .text.HAL_UART_Transmit_IT:0000005c $d
/tmp/ccQxTlMj.s:921 .text.HAL_UART_Transmit_DMA:00000000 $t
/tmp/ccQxTlMj.s:927 .text.HAL_UART_Transmit_DMA:00000000 HAL_UART_Transmit_DMA
/tmp/ccQxTlMj.s:1120 .text.HAL_UART_Transmit_DMA:00000088 $d
/tmp/ccQxTlMj.s:2935 .text.UART_DMATransmitCplt:00000000 UART_DMATransmitCplt
/tmp/ccQxTlMj.s:3205 .text.UART_DMATxHalfCplt:00000000 UART_DMATxHalfCplt
/tmp/ccQxTlMj.s:3300 .text.UART_DMAError:00000000 UART_DMAError
/tmp/ccQxTlMj.s:1127 .text.HAL_UART_DMAPause:00000000 $t
/tmp/ccQxTlMj.s:1133 .text.HAL_UART_DMAPause:00000000 HAL_UART_DMAPause
/tmp/ccQxTlMj.s:1427 .text.HAL_UART_DMAResume:00000000 $t
/tmp/ccQxTlMj.s:1433 .text.HAL_UART_DMAResume:00000000 HAL_UART_DMAResume
/tmp/ccQxTlMj.s:1706 .text.HAL_UART_DMAStop:00000000 $t
/tmp/ccQxTlMj.s:1712 .text.HAL_UART_DMAStop:00000000 HAL_UART_DMAStop
/tmp/ccQxTlMj.s:1960 .text.HAL_UART_Abort:00000000 $t
/tmp/ccQxTlMj.s:1966 .text.HAL_UART_Abort:00000000 HAL_UART_Abort
/tmp/ccQxTlMj.s:2394 .text.HAL_UART_AbortTransmit:00000000 $t
/tmp/ccQxTlMj.s:2400 .text.HAL_UART_AbortTransmit:00000000 HAL_UART_AbortTransmit
/tmp/ccQxTlMj.s:2586 .text.HAL_UART_AbortReceive:00000000 $t
/tmp/ccQxTlMj.s:2592 .text.HAL_UART_AbortReceive:00000000 HAL_UART_AbortReceive
/tmp/ccQxTlMj.s:2909 .text.HAL_UART_TxCpltCallback:00000000 $t
/tmp/ccQxTlMj.s:2915 .text.HAL_UART_TxCpltCallback:00000000 HAL_UART_TxCpltCallback
/tmp/ccQxTlMj.s:2930 .text.UART_DMATransmitCplt:00000000 $t
/tmp/ccQxTlMj.s:3091 .text.UART_EndTransmit_IT:00000000 $t
/tmp/ccQxTlMj.s:3096 .text.UART_EndTransmit_IT:00000000 UART_EndTransmit_IT
/tmp/ccQxTlMj.s:3179 .text.HAL_UART_TxHalfCpltCallback:00000000 $t
/tmp/ccQxTlMj.s:3185 .text.HAL_UART_TxHalfCpltCallback:00000000 HAL_UART_TxHalfCpltCallback
/tmp/ccQxTlMj.s:3200 .text.UART_DMATxHalfCplt:00000000 $t
/tmp/ccQxTlMj.s:3232 .text.HAL_UART_RxCpltCallback:00000000 $t
/tmp/ccQxTlMj.s:3238 .text.HAL_UART_RxCpltCallback:00000000 HAL_UART_RxCpltCallback
/tmp/ccQxTlMj.s:3253 .text.HAL_UART_RxHalfCpltCallback:00000000 $t
/tmp/ccQxTlMj.s:3259 .text.HAL_UART_RxHalfCpltCallback:00000000 HAL_UART_RxHalfCpltCallback
/tmp/ccQxTlMj.s:3274 .text.HAL_UART_ErrorCallback:00000000 $t
/tmp/ccQxTlMj.s:3280 .text.HAL_UART_ErrorCallback:00000000 HAL_UART_ErrorCallback
/tmp/ccQxTlMj.s:3295 .text.UART_DMAError:00000000 $t
/tmp/ccQxTlMj.s:3390 .text.UART_DMAAbortOnError:00000000 $t
/tmp/ccQxTlMj.s:3395 .text.UART_DMAAbortOnError:00000000 UART_DMAAbortOnError
/tmp/ccQxTlMj.s:3428 .text.HAL_UART_AbortCpltCallback:00000000 $t
/tmp/ccQxTlMj.s:3434 .text.HAL_UART_AbortCpltCallback:00000000 HAL_UART_AbortCpltCallback
/tmp/ccQxTlMj.s:3449 .text.HAL_UART_Abort_IT:00000000 $t
ARM GAS /tmp/ccQxTlMj.s page 338
/tmp/ccQxTlMj.s:3455 .text.HAL_UART_Abort_IT:00000000 HAL_UART_Abort_IT
/tmp/ccQxTlMj.s:3931 .text.HAL_UART_Abort_IT:00000128 $d
/tmp/ccQxTlMj.s:4020 .text.UART_DMATxAbortCallback:00000000 UART_DMATxAbortCallback
/tmp/ccQxTlMj.s:3942 .text.UART_DMARxAbortCallback:00000000 UART_DMARxAbortCallback
/tmp/ccQxTlMj.s:3937 .text.UART_DMARxAbortCallback:00000000 $t
/tmp/ccQxTlMj.s:4015 .text.UART_DMATxAbortCallback:00000000 $t
/tmp/ccQxTlMj.s:4088 .text.HAL_UART_AbortTransmitCpltCallback:00000000 $t
/tmp/ccQxTlMj.s:4094 .text.HAL_UART_AbortTransmitCpltCallback:00000000 HAL_UART_AbortTransmitCpltCallback
/tmp/ccQxTlMj.s:4109 .text.HAL_UART_AbortTransmit_IT:00000000 $t
/tmp/ccQxTlMj.s:4115 .text.HAL_UART_AbortTransmit_IT:00000000 HAL_UART_AbortTransmit_IT
/tmp/ccQxTlMj.s:4323 .text.HAL_UART_AbortTransmit_IT:0000007c $d
/tmp/ccQxTlMj.s:4333 .text.UART_DMATxOnlyAbortCallback:00000000 UART_DMATxOnlyAbortCallback
/tmp/ccQxTlMj.s:4328 .text.UART_DMATxOnlyAbortCallback:00000000 $t
/tmp/ccQxTlMj.s:4367 .text.HAL_UART_AbortReceiveCpltCallback:00000000 $t
/tmp/ccQxTlMj.s:4373 .text.HAL_UART_AbortReceiveCpltCallback:00000000 HAL_UART_AbortReceiveCpltCallback
/tmp/ccQxTlMj.s:4388 .text.HAL_UART_AbortReceive_IT:00000000 $t
/tmp/ccQxTlMj.s:4394 .text.HAL_UART_AbortReceive_IT:00000000 HAL_UART_AbortReceive_IT
/tmp/ccQxTlMj.s:4739 .text.HAL_UART_AbortReceive_IT:000000c8 $d
/tmp/ccQxTlMj.s:4749 .text.UART_DMARxOnlyAbortCallback:00000000 UART_DMARxOnlyAbortCallback
/tmp/ccQxTlMj.s:4744 .text.UART_DMARxOnlyAbortCallback:00000000 $t
/tmp/ccQxTlMj.s:4795 .text.HAL_UARTEx_RxEventCallback:00000000 $t
/tmp/ccQxTlMj.s:4801 .text.HAL_UARTEx_RxEventCallback:00000000 HAL_UARTEx_RxEventCallback
/tmp/ccQxTlMj.s:4817 .text.UART_RxISR_8BIT:00000000 $t
/tmp/ccQxTlMj.s:4822 .text.UART_RxISR_8BIT:00000000 UART_RxISR_8BIT
/tmp/ccQxTlMj.s:5172 .text.UART_RxISR_16BIT:00000000 $t
/tmp/ccQxTlMj.s:5177 .text.UART_RxISR_16BIT:00000000 UART_RxISR_16BIT
/tmp/ccQxTlMj.s:5527 .text.UART_DMARxHalfCplt:00000000 $t
/tmp/ccQxTlMj.s:5532 .text.UART_DMARxHalfCplt:00000000 UART_DMARxHalfCplt
/tmp/ccQxTlMj.s:5580 .text.UART_DMAReceiveCplt:00000000 $t
/tmp/ccQxTlMj.s:5585 .text.UART_DMAReceiveCplt:00000000 UART_DMAReceiveCplt
/tmp/ccQxTlMj.s:5879 .text.HAL_UARTEx_WakeupCallback:00000000 $t
/tmp/ccQxTlMj.s:5885 .text.HAL_UARTEx_WakeupCallback:00000000 HAL_UARTEx_WakeupCallback
/tmp/ccQxTlMj.s:5900 .text.HAL_UART_IRQHandler:00000000 $t
/tmp/ccQxTlMj.s:5906 .text.HAL_UART_IRQHandler:00000000 HAL_UART_IRQHandler
/tmp/ccQxTlMj.s:6828 .text.HAL_UART_IRQHandler:000002e0 $d
/tmp/ccQxTlMj.s:6834 .text.HAL_UART_ReceiverTimeout_Config:00000000 $t
/tmp/ccQxTlMj.s:6840 .text.HAL_UART_ReceiverTimeout_Config:00000000 HAL_UART_ReceiverTimeout_Config
/tmp/ccQxTlMj.s:6861 .text.HAL_UART_EnableReceiverTimeout:00000000 $t
/tmp/ccQxTlMj.s:6867 .text.HAL_UART_EnableReceiverTimeout:00000000 HAL_UART_EnableReceiverTimeout
/tmp/ccQxTlMj.s:6932 .text.HAL_UART_DisableReceiverTimeout:00000000 $t
/tmp/ccQxTlMj.s:6938 .text.HAL_UART_DisableReceiverTimeout:00000000 HAL_UART_DisableReceiverTimeout
/tmp/ccQxTlMj.s:7003 .text.HAL_MultiProcessor_EnterMuteMode:00000000 $t
/tmp/ccQxTlMj.s:7009 .text.HAL_MultiProcessor_EnterMuteMode:00000000 HAL_MultiProcessor_EnterMuteMode
/tmp/ccQxTlMj.s:7028 .text.HAL_HalfDuplex_EnableTransmitter:00000000 $t
/tmp/ccQxTlMj.s:7034 .text.HAL_HalfDuplex_EnableTransmitter:00000000 HAL_HalfDuplex_EnableTransmitter
/tmp/ccQxTlMj.s:7187 .text.HAL_HalfDuplex_EnableReceiver:00000000 $t
/tmp/ccQxTlMj.s:7193 .text.HAL_HalfDuplex_EnableReceiver:00000000 HAL_HalfDuplex_EnableReceiver
/tmp/ccQxTlMj.s:7346 .text.HAL_LIN_SendBreak:00000000 $t
/tmp/ccQxTlMj.s:7352 .text.HAL_LIN_SendBreak:00000000 HAL_LIN_SendBreak
/tmp/ccQxTlMj.s:7405 .text.HAL_UART_GetState:00000000 $t
/tmp/ccQxTlMj.s:7411 .text.HAL_UART_GetState:00000000 HAL_UART_GetState
/tmp/ccQxTlMj.s:7439 .text.HAL_UART_GetError:00000000 $t
/tmp/ccQxTlMj.s:7445 .text.HAL_UART_GetError:00000000 HAL_UART_GetError
/tmp/ccQxTlMj.s:7463 .text.UART_SetConfig:00000000 $t
/tmp/ccQxTlMj.s:7469 .text.UART_SetConfig:00000000 UART_SetConfig
/tmp/ccQxTlMj.s:7596 .text.UART_SetConfig:0000008a $d
/tmp/ccQxTlMj.s:7600 .text.UART_SetConfig:0000008e $t
ARM GAS /tmp/ccQxTlMj.s page 339
/tmp/ccQxTlMj.s:7617 .text.UART_SetConfig:000000a4 $d
/tmp/ccQxTlMj.s:7627 .text.UART_SetConfig:000000b6 $t
/tmp/ccQxTlMj.s:7658 .text.UART_SetConfig:000000d4 $d
/tmp/ccQxTlMj.s:7933 .text.UART_SetConfig:00000250 $d
/tmp/ccQxTlMj.s:7946 .text.UART_SetConfig:0000025c $d
/tmp/ccQxTlMj.s:7959 .text.UART_SetConfig:00000284 $t
/tmp/ccQxTlMj.s:8134 .text.UART_SetConfig:00000324 $d
/tmp/ccQxTlMj.s:8139 .text.UART_AdvFeatureConfig:00000000 $t
/tmp/ccQxTlMj.s:8145 .text.UART_AdvFeatureConfig:00000000 UART_AdvFeatureConfig
/tmp/ccQxTlMj.s:8297 .text.UART_WaitOnFlagUntilTimeout:00000000 $t
/tmp/ccQxTlMj.s:8303 .text.UART_WaitOnFlagUntilTimeout:00000000 UART_WaitOnFlagUntilTimeout
/tmp/ccQxTlMj.s:8444 .text.HAL_UART_Transmit:00000000 $t
/tmp/ccQxTlMj.s:8450 .text.HAL_UART_Transmit:00000000 HAL_UART_Transmit
/tmp/ccQxTlMj.s:8660 .text.HAL_UART_Receive:00000000 $t
/tmp/ccQxTlMj.s:8666 .text.HAL_UART_Receive:00000000 HAL_UART_Receive
/tmp/ccQxTlMj.s:8920 .text.UART_CheckIdleState:00000000 $t
/tmp/ccQxTlMj.s:8926 .text.UART_CheckIdleState:00000000 UART_CheckIdleState
/tmp/ccQxTlMj.s:9231 .text.HAL_UART_Init:00000000 $t
/tmp/ccQxTlMj.s:9237 .text.HAL_UART_Init:00000000 HAL_UART_Init
/tmp/ccQxTlMj.s:9341 .text.HAL_HalfDuplex_Init:00000000 $t
/tmp/ccQxTlMj.s:9347 .text.HAL_HalfDuplex_Init:00000000 HAL_HalfDuplex_Init
/tmp/ccQxTlMj.s:9455 .text.HAL_LIN_Init:00000000 $t
/tmp/ccQxTlMj.s:9461 .text.HAL_LIN_Init:00000000 HAL_LIN_Init
/tmp/ccQxTlMj.s:9613 .text.HAL_MultiProcessor_Init:00000000 $t
/tmp/ccQxTlMj.s:9619 .text.HAL_MultiProcessor_Init:00000000 HAL_MultiProcessor_Init
/tmp/ccQxTlMj.s:9747 .text.HAL_MultiProcessor_EnableMuteMode:00000000 $t
/tmp/ccQxTlMj.s:9753 .text.HAL_MultiProcessor_EnableMuteMode:00000000 HAL_MultiProcessor_EnableMuteMode
/tmp/ccQxTlMj.s:9854 .text.HAL_MultiProcessor_DisableMuteMode:00000000 $t
/tmp/ccQxTlMj.s:9860 .text.HAL_MultiProcessor_DisableMuteMode:00000000 HAL_MultiProcessor_DisableMuteMode
/tmp/ccQxTlMj.s:9961 .text.UART_Start_Receive_IT:00000000 $t
/tmp/ccQxTlMj.s:9967 .text.UART_Start_Receive_IT:00000000 UART_Start_Receive_IT
/tmp/ccQxTlMj.s:10252 .text.UART_Start_Receive_IT:000000cc $d
/tmp/ccQxTlMj.s:10259 .text.HAL_UART_Receive_IT:00000000 $t
/tmp/ccQxTlMj.s:10265 .text.HAL_UART_Receive_IT:00000000 HAL_UART_Receive_IT
/tmp/ccQxTlMj.s:10382 .text.UART_Start_Receive_DMA:00000000 $t
/tmp/ccQxTlMj.s:10388 .text.UART_Start_Receive_DMA:00000000 UART_Start_Receive_DMA
/tmp/ccQxTlMj.s:10659 .text.UART_Start_Receive_DMA:0000009c $d
/tmp/ccQxTlMj.s:10666 .text.HAL_UART_Receive_DMA:00000000 $t
/tmp/ccQxTlMj.s:10672 .text.HAL_UART_Receive_DMA:00000000 HAL_UART_Receive_DMA
/tmp/ccQxTlMj.s:7671 .text.UART_SetConfig:000000e1 $d
/tmp/ccQxTlMj.s:7671 .text.UART_SetConfig:000000e2 $t
/tmp/ccQxTlMj.s:7942 .text.UART_SetConfig:00000259 $d
/tmp/ccQxTlMj.s:7942 .text.UART_SetConfig:0000025a $t
UNDEFINED SYMBOLS
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_GetError
HAL_DMA_Abort_IT
HAL_RCC_GetPCLK1Freq
HAL_RCC_GetPCLK2Freq
HAL_RCC_GetSysClockFreq
HAL_GetTick