Files
stm32f4_makefile/build/stm32f4xx_hal_uart.lst
2025-06-25 11:12:35 +08:00

17024 lines
1011 KiB
Plaintext
Raw Permalink 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/cc4vHZRy.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32f4xx_hal_uart.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .section .text.UART_EndTxTransfer,"ax",%progbits
20 .align 1
21 .syntax unified
22 .thumb
23 .thumb_func
25 UART_EndTxTransfer:
26 .LFB185:
27 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c"
1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @file stm32f4xx_hal_uart.c
4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @author MCD Application Team
5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART HAL module driver.
6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + IO operation functions
10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Peripheral Control functions
11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * + Peripheral State and Errors functions
12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @attention
15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Copyright (c) 2016 STMicroelectronics.
17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * All rights reserved.
18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This software is licensed under terms that can be found in the LICENSE file
20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * in the root directory of this software component.
21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### How to use this driver #####
27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The UART HAL driver can be used as follows:
30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
ARM GAS /tmp/cc4vHZRy.s page 2
32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) Enable the USARTx interface clock.
34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) UART pins configuration:
35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the UART TX/RX pins as alternate function pull-up.
37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx stream.
44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required
46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Tx/Rx parameters.
47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx stream.
48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** interrupt on the DMA Tx/Rx stream.
51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority and enable the NVIC USART IRQ handle
52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (used for last byte sending completion detection in DMA non circular mode)
53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** flow control and Mode(Receiver/Transmitter) in the huart Init structure.
56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_Init() API.
59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the LIN mode, initialize the UART registers by calling the HAL_LIN_Init() API.
64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the Multi-Processor mode, initialize the UART registers by calling
66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_MultiProcessor_Init() API.
67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) The specific UART interrupts (Transmission complete interrupt,
70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RXNE interrupt and Error Interrupts) will be managed using the macros
71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() inside the transmit
72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and receive process.
73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) These APIs (HAL_UART_Init() and HAL_HalfDuplex_Init()) configure also the
76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** low level Hardware GPIO, CLOCK, CORTEX...etc) by calling the customized
77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit() API.
78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Callback registration #####
80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==================================
81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks.
85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback.
88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks:
ARM GAS /tmp/cc4vHZRy.s page 3
89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and a pointer to the user callback function.
101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default
104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** weak (surcharged) function.
105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and the Callback ID.
107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This function allows to reset following callbacks:
108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions:
121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback().
122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions:
126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback().
127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively
128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the HAL_UART_Init()
129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit()
131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit.
138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks
139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit()
140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or HAL_UART_Init() function.
141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** not defined, the callback registration feature is not available
145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and weak (surcharged) callbacks are used.
ARM GAS /tmp/cc4vHZRy.s page 4
146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Three operation modes are available within this driver :
149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** Polling mode IO operation ***
151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =================================
152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in blocking mode using HAL_UART_Transmit()
154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in blocking mode using HAL_UART_Receive()
155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** Interrupt mode IO operation ***
157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===================================
158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in non blocking mode using HAL_UART_Transmit_IT()
160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback
162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode using HAL_UART_Receive_IT()
163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback
165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback
167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** DMA mode IO operation ***
169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================
170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in non blocking mode (DMA) using HAL_UART_Transmit_DMA()
172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of half transfer HAL_UART_TxHalfCpltCallback is executed and user ca
173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxHalfCpltCallback
174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback
176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode (DMA) using HAL_UART_Receive_DMA()
177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of half transfer HAL_UART_RxHalfCpltCallback is executed and user can
178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxHalfCpltCallback
179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback
181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback
183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Pause the DMA Transfer using HAL_UART_DMAPause()
184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Resume the DMA Transfer using HAL_UART_DMAResume()
185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Stop the DMA Transfer using HAL_UART_DMAStop()
186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..] This subsection also provides a set of additional functions providing enhanced reception
189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** services to user. (For example, these functions allow application to handle use cases
190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** where number of data to be received is unknown).
191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Compared to standard reception services which only consider number of received
193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** data elements as reception completion criteria, these functions also consider additional ev
194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** as triggers for updating reception status to caller :
195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Detection of inactivity period (RX line has not been active for a given period).
196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) RX inactivity detected by IDLE event, i.e. RX line has been in idle state (normally
197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** for 1 frame time, after last received byte.
198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) There are two mode of transfer:
200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Blocking mode: The reception is performed in polling mode, until either expected number
201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or till IDLE event occurs. Reception is handled only during function execution.
202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** When function exits, no data reception could occur. HAL status and number of actually re
ARM GAS /tmp/cc4vHZRy.s page 5
203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** are returned by function after finishing transfer.
204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Non-Blocking mode: The reception is performed using Interrupts or DMA.
205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** These API's return the HAL status.
206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The end of the data processing will be indicated through the
207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when using DMA mode.
208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UARTEx_RxEventCallback() user callback will be executed during Receive process
209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a reception error is det
210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Blocking mode API:
212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle()
213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API with Interrupt:
215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle_IT()
216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API with DMA:
218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_ReceiveToIdle_DMA()
219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** UART HAL driver macros list ***
222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =============================================
223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Below the list of most used macros in UART HAL driver.
225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_ENABLE: Enable the UART peripheral
227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_DISABLE: Disable the UART peripheral
228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_GET_FLAG : Check whether the specified UART flag is set or not
229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_CLEAR_FLAG : Clear the specified UART pending flag
230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_ENABLE_IT: Enable the specified UART interrupt
231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_DISABLE_IT: Disable the specified UART interrupt
232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_GET_IT_SOURCE: Check whether the specified UART interrupt has occurred or not
233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) You can refer to the UART HAL driver header file for more useful macros
236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) Additional remark: If the parity is enabled, then the MSB bit of the data written
240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits),
242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the possible UART frame formats are as listed in the following table:
243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** +-------------------------------------------------------------+
244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | M bit | PCE bit | UART frame |
245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------------------|---------------------------------------|
246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 0 | 0 | | SB | 8 bit data | STB | |
247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 0 | 1 | | SB | 7 bit data | PB | STB | |
249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 1 | 0 | | SB | 9 bit data | STB | |
251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 1 | 1 | | SB | 8 bit data | PB | STB | |
253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** +-------------------------------------------------------------+
254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #include "stm32f4xx_hal.h"
259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 6
260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup STM32F4xx_HAL_Driver
261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART UART
265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief HAL UART module driver
266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Constants
273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private macro -------------------------------------------------------------*/
279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Functions UART Private Functions
282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart);
287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart);
301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart);
302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart);
303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout);
305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart);
306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Exported functions ---------------------------------------------------------*/
312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
ARM GAS /tmp/cc4vHZRy.s page 7
317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initialization and Configuration functions
318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Initialization and Configuration functions #####
322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in asynchronous mode.
326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) For the asynchronous mode only these parameters can be configured:
327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Baud Rate
328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Word Length
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Stop Bit
330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits),
333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** please refer to Reference manual for possible UART frame formats.
334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Hardware flow control
335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Receiver/transmitter modes
336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Over Sampling Method
337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init() and HAL_MultiProcessor_Init() APIs
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, LIN and Multi-Processor configurat
340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** procedures (details for the procedures are available in reference manual
341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (RM0430 for STM32F4X3xx MCUs and RM0402 for STM32F412xx MCUs
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0383 for STM32F411xC/E MCUs and RM0401 for STM32F410xx MCUs
343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0090 for STM32F4X5xx/STM32F4X7xx/STM32F429xx/STM32F439xx MCUs
344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0390 for STM32F446xx MCUs and RM0386 for STM32F469xx/STM32F479xx MCUs)).
345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the UART mode according to the specified parameters in
352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the UART_InitTypeDef and create the associated handle.
353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The hardware flow control is available only for USART1, USART2, USART3 and USART6.
369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Except for STM32F446xx devices, that is available for USART1, USART2, USART3, USART6, UART4
370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 8
374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state */
420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the half-duplex mode according to the specified
430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
ARM GAS /tmp/cc4vHZRy.s page 9
431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
ARM GAS /tmp/cc4vHZRy.s page 10
488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state*/
490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the LIN mode according to the specified
500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length.
504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_10B: 10-bit break detection
506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_11B: 11-bit break detection
507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the LIN UART instance */
518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Break detection length parameter */
521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength));
523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling));
524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 11
545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - CLKEN bits in the USART_CR2 register,
556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_CLKEN));
558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_LBDL);
565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength);
566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state*/
571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the Multi-Processor mode according to the specified
581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Address USART address
585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param WakeUpMethod specifies the USART wake-up method.
586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_IDLELINE: Wake-up by an idle line detection
588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_ADDRESSMARK: Wake-up by an address mark
589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 12
602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Address & wake up method parameters */
603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_ADDRESS(Address));
605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In Multi-Processor mode, the following bits must be kept cleared:
638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register */
640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the USART address node */
644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_ADD);
645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address);
646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_WAKE);
649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod);
650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state */
655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
ARM GAS /tmp/cc4vHZRy.s page 13
659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DeInitializes the UART peripheral.
665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the Peripheral */
683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL)
687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DeInit the low level hardware */
691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback(huart);
692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DeInit the low level hardware */
694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlock */
704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART MSP Init.
711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
ARM GAS /tmp/cc4vHZRy.s page 14
716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_MspInit could be implemented in the user file
721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART MSP DeInit.
726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_MspDeInit could be implemented in the user file
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Register a User UART Callback
742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * To be used instead of the weak predefined callback
743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note The HAL_UART_RegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_In
744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_MultiProcessor_Init() to register callbacks for HAL_UART_MSPINIT_CB_ID and HAL_UART
745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart uart handle
746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered
747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pCallback pointer to the Callback function
759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pUART_CallbackTypeDef pCallback)
763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pCallback == NULL)
767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 15
773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback;
780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = pCallback;
784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback;
788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = pCallback;
792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = pCallback;
796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = pCallback;
800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback;
804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback;
808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = pCallback;
812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET)
828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
ARM GAS /tmp/cc4vHZRy.s page 16
830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = pCallback;
833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Unregister an UART Callback
862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback
863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note The HAL_UART_UnRegisterCallback() may be called before HAL_UART_Init(), HAL_HalfDuplex_
864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_LIN_Init(), HAL_MultiProcessor_Init() to un-register callbacks for HAL_UART_MSPINIT
865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and HAL_UART_MSPDEINIT_CB_ID
866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart uart handle
867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered
868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState)
886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 17
887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa
891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl
895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal
899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl
903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error
907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort
911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak Abort
915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak Abort
919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn
923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe
927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState)
939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
ARM GAS /tmp/cc4vHZRy.s page 18
944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback
973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * To be used instead of the weak predefined callback
974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Uart handle
975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function
976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback
979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pCallback == NULL)
983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = pCallback;
995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
ARM GAS /tmp/cc4vHZRy.s page 19
1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback
1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine
1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Uart handle
1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart)
1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Transmit and Receive functions
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### IO operation functions #####
1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and Half duplex data transfers.
1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) There are two modes of transfer:
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** after finishing transfer.
1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
ARM GAS /tmp/cc4vHZRy.s page 20
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or DMA, these API's return the HAL status.
1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The end of the data processing will be indicated through the
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** using DMA mode.
1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will be executed respectively at the end of the transmit or receive process
1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Blocking mode API's are :
1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit()
1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive()
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAPause()
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAResume()
1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAStop()
1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Abort()
1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o
1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback()
1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Errors are handled as follows :
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Inte
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow
1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() use
ARM GAS /tmp/cc4vHZRy.s page 21
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in blocking mode.
1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData.
1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size,
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint8_t *pdata8bits;
1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *pdata16bits;
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData;
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 22
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL)
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*pdata16bits & 0x01FFU);
1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint8_t)(*pdata8bits & 0xFFU);
1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount--;
1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in blocking mode.
1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData.
1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
ARM GAS /tmp/cc4vHZRy.s page 23
1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData;
1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the remain data to be received */
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->RxXferCount > 0U)
1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL)
1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & 0x01FF);
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WORD
1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 24
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode.
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData.
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Si
1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit data register empty Interrupt */
1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TXE);
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode.
1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData.
1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
ARM GAS /tmp/cc4vHZRy.s page 25
1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to Standard reception */
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size));
1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in DMA mode.
1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 provided through pData.
1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t S
1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint32_t *tmp;
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
ARM GAS /tmp/cc4vHZRy.s page 26
1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA error callback */
1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA abort callback */
1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART transmit DMA stream */
1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (const uint32_t *)&pData;
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, *(const uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Siz
1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to ready */
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the TC flag in the SR register by writing 0 to it */
1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_FLAG_TC);
1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in DMA mode.
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of u16 available through pData.
1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1) the received data contains the parity bit.
1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
ARM GAS /tmp/cc4vHZRy.s page 27
1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to Standard reception */
1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size));
1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Pauses the DMA Transfer.
1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request */
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request */
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Resumes the DMA Transfer.
1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART DMA Tx request */
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
ARM GAS /tmp/cc4vHZRy.s page 28
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer*/
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART DMA Rx request */
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Stops the DMA Transfer.
1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated
1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and the correspond call back is executed HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream */
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmatx);
1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream */
ARM GAS /tmp/cc4vHZRy.s page 29
1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmarx);
1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode till either the expected number of data is re
1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note HAL_OK is returned if reception is completed (expected number of data has been received
1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * or if reception is stopped after IDLE event (less than the expected number of data has
1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * In this case, RxLen output parameter indicates number of data available in reception bu
1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M =
1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData.
1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param RxLen Number of data elements finally received (could be lower than Size, in case rece
1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration expressed in ms (covers the whole reception sequence).
1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size
1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Timeout)
1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart;
1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout management */
1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = NULL;
1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 30
1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = pData;
1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = NULL;
1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize output number of received elements */
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen = 0U;
1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* as long as data have to be received */
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->RxXferCount > 0U)
1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if IDLE flag is set */
1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE))
1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear IDLE flag in ISR */
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Set, but no data ever received, clear flag without exiting loop */
1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Set, and data has already been received, this means Idle Event is valid : End recepti
1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (*RxLen > 0U)
1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE;
1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if RXNE flag is set */
1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RXNE))
1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pdata8bits == NULL)
1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WO
1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Increment number of received elements */
1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen += 1U;
1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check for the Timeout */
1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
ARM GAS /tmp/cc4vHZRy.s page 31
1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set number of received elements in output parameter : RxLen */
1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *RxLen = huart->RxXferSize - huart->RxXferCount;
1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode till either the expected number of data is r
1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note Reception is initiated by this function call. Further progress of reception is achieved
1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * to UART interrupts raised by RXNE and IDLE events. Callback is called at end of recepti
1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * number of received data elements.
1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M =
1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData.
1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t S
1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to reception till IDLE Event*/
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = UART_Start_Receive_IT(huart, pData, Size);
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check Rx process has been successfully started */
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (status == HAL_OK)
1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 32
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of errors already pending when reception is started,
1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Interrupts may have already been raised and lead to reception abortion.
1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (Overrun error for instance).
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In such case Reception Type has been reset to HAL_UART_RECEPTION_STANDARD. */
1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode till either the expected number of data is receive
1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note Reception is initiated by this function call. Further progress of reception is achieved
1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * to DMA services, transferring automatically received data elements in user reception bu
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * calling registered callbacks at half/end of reception. UART IDLE events are also used t
1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * reception phase as ended. In all cases, callback execution will indicate number of rece
1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain
1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the parity bit (MSB position).
1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M =
1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of uint16_t available through pData.
1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t
1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set Reception type to reception till IDLE Event*/
1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = UART_Start_Receive_DMA(huart, pData, Size);
1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 33
1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check Rx process has been successfully started */
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of errors already pending when reception is started,
1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Interrupts may have already been raised and lead to reception abortion.
1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (Overrun error for instance).
1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In such case Reception Type has been reset to HAL_UART_RECEPTION_STANDARD. */
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Provide Rx Event type that has lead to RxEvent callback execution.
1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When HAL_UARTEx_ReceiveToIdle_IT() or HAL_UARTEx_ReceiveToIdle_DMA() API are called, pro
1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * of reception process is provided to application through calls of Rx Event callback (eith
1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UARTEx_RxEventCallback() or user registered one). As several types of events could o
1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Half Transfer, or Transfer Complete), this function allows to retrieve the Rx Event type
1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * to Rx Event callback execution.
1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This function is expected to be called within the user implementation of Rx Event Callba
1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * in order to provide the accurate value :
1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * In Interrupt Mode :
1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - HAL_UART_RXEVENT_TC : when Reception has been completed (expected nb of data has be
1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - HAL_UART_RXEVENT_IDLE : when Idle event occurred prior reception has been completed
1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * received data is lower than expected one)
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * In DMA Mode :
1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - HAL_UART_RXEVENT_TC : when Reception has been completed (expected nb of data has be
1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - HAL_UART_RXEVENT_HT : when half of expected nb of data has been received
1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - HAL_UART_RXEVENT_IDLE : when Idle event occurred prior reception has been completed
1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * received data is lower than expected one).
1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * In DMA mode, RxEvent callback could be called several times;
1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * When DMA is configured in Normal Mode, HT event does not stop Reception process;
1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * When DMA is configured in Circular Mode, HT, TC or IDLE events don't stop Reception proc
1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval Rx Event Type (returned value will be a value of @ref UART_RxEvent_Type_Values)
1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxEventTypeTypeDef HAL_UARTEx_GetRxEventType(UART_HandleTypeDef *huart)
1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return Rx Event type value, as stored in UART handle */
1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return(huart->RxEventType);
1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
ARM GAS /tmp/cc4vHZRy.s page 34
1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream: use blocking DMA Abort API (no callback) */
1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream: use blocking DMA Abort API (no callback) */
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 35
1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState and huart->gState to Ready */
1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */
1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 36
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
ARM GAS /tmp/cc4vHZRy.s page 37
2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** before any call to DMA Abort functions */
2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Tx Handle is valid */
2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 38
2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, set it to NULL */
2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
2093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Rx Handle is valid */
2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
2099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, set it to NULL */
2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
2103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
2107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable DMA Tx at UART level */
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
2115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use non blocking DMA Abort API (callback) */
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA TX */
2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x00U;
2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use non blocking DMA Abort API (callback) */
2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
ARM GAS /tmp/cc4vHZRy.s page 39
2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA RX */
2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x00U;
2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (AbortCplt == 0x01U)
2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
2180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
ARM GAS /tmp/cc4vHZRy.s page 40
2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
2204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
2212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA TX */
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
2235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
2253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
ARM GAS /tmp/cc4vHZRy.s page 41
2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
2257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
2269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
2272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA RX */
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
ARM GAS /tmp/cc4vHZRy.s page 42
2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
2339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief This function handles UART interrupt request.
2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If no error occurs */
2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE));
2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (errorflags == RESET)
2366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Receiver -------------------------------------------------*/
2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
ARM GAS /tmp/cc4vHZRy.s page 43
2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Receive_IT(huart);
2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If some errors occur */
2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET)
2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART parity error interrupt occurred ----------------------------------*/
2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
2383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART noise error interrupt occurred -----------------------------------*/
2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART frame error interrupt occurred -----------------------------------*/
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Over-Run interrupt occurred --------------------------------------*/
2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_ORE) != RESET) && (((cr1its & USART_CR1_RXNEIE) != RESET)
2399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET)))
2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call UART Error Call back function if need be --------------------------*/
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
2406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Receiver -----------------------------------------------*/
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
2409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Receive_IT(huart);
2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Overrun error occurs, or if any error occurs in DMA mode reception,
2414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** consider error as blocking */
2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
2417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Blocking error : transfer is aborted
2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 44
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream */
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly XferAbortCallback function in case of error */
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
2438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user error callback */
2443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
2445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
2446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
2448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user error callback */
2455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
2457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
2458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
2460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Error is notified to user through user error callback */
2468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
2470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
2471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
2473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */
2481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
ARM GAS /tmp/cc4vHZRy.s page 45
2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U)
2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((cr1its & USART_CR1_IDLEIE) != 0U))
2487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
2489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */
2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA mode enabled */
2494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing,
2495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (DMA cplt callback will be called).
2496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx);
2498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
2500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reception is not complete */
2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data;
2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/
2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR)
2506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
2512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */
2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx);
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
2526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In this case, Rx Event type is Idle Event */
2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE;
2528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
2531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
2535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If DMA is in Circular mode, Idle event is to be reported to user
ARM GAS /tmp/cc4vHZRy.s page 46
2540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** even if occurring after a Transfer Complete event from DMA */
2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (nb_remaining_rx_data == huart->RxXferSize)
2542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx->Init.Mode == DMA_CIRCULAR)
2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In this case, Rx Event type is Idle Event */
2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE;
2548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
2551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
2552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
2556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA mode not enabled */
2564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing.
2565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount;
2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
2568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U))
2569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
2581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
2583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In this case, Rx Event type is Idle Event */
2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_IDLE;
2585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
2588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data);
2589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
2591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data);
2592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 47
2597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
2600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Transmit_IT(huart);
2602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Transmitter end --------------------------------------------*/
2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
2607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTransmit_IT(huart);
2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Tx Transfer completed callbacks.
2615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
2620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_TxCpltCallback could be implemented in the user file
2625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Tx Half Transfer completed callbacks.
2630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback could be implemented in the user file
2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Rx Transfer completed callbacks.
2645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
2650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
ARM GAS /tmp/cc4vHZRy.s page 48
2654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_RxCpltCallback could be implemented in the user file
2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Rx Half Transfer completed callbacks.
2660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
2665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback could be implemented in the user file
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART error callbacks.
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_ErrorCallback could be implemented in the user file
2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Complete callback.
2690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
2694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
2700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Complete callback.
2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS /tmp/cc4vHZRy.s page 49
2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
2715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
2720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
2724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
2730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception
2735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle
2736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in
2737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * reception buffer until which, data are available)
2738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(Size);
2745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file.
2748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
2753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART control functions
2757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
2760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Peripheral Control functions #####
2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
2762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART:
2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API can be helpful to transmit the break character.
2765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API can be helpful to enter the UART in mute mode.
2766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_MultiProcessor_ExitMuteMode() API can be helpful to exit the UART mute mode by software
2767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API to enable the UART transmitter and disables the UART
ARM GAS /tmp/cc4vHZRy.s page 50
2768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API to enable the UART receiver and disables the UART trans
2769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
2772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Transmits break characters.
2776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
2781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
2784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
2787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Send break characters */
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_SBK);
2792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enters the UART in mute mode.
2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
2810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
2811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART mute mode by setting the RWU bit in the CR1 register */
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RWU);
2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
ARM GAS /tmp/cc4vHZRy.s page 51
2825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Exits the UART mute mode: wake up software.
2831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_ExitMuteMode(UART_HandleTypeDef *huart)
2836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
2838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
2839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
2842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the USART mute mode by clearing the RWU bit in the CR1 register */
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_RWU);
2847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
2850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enables the UART transmitter and disables the UART receiver.
2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
2864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
2866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
2869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = huart->Instance->CR1;
2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear TE and RE bits */
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
2877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_TE;
2880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Write to USART CR1 */
ARM GAS /tmp/cc4vHZRy.s page 52
2882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
2883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enables the UART receiver and disables the UART transmitter.
2894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
2899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
2901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = huart->Instance->CR1;
2909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear TE and RE bits */
2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
2912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_RE;
2915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Write to USART CR1 */
2917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
2918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
2929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Errors functions
2932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART State and Errors functions
2933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
2934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
2935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
2936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Peripheral State and Errors functions #####
2937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
2938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
ARM GAS /tmp/cc4vHZRy.s page 53
2939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to return the State of
2940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART communication process, return Peripheral Errors occurred during communication
2941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** process
2942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_GetState() API can be helpful to check in run-time the state of the UART peripheral
2943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_GetError() check in run-time errors that could be occurred during communication.
2944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
2946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
2947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Returns the UART state.
2951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL state
2954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart)
2956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U;
2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp1 = huart->gState;
2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
2962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Return the UART error code
2966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART.
2968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval UART Error Code
2969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart)
2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return huart->ErrorCode;
2973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
2977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
2984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
2985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initialize the callbacks to their default values.
2989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval none
2991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the UART Callback settings */
ARM GAS /tmp/cc4vHZRy.s page 54
2996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC
2997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC
2999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb
3000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba
3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
3003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv
3004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall
3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
3011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
3012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
3013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U)
3020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
3022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by setting the DMAT bit
3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
3026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Circular mode */
3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
3036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback(huart);
3037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
3039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
3040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback
3046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
ARM GAS /tmp/cc4vHZRy.s page 55
3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
3056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback(huart);
3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
3060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
3066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
3067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U)
3075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0U;
3077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by setting the DMAR bit
3083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
3085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */
3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
3093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In this case, Rx Event type is Transfer Complete */
3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
3099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
3101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
3106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
3107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
ARM GAS /tmp/cc4vHZRy.s page 56
3110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In other cases : use Rx Complete callback */
3115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
3117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback(huart);
3118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
3120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART receive process half complete callback
3127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
3128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
3129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent that correspond to RxEvent callback execution;
3136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In this case, Rx Event type is Half Transfer */
3137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_HT;
3138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
3140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
3145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U);
3146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U);
3149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */
3154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Half complete callback*/
3156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback(huart);
3157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/
3159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
3160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART communication error callback.
3166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
ARM GAS /tmp/cc4vHZRy.s page 57
3167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
3168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
3171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
3173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
3176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
3180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
3181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
3184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
3186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
3189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
3192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
3195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
3197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
3198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief This function handles UART Communication Timeout. It waits
3203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * until a flag is no longer in the specified status.
3204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
3206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Flag specifies the UART flag to check.
3207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Status The actual Flag status (SET or RESET).
3208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Tickstart Tick start value
3209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
3210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
3211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
3213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout)
3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
3217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check for the Timeout */
3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
3220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
3222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 58
3224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
3225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U) && (Flag != UART_FLAG_TXE) && (Flag
3228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) == SET)
3230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear Overrun Error flag*/
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
3233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Blocking error : transfer is aborted
3235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
3236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Disable Rx Interrupts if ongoing */
3237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
3238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_ORE;
3240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
3243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
3245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
3250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode.
3254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode
3255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
3256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
3257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Handle is assumed as Locked.
3258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
3259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
3260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
3261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
3262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
3264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
3266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
3267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
3268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
3271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
3273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_PE);
3276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_ERR);
3280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 59
3281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Data Register not empty Interrupt */
3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_RXNE);
3283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Start Receive operation in DMA mode.
3289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode.
3290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
3292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART Handle is assumed as Locked.
3293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
3294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
3295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
3296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
3297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
3299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
3301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
3304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
3310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
3313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA error callback */
3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
3316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA abort callback */
3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
3319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA stream */
3321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (uint32_t *)&pData;
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size) != HA
3323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
3325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
3326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to ready */
3328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
3331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the Overrun flag just before enabling the DMA Rx request: can be mandatory for the secon
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
3334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity != UART_PARITY_NONE)
3336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
ARM GAS /tmp/cc4vHZRy.s page 60
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
3343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
3345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
3347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
3349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
3353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
3354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
3357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
28 .loc 1 3357 1 view -0
29 .cfi_startproc
30 @ args = 0, pretend = 0, frame = 0
31 @ frame_needed = 0, uses_anonymous_args = 0
32 @ link register save eliminated.
33 .LVL0:
34 .L2:
3358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
3359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
35 .loc 1 3359 3 discriminator 1 view .LVU1
36 .LBB310:
37 .loc 1 3359 3 discriminator 1 view .LVU2
38 .loc 1 3359 3 discriminator 1 view .LVU3
39 .loc 1 3359 3 discriminator 1 view .LVU4
40 0000 0268 ldr r2, [r0]
41 .LVL1:
42 .LBB311:
43 .LBI311:
44 .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.4.1
5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 27. May 2021
6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2021 Arm Limited. All rights reserved.
9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
ARM GAS /tmp/cc4vHZRy.s page 61
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)))
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
ARM GAS /tmp/cc4vHZRy.s page 62
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 **** #ifndef __COMPILER_BARRIER
117:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __COMPILER_BARRIER() __ASM volatile("":::"memory")
118:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
119:Drivers/CMSIS/Include/cmsis_gcc.h ****
120:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ######################### Startup and Lowlevel Init ######################## */
121:Drivers/CMSIS/Include/cmsis_gcc.h ****
122:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PROGRAM_START
123:Drivers/CMSIS/Include/cmsis_gcc.h ****
124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Initializes data and bss sections
126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details This default implementations initialized all data and additional bss
127:Drivers/CMSIS/Include/cmsis_gcc.h **** sections relying on .copy.table and .zero.table specified properly
128:Drivers/CMSIS/Include/cmsis_gcc.h **** in the used linker script.
129:Drivers/CMSIS/Include/cmsis_gcc.h ****
130:Drivers/CMSIS/Include/cmsis_gcc.h **** */
131:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void)
132:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/cc4vHZRy.s page 63
133:Drivers/CMSIS/Include/cmsis_gcc.h **** extern void _start(void) __NO_RETURN;
134:Drivers/CMSIS/Include/cmsis_gcc.h ****
135:Drivers/CMSIS/Include/cmsis_gcc.h **** typedef struct {
136:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t const* src;
137:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest;
138:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen;
139:Drivers/CMSIS/Include/cmsis_gcc.h **** } __copy_table_t;
140:Drivers/CMSIS/Include/cmsis_gcc.h ****
141:Drivers/CMSIS/Include/cmsis_gcc.h **** typedef struct {
142:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest;
143:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen;
144:Drivers/CMSIS/Include/cmsis_gcc.h **** } __zero_table_t;
145:Drivers/CMSIS/Include/cmsis_gcc.h ****
146:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __copy_table_t __copy_table_start__;
147:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __copy_table_t __copy_table_end__;
148:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __zero_table_t __zero_table_start__;
149:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __zero_table_t __zero_table_end__;
150:Drivers/CMSIS/Include/cmsis_gcc.h ****
151:Drivers/CMSIS/Include/cmsis_gcc.h **** for (__copy_table_t const* pTable = &__copy_table_start__; pTable < &__copy_table_end__; ++pTable
152:Drivers/CMSIS/Include/cmsis_gcc.h **** for(uint32_t i=0u; i<pTable->wlen; ++i) {
153:Drivers/CMSIS/Include/cmsis_gcc.h **** pTable->dest[i] = pTable->src[i];
154:Drivers/CMSIS/Include/cmsis_gcc.h **** }
155:Drivers/CMSIS/Include/cmsis_gcc.h **** }
156:Drivers/CMSIS/Include/cmsis_gcc.h ****
157:Drivers/CMSIS/Include/cmsis_gcc.h **** for (__zero_table_t const* pTable = &__zero_table_start__; pTable < &__zero_table_end__; ++pTable
158:Drivers/CMSIS/Include/cmsis_gcc.h **** for(uint32_t i=0u; i<pTable->wlen; ++i) {
159:Drivers/CMSIS/Include/cmsis_gcc.h **** pTable->dest[i] = 0u;
160:Drivers/CMSIS/Include/cmsis_gcc.h **** }
161:Drivers/CMSIS/Include/cmsis_gcc.h **** }
162:Drivers/CMSIS/Include/cmsis_gcc.h ****
163:Drivers/CMSIS/Include/cmsis_gcc.h **** _start();
164:Drivers/CMSIS/Include/cmsis_gcc.h **** }
165:Drivers/CMSIS/Include/cmsis_gcc.h ****
166:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PROGRAM_START __cmsis_start
167:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
168:Drivers/CMSIS/Include/cmsis_gcc.h ****
169:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INITIAL_SP
170:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INITIAL_SP __StackTop
171:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
172:Drivers/CMSIS/Include/cmsis_gcc.h ****
173:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STACK_LIMIT
174:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STACK_LIMIT __StackLimit
175:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
176:Drivers/CMSIS/Include/cmsis_gcc.h ****
177:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE
178:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE __Vectors
179:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
180:Drivers/CMSIS/Include/cmsis_gcc.h ****
181:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE_ATTRIBUTE
182:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE_ATTRIBUTE __attribute__((used, section(".vectors")))
183:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
184:Drivers/CMSIS/Include/cmsis_gcc.h ****
185:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
186:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STACK_SEAL
187:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STACK_SEAL __StackSeal
188:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
189:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/cc4vHZRy.s page 64
190:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __TZ_STACK_SEAL_SIZE
191:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __TZ_STACK_SEAL_SIZE 8U
192:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
193:Drivers/CMSIS/Include/cmsis_gcc.h ****
194:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __TZ_STACK_SEAL_VALUE
195:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __TZ_STACK_SEAL_VALUE 0xFEF5EDA5FEF5EDA5ULL
196:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
197:Drivers/CMSIS/Include/cmsis_gcc.h ****
198:Drivers/CMSIS/Include/cmsis_gcc.h ****
199:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_STACKSEAL_S (uint32_t* stackTop) {
200:Drivers/CMSIS/Include/cmsis_gcc.h **** *((uint64_t *)stackTop) = __TZ_STACK_SEAL_VALUE;
201:Drivers/CMSIS/Include/cmsis_gcc.h **** }
202:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
203:Drivers/CMSIS/Include/cmsis_gcc.h ****
204:Drivers/CMSIS/Include/cmsis_gcc.h ****
205:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
206:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
207:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
208:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
209:Drivers/CMSIS/Include/cmsis_gcc.h **** */
210:Drivers/CMSIS/Include/cmsis_gcc.h ****
211:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
212:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
213:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
214:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
215:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
216:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
217:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
218:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
219:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
220:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
221:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
222:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
223:Drivers/CMSIS/Include/cmsis_gcc.h ****
224:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
225:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
226:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
227:Drivers/CMSIS/Include/cmsis_gcc.h **** */
228:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
229:Drivers/CMSIS/Include/cmsis_gcc.h ****
230:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
231:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
232:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
233:Drivers/CMSIS/Include/cmsis_gcc.h **** */
234:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi":::"memory")
235:Drivers/CMSIS/Include/cmsis_gcc.h ****
236:Drivers/CMSIS/Include/cmsis_gcc.h ****
237:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
238:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
239:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
240:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
241:Drivers/CMSIS/Include/cmsis_gcc.h **** */
242:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe":::"memory")
243:Drivers/CMSIS/Include/cmsis_gcc.h ****
244:Drivers/CMSIS/Include/cmsis_gcc.h ****
245:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
246:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
ARM GAS /tmp/cc4vHZRy.s page 65
247:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
248:Drivers/CMSIS/Include/cmsis_gcc.h **** */
249:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
250:Drivers/CMSIS/Include/cmsis_gcc.h ****
251:Drivers/CMSIS/Include/cmsis_gcc.h ****
252:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
253:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
254:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
255:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
256:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
257:Drivers/CMSIS/Include/cmsis_gcc.h **** */
258:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
259:Drivers/CMSIS/Include/cmsis_gcc.h **** {
260:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
261:Drivers/CMSIS/Include/cmsis_gcc.h **** }
262:Drivers/CMSIS/Include/cmsis_gcc.h ****
263:Drivers/CMSIS/Include/cmsis_gcc.h ****
264:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
265:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
266:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
267:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
268:Drivers/CMSIS/Include/cmsis_gcc.h **** */
269:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
270:Drivers/CMSIS/Include/cmsis_gcc.h **** {
271:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
272:Drivers/CMSIS/Include/cmsis_gcc.h **** }
273:Drivers/CMSIS/Include/cmsis_gcc.h ****
274:Drivers/CMSIS/Include/cmsis_gcc.h ****
275:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
276:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
277:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
278:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
279:Drivers/CMSIS/Include/cmsis_gcc.h **** */
280:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
281:Drivers/CMSIS/Include/cmsis_gcc.h **** {
282:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
283:Drivers/CMSIS/Include/cmsis_gcc.h **** }
284:Drivers/CMSIS/Include/cmsis_gcc.h ****
285:Drivers/CMSIS/Include/cmsis_gcc.h ****
286:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
287:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit)
288:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
289:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
290:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
291:Drivers/CMSIS/Include/cmsis_gcc.h **** */
292:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
293:Drivers/CMSIS/Include/cmsis_gcc.h **** {
294:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
295:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value);
296:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
297:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
298:Drivers/CMSIS/Include/cmsis_gcc.h ****
299:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
300:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
301:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
302:Drivers/CMSIS/Include/cmsis_gcc.h **** }
303:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/cc4vHZRy.s page 66
304:Drivers/CMSIS/Include/cmsis_gcc.h ****
305:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
306:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
307:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes
308:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
309:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
310:Drivers/CMSIS/Include/cmsis_gcc.h **** */
311:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
312:Drivers/CMSIS/Include/cmsis_gcc.h **** {
313:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
314:Drivers/CMSIS/Include/cmsis_gcc.h ****
315:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
316:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
317:Drivers/CMSIS/Include/cmsis_gcc.h **** }
318:Drivers/CMSIS/Include/cmsis_gcc.h ****
319:Drivers/CMSIS/Include/cmsis_gcc.h ****
320:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
321:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
322: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
323:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
324:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
325:Drivers/CMSIS/Include/cmsis_gcc.h **** */
326:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
327:Drivers/CMSIS/Include/cmsis_gcc.h **** {
328:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
329:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value);
330:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
331:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result;
332:Drivers/CMSIS/Include/cmsis_gcc.h ****
333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
334:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
335:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
336:Drivers/CMSIS/Include/cmsis_gcc.h **** }
337:Drivers/CMSIS/Include/cmsis_gcc.h ****
338:Drivers/CMSIS/Include/cmsis_gcc.h ****
339:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
340:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit)
341:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
342:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate
343:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate
344:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value
345:Drivers/CMSIS/Include/cmsis_gcc.h **** */
346:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
347:Drivers/CMSIS/Include/cmsis_gcc.h **** {
348:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U;
349:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U)
350:Drivers/CMSIS/Include/cmsis_gcc.h **** {
351:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1;
352:Drivers/CMSIS/Include/cmsis_gcc.h **** }
353:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2));
354:Drivers/CMSIS/Include/cmsis_gcc.h **** }
355:Drivers/CMSIS/Include/cmsis_gcc.h ****
356:Drivers/CMSIS/Include/cmsis_gcc.h ****
357:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
358:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint
359:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state.
360:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula
ARM GAS /tmp/cc4vHZRy.s page 67
361:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor.
362:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break
363:Drivers/CMSIS/Include/cmsis_gcc.h **** */
364:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value)
365:Drivers/CMSIS/Include/cmsis_gcc.h ****
366:Drivers/CMSIS/Include/cmsis_gcc.h ****
367:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
368:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value
369:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value.
370:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
371:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
372:Drivers/CMSIS/Include/cmsis_gcc.h **** */
373:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
374:Drivers/CMSIS/Include/cmsis_gcc.h **** {
375:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
376:Drivers/CMSIS/Include/cmsis_gcc.h ****
377:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
378:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
379:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
380:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM ("rbit %0, %1" : "=r" (result) : "r" (value) );
381:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
382:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
383:Drivers/CMSIS/Include/cmsis_gcc.h ****
384:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */
385:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U)
386:Drivers/CMSIS/Include/cmsis_gcc.h **** {
387:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U;
388:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U;
389:Drivers/CMSIS/Include/cmsis_gcc.h **** s--;
390:Drivers/CMSIS/Include/cmsis_gcc.h **** }
391:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */
392:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
393:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
394:Drivers/CMSIS/Include/cmsis_gcc.h **** }
395:Drivers/CMSIS/Include/cmsis_gcc.h ****
396:Drivers/CMSIS/Include/cmsis_gcc.h ****
397:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
398:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Count leading zeros
399:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Counts the number of leading zeros of a data value.
400:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to count the leading zeros
401:Drivers/CMSIS/Include/cmsis_gcc.h **** \return number of leading zeros in value
402:Drivers/CMSIS/Include/cmsis_gcc.h **** */
403:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value)
404:Drivers/CMSIS/Include/cmsis_gcc.h **** {
405:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Even though __builtin_clz produces a CLZ instruction on ARM, formally
406:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_clz(0) is undefined behaviour, so handle this case specially.
407:Drivers/CMSIS/Include/cmsis_gcc.h **** This guarantees ARM-compatible results if happening to compile on a non-ARM
408:Drivers/CMSIS/Include/cmsis_gcc.h **** target, and ensures the compiler doesn't decide to activate any
409:Drivers/CMSIS/Include/cmsis_gcc.h **** optimisations using the logic "value was passed to __builtin_clz, so it
410:Drivers/CMSIS/Include/cmsis_gcc.h **** is non-zero".
411:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GCC 7.3 and possibly earlier will optimise this test away, leaving a
412:Drivers/CMSIS/Include/cmsis_gcc.h **** single CLZ instruction.
413:Drivers/CMSIS/Include/cmsis_gcc.h **** */
414:Drivers/CMSIS/Include/cmsis_gcc.h **** if (value == 0U)
415:Drivers/CMSIS/Include/cmsis_gcc.h **** {
416:Drivers/CMSIS/Include/cmsis_gcc.h **** return 32U;
417:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/cc4vHZRy.s page 68
418:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_clz(value);
419:Drivers/CMSIS/Include/cmsis_gcc.h **** }
420:Drivers/CMSIS/Include/cmsis_gcc.h ****
421:Drivers/CMSIS/Include/cmsis_gcc.h ****
422:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
423:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
424:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
425:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
426:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
427:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (8 bit)
428:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 8 bit value.
429:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
430:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint8_t at (*ptr)
431:Drivers/CMSIS/Include/cmsis_gcc.h **** */
432:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr)
433:Drivers/CMSIS/Include/cmsis_gcc.h **** {
434:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
435:Drivers/CMSIS/Include/cmsis_gcc.h ****
436:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
437:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) );
438:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
439:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
440:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern.
441:Drivers/CMSIS/Include/cmsis_gcc.h **** */
442:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
443:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
444:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint8_t) result); /* Add explicit type cast here */
445:Drivers/CMSIS/Include/cmsis_gcc.h **** }
446:Drivers/CMSIS/Include/cmsis_gcc.h ****
447:Drivers/CMSIS/Include/cmsis_gcc.h ****
448:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
449:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (16 bit)
450:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 16 bit values.
451:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
452:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint16_t at (*ptr)
453:Drivers/CMSIS/Include/cmsis_gcc.h **** */
454:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr)
455:Drivers/CMSIS/Include/cmsis_gcc.h **** {
456:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
457:Drivers/CMSIS/Include/cmsis_gcc.h ****
458:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
459:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) );
460:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
461:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
462:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern.
463:Drivers/CMSIS/Include/cmsis_gcc.h **** */
464:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
465:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
466:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); /* Add explicit type cast here */
467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
468:Drivers/CMSIS/Include/cmsis_gcc.h ****
469:Drivers/CMSIS/Include/cmsis_gcc.h ****
470:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
471:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (32 bit)
472:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 32 bit values.
473:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data
474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr)
ARM GAS /tmp/cc4vHZRy.s page 69
475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr)
45 .loc 2 476 31 discriminator 1 view .LVU5
46 .LBB312:
477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
47 .loc 2 478 5 discriminator 1 view .LVU6
479:Drivers/CMSIS/Include/cmsis_gcc.h ****
480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) );
48 .loc 2 480 4 discriminator 1 view .LVU7
49 0002 02F10C03 add r3, r2, #12
50 .LVL2:
51 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU8
52 .syntax unified
53 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
54 0006 53E8003F ldrex r3, [r3]
55 @ 0 "" 2
56 .LVL3:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
57 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU9
58 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU10
59 .thumb
60 .syntax unified
61 .LBE312:
62 .LBE311:
63 .loc 1 3359 3 discriminator 1 view .LVU11
64 000a 23F0C003 bic r3, r3, #192
65 .LVL4:
66 .loc 1 3359 3 is_stmt 1 discriminator 1 view .LVU12
67 .LBB313:
68 .LBI313:
482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
483:Drivers/CMSIS/Include/cmsis_gcc.h ****
484:Drivers/CMSIS/Include/cmsis_gcc.h ****
485:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
486:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (8 bit)
487:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 8 bit values.
488:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
490:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
491:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
492:Drivers/CMSIS/Include/cmsis_gcc.h **** */
493:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr)
494:Drivers/CMSIS/Include/cmsis_gcc.h **** {
495:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
496:Drivers/CMSIS/Include/cmsis_gcc.h ****
497:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
498:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
499:Drivers/CMSIS/Include/cmsis_gcc.h **** }
500:Drivers/CMSIS/Include/cmsis_gcc.h ****
501:Drivers/CMSIS/Include/cmsis_gcc.h ****
502:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
503:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (16 bit)
504:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 16 bit values.
505:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
506:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
507:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
ARM GAS /tmp/cc4vHZRy.s page 70
508:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
509:Drivers/CMSIS/Include/cmsis_gcc.h **** */
510:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr)
511:Drivers/CMSIS/Include/cmsis_gcc.h **** {
512:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
513:Drivers/CMSIS/Include/cmsis_gcc.h ****
514:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
515:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
516:Drivers/CMSIS/Include/cmsis_gcc.h **** }
517:Drivers/CMSIS/Include/cmsis_gcc.h ****
518:Drivers/CMSIS/Include/cmsis_gcc.h ****
519:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
520:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (32 bit)
521:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 32 bit values.
522:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store
523:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location
524:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 0 Function succeeded
525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed
526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr)
69 .loc 2 527 31 discriminator 1 view .LVU13
70 .LBB314:
528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
71 .loc 2 529 4 discriminator 1 view .LVU14
530:Drivers/CMSIS/Include/cmsis_gcc.h ****
531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) );
72 .loc 2 531 4 discriminator 1 view .LVU15
73 000e 0C32 adds r2, r2, #12
74 .LVL5:
75 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU16
76 .syntax unified
77 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
78 0010 42E80031 strex r1, r3, [r2]
79 @ 0 "" 2
80 .LVL6:
532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
81 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU17
82 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU18
83 .thumb
84 .syntax unified
85 .LBE314:
86 .LBE313:
87 .loc 1 3359 3 discriminator 1 view .LVU19
88 0014 0029 cmp r1, #0
89 0016 F3D1 bne .L2
90 .LBE310:
91 .loc 1 3359 3 is_stmt 1 discriminator 2 view .LVU20
3360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
3362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
92 .loc 1 3362 3 discriminator 2 view .LVU21
93 .loc 1 3362 17 is_stmt 0 discriminator 2 view .LVU22
94 0018 2023 movs r3, #32
95 .LVL7:
96 .loc 1 3362 17 discriminator 2 view .LVU23
97 001a 80F84130 strb r3, [r0, #65]
ARM GAS /tmp/cc4vHZRy.s page 71
3363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
98 .loc 1 3363 1 discriminator 2 view .LVU24
99 001e 7047 bx lr
100 .cfi_endproc
101 .LFE185:
103 .section .text.UART_EndRxTransfer,"ax",%progbits
104 .align 1
105 .syntax unified
106 .thumb
107 .thumb_func
109 UART_EndRxTransfer:
110 .LFB186:
3364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
3367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
3368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
3371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
111 .loc 1 3371 1 is_stmt 1 view -0
112 .cfi_startproc
113 @ args = 0, pretend = 0, frame = 0
114 @ frame_needed = 0, uses_anonymous_args = 0
115 @ link register save eliminated.
116 .LVL8:
117 .L4:
3372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
118 .loc 1 3373 3 discriminator 1 view .LVU26
119 .LBB315:
120 .loc 1 3373 3 discriminator 1 view .LVU27
121 .loc 1 3373 3 discriminator 1 view .LVU28
122 .loc 1 3373 3 discriminator 1 view .LVU29
123 0000 0268 ldr r2, [r0]
124 .LVL9:
125 .LBB316:
126 .LBI316:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
127 .loc 2 476 31 discriminator 1 view .LVU30
128 .LBB317:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
129 .loc 2 478 5 discriminator 1 view .LVU31
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
130 .loc 2 480 4 discriminator 1 view .LVU32
131 0002 02F10C03 add r3, r2, #12
132 .LVL10:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
133 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU33
134 .syntax unified
135 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
136 0006 53E8003F ldrex r3, [r3]
137 @ 0 "" 2
138 .LVL11:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
139 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU34
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/cc4vHZRy.s page 72
140 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU35
141 .thumb
142 .syntax unified
143 .LBE317:
144 .LBE316:
145 .loc 1 3373 3 discriminator 1 view .LVU36
146 000a 23F49073 bic r3, r3, #288
147 .LVL12:
148 .loc 1 3373 3 is_stmt 1 discriminator 1 view .LVU37
149 .LBB318:
150 .LBI318:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
151 .loc 2 527 31 discriminator 1 view .LVU38
152 .LBB319:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
153 .loc 2 529 4 discriminator 1 view .LVU39
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
154 .loc 2 531 4 discriminator 1 view .LVU40
155 000e 0C32 adds r2, r2, #12
156 .LVL13:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
157 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU41
158 .syntax unified
159 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
160 0010 42E80031 strex r1, r3, [r2]
161 @ 0 "" 2
162 .LVL14:
163 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU42
164 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU43
165 .thumb
166 .syntax unified
167 .LBE319:
168 .LBE318:
169 .loc 1 3373 3 discriminator 1 view .LVU44
170 0014 0029 cmp r1, #0
171 0016 F3D1 bne .L4
172 .LVL15:
173 .L5:
174 .loc 1 3373 3 discriminator 1 view .LVU45
175 .LBE315:
176 .loc 1 3373 3 is_stmt 1 discriminator 1 view .LVU46
3374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
177 .loc 1 3374 3 discriminator 1 view .LVU47
178 .LBB320:
179 .loc 1 3374 3 discriminator 1 view .LVU48
180 .loc 1 3374 3 discriminator 1 view .LVU49
181 .loc 1 3374 3 discriminator 1 view .LVU50
182 0018 0268 ldr r2, [r0]
183 .LVL16:
184 .LBB321:
185 .LBI321:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
186 .loc 2 476 31 discriminator 1 view .LVU51
187 .LBB322:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
188 .loc 2 478 5 discriminator 1 view .LVU52
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc4vHZRy.s page 73
189 .loc 2 480 4 discriminator 1 view .LVU53
190 001a 02F11403 add r3, r2, #20
191 .LVL17:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
192 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU54
193 .syntax unified
194 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
195 001e 53E8003F ldrex r3, [r3]
196 @ 0 "" 2
197 .LVL18:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
198 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU55
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
199 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU56
200 .thumb
201 .syntax unified
202 .LBE322:
203 .LBE321:
204 .loc 1 3374 3 discriminator 1 view .LVU57
205 0022 23F00103 bic r3, r3, #1
206 .LVL19:
207 .loc 1 3374 3 is_stmt 1 discriminator 1 view .LVU58
208 .LBB323:
209 .LBI323:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
210 .loc 2 527 31 discriminator 1 view .LVU59
211 .LBB324:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
212 .loc 2 529 4 discriminator 1 view .LVU60
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
213 .loc 2 531 4 discriminator 1 view .LVU61
214 0026 1432 adds r2, r2, #20
215 .LVL20:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
216 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU62
217 .syntax unified
218 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
219 0028 42E80031 strex r1, r3, [r2]
220 @ 0 "" 2
221 .LVL21:
222 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU63
223 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU64
224 .thumb
225 .syntax unified
226 .LBE324:
227 .LBE323:
228 .loc 1 3374 3 discriminator 1 view .LVU65
229 002c 0029 cmp r1, #0
230 002e F3D1 bne .L5
231 .LBE320:
232 .loc 1 3374 3 is_stmt 1 discriminator 2 view .LVU66
3375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */
3377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
233 .loc 1 3377 3 discriminator 2 view .LVU67
234 .loc 1 3377 12 is_stmt 0 discriminator 2 view .LVU68
235 0030 036B ldr r3, [r0, #48]
ARM GAS /tmp/cc4vHZRy.s page 74
236 .LVL22:
237 .loc 1 3377 6 discriminator 2 view .LVU69
238 0032 012B cmp r3, #1
239 0034 05D0 beq .L7
240 .L6:
3378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
241 .loc 1 3379 5 is_stmt 1 discriminator 2 view .LVU70
3380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
242 .loc 1 3383 3 discriminator 2 view .LVU71
243 .loc 1 3383 18 is_stmt 0 discriminator 2 view .LVU72
244 0036 2023 movs r3, #32
245 0038 80F84230 strb r3, [r0, #66]
3384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
246 .loc 1 3384 3 is_stmt 1 discriminator 2 view .LVU73
247 .loc 1 3384 24 is_stmt 0 discriminator 2 view .LVU74
248 003c 0023 movs r3, #0
249 003e 0363 str r3, [r0, #48]
3385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
250 .loc 1 3385 1 discriminator 2 view .LVU75
251 0040 7047 bx lr
252 .L7:
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
253 .loc 1 3379 5 is_stmt 1 discriminator 1 view .LVU76
254 .LBB325:
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
255 .loc 1 3379 5 discriminator 1 view .LVU77
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
256 .loc 1 3379 5 discriminator 1 view .LVU78
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
257 .loc 1 3379 5 discriminator 1 view .LVU79
258 0042 0268 ldr r2, [r0]
259 .LVL23:
260 .LBB326:
261 .LBI326:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
262 .loc 2 476 31 discriminator 1 view .LVU80
263 .LBB327:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
264 .loc 2 478 5 discriminator 1 view .LVU81
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
265 .loc 2 480 4 discriminator 1 view .LVU82
266 0044 02F10C03 add r3, r2, #12
267 .LVL24:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
268 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU83
269 .syntax unified
270 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
271 0048 53E8003F ldrex r3, [r3]
272 @ 0 "" 2
273 .LVL25:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
274 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU84
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/cc4vHZRy.s page 75
275 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU85
276 .thumb
277 .syntax unified
278 .LBE327:
279 .LBE326:
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
280 .loc 1 3379 5 discriminator 1 view .LVU86
281 004c 23F01003 bic r3, r3, #16
282 .LVL26:
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
283 .loc 1 3379 5 is_stmt 1 discriminator 1 view .LVU87
284 .LBB328:
285 .LBI328:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
286 .loc 2 527 31 discriminator 1 view .LVU88
287 .LBB329:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
288 .loc 2 529 4 discriminator 1 view .LVU89
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
289 .loc 2 531 4 discriminator 1 view .LVU90
290 0050 0C32 adds r2, r2, #12
291 .LVL27:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
292 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU91
293 .syntax unified
294 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
295 0052 42E80031 strex r1, r3, [r2]
296 @ 0 "" 2
297 .LVL28:
298 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU92
299 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU93
300 .thumb
301 .syntax unified
302 .LBE329:
303 .LBE328:
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
304 .loc 1 3379 5 discriminator 1 view .LVU94
305 0056 0029 cmp r1, #0
306 0058 F3D1 bne .L7
307 005a ECE7 b .L6
308 .LBE325:
309 .cfi_endproc
310 .LFE186:
312 .section .text.UART_Transmit_IT,"ax",%progbits
313 .align 1
314 .syntax unified
315 .thumb
316 .thumb_func
318 UART_Transmit_IT:
319 .LVL29:
320 .LFB192:
3386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
3389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
3390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
3391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
ARM GAS /tmp/cc4vHZRy.s page 76
3392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
3395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
3401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
3402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
3404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
3405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
3410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
3411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
3413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
3414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
3415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
3418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
3422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
3425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL)
3427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
3437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
3440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
3445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
3447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
3448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
ARM GAS /tmp/cc4vHZRy.s page 77
3449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
3450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
3451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
3456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
3457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
3459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
3460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
3461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
3468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
3471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL)
3473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
3480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
3483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
3486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
3491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
3493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
3494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
3496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
3497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
3502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
3503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
3504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
ARM GAS /tmp/cc4vHZRy.s page 78
3506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
3507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
3510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
3514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
3516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
3519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
3521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
3522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
3525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
3530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
3531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
3532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
3533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
3534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
3535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
3538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
3548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
3550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
3551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
3553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
3554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode.
3559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
3560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
3561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
3562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
ARM GAS /tmp/cc4vHZRy.s page 79
3563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart)
3564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
321 .loc 1 3564 1 is_stmt 1 view -0
322 .cfi_startproc
323 @ args = 0, pretend = 0, frame = 0
324 @ frame_needed = 0, uses_anonymous_args = 0
325 @ link register save eliminated.
3565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *tmp;
326 .loc 1 3565 3 view .LVU96
3566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is ongoing */
3568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
327 .loc 1 3568 3 view .LVU97
328 .loc 1 3568 12 is_stmt 0 view .LVU98
329 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
330 0004 DBB2 uxtb r3, r3
331 .loc 1 3568 6 view .LVU99
332 0006 212B cmp r3, #33
333 0008 01D0 beq .L14
3569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
3571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (const uint16_t *) huart->pTxBuffPtr;
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
3574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
3575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint8_t)(*huart->pTxBuffPtr++ & (uint8_t)0x00FF);
3579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (--huart->TxXferCount == 0U)
3582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
3584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TXE);
3585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
3587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TC);
3588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
3590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
334 .loc 1 3593 12 view .LVU100
335 000a 0220 movs r0, #2
336 .LVL30:
3594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
337 .loc 1 3595 1 view .LVU101
338 000c 7047 bx lr
339 .LVL31:
340 .L14:
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
341 .loc 1 3570 5 is_stmt 1 view .LVU102
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
342 .loc 1 3570 21 is_stmt 0 view .LVU103
ARM GAS /tmp/cc4vHZRy.s page 80
343 000e 8368 ldr r3, [r0, #8]
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
344 .loc 1 3570 8 view .LVU104
345 0010 B3F5805F cmp r3, #4096
346 0014 17D0 beq .L15
347 .L10:
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
348 .loc 1 3578 7 is_stmt 1 view .LVU105
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
349 .loc 1 3578 45 is_stmt 0 view .LVU106
350 0016 036A ldr r3, [r0, #32]
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
351 .loc 1 3578 57 view .LVU107
352 0018 5A1C adds r2, r3, #1
353 001a 0262 str r2, [r0, #32]
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
354 .loc 1 3578 39 view .LVU108
355 001c 1A78 ldrb r2, [r3] @ zero_extendqisi2
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
356 .loc 1 3578 12 view .LVU109
357 001e 0368 ldr r3, [r0]
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
358 .loc 1 3578 27 view .LVU110
359 0020 5A60 str r2, [r3, #4]
360 .L11:
3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
361 .loc 1 3581 5 is_stmt 1 view .LVU111
3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
362 .loc 1 3581 16 is_stmt 0 view .LVU112
363 0022 C38C ldrh r3, [r0, #38]
364 0024 9BB2 uxth r3, r3
3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
365 .loc 1 3581 9 view .LVU113
366 0026 013B subs r3, r3, #1
367 0028 9BB2 uxth r3, r3
3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
368 .loc 1 3581 8 view .LVU114
369 002a C384 strh r3, [r0, #38] @ movhi
370 002c 4BB9 cbnz r3, .L12
3584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
371 .loc 1 3584 7 is_stmt 1 view .LVU115
372 002e 0268 ldr r2, [r0]
373 0030 D368 ldr r3, [r2, #12]
374 0032 23F08003 bic r3, r3, #128
375 0036 D360 str r3, [r2, #12]
3587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
376 .loc 1 3587 7 view .LVU116
377 0038 0268 ldr r2, [r0]
378 003a D368 ldr r3, [r2, #12]
379 003c 43F04003 orr r3, r3, #64
380 0040 D360 str r3, [r2, #12]
381 .L12:
3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
382 .loc 1 3589 5 view .LVU117
3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
383 .loc 1 3589 12 is_stmt 0 view .LVU118
384 0042 0020 movs r0, #0
ARM GAS /tmp/cc4vHZRy.s page 81
385 .LVL32:
3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
386 .loc 1 3589 12 view .LVU119
387 0044 7047 bx lr
388 .LVL33:
389 .L15:
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
390 .loc 1 3570 71 discriminator 1 view .LVU120
391 0046 0369 ldr r3, [r0, #16]
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
392 .loc 1 3570 56 discriminator 1 view .LVU121
393 0048 002B cmp r3, #0
394 004a E4D1 bne .L10
3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
395 .loc 1 3572 7 is_stmt 1 view .LVU122
3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
396 .loc 1 3572 11 is_stmt 0 view .LVU123
397 004c 036A ldr r3, [r0, #32]
398 .LVL34:
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
399 .loc 1 3573 7 is_stmt 1 view .LVU124
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
400 .loc 1 3573 40 is_stmt 0 view .LVU125
401 004e 1B88 ldrh r3, [r3]
402 .LVL35:
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
403 .loc 1 3573 12 view .LVU126
404 0050 0268 ldr r2, [r0]
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
405 .loc 1 3573 29 view .LVU127
406 0052 C3F30803 ubfx r3, r3, #0, #9
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
407 .loc 1 3573 27 view .LVU128
408 0056 5360 str r3, [r2, #4]
409 .LVL36:
3574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
410 .loc 1 3574 7 is_stmt 1 view .LVU129
3574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
411 .loc 1 3574 25 is_stmt 0 view .LVU130
412 0058 036A ldr r3, [r0, #32]
413 005a 0233 adds r3, r3, #2
414 005c 0362 str r3, [r0, #32]
415 005e E0E7 b .L11
416 .cfi_endproc
417 .LFE192:
419 .global __aeabi_uldivmod
420 .section .text.UART_SetConfig,"ax",%progbits
421 .align 1
422 .syntax unified
423 .thumb
424 .thumb_func
426 UART_SetConfig:
427 .LVL37:
428 .LFB195:
3596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Wraps up transmission in non blocking mode.
ARM GAS /tmp/cc4vHZRy.s page 82
3599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
3600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
3601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
3602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart)
3604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TC);
3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
3609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
3613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback(huart);
3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
3617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode
3624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
3625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
3626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
3627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart)
3629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits = NULL;
3631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits = NULL;
3632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is ongoing */
3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
3635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
3637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Unused pdata8bits */
3639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(pdata8bits);
3640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) huart->pRxBuffPtr;
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
3642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits = (uint8_t *) huart->pRxBuffPtr;
3647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Unused pdata16bits */
3648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(pdata16bits);
3649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) || ((huart->Init.WordLength == UART_WORDLE
3651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
3653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 83
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
3657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (--huart->RxXferCount == 0U)
3662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Data Register not empty Interrupt */
3664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
3665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt */
3667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_PE);
3668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_ERR);
3671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
3673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize type of RxEvent to Transfer Complete */
3676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
3677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check current reception Mode :
3679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set reception type to Standard */
3683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable IDLE interrupt */
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
3687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if IDLE flag is set */
3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE))
3690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear IDLE flag in ISR */
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_IDLEFLAG(huart);
3693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Event callback*/
3697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
3698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
3700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
3701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Standard reception API called */
3706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
3708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback(huart);
3709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
3711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
3712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/cc4vHZRy.s page 84
3713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
3716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
3718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
3722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Configures the UART peripheral.
3727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
3728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
3729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart)
3732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
429 .loc 1 3732 1 is_stmt 1 view -0
430 .cfi_startproc
431 @ args = 0, pretend = 0, frame = 0
432 @ frame_needed = 0, uses_anonymous_args = 0
433 .loc 1 3732 1 is_stmt 0 view .LVU132
434 0000 38B5 push {r3, r4, r5, lr}
435 .LCFI0:
436 .cfi_def_cfa_offset 16
437 .cfi_offset 3, -16
438 .cfi_offset 4, -12
439 .cfi_offset 5, -8
440 .cfi_offset 14, -4
441 0002 0446 mov r4, r0
3733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg;
442 .loc 1 3733 3 is_stmt 1 view .LVU133
3734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t pclk;
443 .loc 1 3734 3 view .LVU134
3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
3737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
444 .loc 1 3737 3 view .LVU135
3738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
445 .loc 1 3738 3 view .LVU136
3739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
446 .loc 1 3739 3 view .LVU137
3740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
447 .loc 1 3740 3 view .LVU138
3741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
3743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits
3744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** according to huart->Init.StopBits value */
3745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
448 .loc 1 3745 3 view .LVU139
449 0004 0268 ldr r2, [r0]
450 0006 1369 ldr r3, [r2, #16]
451 0008 23F44053 bic r3, r3, #12288
452 000c C168 ldr r1, [r0, #12]
ARM GAS /tmp/cc4vHZRy.s page 85
453 000e 0B43 orrs r3, r3, r1
454 0010 1361 str r3, [r2, #16]
3746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
3748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART Word Length, Parity and mode:
3749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the M bits according to huart->Init.WordLength value
3750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set PCE and PS bits according to huart->Init.Parity value
3751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set TE and RE bits according to huart->Init.Mode value
3752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set OVER8 bit according to huart->Init.OverSampling value */
3753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
455 .loc 1 3754 3 view .LVU140
456 .loc 1 3754 33 is_stmt 0 view .LVU141
457 0012 8368 ldr r3, [r0, #8]
458 .loc 1 3754 58 view .LVU142
459 0014 0269 ldr r2, [r0, #16]
460 .loc 1 3754 45 view .LVU143
461 0016 1343 orrs r3, r3, r2
462 .loc 1 3754 79 view .LVU144
463 0018 4269 ldr r2, [r0, #20]
464 .loc 1 3754 66 view .LVU145
465 001a 1343 orrs r3, r3, r2
466 .loc 1 3754 98 view .LVU146
467 001c C269 ldr r2, [r0, #28]
468 .loc 1 3754 10 view .LVU147
469 001e 1A43 orrs r2, r2, r3
470 .LVL38:
3755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1,
471 .loc 1 3755 3 is_stmt 1 view .LVU148
472 0020 0168 ldr r1, [r0]
473 0022 CB68 ldr r3, [r1, #12]
474 0024 23F41643 bic r3, r3, #38400
475 0028 23F00C03 bic r3, r3, #12
476 002c 1343 orrs r3, r3, r2
477 002e CB60 str r3, [r1, #12]
3756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE |
3757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg);
3758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
3760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART HFC: Set CTSE and RTSE bits according to huart->Init.HwFlowCtl value */
3761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE), huart->Init.HwFlowCtl);
478 .loc 1 3761 3 view .LVU149
479 0030 0268 ldr r2, [r0]
480 .LVL39:
481 .loc 1 3761 3 is_stmt 0 view .LVU150
482 0032 5369 ldr r3, [r2, #20]
483 0034 23F44073 bic r3, r3, #768
484 0038 8169 ldr r1, [r0, #24]
485 003a 0B43 orrs r3, r3, r1
486 003c 5361 str r3, [r2, #20]
3762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if defined(USART6) && defined(UART9) && defined(UART10)
3765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Instance == USART1) || (huart->Instance == USART6) || (huart->Instance == UART9) ||
3766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
3768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 86
3769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #elif defined(USART6)
3770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Instance == USART1) || (huart->Instance == USART6))
487 .loc 1 3770 5 is_stmt 1 view .LVU151
488 .loc 1 3770 15 is_stmt 0 view .LVU152
489 003e 0368 ldr r3, [r0]
490 .loc 1 3770 8 view .LVU153
491 0040 314A ldr r2, .L24
492 0042 9342 cmp r3, r2
493 0044 06D0 beq .L17
494 .loc 1 3770 37 discriminator 1 view .LVU154
495 0046 02F58062 add r2, r2, #1024
496 004a 9342 cmp r3, r2
497 004c 02D0 beq .L17
3771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
3773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Instance == USART1)
3776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
3778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USART6 */
3780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
498 .loc 1 3782 7 is_stmt 1 view .LVU155
499 .loc 1 3782 14 is_stmt 0 view .LVU156
500 004e FFF7FEFF bl HAL_RCC_GetPCLK1Freq
501 .LVL40:
502 .loc 1 3782 14 view .LVU157
503 0052 01E0 b .L19
504 .LVL41:
505 .L17:
3772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
506 .loc 1 3772 7 is_stmt 1 view .LVU158
3772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
507 .loc 1 3772 14 is_stmt 0 view .LVU159
508 0054 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
509 .LVL42:
510 .L19:
3783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART BRR Configuration ---------------------*/
3785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
511 .loc 1 3785 3 is_stmt 1 view .LVU160
512 .loc 1 3785 18 is_stmt 0 view .LVU161
513 0058 E369 ldr r3, [r4, #28]
514 .loc 1 3785 6 view .LVU162
515 005a B3F5004F cmp r3, #32768
516 005e 29D0 beq .L23
3786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING8(pclk, huart->Init.BaudRate);
3788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate);
517 .loc 1 3791 5 is_stmt 1 view .LVU163
518 .loc 1 3791 28 is_stmt 0 view .LVU164
ARM GAS /tmp/cc4vHZRy.s page 87
519 0060 0021 movs r1, #0
520 0062 0318 adds r3, r0, r0
521 0064 4941 adcs r1, r1, r1
522 0066 1B18 adds r3, r3, r0
523 0068 41F10001 adc r1, r1, #0
524 006c C900 lsls r1, r1, #3
525 006e 41EA5371 orr r1, r1, r3, lsr #29
526 0072 DB00 lsls r3, r3, #3
527 0074 1818 adds r0, r3, r0
528 .LVL43:
529 .loc 1 3791 28 view .LVU165
530 0076 6368 ldr r3, [r4, #4]
531 0078 4FEA8302 lsl r2, r3, #2
532 007c 4FEA9373 lsr r3, r3, #30
533 0080 41F10001 adc r1, r1, #0
534 0084 FFF7FEFF bl __aeabi_uldivmod
535 .LVL44:
536 0088 204D ldr r5, .L24+4
537 008a A5FB0032 umull r3, r2, r5, r0
538 008e 5109 lsrs r1, r2, #5
539 0090 6423 movs r3, #100
540 0092 03FB1103 mls r3, r3, r1, r0
541 0096 1B01 lsls r3, r3, #4
542 0098 3233 adds r3, r3, #50
543 009a A5FB0323 umull r2, r3, r5, r3
544 009e 5B09 lsrs r3, r3, #5
545 00a0 03F0F002 and r2, r3, #240
546 00a4 02EB0112 add r2, r2, r1, lsl #4
547 00a8 03F00F03 and r3, r3, #15
548 .loc 1 3791 10 view .LVU166
549 00ac 2168 ldr r1, [r4]
550 .loc 1 3791 28 view .LVU167
551 00ae 1344 add r3, r3, r2
552 .loc 1 3791 26 view .LVU168
553 00b0 8B60 str r3, [r1, #8]
554 .L16:
3792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
555 .loc 1 3793 1 view .LVU169
556 00b2 38BD pop {r3, r4, r5, pc}
557 .LVL45:
558 .L23:
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
559 .loc 1 3787 5 is_stmt 1 view .LVU170
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
560 .loc 1 3787 28 is_stmt 0 view .LVU171
561 00b4 0023 movs r3, #0
562 00b6 0218 adds r2, r0, r0
563 00b8 43EB0301 adc r1, r3, r3
564 00bc 1218 adds r2, r2, r0
565 00be 41F10001 adc r1, r1, #0
566 00c2 C900 lsls r1, r1, #3
567 00c4 41EA5271 orr r1, r1, r2, lsr #29
568 00c8 D200 lsls r2, r2, #3
569 00ca 1018 adds r0, r2, r0
570 .LVL46:
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 88
571 .loc 1 3787 28 view .LVU172
572 00cc 41F10001 adc r1, r1, #0
573 00d0 6268 ldr r2, [r4, #4]
574 00d2 9218 adds r2, r2, r2
575 00d4 5B41 adcs r3, r3, r3
576 00d6 FFF7FEFF bl __aeabi_uldivmod
577 .LVL47:
578 00da 0C4D ldr r5, .L24+4
579 00dc A5FB0032 umull r3, r2, r5, r0
580 00e0 5109 lsrs r1, r2, #5
581 00e2 6423 movs r3, #100
582 00e4 03FB1103 mls r3, r3, r1, r0
583 00e8 DB00 lsls r3, r3, #3
584 00ea 3233 adds r3, r3, #50
585 00ec A5FB0323 umull r2, r3, r5, r3
586 00f0 5B09 lsrs r3, r3, #5
587 00f2 5A00 lsls r2, r3, #1
588 00f4 02F4F872 and r2, r2, #496
589 00f8 02EB0112 add r2, r2, r1, lsl #4
590 00fc 03F00703 and r3, r3, #7
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
591 .loc 1 3787 10 view .LVU173
592 0100 2168 ldr r1, [r4]
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
593 .loc 1 3787 28 view .LVU174
594 0102 1344 add r3, r3, r2
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
595 .loc 1 3787 26 view .LVU175
596 0104 8B60 str r3, [r1, #8]
597 0106 D4E7 b .L16
598 .L25:
599 .align 2
600 .L24:
601 0108 00100140 .word 1073811456
602 010c 1F85EB51 .word 1374389535
603 .cfi_endproc
604 .LFE195:
606 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
607 .align 1
608 .syntax unified
609 .thumb
610 .thumb_func
612 UART_WaitOnFlagUntilTimeout:
613 .LVL48:
614 .LFB182:
3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
615 .loc 1 3214 1 is_stmt 1 view -0
616 .cfi_startproc
617 @ args = 4, pretend = 0, frame = 8
618 @ frame_needed = 0, uses_anonymous_args = 0
3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
619 .loc 1 3214 1 is_stmt 0 view .LVU177
620 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
621 .LCFI1:
622 .cfi_def_cfa_offset 28
623 .cfi_offset 4, -28
624 .cfi_offset 5, -24
ARM GAS /tmp/cc4vHZRy.s page 89
625 .cfi_offset 6, -20
626 .cfi_offset 7, -16
627 .cfi_offset 8, -12
628 .cfi_offset 9, -8
629 .cfi_offset 14, -4
630 0004 83B0 sub sp, sp, #12
631 .LCFI2:
632 .cfi_def_cfa_offset 40
633 0006 0546 mov r5, r0
634 0008 0E46 mov r6, r1
635 000a 1746 mov r7, r2
636 000c 9946 mov r9, r3
637 000e DDF82880 ldr r8, [sp, #40]
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
638 .loc 1 3216 3 is_stmt 1 view .LVU178
639 .LVL49:
640 .L28:
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
641 .loc 1 3216 9 view .LVU179
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
642 .loc 1 3216 11 is_stmt 0 view .LVU180
643 0012 2C68 ldr r4, [r5]
644 0014 2468 ldr r4, [r4]
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
645 .loc 1 3216 50 view .LVU181
646 0016 36EA0403 bics r3, r6, r4
647 001a 0CBF ite eq
648 001c 4FF0010C moveq ip, #1
649 0020 4FF0000C movne ip, #0
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
650 .loc 1 3216 9 view .LVU182
651 0024 BC45 cmp ip, r7
652 0026 28D1 bne .L34
3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
653 .loc 1 3219 5 is_stmt 1 view .LVU183
3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
654 .loc 1 3219 8 is_stmt 0 view .LVU184
655 0028 B8F1FF3F cmp r8, #-1
656 002c F1D0 beq .L28
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
657 .loc 1 3221 7 is_stmt 1 view .LVU185
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
658 .loc 1 3221 13 is_stmt 0 view .LVU186
659 002e FFF7FEFF bl HAL_GetTick
660 .LVL50:
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
661 .loc 1 3221 27 view .LVU187
662 0032 A0EB0900 sub r0, r0, r9
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
663 .loc 1 3221 10 view .LVU188
664 0036 4045 cmp r0, r8
665 0038 23D8 bhi .L31
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
666 .loc 1 3221 51 discriminator 1 view .LVU189
667 003a B8F1000F cmp r8, #0
668 003e 22D0 beq .L32
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 90
669 .loc 1 3227 7 is_stmt 1 view .LVU190
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
670 .loc 1 3227 12 is_stmt 0 view .LVU191
671 0040 2B68 ldr r3, [r5]
672 0042 DA68 ldr r2, [r3, #12]
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
673 .loc 1 3227 10 view .LVU192
674 0044 12F0040F tst r2, #4
675 0048 E3D0 beq .L28
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
676 .loc 1 3227 64 discriminator 1 view .LVU193
677 004a 802E cmp r6, #128
678 004c E1D0 beq .L28
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
679 .loc 1 3227 91 discriminator 2 view .LVU194
680 004e 402E cmp r6, #64
681 0050 DFD0 beq .L28
3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
682 .loc 1 3229 9 is_stmt 1 view .LVU195
3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
683 .loc 1 3229 13 is_stmt 0 view .LVU196
684 0052 1A68 ldr r2, [r3]
3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
685 .loc 1 3229 12 view .LVU197
686 0054 12F0080F tst r2, #8
687 0058 DBD0 beq .L28
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
688 .loc 1 3232 11 is_stmt 1 view .LVU198
689 .LBB330:
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
690 .loc 1 3232 11 view .LVU199
691 005a 0024 movs r4, #0
692 005c 0194 str r4, [sp, #4]
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
693 .loc 1 3232 11 view .LVU200
694 005e 1A68 ldr r2, [r3]
695 0060 0192 str r2, [sp, #4]
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
696 .loc 1 3232 11 view .LVU201
697 0062 5B68 ldr r3, [r3, #4]
698 0064 0193 str r3, [sp, #4]
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
699 .loc 1 3232 11 view .LVU202
700 0066 019B ldr r3, [sp, #4]
701 .LBE330:
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
702 .loc 1 3232 11 view .LVU203
3237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
703 .loc 1 3237 11 view .LVU204
704 0068 2846 mov r0, r5
705 006a FFF7FEFF bl UART_EndRxTransfer
706 .LVL51:
3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
707 .loc 1 3239 11 view .LVU205
3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
708 .loc 1 3239 28 is_stmt 0 view .LVU206
709 006e 0823 movs r3, #8
ARM GAS /tmp/cc4vHZRy.s page 91
710 0070 6B64 str r3, [r5, #68]
3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
711 .loc 1 3242 11 is_stmt 1 view .LVU207
3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
712 .loc 1 3242 11 view .LVU208
713 0072 85F84040 strb r4, [r5, #64]
3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
714 .loc 1 3242 11 view .LVU209
3244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
715 .loc 1 3244 11 view .LVU210
3244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
716 .loc 1 3244 18 is_stmt 0 view .LVU211
717 0076 0120 movs r0, #1
718 0078 00E0 b .L29
719 .L34:
3249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
720 .loc 1 3249 10 view .LVU212
721 007a 0020 movs r0, #0
722 .L29:
3250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
723 .loc 1 3250 1 view .LVU213
724 007c 03B0 add sp, sp, #12
725 .LCFI3:
726 .cfi_remember_state
727 .cfi_def_cfa_offset 28
728 @ sp needed
729 007e BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
730 .LVL52:
731 .L31:
732 .LCFI4:
733 .cfi_restore_state
3224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
734 .loc 1 3224 16 view .LVU214
735 0082 0320 movs r0, #3
736 0084 FAE7 b .L29
737 .L32:
738 0086 0320 movs r0, #3
739 0088 F8E7 b .L29
740 .cfi_endproc
741 .LFE182:
743 .section .text.HAL_UART_MspInit,"ax",%progbits
744 .align 1
745 .weak HAL_UART_MspInit
746 .syntax unified
747 .thumb
748 .thumb_func
750 HAL_UART_MspInit:
751 .LVL53:
752 .LFB139:
716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
753 .loc 1 716 1 is_stmt 1 view -0
754 .cfi_startproc
755 @ args = 0, pretend = 0, frame = 0
756 @ frame_needed = 0, uses_anonymous_args = 0
757 @ link register save eliminated.
718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
758 .loc 1 718 3 view .LVU216
ARM GAS /tmp/cc4vHZRy.s page 92
722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
759 .loc 1 722 1 is_stmt 0 view .LVU217
760 0000 7047 bx lr
761 .cfi_endproc
762 .LFE139:
764 .section .text.HAL_UART_Init,"ax",%progbits
765 .align 1
766 .global HAL_UART_Init
767 .syntax unified
768 .thumb
769 .thumb_func
771 HAL_UART_Init:
772 .LVL54:
773 .LFB134:
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
774 .loc 1 358 1 is_stmt 1 view -0
775 .cfi_startproc
776 @ args = 0, pretend = 0, frame = 0
777 @ frame_needed = 0, uses_anonymous_args = 0
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
778 .loc 1 360 3 view .LVU219
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
779 .loc 1 360 6 is_stmt 0 view .LVU220
780 0000 60B3 cbz r0, .L39
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
781 .loc 1 358 1 view .LVU221
782 0002 10B5 push {r4, lr}
783 .LCFI5:
784 .cfi_def_cfa_offset 8
785 .cfi_offset 4, -8
786 .cfi_offset 14, -4
787 0004 0446 mov r4, r0
366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
788 .loc 1 366 3 is_stmt 1 view .LVU222
376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
789 .loc 1 376 5 view .LVU223
378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
790 .loc 1 378 3 view .LVU224
379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
791 .loc 1 379 3 view .LVU225
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
792 .loc 1 381 3 view .LVU226
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
793 .loc 1 381 12 is_stmt 0 view .LVU227
794 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
795 .loc 1 381 6 view .LVU228
796 000a 13B3 cbz r3, .L44
797 .LVL55:
798 .L38:
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
799 .loc 1 402 3 is_stmt 1 view .LVU229
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
800 .loc 1 402 17 is_stmt 0 view .LVU230
801 000c 2423 movs r3, #36
802 000e 84F84130 strb r3, [r4, #65]
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 93
803 .loc 1 405 3 is_stmt 1 view .LVU231
804 0012 2268 ldr r2, [r4]
805 0014 D368 ldr r3, [r2, #12]
806 0016 23F40053 bic r3, r3, #8192
807 001a D360 str r3, [r2, #12]
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
808 .loc 1 408 3 view .LVU232
809 001c 2046 mov r0, r4
810 001e FFF7FEFF bl UART_SetConfig
811 .LVL56:
413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
812 .loc 1 413 3 view .LVU233
813 0022 2268 ldr r2, [r4]
814 0024 1369 ldr r3, [r2, #16]
815 0026 23F49043 bic r3, r3, #18432
816 002a 1361 str r3, [r2, #16]
414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
817 .loc 1 414 3 view .LVU234
818 002c 2268 ldr r2, [r4]
819 002e 5369 ldr r3, [r2, #20]
820 0030 23F02A03 bic r3, r3, #42
821 0034 5361 str r3, [r2, #20]
417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
822 .loc 1 417 3 view .LVU235
823 0036 2268 ldr r2, [r4]
824 0038 D368 ldr r3, [r2, #12]
825 003a 43F40053 orr r3, r3, #8192
826 003e D360 str r3, [r2, #12]
420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
827 .loc 1 420 3 view .LVU236
420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
828 .loc 1 420 20 is_stmt 0 view .LVU237
829 0040 0020 movs r0, #0
830 0042 6064 str r0, [r4, #68]
421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
831 .loc 1 421 3 is_stmt 1 view .LVU238
421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
832 .loc 1 421 17 is_stmt 0 view .LVU239
833 0044 2023 movs r3, #32
834 0046 84F84130 strb r3, [r4, #65]
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
835 .loc 1 422 3 is_stmt 1 view .LVU240
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
836 .loc 1 422 18 is_stmt 0 view .LVU241
837 004a 84F84230 strb r3, [r4, #66]
423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
838 .loc 1 423 3 is_stmt 1 view .LVU242
423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
839 .loc 1 423 22 is_stmt 0 view .LVU243
840 004e 6063 str r0, [r4, #52]
425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
841 .loc 1 425 3 is_stmt 1 view .LVU244
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
842 .loc 1 426 1 is_stmt 0 view .LVU245
843 0050 10BD pop {r4, pc}
844 .LVL57:
845 .L44:
ARM GAS /tmp/cc4vHZRy.s page 94
384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
846 .loc 1 384 5 is_stmt 1 view .LVU246
384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
847 .loc 1 384 17 is_stmt 0 view .LVU247
848 0052 80F84030 strb r3, [r0, #64]
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
849 .loc 1 398 5 is_stmt 1 view .LVU248
850 0056 FFF7FEFF bl HAL_UART_MspInit
851 .LVL58:
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
852 .loc 1 398 5 is_stmt 0 view .LVU249
853 005a D7E7 b .L38
854 .LVL59:
855 .L39:
856 .LCFI6:
857 .cfi_def_cfa_offset 0
858 .cfi_restore 4
859 .cfi_restore 14
362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
860 .loc 1 362 12 view .LVU250
861 005c 0120 movs r0, #1
862 .LVL60:
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
863 .loc 1 426 1 view .LVU251
864 005e 7047 bx lr
865 .cfi_endproc
866 .LFE134:
868 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
869 .align 1
870 .global HAL_HalfDuplex_Init
871 .syntax unified
872 .thumb
873 .thumb_func
875 HAL_HalfDuplex_Init:
876 .LVL61:
877 .LFB135:
436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
878 .loc 1 436 1 is_stmt 1 view -0
879 .cfi_startproc
880 @ args = 0, pretend = 0, frame = 0
881 @ frame_needed = 0, uses_anonymous_args = 0
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
882 .loc 1 438 3 view .LVU253
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
883 .loc 1 438 6 is_stmt 0 view .LVU254
884 0000 0028 cmp r0, #0
885 0002 31D0 beq .L48
436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
886 .loc 1 436 1 view .LVU255
887 0004 10B5 push {r4, lr}
888 .LCFI7:
889 .cfi_def_cfa_offset 8
890 .cfi_offset 4, -8
891 .cfi_offset 14, -4
892 0006 0446 mov r4, r0
444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
893 .loc 1 444 3 is_stmt 1 view .LVU256
ARM GAS /tmp/cc4vHZRy.s page 95
445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
894 .loc 1 445 3 view .LVU257
446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
895 .loc 1 446 3 view .LVU258
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
896 .loc 1 448 3 view .LVU259
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
897 .loc 1 448 12 is_stmt 0 view .LVU260
898 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
899 .loc 1 448 6 view .LVU261
900 000c 3BB3 cbz r3, .L53
901 .LVL62:
902 .L47:
469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
903 .loc 1 469 3 is_stmt 1 view .LVU262
469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
904 .loc 1 469 17 is_stmt 0 view .LVU263
905 000e 2423 movs r3, #36
906 0010 84F84130 strb r3, [r4, #65]
472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
907 .loc 1 472 3 is_stmt 1 view .LVU264
908 0014 2268 ldr r2, [r4]
909 0016 D368 ldr r3, [r2, #12]
910 0018 23F40053 bic r3, r3, #8192
911 001c D360 str r3, [r2, #12]
475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
912 .loc 1 475 3 view .LVU265
913 001e 2046 mov r0, r4
914 0020 FFF7FEFF bl UART_SetConfig
915 .LVL63:
480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
916 .loc 1 480 3 view .LVU266
917 0024 2268 ldr r2, [r4]
918 0026 1369 ldr r3, [r2, #16]
919 0028 23F49043 bic r3, r3, #18432
920 002c 1361 str r3, [r2, #16]
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
921 .loc 1 481 3 view .LVU267
922 002e 2268 ldr r2, [r4]
923 0030 5369 ldr r3, [r2, #20]
924 0032 23F02203 bic r3, r3, #34
925 0036 5361 str r3, [r2, #20]
484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
926 .loc 1 484 3 view .LVU268
927 0038 2268 ldr r2, [r4]
928 003a 5369 ldr r3, [r2, #20]
929 003c 43F00803 orr r3, r3, #8
930 0040 5361 str r3, [r2, #20]
487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
931 .loc 1 487 3 view .LVU269
932 0042 2268 ldr r2, [r4]
933 0044 D368 ldr r3, [r2, #12]
934 0046 43F40053 orr r3, r3, #8192
935 004a D360 str r3, [r2, #12]
490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
936 .loc 1 490 3 view .LVU270
ARM GAS /tmp/cc4vHZRy.s page 96
490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
937 .loc 1 490 20 is_stmt 0 view .LVU271
938 004c 0020 movs r0, #0
939 004e 6064 str r0, [r4, #68]
491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
940 .loc 1 491 3 is_stmt 1 view .LVU272
491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
941 .loc 1 491 17 is_stmt 0 view .LVU273
942 0050 2023 movs r3, #32
943 0052 84F84130 strb r3, [r4, #65]
492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
944 .loc 1 492 3 is_stmt 1 view .LVU274
492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
945 .loc 1 492 18 is_stmt 0 view .LVU275
946 0056 84F84230 strb r3, [r4, #66]
493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
947 .loc 1 493 3 is_stmt 1 view .LVU276
493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
948 .loc 1 493 22 is_stmt 0 view .LVU277
949 005a 6063 str r0, [r4, #52]
495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
950 .loc 1 495 3 is_stmt 1 view .LVU278
496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
951 .loc 1 496 1 is_stmt 0 view .LVU279
952 005c 10BD pop {r4, pc}
953 .LVL64:
954 .L53:
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
955 .loc 1 451 5 is_stmt 1 view .LVU280
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
956 .loc 1 451 17 is_stmt 0 view .LVU281
957 005e 80F84030 strb r3, [r0, #64]
465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
958 .loc 1 465 5 is_stmt 1 view .LVU282
959 0062 FFF7FEFF bl HAL_UART_MspInit
960 .LVL65:
465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
961 .loc 1 465 5 is_stmt 0 view .LVU283
962 0066 D2E7 b .L47
963 .LVL66:
964 .L48:
965 .LCFI8:
966 .cfi_def_cfa_offset 0
967 .cfi_restore 4
968 .cfi_restore 14
440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
969 .loc 1 440 12 view .LVU284
970 0068 0120 movs r0, #1
971 .LVL67:
496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
972 .loc 1 496 1 view .LVU285
973 006a 7047 bx lr
974 .cfi_endproc
975 .LFE135:
977 .section .text.HAL_LIN_Init,"ax",%progbits
978 .align 1
979 .global HAL_LIN_Init
ARM GAS /tmp/cc4vHZRy.s page 97
980 .syntax unified
981 .thumb
982 .thumb_func
984 HAL_LIN_Init:
985 .LVL68:
986 .LFB136:
510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
987 .loc 1 510 1 is_stmt 1 view -0
988 .cfi_startproc
989 @ args = 0, pretend = 0, frame = 0
990 @ frame_needed = 0, uses_anonymous_args = 0
512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
991 .loc 1 512 3 view .LVU287
512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
992 .loc 1 512 6 is_stmt 0 view .LVU288
993 0000 0028 cmp r0, #0
994 0002 3CD0 beq .L57
510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
995 .loc 1 510 1 view .LVU289
996 0004 38B5 push {r3, r4, r5, lr}
997 .LCFI9:
998 .cfi_def_cfa_offset 16
999 .cfi_offset 3, -16
1000 .cfi_offset 4, -12
1001 .cfi_offset 5, -8
1002 .cfi_offset 14, -4
1003 0006 0D46 mov r5, r1
1004 0008 0446 mov r4, r0
518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1005 .loc 1 518 3 is_stmt 1 view .LVU290
521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength));
1006 .loc 1 521 3 view .LVU291
522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling));
1007 .loc 1 522 3 view .LVU292
523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1008 .loc 1 523 3 view .LVU293
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1009 .loc 1 525 3 view .LVU294
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1010 .loc 1 525 12 is_stmt 0 view .LVU295
1011 000a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1012 .loc 1 525 6 view .LVU296
1013 000e 002B cmp r3, #0
1014 0010 30D0 beq .L62
1015 .LVL69:
1016 .L56:
546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1017 .loc 1 546 3 is_stmt 1 view .LVU297
546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1018 .loc 1 546 17 is_stmt 0 view .LVU298
1019 0012 2423 movs r3, #36
1020 0014 84F84130 strb r3, [r4, #65]
549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1021 .loc 1 549 3 is_stmt 1 view .LVU299
1022 0018 2268 ldr r2, [r4]
1023 001a D368 ldr r3, [r2, #12]
ARM GAS /tmp/cc4vHZRy.s page 98
1024 001c 23F40053 bic r3, r3, #8192
1025 0020 D360 str r3, [r2, #12]
552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1026 .loc 1 552 3 view .LVU300
1027 0022 2046 mov r0, r4
1028 0024 FFF7FEFF bl UART_SetConfig
1029 .LVL70:
557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
1030 .loc 1 557 3 view .LVU301
1031 0028 2268 ldr r2, [r4]
1032 002a 1369 ldr r3, [r2, #16]
1033 002c 23F40063 bic r3, r3, #2048
1034 0030 1361 str r3, [r2, #16]
558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1035 .loc 1 558 3 view .LVU302
1036 0032 2268 ldr r2, [r4]
1037 0034 5369 ldr r3, [r2, #20]
1038 0036 23F02A03 bic r3, r3, #42
1039 003a 5361 str r3, [r2, #20]
561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1040 .loc 1 561 3 view .LVU303
1041 003c 2268 ldr r2, [r4]
1042 003e 1369 ldr r3, [r2, #16]
1043 0040 43F48043 orr r3, r3, #16384
1044 0044 1361 str r3, [r2, #16]
564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength);
1045 .loc 1 564 3 view .LVU304
1046 0046 2268 ldr r2, [r4]
1047 0048 1369 ldr r3, [r2, #16]
1048 004a 23F02003 bic r3, r3, #32
1049 004e 1361 str r3, [r2, #16]
565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1050 .loc 1 565 3 view .LVU305
1051 0050 2368 ldr r3, [r4]
1052 0052 1969 ldr r1, [r3, #16]
1053 0054 0D43 orrs r5, r5, r1
1054 .LVL71:
565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1055 .loc 1 565 3 is_stmt 0 view .LVU306
1056 0056 1D61 str r5, [r3, #16]
568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1057 .loc 1 568 3 is_stmt 1 view .LVU307
1058 0058 2268 ldr r2, [r4]
1059 005a D368 ldr r3, [r2, #12]
1060 005c 43F40053 orr r3, r3, #8192
1061 0060 D360 str r3, [r2, #12]
571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1062 .loc 1 571 3 view .LVU308
571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1063 .loc 1 571 20 is_stmt 0 view .LVU309
1064 0062 0020 movs r0, #0
1065 0064 6064 str r0, [r4, #68]
572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1066 .loc 1 572 3 is_stmt 1 view .LVU310
572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1067 .loc 1 572 17 is_stmt 0 view .LVU311
1068 0066 2023 movs r3, #32
ARM GAS /tmp/cc4vHZRy.s page 99
1069 0068 84F84130 strb r3, [r4, #65]
573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1070 .loc 1 573 3 is_stmt 1 view .LVU312
573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1071 .loc 1 573 18 is_stmt 0 view .LVU313
1072 006c 84F84230 strb r3, [r4, #66]
574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1073 .loc 1 574 3 is_stmt 1 view .LVU314
574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1074 .loc 1 574 22 is_stmt 0 view .LVU315
1075 0070 6063 str r0, [r4, #52]
576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1076 .loc 1 576 3 is_stmt 1 view .LVU316
577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1077 .loc 1 577 1 is_stmt 0 view .LVU317
1078 0072 38BD pop {r3, r4, r5, pc}
1079 .LVL72:
1080 .L62:
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1081 .loc 1 528 5 is_stmt 1 view .LVU318
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1082 .loc 1 528 17 is_stmt 0 view .LVU319
1083 0074 80F84030 strb r3, [r0, #64]
542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1084 .loc 1 542 5 is_stmt 1 view .LVU320
1085 0078 FFF7FEFF bl HAL_UART_MspInit
1086 .LVL73:
542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1087 .loc 1 542 5 is_stmt 0 view .LVU321
1088 007c C9E7 b .L56
1089 .LVL74:
1090 .L57:
1091 .LCFI10:
1092 .cfi_def_cfa_offset 0
1093 .cfi_restore 3
1094 .cfi_restore 4
1095 .cfi_restore 5
1096 .cfi_restore 14
514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1097 .loc 1 514 12 view .LVU322
1098 007e 0120 movs r0, #1
1099 .LVL75:
577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1100 .loc 1 577 1 view .LVU323
1101 0080 7047 bx lr
1102 .cfi_endproc
1103 .LFE136:
1105 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
1106 .align 1
1107 .global HAL_MultiProcessor_Init
1108 .syntax unified
1109 .thumb
1110 .thumb_func
1112 HAL_MultiProcessor_Init:
1113 .LVL76:
1114 .LFB137:
592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
ARM GAS /tmp/cc4vHZRy.s page 100
1115 .loc 1 592 1 is_stmt 1 view -0
1116 .cfi_startproc
1117 @ args = 0, pretend = 0, frame = 0
1118 @ frame_needed = 0, uses_anonymous_args = 0
594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1119 .loc 1 594 3 view .LVU325
594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1120 .loc 1 594 6 is_stmt 0 view .LVU326
1121 0000 0028 cmp r0, #0
1122 0002 41D0 beq .L66
592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1123 .loc 1 592 1 view .LVU327
1124 0004 70B5 push {r4, r5, r6, lr}
1125 .LCFI11:
1126 .cfi_def_cfa_offset 16
1127 .cfi_offset 4, -16
1128 .cfi_offset 5, -12
1129 .cfi_offset 6, -8
1130 .cfi_offset 14, -4
1131 0006 0D46 mov r5, r1
1132 0008 1646 mov r6, r2
1133 000a 0446 mov r4, r0
600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1134 .loc 1 600 3 is_stmt 1 view .LVU328
603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_ADDRESS(Address));
1135 .loc 1 603 3 view .LVU329
604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
1136 .loc 1 604 3 view .LVU330
605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
1137 .loc 1 605 3 view .LVU331
606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1138 .loc 1 606 3 view .LVU332
608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1139 .loc 1 608 3 view .LVU333
608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1140 .loc 1 608 12 is_stmt 0 view .LVU334
1141 000c 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1142 .loc 1 608 6 view .LVU335
1143 0010 002B cmp r3, #0
1144 0012 34D0 beq .L71
1145 .LVL77:
1146 .L65:
629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1147 .loc 1 629 3 is_stmt 1 view .LVU336
629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1148 .loc 1 629 17 is_stmt 0 view .LVU337
1149 0014 2423 movs r3, #36
1150 0016 84F84130 strb r3, [r4, #65]
632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1151 .loc 1 632 3 is_stmt 1 view .LVU338
1152 001a 2268 ldr r2, [r4]
1153 001c D368 ldr r3, [r2, #12]
1154 001e 23F40053 bic r3, r3, #8192
1155 0022 D360 str r3, [r2, #12]
635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1156 .loc 1 635 3 view .LVU339
ARM GAS /tmp/cc4vHZRy.s page 101
1157 0024 2046 mov r0, r4
1158 0026 FFF7FEFF bl UART_SetConfig
1159 .LVL78:
640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
1160 .loc 1 640 3 view .LVU340
1161 002a 2268 ldr r2, [r4]
1162 002c 1369 ldr r3, [r2, #16]
1163 002e 23F49043 bic r3, r3, #18432
1164 0032 1361 str r3, [r2, #16]
641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1165 .loc 1 641 3 view .LVU341
1166 0034 2268 ldr r2, [r4]
1167 0036 5369 ldr r3, [r2, #20]
1168 0038 23F02A03 bic r3, r3, #42
1169 003c 5361 str r3, [r2, #20]
644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address);
1170 .loc 1 644 3 view .LVU342
1171 003e 2268 ldr r2, [r4]
1172 0040 1369 ldr r3, [r2, #16]
1173 0042 23F00F03 bic r3, r3, #15
1174 0046 1361 str r3, [r2, #16]
645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1175 .loc 1 645 3 view .LVU343
1176 0048 2368 ldr r3, [r4]
1177 004a 1969 ldr r1, [r3, #16]
1178 004c 0D43 orrs r5, r5, r1
1179 004e 1D61 str r5, [r3, #16]
648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod);
1180 .loc 1 648 3 view .LVU344
1181 0050 2268 ldr r2, [r4]
1182 0052 D368 ldr r3, [r2, #12]
1183 0054 23F40063 bic r3, r3, #2048
1184 0058 D360 str r3, [r2, #12]
649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1185 .loc 1 649 3 view .LVU345
1186 005a 2368 ldr r3, [r4]
1187 005c DA68 ldr r2, [r3, #12]
1188 005e 1643 orrs r6, r6, r2
1189 .LVL79:
649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1190 .loc 1 649 3 is_stmt 0 view .LVU346
1191 0060 DE60 str r6, [r3, #12]
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1192 .loc 1 652 3 is_stmt 1 view .LVU347
1193 0062 2268 ldr r2, [r4]
1194 0064 D368 ldr r3, [r2, #12]
1195 0066 43F40053 orr r3, r3, #8192
1196 006a D360 str r3, [r2, #12]
655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1197 .loc 1 655 3 view .LVU348
655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1198 .loc 1 655 20 is_stmt 0 view .LVU349
1199 006c 0020 movs r0, #0
1200 006e 6064 str r0, [r4, #68]
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1201 .loc 1 656 3 is_stmt 1 view .LVU350
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
ARM GAS /tmp/cc4vHZRy.s page 102
1202 .loc 1 656 17 is_stmt 0 view .LVU351
1203 0070 2023 movs r3, #32
1204 0072 84F84130 strb r3, [r4, #65]
657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1205 .loc 1 657 3 is_stmt 1 view .LVU352
657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1206 .loc 1 657 18 is_stmt 0 view .LVU353
1207 0076 84F84230 strb r3, [r4, #66]
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1208 .loc 1 658 3 is_stmt 1 view .LVU354
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1209 .loc 1 658 22 is_stmt 0 view .LVU355
1210 007a 6063 str r0, [r4, #52]
660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1211 .loc 1 660 3 is_stmt 1 view .LVU356
661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1212 .loc 1 661 1 is_stmt 0 view .LVU357
1213 007c 70BD pop {r4, r5, r6, pc}
1214 .LVL80:
1215 .L71:
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1216 .loc 1 611 5 is_stmt 1 view .LVU358
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1217 .loc 1 611 17 is_stmt 0 view .LVU359
1218 007e 80F84030 strb r3, [r0, #64]
625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1219 .loc 1 625 5 is_stmt 1 view .LVU360
1220 0082 FFF7FEFF bl HAL_UART_MspInit
1221 .LVL81:
625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1222 .loc 1 625 5 is_stmt 0 view .LVU361
1223 0086 C5E7 b .L65
1224 .LVL82:
1225 .L66:
1226 .LCFI12:
1227 .cfi_def_cfa_offset 0
1228 .cfi_restore 4
1229 .cfi_restore 5
1230 .cfi_restore 6
1231 .cfi_restore 14
596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1232 .loc 1 596 12 view .LVU362
1233 0088 0120 movs r0, #1
1234 .LVL83:
661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1235 .loc 1 661 1 view .LVU363
1236 008a 7047 bx lr
1237 .cfi_endproc
1238 .LFE137:
1240 .section .text.HAL_UART_MspDeInit,"ax",%progbits
1241 .align 1
1242 .weak HAL_UART_MspDeInit
1243 .syntax unified
1244 .thumb
1245 .thumb_func
1247 HAL_UART_MspDeInit:
1248 .LVL84:
ARM GAS /tmp/cc4vHZRy.s page 103
1249 .LFB140:
731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
1250 .loc 1 731 1 is_stmt 1 view -0
1251 .cfi_startproc
1252 @ args = 0, pretend = 0, frame = 0
1253 @ frame_needed = 0, uses_anonymous_args = 0
1254 @ link register save eliminated.
733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
1255 .loc 1 733 3 view .LVU365
737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1256 .loc 1 737 1 is_stmt 0 view .LVU366
1257 0000 7047 bx lr
1258 .cfi_endproc
1259 .LFE140:
1261 .section .text.HAL_UART_DeInit,"ax",%progbits
1262 .align 1
1263 .global HAL_UART_DeInit
1264 .syntax unified
1265 .thumb
1266 .thumb_func
1268 HAL_UART_DeInit:
1269 .LVL85:
1270 .LFB138:
670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1271 .loc 1 670 1 is_stmt 1 view -0
1272 .cfi_startproc
1273 @ args = 0, pretend = 0, frame = 0
1274 @ frame_needed = 0, uses_anonymous_args = 0
672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1275 .loc 1 672 3 view .LVU368
672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1276 .loc 1 672 6 is_stmt 0 view .LVU369
1277 0000 B0B1 cbz r0, .L75
670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1278 .loc 1 670 1 view .LVU370
1279 0002 10B5 push {r4, lr}
1280 .LCFI13:
1281 .cfi_def_cfa_offset 8
1282 .cfi_offset 4, -8
1283 .cfi_offset 14, -4
1284 0004 0446 mov r4, r0
678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1285 .loc 1 678 3 is_stmt 1 view .LVU371
680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1286 .loc 1 680 3 view .LVU372
680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1287 .loc 1 680 17 is_stmt 0 view .LVU373
1288 0006 2423 movs r3, #36
1289 0008 80F84130 strb r3, [r0, #65]
683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1290 .loc 1 683 3 is_stmt 1 view .LVU374
1291 000c 0268 ldr r2, [r0]
1292 000e D368 ldr r3, [r2, #12]
1293 0010 23F40053 bic r3, r3, #8192
1294 0014 D360 str r3, [r2, #12]
694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1295 .loc 1 694 3 view .LVU375
ARM GAS /tmp/cc4vHZRy.s page 104
1296 0016 FFF7FEFF bl HAL_UART_MspDeInit
1297 .LVL86:
697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
1298 .loc 1 697 3 view .LVU376
697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
1299 .loc 1 697 20 is_stmt 0 view .LVU377
1300 001a 0020 movs r0, #0
1301 001c 6064 str r0, [r4, #68]
698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
1302 .loc 1 698 3 is_stmt 1 view .LVU378
698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
1303 .loc 1 698 17 is_stmt 0 view .LVU379
1304 001e 84F84100 strb r0, [r4, #65]
699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1305 .loc 1 699 3 is_stmt 1 view .LVU380
699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1306 .loc 1 699 18 is_stmt 0 view .LVU381
1307 0022 84F84200 strb r0, [r4, #66]
700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1308 .loc 1 700 3 is_stmt 1 view .LVU382
700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1309 .loc 1 700 24 is_stmt 0 view .LVU383
1310 0026 2063 str r0, [r4, #48]
701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1311 .loc 1 701 3 is_stmt 1 view .LVU384
701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1312 .loc 1 701 22 is_stmt 0 view .LVU385
1313 0028 6063 str r0, [r4, #52]
704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1314 .loc 1 704 3 is_stmt 1 view .LVU386
704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1315 .loc 1 704 3 view .LVU387
1316 002a 84F84000 strb r0, [r4, #64]
704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1317 .loc 1 704 3 view .LVU388
706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1318 .loc 1 706 3 view .LVU389
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1319 .loc 1 707 1 is_stmt 0 view .LVU390
1320 002e 10BD pop {r4, pc}
1321 .LVL87:
1322 .L75:
1323 .LCFI14:
1324 .cfi_def_cfa_offset 0
1325 .cfi_restore 4
1326 .cfi_restore 14
674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1327 .loc 1 674 12 view .LVU391
1328 0030 0120 movs r0, #1
1329 .LVL88:
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1330 .loc 1 707 1 view .LVU392
1331 0032 7047 bx lr
1332 .cfi_endproc
1333 .LFE138:
1335 .section .text.HAL_UART_Transmit,"ax",%progbits
1336 .align 1
ARM GAS /tmp/cc4vHZRy.s page 105
1337 .global HAL_UART_Transmit
1338 .syntax unified
1339 .thumb
1340 .thumb_func
1342 HAL_UART_Transmit:
1343 .LVL89:
1344 .LFB141:
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint8_t *pdata8bits;
1345 .loc 1 1136 1 is_stmt 1 view -0
1346 .cfi_startproc
1347 @ args = 0, pretend = 0, frame = 0
1348 @ frame_needed = 0, uses_anonymous_args = 0
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint8_t *pdata8bits;
1349 .loc 1 1136 1 is_stmt 0 view .LVU394
1350 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1351 .LCFI15:
1352 .cfi_def_cfa_offset 24
1353 .cfi_offset 4, -24
1354 .cfi_offset 5, -20
1355 .cfi_offset 6, -16
1356 .cfi_offset 7, -12
1357 .cfi_offset 8, -8
1358 .cfi_offset 14, -4
1359 0004 82B0 sub sp, sp, #8
1360 .LCFI16:
1361 .cfi_def_cfa_offset 32
1362 0006 1E46 mov r6, r3
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *pdata16bits;
1363 .loc 1 1137 3 is_stmt 1 view .LVU395
1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
1364 .loc 1 1138 3 view .LVU396
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1365 .loc 1 1139 3 view .LVU397
1366 .LVL90:
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1367 .loc 1 1142 3 view .LVU398
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1368 .loc 1 1142 12 is_stmt 0 view .LVU399
1369 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
1370 .LVL91:
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1371 .loc 1 1142 12 view .LVU400
1372 000c DBB2 uxtb r3, r3
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1373 .loc 1 1142 6 view .LVU401
1374 000e 202B cmp r3, #32
1375 0010 56D1 bne .L89
1376 0012 0446 mov r4, r0
1377 0014 0D46 mov r5, r1
1378 0016 9046 mov r8, r2
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1379 .loc 1 1144 5 is_stmt 1 view .LVU402
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1380 .loc 1 1144 8 is_stmt 0 view .LVU403
1381 0018 0029 cmp r1, #0
1382 001a 55D0 beq .L90
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 106
1383 .loc 1 1144 25 discriminator 1 view .LVU404
1384 001c 0AB9 cbnz r2, .L95
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1385 .loc 1 1146 15 view .LVU405
1386 001e 0120 movs r0, #1
1387 .LVL92:
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1388 .loc 1 1146 15 view .LVU406
1389 0020 4FE0 b .L81
1390 .LVL93:
1391 .L95:
1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1392 .loc 1 1149 5 is_stmt 1 view .LVU407
1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1393 .loc 1 1149 22 is_stmt 0 view .LVU408
1394 0022 0023 movs r3, #0
1395 0024 4364 str r3, [r0, #68]
1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1396 .loc 1 1150 5 is_stmt 1 view .LVU409
1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1397 .loc 1 1150 19 is_stmt 0 view .LVU410
1398 0026 2123 movs r3, #33
1399 0028 80F84130 strb r3, [r0, #65]
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1400 .loc 1 1153 5 is_stmt 1 view .LVU411
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1401 .loc 1 1153 17 is_stmt 0 view .LVU412
1402 002c FFF7FEFF bl HAL_GetTick
1403 .LVL94:
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1404 .loc 1 1153 17 view .LVU413
1405 0030 0746 mov r7, r0
1406 .LVL95:
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1407 .loc 1 1155 5 is_stmt 1 view .LVU414
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1408 .loc 1 1155 23 is_stmt 0 view .LVU415
1409 0032 A4F82480 strh r8, [r4, #36] @ movhi
1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1410 .loc 1 1156 5 is_stmt 1 view .LVU416
1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1411 .loc 1 1156 24 is_stmt 0 view .LVU417
1412 0036 A4F82680 strh r8, [r4, #38] @ movhi
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1413 .loc 1 1159 5 is_stmt 1 view .LVU418
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1414 .loc 1 1159 21 is_stmt 0 view .LVU419
1415 003a A368 ldr r3, [r4, #8]
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1416 .loc 1 1159 8 view .LVU420
1417 003c B3F5805F cmp r3, #4096
1418 0040 02D0 beq .L96
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1419 .loc 1 1167 19 view .LVU421
1420 0042 4FF00008 mov r8, #0
1421 0046 14E0 b .L86
1422 .L96:
ARM GAS /tmp/cc4vHZRy.s page 107
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1423 .loc 1 1159 71 discriminator 1 view .LVU422
1424 0048 2369 ldr r3, [r4, #16]
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1425 .loc 1 1159 56 discriminator 1 view .LVU423
1426 004a 2BB3 cbz r3, .L93
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1427 .loc 1 1167 19 view .LVU424
1428 004c 4FF00008 mov r8, #0
1429 0050 0FE0 b .L86
1430 .LVL96:
1431 .L98:
1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1432 .loc 1 1174 9 is_stmt 1 view .LVU425
1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1433 .loc 1 1174 23 is_stmt 0 view .LVU426
1434 0052 2023 movs r3, #32
1435 0054 84F84130 strb r3, [r4, #65]
1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1436 .loc 1 1176 9 is_stmt 1 view .LVU427
1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1437 .loc 1 1176 16 is_stmt 0 view .LVU428
1438 0058 0320 movs r0, #3
1439 005a 32E0 b .L81
1440 .L99:
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1441 .loc 1 1180 9 is_stmt 1 view .LVU429
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1442 .loc 1 1180 42 is_stmt 0 view .LVU430
1443 005c 38F8023B ldrh r3, [r8], #2
1444 .LVL97:
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1445 .loc 1 1180 14 view .LVU431
1446 0060 2268 ldr r2, [r4]
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1447 .loc 1 1180 31 view .LVU432
1448 0062 C3F30803 ubfx r3, r3, #0, #9
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1449 .loc 1 1180 29 view .LVU433
1450 0066 5360 str r3, [r2, #4]
1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1451 .loc 1 1181 9 is_stmt 1 view .LVU434
1452 .LVL98:
1453 .L85:
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1454 .loc 1 1188 7 view .LVU435
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1455 .loc 1 1188 12 is_stmt 0 view .LVU436
1456 0068 E28C ldrh r2, [r4, #38]
1457 006a 92B2 uxth r2, r2
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1458 .loc 1 1188 25 view .LVU437
1459 006c 013A subs r2, r2, #1
1460 006e 92B2 uxth r2, r2
1461 0070 E284 strh r2, [r4, #38] @ movhi
1462 .LVL99:
1463 .L86:
ARM GAS /tmp/cc4vHZRy.s page 108
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1464 .loc 1 1170 11 is_stmt 1 view .LVU438
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1465 .loc 1 1170 17 is_stmt 0 view .LVU439
1466 0072 E38C ldrh r3, [r4, #38]
1467 0074 9BB2 uxth r3, r3
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1468 .loc 1 1170 11 view .LVU440
1469 0076 93B1 cbz r3, .L97
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1470 .loc 1 1172 7 is_stmt 1 view .LVU441
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1471 .loc 1 1172 11 is_stmt 0 view .LVU442
1472 0078 0096 str r6, [sp]
1473 007a 3B46 mov r3, r7
1474 007c 0022 movs r2, #0
1475 007e 8021 movs r1, #128
1476 0080 2046 mov r0, r4
1477 0082 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1478 .LVL100:
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1479 .loc 1 1172 10 view .LVU443
1480 0086 0028 cmp r0, #0
1481 0088 E3D1 bne .L98
1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1482 .loc 1 1178 7 is_stmt 1 view .LVU444
1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1483 .loc 1 1178 10 is_stmt 0 view .LVU445
1484 008a 002D cmp r5, #0
1485 008c E6D0 beq .L99
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1486 .loc 1 1185 9 is_stmt 1 view .LVU446
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1487 .loc 1 1185 41 is_stmt 0 view .LVU447
1488 008e 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2
1489 .LVL101:
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1490 .loc 1 1185 14 view .LVU448
1491 0092 2368 ldr r3, [r4]
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1492 .loc 1 1185 29 view .LVU449
1493 0094 5A60 str r2, [r3, #4]
1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1494 .loc 1 1186 9 is_stmt 1 view .LVU450
1495 .LVL102:
1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1496 .loc 1 1186 9 is_stmt 0 view .LVU451
1497 0096 E7E7 b .L85
1498 .LVL103:
1499 .L93:
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1500 .loc 1 1162 19 view .LVU452
1501 0098 A846 mov r8, r5
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
1502 .loc 1 1161 19 view .LVU453
1503 009a 0025 movs r5, #0
1504 .LVL104:
ARM GAS /tmp/cc4vHZRy.s page 109
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
1505 .loc 1 1161 19 view .LVU454
1506 009c E9E7 b .L86
1507 .LVL105:
1508 .L97:
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1509 .loc 1 1191 5 is_stmt 1 view .LVU455
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1510 .loc 1 1191 9 is_stmt 0 view .LVU456
1511 009e 0096 str r6, [sp]
1512 00a0 3B46 mov r3, r7
1513 00a2 0022 movs r2, #0
1514 00a4 4021 movs r1, #64
1515 00a6 2046 mov r0, r4
1516 00a8 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1517 .LVL106:
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1518 .loc 1 1191 8 view .LVU457
1519 00ac 18B9 cbnz r0, .L100
1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1520 .loc 1 1199 5 is_stmt 1 view .LVU458
1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1521 .loc 1 1199 19 is_stmt 0 view .LVU459
1522 00ae 2023 movs r3, #32
1523 00b0 84F84130 strb r3, [r4, #65]
1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1524 .loc 1 1201 5 is_stmt 1 view .LVU460
1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1525 .loc 1 1201 12 is_stmt 0 view .LVU461
1526 00b4 05E0 b .L81
1527 .L100:
1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1528 .loc 1 1193 7 is_stmt 1 view .LVU462
1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1529 .loc 1 1193 21 is_stmt 0 view .LVU463
1530 00b6 2023 movs r3, #32
1531 00b8 84F84130 strb r3, [r4, #65]
1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1532 .loc 1 1195 7 is_stmt 1 view .LVU464
1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1533 .loc 1 1195 14 is_stmt 0 view .LVU465
1534 00bc 0320 movs r0, #3
1535 00be 00E0 b .L81
1536 .LVL107:
1537 .L89:
1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1538 .loc 1 1205 12 view .LVU466
1539 00c0 0220 movs r0, #2
1540 .LVL108:
1541 .L81:
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1542 .loc 1 1207 1 view .LVU467
1543 00c2 02B0 add sp, sp, #8
1544 .LCFI17:
1545 .cfi_remember_state
1546 .cfi_def_cfa_offset 24
1547 @ sp needed
ARM GAS /tmp/cc4vHZRy.s page 110
1548 00c4 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1549 .LVL109:
1550 .L90:
1551 .LCFI18:
1552 .cfi_restore_state
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1553 .loc 1 1146 15 view .LVU468
1554 00c8 0120 movs r0, #1
1555 .LVL110:
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1556 .loc 1 1146 15 view .LVU469
1557 00ca FAE7 b .L81
1558 .cfi_endproc
1559 .LFE141:
1561 .section .text.HAL_UART_Receive,"ax",%progbits
1562 .align 1
1563 .global HAL_UART_Receive
1564 .syntax unified
1565 .thumb
1566 .thumb_func
1568 HAL_UART_Receive:
1569 .LVL111:
1570 .LFB142:
1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
1571 .loc 1 1222 1 is_stmt 1 view -0
1572 .cfi_startproc
1573 @ args = 0, pretend = 0, frame = 0
1574 @ frame_needed = 0, uses_anonymous_args = 0
1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
1575 .loc 1 1222 1 is_stmt 0 view .LVU471
1576 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1577 .LCFI19:
1578 .cfi_def_cfa_offset 24
1579 .cfi_offset 4, -24
1580 .cfi_offset 5, -20
1581 .cfi_offset 6, -16
1582 .cfi_offset 7, -12
1583 .cfi_offset 8, -8
1584 .cfi_offset 14, -4
1585 0004 82B0 sub sp, sp, #8
1586 .LCFI20:
1587 .cfi_def_cfa_offset 32
1588 0006 1E46 mov r6, r3
1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
1589 .loc 1 1223 3 is_stmt 1 view .LVU472
1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
1590 .loc 1 1224 3 view .LVU473
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1591 .loc 1 1225 3 view .LVU474
1592 .LVL112:
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1593 .loc 1 1228 3 view .LVU475
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1594 .loc 1 1228 12 is_stmt 0 view .LVU476
1595 0008 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
1596 .LVL113:
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 111
1597 .loc 1 1228 12 view .LVU477
1598 000c DBB2 uxtb r3, r3
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1599 .loc 1 1228 6 view .LVU478
1600 000e 202B cmp r3, #32
1601 0010 59D1 bne .L112
1602 0012 0446 mov r4, r0
1603 0014 0D46 mov r5, r1
1604 0016 9046 mov r8, r2
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1605 .loc 1 1230 5 is_stmt 1 view .LVU479
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1606 .loc 1 1230 8 is_stmt 0 view .LVU480
1607 0018 0029 cmp r1, #0
1608 001a 58D0 beq .L113
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1609 .loc 1 1230 25 discriminator 1 view .LVU481
1610 001c 0AB9 cbnz r2, .L118
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1611 .loc 1 1232 15 view .LVU482
1612 001e 0120 movs r0, #1
1613 .LVL114:
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1614 .loc 1 1232 15 view .LVU483
1615 0020 52E0 b .L102
1616 .LVL115:
1617 .L118:
1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1618 .loc 1 1235 5 is_stmt 1 view .LVU484
1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1619 .loc 1 1235 22 is_stmt 0 view .LVU485
1620 0022 0023 movs r3, #0
1621 0024 4364 str r3, [r0, #68]
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1622 .loc 1 1236 5 is_stmt 1 view .LVU486
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1623 .loc 1 1236 20 is_stmt 0 view .LVU487
1624 0026 2222 movs r2, #34
1625 .LVL116:
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1626 .loc 1 1236 20 view .LVU488
1627 0028 80F84220 strb r2, [r0, #66]
1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1628 .loc 1 1237 5 is_stmt 1 view .LVU489
1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1629 .loc 1 1237 26 is_stmt 0 view .LVU490
1630 002c 0363 str r3, [r0, #48]
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1631 .loc 1 1240 5 is_stmt 1 view .LVU491
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1632 .loc 1 1240 17 is_stmt 0 view .LVU492
1633 002e FFF7FEFF bl HAL_GetTick
1634 .LVL117:
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1635 .loc 1 1240 17 view .LVU493
1636 0032 0746 mov r7, r0
1637 .LVL118:
ARM GAS /tmp/cc4vHZRy.s page 112
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1638 .loc 1 1242 5 is_stmt 1 view .LVU494
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1639 .loc 1 1242 23 is_stmt 0 view .LVU495
1640 0034 A4F82C80 strh r8, [r4, #44] @ movhi
1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1641 .loc 1 1243 5 is_stmt 1 view .LVU496
1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1642 .loc 1 1243 24 is_stmt 0 view .LVU497
1643 0038 A4F82E80 strh r8, [r4, #46] @ movhi
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1644 .loc 1 1246 5 is_stmt 1 view .LVU498
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1645 .loc 1 1246 21 is_stmt 0 view .LVU499
1646 003c A368 ldr r3, [r4, #8]
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1647 .loc 1 1246 8 view .LVU500
1648 003e B3F5805F cmp r3, #4096
1649 0042 02D0 beq .L119
1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1650 .loc 1 1254 19 view .LVU501
1651 0044 4FF00008 mov r8, #0
1652 0048 1CE0 b .L104
1653 .L119:
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1654 .loc 1 1246 71 discriminator 1 view .LVU502
1655 004a 2369 ldr r3, [r4, #16]
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1656 .loc 1 1246 56 discriminator 1 view .LVU503
1657 004c 13B1 cbz r3, .L116
1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1658 .loc 1 1254 19 view .LVU504
1659 004e 4FF00008 mov r8, #0
1660 0052 17E0 b .L104
1661 .L116:
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1662 .loc 1 1249 19 view .LVU505
1663 0054 A846 mov r8, r5
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1664 .loc 1 1248 19 view .LVU506
1665 0056 0025 movs r5, #0
1666 .LVL119:
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1667 .loc 1 1248 19 view .LVU507
1668 0058 14E0 b .L104
1669 .LVL120:
1670 .L121:
1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1671 .loc 1 1262 9 is_stmt 1 view .LVU508
1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1672 .loc 1 1262 24 is_stmt 0 view .LVU509
1673 005a 2023 movs r3, #32
1674 005c 84F84230 strb r3, [r4, #66]
1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1675 .loc 1 1264 9 is_stmt 1 view .LVU510
1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1676 .loc 1 1264 16 is_stmt 0 view .LVU511
ARM GAS /tmp/cc4vHZRy.s page 113
1677 0060 0320 movs r0, #3
1678 0062 31E0 b .L102
1679 .L122:
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1680 .loc 1 1268 9 is_stmt 1 view .LVU512
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1681 .loc 1 1268 40 is_stmt 0 view .LVU513
1682 0064 2368 ldr r3, [r4]
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1683 .loc 1 1268 50 view .LVU514
1684 0066 5B68 ldr r3, [r3, #4]
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1685 .loc 1 1268 24 view .LVU515
1686 0068 C3F30803 ubfx r3, r3, #0, #9
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1687 .loc 1 1268 22 view .LVU516
1688 006c 28F8023B strh r3, [r8], #2 @ movhi
1689 .LVL121:
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1690 .loc 1 1269 9 is_stmt 1 view .LVU517
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1691 .loc 1 1269 9 is_stmt 0 view .LVU518
1692 0070 03E0 b .L107
1693 .L108:
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1694 .loc 1 1275 11 is_stmt 1 view .LVU519
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1695 .loc 1 1275 40 is_stmt 0 view .LVU520
1696 0072 2368 ldr r3, [r4]
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1697 .loc 1 1275 50 view .LVU521
1698 0074 5B68 ldr r3, [r3, #4]
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1699 .loc 1 1275 23 view .LVU522
1700 0076 2B70 strb r3, [r5]
1701 .L110:
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1702 .loc 1 1281 9 is_stmt 1 view .LVU523
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1703 .loc 1 1281 19 is_stmt 0 view .LVU524
1704 0078 0135 adds r5, r5, #1
1705 .LVL122:
1706 .L107:
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1707 .loc 1 1283 7 is_stmt 1 view .LVU525
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1708 .loc 1 1283 12 is_stmt 0 view .LVU526
1709 007a E28D ldrh r2, [r4, #46]
1710 007c 92B2 uxth r2, r2
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1711 .loc 1 1283 25 view .LVU527
1712 007e 013A subs r2, r2, #1
1713 0080 92B2 uxth r2, r2
1714 0082 E285 strh r2, [r4, #46] @ movhi
1715 .LVL123:
1716 .L104:
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 114
1717 .loc 1 1258 11 is_stmt 1 view .LVU528
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1718 .loc 1 1258 17 is_stmt 0 view .LVU529
1719 0084 E38D ldrh r3, [r4, #46]
1720 0086 9BB2 uxth r3, r3
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1721 .loc 1 1258 11 view .LVU530
1722 0088 C3B1 cbz r3, .L120
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1723 .loc 1 1260 7 is_stmt 1 view .LVU531
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1724 .loc 1 1260 11 is_stmt 0 view .LVU532
1725 008a 0096 str r6, [sp]
1726 008c 3B46 mov r3, r7
1727 008e 0022 movs r2, #0
1728 0090 2021 movs r1, #32
1729 0092 2046 mov r0, r4
1730 0094 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1731 .LVL124:
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1732 .loc 1 1260 10 view .LVU533
1733 0098 0028 cmp r0, #0
1734 009a DED1 bne .L121
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1735 .loc 1 1266 7 is_stmt 1 view .LVU534
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1736 .loc 1 1266 10 is_stmt 0 view .LVU535
1737 009c 002D cmp r5, #0
1738 009e E1D0 beq .L122
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1739 .loc 1 1273 9 is_stmt 1 view .LVU536
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1740 .loc 1 1273 25 is_stmt 0 view .LVU537
1741 00a0 A368 ldr r3, [r4, #8]
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1742 .loc 1 1273 12 view .LVU538
1743 00a2 B3F5805F cmp r3, #4096
1744 00a6 E4D0 beq .L108
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1745 .loc 1 1273 60 discriminator 1 view .LVU539
1746 00a8 13B9 cbnz r3, .L109
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1747 .loc 1 1273 126 discriminator 2 view .LVU540
1748 00aa 2369 ldr r3, [r4, #16]
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1749 .loc 1 1273 111 discriminator 2 view .LVU541
1750 00ac 002B cmp r3, #0
1751 00ae E0D0 beq .L108
1752 .L109:
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1753 .loc 1 1279 11 is_stmt 1 view .LVU542
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1754 .loc 1 1279 40 is_stmt 0 view .LVU543
1755 00b0 2368 ldr r3, [r4]
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1756 .loc 1 1279 50 view .LVU544
1757 00b2 5B68 ldr r3, [r3, #4]
ARM GAS /tmp/cc4vHZRy.s page 115
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1758 .loc 1 1279 25 view .LVU545
1759 00b4 03F07F03 and r3, r3, #127
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1760 .loc 1 1279 23 view .LVU546
1761 00b8 2B70 strb r3, [r5]
1762 00ba DDE7 b .L110
1763 .L120:
1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1764 .loc 1 1287 5 is_stmt 1 view .LVU547
1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1765 .loc 1 1287 20 is_stmt 0 view .LVU548
1766 00bc 2023 movs r3, #32
1767 00be 84F84230 strb r3, [r4, #66]
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1768 .loc 1 1289 5 is_stmt 1 view .LVU549
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1769 .loc 1 1289 12 is_stmt 0 view .LVU550
1770 00c2 0020 movs r0, #0
1771 00c4 00E0 b .L102
1772 .LVL125:
1773 .L112:
1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1774 .loc 1 1293 12 view .LVU551
1775 00c6 0220 movs r0, #2
1776 .LVL126:
1777 .L102:
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1778 .loc 1 1295 1 view .LVU552
1779 00c8 02B0 add sp, sp, #8
1780 .LCFI21:
1781 .cfi_remember_state
1782 .cfi_def_cfa_offset 24
1783 @ sp needed
1784 00ca BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1785 .LVL127:
1786 .L113:
1787 .LCFI22:
1788 .cfi_restore_state
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1789 .loc 1 1232 15 view .LVU553
1790 00ce 0120 movs r0, #1
1791 .LVL128:
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1792 .loc 1 1232 15 view .LVU554
1793 00d0 FAE7 b .L102
1794 .cfi_endproc
1795 .LFE142:
1797 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
1798 .align 1
1799 .global HAL_UART_Transmit_IT
1800 .syntax unified
1801 .thumb
1802 .thumb_func
1804 HAL_UART_Transmit_IT:
1805 .LVL129:
1806 .LFB143:
ARM GAS /tmp/cc4vHZRy.s page 116
1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1807 .loc 1 1309 1 is_stmt 1 view -0
1808 .cfi_startproc
1809 @ args = 0, pretend = 0, frame = 0
1810 @ frame_needed = 0, uses_anonymous_args = 0
1811 @ link register save eliminated.
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1812 .loc 1 1311 3 view .LVU556
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1813 .loc 1 1311 12 is_stmt 0 view .LVU557
1814 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
1815 0004 DBB2 uxtb r3, r3
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1816 .loc 1 1311 6 view .LVU558
1817 0006 202B cmp r3, #32
1818 0008 10D1 bne .L125
1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1819 .loc 1 1313 5 is_stmt 1 view .LVU559
1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1820 .loc 1 1313 8 is_stmt 0 view .LVU560
1821 000a 89B1 cbz r1, .L126
1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1822 .loc 1 1313 25 discriminator 1 view .LVU561
1823 000c 92B1 cbz r2, .L127
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1824 .loc 1 1318 5 is_stmt 1 view .LVU562
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1825 .loc 1 1318 23 is_stmt 0 view .LVU563
1826 000e 0162 str r1, [r0, #32]
1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1827 .loc 1 1319 5 is_stmt 1 view .LVU564
1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1828 .loc 1 1319 23 is_stmt 0 view .LVU565
1829 0010 8284 strh r2, [r0, #36] @ movhi
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1830 .loc 1 1320 5 is_stmt 1 view .LVU566
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1831 .loc 1 1320 24 is_stmt 0 view .LVU567
1832 0012 C284 strh r2, [r0, #38] @ movhi
1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1833 .loc 1 1322 5 is_stmt 1 view .LVU568
1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1834 .loc 1 1322 22 is_stmt 0 view .LVU569
1835 0014 0023 movs r3, #0
1836 0016 4364 str r3, [r0, #68]
1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1837 .loc 1 1323 5 is_stmt 1 view .LVU570
1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1838 .loc 1 1323 19 is_stmt 0 view .LVU571
1839 0018 2122 movs r2, #33
1840 .LVL130:
1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1841 .loc 1 1323 19 view .LVU572
1842 001a 80F84120 strb r2, [r0, #65]
1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1843 .loc 1 1326 5 is_stmt 1 view .LVU573
1844 001e 0168 ldr r1, [r0]
ARM GAS /tmp/cc4vHZRy.s page 117
1845 .LVL131:
1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1846 .loc 1 1326 5 is_stmt 0 view .LVU574
1847 0020 CA68 ldr r2, [r1, #12]
1848 0022 42F08002 orr r2, r2, #128
1849 0026 CA60 str r2, [r1, #12]
1850 .LVL132:
1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1851 .loc 1 1328 5 is_stmt 1 view .LVU575
1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1852 .loc 1 1328 12 is_stmt 0 view .LVU576
1853 0028 1846 mov r0, r3
1854 .LVL133:
1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1855 .loc 1 1328 12 view .LVU577
1856 002a 7047 bx lr
1857 .LVL134:
1858 .L125:
1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1859 .loc 1 1332 12 view .LVU578
1860 002c 0220 movs r0, #2
1861 .LVL135:
1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1862 .loc 1 1332 12 view .LVU579
1863 002e 7047 bx lr
1864 .LVL136:
1865 .L126:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1866 .loc 1 1315 14 view .LVU580
1867 0030 0120 movs r0, #1
1868 .LVL137:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1869 .loc 1 1315 14 view .LVU581
1870 0032 7047 bx lr
1871 .LVL138:
1872 .L127:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1873 .loc 1 1315 14 view .LVU582
1874 0034 0120 movs r0, #1
1875 .LVL139:
1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1876 .loc 1 1334 1 view .LVU583
1877 0036 7047 bx lr
1878 .cfi_endproc
1879 .LFE143:
1881 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
1882 .align 1
1883 .global HAL_UART_Transmit_DMA
1884 .syntax unified
1885 .thumb
1886 .thumb_func
1888 HAL_UART_Transmit_DMA:
1889 .LVL140:
1890 .LFB145:
1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint32_t *tmp;
1891 .loc 1 1380 1 is_stmt 1 view -0
1892 .cfi_startproc
ARM GAS /tmp/cc4vHZRy.s page 118
1893 @ args = 0, pretend = 0, frame = 0
1894 @ frame_needed = 0, uses_anonymous_args = 0
1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint32_t *tmp;
1895 .loc 1 1380 1 is_stmt 0 view .LVU585
1896 0000 38B5 push {r3, r4, r5, lr}
1897 .LCFI23:
1898 .cfi_def_cfa_offset 16
1899 .cfi_offset 3, -16
1900 .cfi_offset 4, -12
1901 .cfi_offset 5, -8
1902 .cfi_offset 14, -4
1903 0002 1346 mov r3, r2
1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1904 .loc 1 1381 3 is_stmt 1 view .LVU586
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1905 .loc 1 1384 3 view .LVU587
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1906 .loc 1 1384 12 is_stmt 0 view .LVU588
1907 0004 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
1908 .LVL141:
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1909 .loc 1 1384 12 view .LVU589
1910 0008 D2B2 uxtb r2, r2
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1911 .loc 1 1384 6 view .LVU590
1912 000a 202A cmp r2, #32
1913 000c 36D1 bne .L132
1914 000e 0446 mov r4, r0
1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1915 .loc 1 1386 5 is_stmt 1 view .LVU591
1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1916 .loc 1 1386 8 is_stmt 0 view .LVU592
1917 0010 0029 cmp r1, #0
1918 0012 35D0 beq .L133
1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1919 .loc 1 1386 25 discriminator 1 view .LVU593
1920 0014 0BB9 cbnz r3, .L136
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1921 .loc 1 1388 14 view .LVU594
1922 0016 0120 movs r0, #1
1923 .LVL142:
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1924 .loc 1 1388 14 view .LVU595
1925 0018 31E0 b .L129
1926 .LVL143:
1927 .L136:
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1928 .loc 1 1391 5 is_stmt 1 view .LVU596
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1929 .loc 1 1391 23 is_stmt 0 view .LVU597
1930 001a 0162 str r1, [r0, #32]
1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1931 .loc 1 1392 5 is_stmt 1 view .LVU598
1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1932 .loc 1 1392 23 is_stmt 0 view .LVU599
1933 001c 8384 strh r3, [r0, #36] @ movhi
1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 119
1934 .loc 1 1393 5 is_stmt 1 view .LVU600
1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1935 .loc 1 1393 24 is_stmt 0 view .LVU601
1936 001e C384 strh r3, [r0, #38] @ movhi
1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1937 .loc 1 1395 5 is_stmt 1 view .LVU602
1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1938 .loc 1 1395 22 is_stmt 0 view .LVU603
1939 0020 0022 movs r2, #0
1940 0022 4264 str r2, [r0, #68]
1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1941 .loc 1 1396 5 is_stmt 1 view .LVU604
1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1942 .loc 1 1396 19 is_stmt 0 view .LVU605
1943 0024 2120 movs r0, #33
1944 .LVL144:
1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1945 .loc 1 1396 19 view .LVU606
1946 0026 84F84100 strb r0, [r4, #65]
1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1947 .loc 1 1399 5 is_stmt 1 view .LVU607
1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1948 .loc 1 1399 10 is_stmt 0 view .LVU608
1949 002a A06B ldr r0, [r4, #56]
1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1950 .loc 1 1399 37 view .LVU609
1951 002c 154D ldr r5, .L137
1952 002e C563 str r5, [r0, #60]
1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1953 .loc 1 1402 5 is_stmt 1 view .LVU610
1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1954 .loc 1 1402 10 is_stmt 0 view .LVU611
1955 0030 A06B ldr r0, [r4, #56]
1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1956 .loc 1 1402 41 view .LVU612
1957 0032 154D ldr r5, .L137+4
1958 0034 0564 str r5, [r0, #64]
1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1959 .loc 1 1405 5 is_stmt 1 view .LVU613
1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1960 .loc 1 1405 10 is_stmt 0 view .LVU614
1961 0036 A06B ldr r0, [r4, #56]
1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1962 .loc 1 1405 38 view .LVU615
1963 0038 144D ldr r5, .L137+8
1964 003a C564 str r5, [r0, #76]
1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1965 .loc 1 1408 5 is_stmt 1 view .LVU616
1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1966 .loc 1 1408 10 is_stmt 0 view .LVU617
1967 003c A06B ldr r0, [r4, #56]
1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1968 .loc 1 1408 38 view .LVU618
1969 003e 0265 str r2, [r0, #80]
1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, *(const uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Siz
1970 .loc 1 1411 5 is_stmt 1 view .LVU619
1971 .LVL145:
ARM GAS /tmp/cc4vHZRy.s page 120
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1972 .loc 1 1412 5 view .LVU620
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1973 .loc 1 1412 81 is_stmt 0 view .LVU621
1974 0040 2268 ldr r2, [r4]
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1975 .loc 1 1412 9 view .LVU622
1976 0042 0432 adds r2, r2, #4
1977 0044 A06B ldr r0, [r4, #56]
1978 0046 FFF7FEFF bl HAL_DMA_Start_IT
1979 .LVL146:
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1980 .loc 1 1412 8 view .LVU623
1981 004a 30B1 cbz r0, .L130
1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1982 .loc 1 1415 7 is_stmt 1 view .LVU624
1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1983 .loc 1 1415 24 is_stmt 0 view .LVU625
1984 004c 1023 movs r3, #16
1985 004e 6364 str r3, [r4, #68]
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1986 .loc 1 1418 7 is_stmt 1 view .LVU626
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1987 .loc 1 1418 21 is_stmt 0 view .LVU627
1988 0050 2023 movs r3, #32
1989 0052 84F84130 strb r3, [r4, #65]
1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1990 .loc 1 1420 7 is_stmt 1 view .LVU628
1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1991 .loc 1 1420 14 is_stmt 0 view .LVU629
1992 0056 0120 movs r0, #1
1993 0058 11E0 b .L129
1994 .L130:
1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1995 .loc 1 1423 5 is_stmt 1 view .LVU630
1996 005a 2368 ldr r3, [r4]
1997 005c 6FF04002 mvn r2, #64
1998 0060 1A60 str r2, [r3]
1999 .L131:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2000 .loc 1 1427 5 discriminator 1 view .LVU631
2001 .LBB331:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2002 .loc 1 1427 5 discriminator 1 view .LVU632
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2003 .loc 1 1427 5 discriminator 1 view .LVU633
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2004 .loc 1 1427 5 discriminator 1 view .LVU634
2005 0062 2268 ldr r2, [r4]
2006 .LVL147:
2007 .LBB332:
2008 .LBI332:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2009 .loc 2 476 31 discriminator 1 view .LVU635
2010 .LBB333:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2011 .loc 2 478 5 discriminator 1 view .LVU636
ARM GAS /tmp/cc4vHZRy.s page 121
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2012 .loc 2 480 4 discriminator 1 view .LVU637
2013 0064 02F11403 add r3, r2, #20
2014 .LVL148:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2015 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU638
2016 .syntax unified
2017 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2018 0068 53E8003F ldrex r3, [r3]
2019 @ 0 "" 2
2020 .LVL149:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2021 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU639
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2022 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU640
2023 .thumb
2024 .syntax unified
2025 .LBE333:
2026 .LBE332:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2027 .loc 1 1427 5 discriminator 1 view .LVU641
2028 006c 43F08003 orr r3, r3, #128
2029 .LVL150:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2030 .loc 1 1427 5 is_stmt 1 discriminator 1 view .LVU642
2031 .LBB334:
2032 .LBI334:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2033 .loc 2 527 31 discriminator 1 view .LVU643
2034 .LBB335:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2035 .loc 2 529 4 discriminator 1 view .LVU644
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2036 .loc 2 531 4 discriminator 1 view .LVU645
2037 0070 1432 adds r2, r2, #20
2038 .LVL151:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2039 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU646
2040 .syntax unified
2041 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2042 0072 42E80031 strex r1, r3, [r2]
2043 @ 0 "" 2
2044 .LVL152:
2045 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU647
2046 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU648
2047 .thumb
2048 .syntax unified
2049 .LBE335:
2050 .LBE334:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2051 .loc 1 1427 5 discriminator 1 view .LVU649
2052 0076 0029 cmp r1, #0
2053 0078 F3D1 bne .L131
2054 007a 00E0 b .L129
2055 .LVL153:
2056 .L132:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 122
2057 .loc 1 1427 5 discriminator 1 view .LVU650
2058 .LBE331:
1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2059 .loc 1 1433 12 view .LVU651
2060 007c 0220 movs r0, #2
2061 .LVL154:
2062 .L129:
1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2063 .loc 1 1435 1 view .LVU652
2064 007e 38BD pop {r3, r4, r5, pc}
2065 .LVL155:
2066 .L133:
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2067 .loc 1 1388 14 view .LVU653
2068 0080 0120 movs r0, #1
2069 .LVL156:
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2070 .loc 1 1388 14 view .LVU654
2071 0082 FCE7 b .L129
2072 .L138:
2073 .align 2
2074 .L137:
2075 0084 00000000 .word UART_DMATransmitCplt
2076 0088 00000000 .word UART_DMATxHalfCplt
2077 008c 00000000 .word UART_DMAError
2078 .cfi_endproc
2079 .LFE145:
2081 .section .text.HAL_UART_DMAPause,"ax",%progbits
2082 .align 1
2083 .global HAL_UART_DMAPause
2084 .syntax unified
2085 .thumb
2086 .thumb_func
2088 HAL_UART_DMAPause:
2089 .LVL157:
2090 .LFB147:
1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2091 .loc 1 1477 1 is_stmt 1 view -0
2092 .cfi_startproc
2093 @ args = 0, pretend = 0, frame = 0
2094 @ frame_needed = 0, uses_anonymous_args = 0
2095 @ link register save eliminated.
1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2096 .loc 1 1478 3 view .LVU656
1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2097 .loc 1 1480 3 view .LVU657
1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2098 .loc 1 1480 16 is_stmt 0 view .LVU658
2099 0000 0368 ldr r3, [r0]
2100 0002 5A69 ldr r2, [r3, #20]
2101 0004 02F08002 and r2, r2, #128
2102 .LVL158:
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2103 .loc 1 1481 3 is_stmt 1 view .LVU659
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2104 .loc 1 1481 13 is_stmt 0 view .LVU660
2105 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
ARM GAS /tmp/cc4vHZRy.s page 123
2106 000c DBB2 uxtb r3, r3
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2107 .loc 1 1481 6 view .LVU661
2108 000e 212B cmp r3, #33
2109 0010 0AD0 beq .L146
2110 .LVL159:
2111 .L140:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2112 .loc 1 1484 5 is_stmt 1 discriminator 2 view .LVU662
1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2113 .loc 1 1487 3 discriminator 2 view .LVU663
1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2114 .loc 1 1487 16 is_stmt 0 discriminator 2 view .LVU664
2115 0012 0368 ldr r3, [r0]
2116 0014 5A69 ldr r2, [r3, #20]
2117 0016 02F04002 and r2, r2, #64
2118 .LVL160:
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2119 .loc 1 1488 3 is_stmt 1 discriminator 2 view .LVU665
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2120 .loc 1 1488 13 is_stmt 0 discriminator 2 view .LVU666
2121 001a 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
2122 001e DBB2 uxtb r3, r3
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2123 .loc 1 1488 6 discriminator 2 view .LVU667
2124 0020 222B cmp r3, #34
2125 0022 10D0 beq .L147
2126 .LVL161:
2127 .L142:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2128 .loc 1 1495 5 is_stmt 1 discriminator 2 view .LVU668
1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2129 .loc 1 1498 3 discriminator 2 view .LVU669
1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2130 .loc 1 1499 1 is_stmt 0 discriminator 2 view .LVU670
2131 0024 0020 movs r0, #0
2132 .LVL162:
1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2133 .loc 1 1499 1 discriminator 2 view .LVU671
2134 0026 7047 bx lr
2135 .LVL163:
2136 .L146:
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2137 .loc 1 1481 49 discriminator 1 view .LVU672
2138 0028 002A cmp r2, #0
2139 002a F2D0 beq .L140
2140 .LVL164:
2141 .L141:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2142 .loc 1 1484 5 is_stmt 1 discriminator 1 view .LVU673
2143 .LBB336:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2144 .loc 1 1484 5 discriminator 1 view .LVU674
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2145 .loc 1 1484 5 discriminator 1 view .LVU675
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2146 .loc 1 1484 5 discriminator 1 view .LVU676
ARM GAS /tmp/cc4vHZRy.s page 124
2147 002c 0268 ldr r2, [r0]
2148 .LVL165:
2149 .LBB337:
2150 .LBI337:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2151 .loc 2 476 31 discriminator 1 view .LVU677
2152 .LBB338:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2153 .loc 2 478 5 discriminator 1 view .LVU678
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2154 .loc 2 480 4 discriminator 1 view .LVU679
2155 002e 02F11403 add r3, r2, #20
2156 .LVL166:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2157 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU680
2158 .syntax unified
2159 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2160 0032 53E8003F ldrex r3, [r3]
2161 @ 0 "" 2
2162 .LVL167:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2163 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU681
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2164 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU682
2165 .thumb
2166 .syntax unified
2167 .LBE338:
2168 .LBE337:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2169 .loc 1 1484 5 discriminator 1 view .LVU683
2170 0036 23F08003 bic r3, r3, #128
2171 .LVL168:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2172 .loc 1 1484 5 is_stmt 1 discriminator 1 view .LVU684
2173 .LBB339:
2174 .LBI339:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2175 .loc 2 527 31 discriminator 1 view .LVU685
2176 .LBB340:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2177 .loc 2 529 4 discriminator 1 view .LVU686
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2178 .loc 2 531 4 discriminator 1 view .LVU687
2179 003a 1432 adds r2, r2, #20
2180 .LVL169:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2181 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU688
2182 .syntax unified
2183 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2184 003c 42E80031 strex r1, r3, [r2]
2185 @ 0 "" 2
2186 .LVL170:
2187 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU689
2188 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU690
2189 .thumb
2190 .syntax unified
2191 .LBE340:
ARM GAS /tmp/cc4vHZRy.s page 125
2192 .LBE339:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2193 .loc 1 1484 5 discriminator 1 view .LVU691
2194 0040 0029 cmp r1, #0
2195 0042 F3D1 bne .L141
2196 0044 E5E7 b .L140
2197 .LVL171:
2198 .L147:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2199 .loc 1 1484 5 discriminator 1 view .LVU692
2200 .LBE336:
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2201 .loc 1 1488 50 discriminator 1 view .LVU693
2202 0046 002A cmp r2, #0
2203 0048 ECD0 beq .L142
2204 .LVL172:
2205 .L143:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2206 .loc 1 1491 5 is_stmt 1 discriminator 1 view .LVU694
2207 .LBB341:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2208 .loc 1 1491 5 discriminator 1 view .LVU695
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2209 .loc 1 1491 5 discriminator 1 view .LVU696
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2210 .loc 1 1491 5 discriminator 1 view .LVU697
2211 004a 0268 ldr r2, [r0]
2212 .LVL173:
2213 .LBB342:
2214 .LBI342:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2215 .loc 2 476 31 discriminator 1 view .LVU698
2216 .LBB343:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2217 .loc 2 478 5 discriminator 1 view .LVU699
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2218 .loc 2 480 4 discriminator 1 view .LVU700
2219 004c 02F10C03 add r3, r2, #12
2220 .LVL174:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2221 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU701
2222 .syntax unified
2223 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2224 0050 53E8003F ldrex r3, [r3]
2225 @ 0 "" 2
2226 .LVL175:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2227 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU702
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2228 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU703
2229 .thumb
2230 .syntax unified
2231 .LBE343:
2232 .LBE342:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2233 .loc 1 1491 5 discriminator 1 view .LVU704
2234 0054 23F48073 bic r3, r3, #256
ARM GAS /tmp/cc4vHZRy.s page 126
2235 .LVL176:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2236 .loc 1 1491 5 is_stmt 1 discriminator 1 view .LVU705
2237 .LBB344:
2238 .LBI344:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2239 .loc 2 527 31 discriminator 1 view .LVU706
2240 .LBB345:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2241 .loc 2 529 4 discriminator 1 view .LVU707
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2242 .loc 2 531 4 discriminator 1 view .LVU708
2243 0058 0C32 adds r2, r2, #12
2244 .LVL177:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2245 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU709
2246 .syntax unified
2247 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2248 005a 42E80031 strex r1, r3, [r2]
2249 @ 0 "" 2
2250 .LVL178:
2251 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU710
2252 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU711
2253 .thumb
2254 .syntax unified
2255 .LBE345:
2256 .LBE344:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2257 .loc 1 1491 5 discriminator 1 view .LVU712
2258 005e 0029 cmp r1, #0
2259 0060 F3D1 bne .L143
2260 .LVL179:
2261 .L144:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2262 .loc 1 1491 5 discriminator 1 view .LVU713
2263 .LBE341:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2264 .loc 1 1491 5 is_stmt 1 discriminator 1 view .LVU714
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2265 .loc 1 1492 5 discriminator 1 view .LVU715
2266 .LBB346:
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2267 .loc 1 1492 5 discriminator 1 view .LVU716
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2268 .loc 1 1492 5 discriminator 1 view .LVU717
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2269 .loc 1 1492 5 discriminator 1 view .LVU718
2270 0062 0268 ldr r2, [r0]
2271 .LVL180:
2272 .LBB347:
2273 .LBI347:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2274 .loc 2 476 31 discriminator 1 view .LVU719
2275 .LBB348:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2276 .loc 2 478 5 discriminator 1 view .LVU720
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc4vHZRy.s page 127
2277 .loc 2 480 4 discriminator 1 view .LVU721
2278 0064 02F11403 add r3, r2, #20
2279 .LVL181:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2280 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU722
2281 .syntax unified
2282 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2283 0068 53E8003F ldrex r3, [r3]
2284 @ 0 "" 2
2285 .LVL182:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2286 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU723
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2287 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU724
2288 .thumb
2289 .syntax unified
2290 .LBE348:
2291 .LBE347:
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2292 .loc 1 1492 5 discriminator 1 view .LVU725
2293 006c 23F00103 bic r3, r3, #1
2294 .LVL183:
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2295 .loc 1 1492 5 is_stmt 1 discriminator 1 view .LVU726
2296 .LBB349:
2297 .LBI349:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2298 .loc 2 527 31 discriminator 1 view .LVU727
2299 .LBB350:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2300 .loc 2 529 4 discriminator 1 view .LVU728
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2301 .loc 2 531 4 discriminator 1 view .LVU729
2302 0070 1432 adds r2, r2, #20
2303 .LVL184:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2304 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU730
2305 .syntax unified
2306 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2307 0072 42E80031 strex r1, r3, [r2]
2308 @ 0 "" 2
2309 .LVL185:
2310 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU731
2311 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU732
2312 .thumb
2313 .syntax unified
2314 .LBE350:
2315 .LBE349:
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2316 .loc 1 1492 5 discriminator 1 view .LVU733
2317 0076 0029 cmp r1, #0
2318 0078 F3D1 bne .L144
2319 .LVL186:
2320 .L145:
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2321 .loc 1 1492 5 discriminator 1 view .LVU734
2322 .LBE346:
ARM GAS /tmp/cc4vHZRy.s page 128
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2323 .loc 1 1492 5 is_stmt 1 discriminator 1 view .LVU735
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2324 .loc 1 1495 5 discriminator 1 view .LVU736
2325 .LBB351:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2326 .loc 1 1495 5 discriminator 1 view .LVU737
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2327 .loc 1 1495 5 discriminator 1 view .LVU738
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2328 .loc 1 1495 5 discriminator 1 view .LVU739
2329 007a 0268 ldr r2, [r0]
2330 .LVL187:
2331 .LBB352:
2332 .LBI352:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2333 .loc 2 476 31 discriminator 1 view .LVU740
2334 .LBB353:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2335 .loc 2 478 5 discriminator 1 view .LVU741
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2336 .loc 2 480 4 discriminator 1 view .LVU742
2337 007c 02F11403 add r3, r2, #20
2338 .LVL188:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2339 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU743
2340 .syntax unified
2341 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2342 0080 53E8003F ldrex r3, [r3]
2343 @ 0 "" 2
2344 .LVL189:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2345 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU744
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2346 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU745
2347 .thumb
2348 .syntax unified
2349 .LBE353:
2350 .LBE352:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2351 .loc 1 1495 5 discriminator 1 view .LVU746
2352 0084 23F04003 bic r3, r3, #64
2353 .LVL190:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2354 .loc 1 1495 5 is_stmt 1 discriminator 1 view .LVU747
2355 .LBB354:
2356 .LBI354:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2357 .loc 2 527 31 discriminator 1 view .LVU748
2358 .LBB355:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2359 .loc 2 529 4 discriminator 1 view .LVU749
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2360 .loc 2 531 4 discriminator 1 view .LVU750
2361 0088 1432 adds r2, r2, #20
2362 .LVL191:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc4vHZRy.s page 129
2363 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU751
2364 .syntax unified
2365 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2366 008a 42E80031 strex r1, r3, [r2]
2367 @ 0 "" 2
2368 .LVL192:
2369 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU752
2370 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU753
2371 .thumb
2372 .syntax unified
2373 .LBE355:
2374 .LBE354:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2375 .loc 1 1495 5 discriminator 1 view .LVU754
2376 008e 0029 cmp r1, #0
2377 0090 F3D1 bne .L145
2378 0092 C7E7 b .L142
2379 .LBE351:
2380 .cfi_endproc
2381 .LFE147:
2383 .section .text.HAL_UART_DMAResume,"ax",%progbits
2384 .align 1
2385 .global HAL_UART_DMAResume
2386 .syntax unified
2387 .thumb
2388 .thumb_func
2390 HAL_UART_DMAResume:
2391 .LVL193:
2392 .LFB148:
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2393 .loc 1 1508 1 is_stmt 1 view -0
2394 .cfi_startproc
2395 @ args = 0, pretend = 0, frame = 8
2396 @ frame_needed = 0, uses_anonymous_args = 0
2397 @ link register save eliminated.
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2398 .loc 1 1510 3 view .LVU756
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2399 .loc 1 1510 12 is_stmt 0 view .LVU757
2400 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
2401 0004 DBB2 uxtb r3, r3
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2402 .loc 1 1510 6 view .LVU758
2403 0006 212B cmp r3, #33
2404 0008 06D0 beq .L150
2405 .L149:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2406 .loc 1 1513 5 is_stmt 1 discriminator 2 view .LVU759
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2407 .loc 1 1516 3 discriminator 2 view .LVU760
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2408 .loc 1 1516 12 is_stmt 0 discriminator 2 view .LVU761
2409 000a 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
2410 000e DBB2 uxtb r3, r3
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2411 .loc 1 1516 6 discriminator 2 view .LVU762
2412 0010 222B cmp r3, #34
ARM GAS /tmp/cc4vHZRy.s page 130
2413 0012 0ED0 beq .L160
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2414 .loc 1 1529 5 is_stmt 1 view .LVU763
1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2415 .loc 1 1532 3 view .LVU764
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2416 .loc 1 1533 1 is_stmt 0 view .LVU765
2417 0014 0020 movs r0, #0
2418 .LVL194:
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2419 .loc 1 1533 1 view .LVU766
2420 0016 7047 bx lr
2421 .LVL195:
2422 .L150:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2423 .loc 1 1513 5 is_stmt 1 discriminator 1 view .LVU767
2424 .LBB356:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2425 .loc 1 1513 5 discriminator 1 view .LVU768
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2426 .loc 1 1513 5 discriminator 1 view .LVU769
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2427 .loc 1 1513 5 discriminator 1 view .LVU770
2428 0018 0268 ldr r2, [r0]
2429 .LVL196:
2430 .LBB357:
2431 .LBI357:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2432 .loc 2 476 31 discriminator 1 view .LVU771
2433 .LBB358:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2434 .loc 2 478 5 discriminator 1 view .LVU772
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2435 .loc 2 480 4 discriminator 1 view .LVU773
2436 001a 02F11403 add r3, r2, #20
2437 .LVL197:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2438 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU774
2439 .syntax unified
2440 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2441 001e 53E8003F ldrex r3, [r3]
2442 @ 0 "" 2
2443 .LVL198:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2444 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU775
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2445 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU776
2446 .thumb
2447 .syntax unified
2448 .LBE358:
2449 .LBE357:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2450 .loc 1 1513 5 discriminator 1 view .LVU777
2451 0022 43F08003 orr r3, r3, #128
2452 .LVL199:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2453 .loc 1 1513 5 is_stmt 1 discriminator 1 view .LVU778
ARM GAS /tmp/cc4vHZRy.s page 131
2454 .LBB359:
2455 .LBI359:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2456 .loc 2 527 31 discriminator 1 view .LVU779
2457 .LBB360:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2458 .loc 2 529 4 discriminator 1 view .LVU780
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2459 .loc 2 531 4 discriminator 1 view .LVU781
2460 0026 1432 adds r2, r2, #20
2461 .LVL200:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2462 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU782
2463 .syntax unified
2464 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2465 0028 42E80031 strex r1, r3, [r2]
2466 @ 0 "" 2
2467 .LVL201:
2468 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU783
2469 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU784
2470 .thumb
2471 .syntax unified
2472 .LBE360:
2473 .LBE359:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2474 .loc 1 1513 5 discriminator 1 view .LVU785
2475 002c 0029 cmp r1, #0
2476 002e F3D1 bne .L150
2477 0030 EBE7 b .L149
2478 .LVL202:
2479 .L160:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2480 .loc 1 1513 5 discriminator 1 view .LVU786
2481 .LBE356:
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2482 .loc 1 1508 1 view .LVU787
2483 0032 82B0 sub sp, sp, #8
2484 .LCFI24:
2485 .cfi_def_cfa_offset 8
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2486 .loc 1 1519 5 is_stmt 1 view .LVU788
2487 .LBB361:
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2488 .loc 1 1519 5 view .LVU789
2489 0034 0023 movs r3, #0
2490 0036 0193 str r3, [sp, #4]
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2491 .loc 1 1519 5 view .LVU790
2492 0038 0368 ldr r3, [r0]
2493 003a 1A68 ldr r2, [r3]
2494 003c 0192 str r2, [sp, #4]
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2495 .loc 1 1519 5 view .LVU791
2496 003e 5B68 ldr r3, [r3, #4]
2497 0040 0193 str r3, [sp, #4]
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2498 .loc 1 1519 5 view .LVU792
ARM GAS /tmp/cc4vHZRy.s page 132
2499 0042 019B ldr r3, [sp, #4]
2500 .LBE361:
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2501 .loc 1 1519 5 view .LVU793
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2502 .loc 1 1522 5 view .LVU794
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2503 .loc 1 1522 20 is_stmt 0 view .LVU795
2504 0044 0369 ldr r3, [r0, #16]
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2505 .loc 1 1522 8 view .LVU796
2506 0046 5BB1 cbz r3, .L154
2507 .L153:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2508 .loc 1 1524 7 is_stmt 1 discriminator 1 view .LVU797
2509 .LBB362:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2510 .loc 1 1524 7 discriminator 1 view .LVU798
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2511 .loc 1 1524 7 discriminator 1 view .LVU799
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2512 .loc 1 1524 7 discriminator 1 view .LVU800
2513 0048 0268 ldr r2, [r0]
2514 .LVL203:
2515 .LBB363:
2516 .LBI363:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2517 .loc 2 476 31 discriminator 1 view .LVU801
2518 .LBB364:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2519 .loc 2 478 5 discriminator 1 view .LVU802
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2520 .loc 2 480 4 discriminator 1 view .LVU803
2521 004a 02F10C03 add r3, r2, #12
2522 .LVL204:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2523 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU804
2524 .syntax unified
2525 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2526 004e 53E8003F ldrex r3, [r3]
2527 @ 0 "" 2
2528 .LVL205:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2529 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU805
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2530 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU806
2531 .thumb
2532 .syntax unified
2533 .LBE364:
2534 .LBE363:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2535 .loc 1 1524 7 discriminator 1 view .LVU807
2536 0052 43F48073 orr r3, r3, #256
2537 .LVL206:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2538 .loc 1 1524 7 is_stmt 1 discriminator 1 view .LVU808
2539 .LBB365:
ARM GAS /tmp/cc4vHZRy.s page 133
2540 .LBI365:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2541 .loc 2 527 31 discriminator 1 view .LVU809
2542 .LBB366:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2543 .loc 2 529 4 discriminator 1 view .LVU810
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2544 .loc 2 531 4 discriminator 1 view .LVU811
2545 0056 0C32 adds r2, r2, #12
2546 .LVL207:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2547 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU812
2548 .syntax unified
2549 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2550 0058 42E80031 strex r1, r3, [r2]
2551 @ 0 "" 2
2552 .LVL208:
2553 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU813
2554 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU814
2555 .thumb
2556 .syntax unified
2557 .LBE366:
2558 .LBE365:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2559 .loc 1 1524 7 discriminator 1 view .LVU815
2560 005c 0029 cmp r1, #0
2561 005e F3D1 bne .L153
2562 .LVL209:
2563 .L154:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2564 .loc 1 1524 7 discriminator 1 view .LVU816
2565 .LBE362:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2566 .loc 1 1524 7 is_stmt 1 discriminator 1 view .LVU817
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2567 .loc 1 1526 5 discriminator 1 view .LVU818
2568 .LBB367:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2569 .loc 1 1526 5 discriminator 1 view .LVU819
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2570 .loc 1 1526 5 discriminator 1 view .LVU820
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2571 .loc 1 1526 5 discriminator 1 view .LVU821
2572 0060 0268 ldr r2, [r0]
2573 .LVL210:
2574 .LBB368:
2575 .LBI368:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2576 .loc 2 476 31 discriminator 1 view .LVU822
2577 .LBB369:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2578 .loc 2 478 5 discriminator 1 view .LVU823
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2579 .loc 2 480 4 discriminator 1 view .LVU824
2580 0062 02F11403 add r3, r2, #20
2581 .LVL211:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc4vHZRy.s page 134
2582 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU825
2583 .syntax unified
2584 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2585 0066 53E8003F ldrex r3, [r3]
2586 @ 0 "" 2
2587 .LVL212:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2588 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU826
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2589 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU827
2590 .thumb
2591 .syntax unified
2592 .LBE369:
2593 .LBE368:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2594 .loc 1 1526 5 discriminator 1 view .LVU828
2595 006a 43F00103 orr r3, r3, #1
2596 .LVL213:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2597 .loc 1 1526 5 is_stmt 1 discriminator 1 view .LVU829
2598 .LBB370:
2599 .LBI370:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2600 .loc 2 527 31 discriminator 1 view .LVU830
2601 .LBB371:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2602 .loc 2 529 4 discriminator 1 view .LVU831
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2603 .loc 2 531 4 discriminator 1 view .LVU832
2604 006e 1432 adds r2, r2, #20
2605 .LVL214:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2606 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU833
2607 .syntax unified
2608 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2609 0070 42E80031 strex r1, r3, [r2]
2610 @ 0 "" 2
2611 .LVL215:
2612 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU834
2613 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU835
2614 .thumb
2615 .syntax unified
2616 .LBE371:
2617 .LBE370:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2618 .loc 1 1526 5 discriminator 1 view .LVU836
2619 0074 0029 cmp r1, #0
2620 0076 F3D1 bne .L154
2621 .LVL216:
2622 .L155:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2623 .loc 1 1526 5 discriminator 1 view .LVU837
2624 .LBE367:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2625 .loc 1 1526 5 is_stmt 1 discriminator 1 view .LVU838
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2626 .loc 1 1529 5 discriminator 1 view .LVU839
ARM GAS /tmp/cc4vHZRy.s page 135
2627 .LBB372:
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2628 .loc 1 1529 5 discriminator 1 view .LVU840
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2629 .loc 1 1529 5 discriminator 1 view .LVU841
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2630 .loc 1 1529 5 discriminator 1 view .LVU842
2631 0078 0268 ldr r2, [r0]
2632 .LVL217:
2633 .LBB373:
2634 .LBI373:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2635 .loc 2 476 31 discriminator 1 view .LVU843
2636 .LBB374:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2637 .loc 2 478 5 discriminator 1 view .LVU844
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2638 .loc 2 480 4 discriminator 1 view .LVU845
2639 007a 02F11403 add r3, r2, #20
2640 .LVL218:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2641 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU846
2642 .syntax unified
2643 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2644 007e 53E8003F ldrex r3, [r3]
2645 @ 0 "" 2
2646 .LVL219:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2647 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU847
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2648 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU848
2649 .thumb
2650 .syntax unified
2651 .LBE374:
2652 .LBE373:
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2653 .loc 1 1529 5 discriminator 1 view .LVU849
2654 0082 43F04003 orr r3, r3, #64
2655 .LVL220:
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2656 .loc 1 1529 5 is_stmt 1 discriminator 1 view .LVU850
2657 .LBB375:
2658 .LBI375:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2659 .loc 2 527 31 discriminator 1 view .LVU851
2660 .LBB376:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2661 .loc 2 529 4 discriminator 1 view .LVU852
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2662 .loc 2 531 4 discriminator 1 view .LVU853
2663 0086 1432 adds r2, r2, #20
2664 .LVL221:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2665 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU854
2666 .syntax unified
2667 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2668 0088 42E80031 strex r1, r3, [r2]
ARM GAS /tmp/cc4vHZRy.s page 136
2669 @ 0 "" 2
2670 .LVL222:
2671 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU855
2672 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU856
2673 .thumb
2674 .syntax unified
2675 .LBE376:
2676 .LBE375:
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2677 .loc 1 1529 5 discriminator 1 view .LVU857
2678 008c 0029 cmp r1, #0
2679 008e F3D1 bne .L155
2680 .LBE372:
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2681 .loc 1 1529 5 is_stmt 1 discriminator 2 view .LVU858
1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2682 .loc 1 1532 3 discriminator 2 view .LVU859
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2683 .loc 1 1533 1 is_stmt 0 discriminator 2 view .LVU860
2684 0090 0020 movs r0, #0
2685 .LVL223:
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2686 .loc 1 1533 1 discriminator 2 view .LVU861
2687 0092 02B0 add sp, sp, #8
2688 .LCFI25:
2689 .cfi_def_cfa_offset 0
2690 @ sp needed
2691 0094 7047 bx lr
2692 .cfi_endproc
2693 .LFE148:
2695 .section .text.HAL_UART_DMAStop,"ax",%progbits
2696 .align 1
2697 .global HAL_UART_DMAStop
2698 .syntax unified
2699 .thumb
2700 .thumb_func
2702 HAL_UART_DMAStop:
2703 .LVL224:
2704 .LFB149:
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2705 .loc 1 1542 1 is_stmt 1 view -0
2706 .cfi_startproc
2707 @ args = 0, pretend = 0, frame = 0
2708 @ frame_needed = 0, uses_anonymous_args = 0
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2709 .loc 1 1542 1 is_stmt 0 view .LVU863
2710 0000 10B5 push {r4, lr}
2711 .LCFI26:
2712 .cfi_def_cfa_offset 8
2713 .cfi_offset 4, -8
2714 .cfi_offset 14, -4
2715 0002 0446 mov r4, r0
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
2716 .loc 1 1543 3 is_stmt 1 view .LVU864
2717 .LVL225:
1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2718 .loc 1 1551 3 view .LVU865
ARM GAS /tmp/cc4vHZRy.s page 137
1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2719 .loc 1 1551 16 is_stmt 0 view .LVU866
2720 0004 0368 ldr r3, [r0]
2721 0006 5A69 ldr r2, [r3, #20]
2722 .LVL226:
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2723 .loc 1 1552 3 is_stmt 1 view .LVU867
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2724 .loc 1 1552 13 is_stmt 0 view .LVU868
2725 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
2726 000c DBB2 uxtb r3, r3
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2727 .loc 1 1552 6 view .LVU869
2728 000e 212B cmp r3, #33
2729 0010 0AD0 beq .L169
2730 .LVL227:
2731 .L162:
1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2732 .loc 1 1565 3 is_stmt 1 view .LVU870
1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2733 .loc 1 1565 16 is_stmt 0 view .LVU871
2734 0012 2368 ldr r3, [r4]
2735 0014 5A69 ldr r2, [r3, #20]
2736 0016 02F04002 and r2, r2, #64
2737 .LVL228:
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2738 .loc 1 1566 3 is_stmt 1 view .LVU872
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2739 .loc 1 1566 13 is_stmt 0 view .LVU873
2740 001a 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2
2741 001e DBB2 uxtb r3, r3
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2742 .loc 1 1566 6 view .LVU874
2743 0020 222B cmp r3, #34
2744 0022 19D0 beq .L170
2745 .LVL229:
2746 .L165:
1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2747 .loc 1 1578 3 is_stmt 1 view .LVU875
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2748 .loc 1 1579 1 is_stmt 0 view .LVU876
2749 0024 0020 movs r0, #0
2750 0026 10BD pop {r4, pc}
2751 .LVL230:
2752 .L169:
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2753 .loc 1 1579 1 view .LVU877
2754 0028 02F08002 and r2, r2, #128
2755 .LVL231:
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2756 .loc 1 1552 49 discriminator 1 view .LVU878
2757 002c 002A cmp r2, #0
2758 002e F0D0 beq .L162
2759 .L163:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2760 .loc 1 1554 5 is_stmt 1 discriminator 1 view .LVU879
2761 .LBB377:
ARM GAS /tmp/cc4vHZRy.s page 138
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2762 .loc 1 1554 5 discriminator 1 view .LVU880
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2763 .loc 1 1554 5 discriminator 1 view .LVU881
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2764 .loc 1 1554 5 discriminator 1 view .LVU882
2765 0030 2268 ldr r2, [r4]
2766 .LVL232:
2767 .LBB378:
2768 .LBI378:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2769 .loc 2 476 31 discriminator 1 view .LVU883
2770 .LBB379:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2771 .loc 2 478 5 discriminator 1 view .LVU884
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2772 .loc 2 480 4 discriminator 1 view .LVU885
2773 0032 02F11403 add r3, r2, #20
2774 .LVL233:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2775 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU886
2776 .syntax unified
2777 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2778 0036 53E8003F ldrex r3, [r3]
2779 @ 0 "" 2
2780 .LVL234:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2781 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU887
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2782 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU888
2783 .thumb
2784 .syntax unified
2785 .LBE379:
2786 .LBE378:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2787 .loc 1 1554 5 discriminator 1 view .LVU889
2788 003a 23F08003 bic r3, r3, #128
2789 .LVL235:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2790 .loc 1 1554 5 is_stmt 1 discriminator 1 view .LVU890
2791 .LBB380:
2792 .LBI380:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2793 .loc 2 527 31 discriminator 1 view .LVU891
2794 .LBB381:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2795 .loc 2 529 4 discriminator 1 view .LVU892
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2796 .loc 2 531 4 discriminator 1 view .LVU893
2797 003e 1432 adds r2, r2, #20
2798 .LVL236:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2799 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU894
2800 .syntax unified
2801 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2802 0040 42E80031 strex r1, r3, [r2]
2803 @ 0 "" 2
ARM GAS /tmp/cc4vHZRy.s page 139
2804 .LVL237:
2805 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU895
2806 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU896
2807 .thumb
2808 .syntax unified
2809 .LBE381:
2810 .LBE380:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2811 .loc 1 1554 5 discriminator 1 view .LVU897
2812 0044 0029 cmp r1, #0
2813 0046 F3D1 bne .L163
2814 .LBE377:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2815 .loc 1 1554 5 is_stmt 1 discriminator 2 view .LVU898
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2816 .loc 1 1557 5 discriminator 2 view .LVU899
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2817 .loc 1 1557 14 is_stmt 0 discriminator 2 view .LVU900
2818 0048 A06B ldr r0, [r4, #56]
2819 .LVL238:
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2820 .loc 1 1557 8 discriminator 2 view .LVU901
2821 004a 08B1 cbz r0, .L164
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2822 .loc 1 1559 7 is_stmt 1 view .LVU902
2823 004c FFF7FEFF bl HAL_DMA_Abort
2824 .LVL239:
2825 .L164:
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2826 .loc 1 1561 5 view .LVU903
2827 0050 2046 mov r0, r4
2828 0052 FFF7FEFF bl UART_EndTxTransfer
2829 .LVL240:
2830 0056 DCE7 b .L162
2831 .LVL241:
2832 .L170:
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2833 .loc 1 1566 50 is_stmt 0 discriminator 1 view .LVU904
2834 0058 002A cmp r2, #0
2835 005a E3D0 beq .L165
2836 .LVL242:
2837 .L166:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2838 .loc 1 1568 5 is_stmt 1 discriminator 1 view .LVU905
2839 .LBB382:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2840 .loc 1 1568 5 discriminator 1 view .LVU906
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2841 .loc 1 1568 5 discriminator 1 view .LVU907
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2842 .loc 1 1568 5 discriminator 1 view .LVU908
2843 005c 2268 ldr r2, [r4]
2844 .LVL243:
2845 .LBB383:
2846 .LBI383:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2847 .loc 2 476 31 discriminator 1 view .LVU909
ARM GAS /tmp/cc4vHZRy.s page 140
2848 .LBB384:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2849 .loc 2 478 5 discriminator 1 view .LVU910
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2850 .loc 2 480 4 discriminator 1 view .LVU911
2851 005e 02F11403 add r3, r2, #20
2852 .LVL244:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2853 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU912
2854 .syntax unified
2855 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2856 0062 53E8003F ldrex r3, [r3]
2857 @ 0 "" 2
2858 .LVL245:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2859 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU913
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2860 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU914
2861 .thumb
2862 .syntax unified
2863 .LBE384:
2864 .LBE383:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2865 .loc 1 1568 5 discriminator 1 view .LVU915
2866 0066 23F04003 bic r3, r3, #64
2867 .LVL246:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2868 .loc 1 1568 5 is_stmt 1 discriminator 1 view .LVU916
2869 .LBB385:
2870 .LBI385:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2871 .loc 2 527 31 discriminator 1 view .LVU917
2872 .LBB386:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2873 .loc 2 529 4 discriminator 1 view .LVU918
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2874 .loc 2 531 4 discriminator 1 view .LVU919
2875 006a 1432 adds r2, r2, #20
2876 .LVL247:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2877 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU920
2878 .syntax unified
2879 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2880 006c 42E80031 strex r1, r3, [r2]
2881 @ 0 "" 2
2882 .LVL248:
2883 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU921
2884 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU922
2885 .thumb
2886 .syntax unified
2887 .LBE386:
2888 .LBE385:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2889 .loc 1 1568 5 discriminator 1 view .LVU923
2890 0070 0029 cmp r1, #0
2891 0072 F3D1 bne .L166
2892 .LBE382:
ARM GAS /tmp/cc4vHZRy.s page 141
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2893 .loc 1 1568 5 is_stmt 1 discriminator 2 view .LVU924
1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2894 .loc 1 1571 5 discriminator 2 view .LVU925
1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2895 .loc 1 1571 14 is_stmt 0 discriminator 2 view .LVU926
2896 0074 E06B ldr r0, [r4, #60]
1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2897 .loc 1 1571 8 discriminator 2 view .LVU927
2898 0076 08B1 cbz r0, .L167
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2899 .loc 1 1573 7 is_stmt 1 view .LVU928
2900 0078 FFF7FEFF bl HAL_DMA_Abort
2901 .LVL249:
2902 .L167:
1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2903 .loc 1 1575 5 view .LVU929
2904 007c 2046 mov r0, r4
2905 007e FFF7FEFF bl UART_EndRxTransfer
2906 .LVL250:
2907 0082 CFE7 b .L165
2908 .cfi_endproc
2909 .LFE149:
2911 .section .text.HAL_UARTEx_ReceiveToIdle,"ax",%progbits
2912 .align 1
2913 .global HAL_UARTEx_ReceiveToIdle
2914 .syntax unified
2915 .thumb
2916 .thumb_func
2918 HAL_UARTEx_ReceiveToIdle:
2919 .LVL251:
2920 .LFB150:
1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
2921 .loc 1 1598 1 view -0
2922 .cfi_startproc
2923 @ args = 4, pretend = 0, frame = 8
2924 @ frame_needed = 0, uses_anonymous_args = 0
1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
2925 .loc 1 1598 1 is_stmt 0 view .LVU931
2926 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
2927 .LCFI27:
2928 .cfi_def_cfa_offset 28
2929 .cfi_offset 4, -28
2930 .cfi_offset 5, -24
2931 .cfi_offset 6, -20
2932 .cfi_offset 7, -16
2933 .cfi_offset 8, -12
2934 .cfi_offset 9, -8
2935 .cfi_offset 14, -4
2936 0004 83B0 sub sp, sp, #12
2937 .LCFI28:
2938 .cfi_def_cfa_offset 40
2939 0006 1E46 mov r6, r3
2940 0008 0A9F ldr r7, [sp, #40]
1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
2941 .loc 1 1599 3 is_stmt 1 view .LVU932
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart;
ARM GAS /tmp/cc4vHZRy.s page 142
2942 .loc 1 1600 3 view .LVU933
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2943 .loc 1 1601 3 view .LVU934
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2944 .loc 1 1604 3 view .LVU935
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2945 .loc 1 1604 12 is_stmt 0 view .LVU936
2946 000a 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
2947 .LVL252:
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2948 .loc 1 1604 12 view .LVU937
2949 000e DBB2 uxtb r3, r3
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2950 .loc 1 1604 6 view .LVU938
2951 0010 202B cmp r3, #32
2952 0012 7FD1 bne .L185
2953 0014 0446 mov r4, r0
2954 0016 0D46 mov r5, r1
2955 0018 9146 mov r9, r2
1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2956 .loc 1 1606 5 is_stmt 1 view .LVU939
1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2957 .loc 1 1606 8 is_stmt 0 view .LVU940
2958 001a 0029 cmp r1, #0
2959 001c 7ED0 beq .L186
1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2960 .loc 1 1606 25 discriminator 1 view .LVU941
2961 001e 0AB9 cbnz r2, .L191
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2962 .loc 1 1608 15 view .LVU942
2963 0020 0120 movs r0, #1
2964 .LVL253:
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2965 .loc 1 1608 15 view .LVU943
2966 0022 78E0 b .L172
2967 .LVL254:
2968 .L191:
1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
2969 .loc 1 1611 5 is_stmt 1 view .LVU944
1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
2970 .loc 1 1611 22 is_stmt 0 view .LVU945
2971 0024 0023 movs r3, #0
2972 0026 4364 str r3, [r0, #68]
1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
2973 .loc 1 1612 5 is_stmt 1 view .LVU946
1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
2974 .loc 1 1612 20 is_stmt 0 view .LVU947
2975 0028 2222 movs r2, #34
2976 .LVL255:
1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
2977 .loc 1 1612 20 view .LVU948
2978 002a 80F84220 strb r2, [r0, #66]
1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
2979 .loc 1 1613 5 is_stmt 1 view .LVU949
1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
2980 .loc 1 1613 26 is_stmt 0 view .LVU950
2981 002e 0122 movs r2, #1
ARM GAS /tmp/cc4vHZRy.s page 143
2982 0030 0263 str r2, [r0, #48]
1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2983 .loc 1 1614 5 is_stmt 1 view .LVU951
1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2984 .loc 1 1614 24 is_stmt 0 view .LVU952
2985 0032 4363 str r3, [r0, #52]
1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2986 .loc 1 1617 5 is_stmt 1 view .LVU953
1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2987 .loc 1 1617 17 is_stmt 0 view .LVU954
2988 0034 FFF7FEFF bl HAL_GetTick
2989 .LVL256:
1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2990 .loc 1 1617 17 view .LVU955
2991 0038 8046 mov r8, r0
2992 .LVL257:
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
2993 .loc 1 1619 5 is_stmt 1 view .LVU956
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
2994 .loc 1 1619 24 is_stmt 0 view .LVU957
2995 003a A4F82C90 strh r9, [r4, #44] @ movhi
1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2996 .loc 1 1620 5 is_stmt 1 view .LVU958
1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2997 .loc 1 1620 24 is_stmt 0 view .LVU959
2998 003e A4F82E90 strh r9, [r4, #46] @ movhi
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2999 .loc 1 1623 5 is_stmt 1 view .LVU960
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3000 .loc 1 1623 21 is_stmt 0 view .LVU961
3001 0042 A368 ldr r3, [r4, #8]
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3002 .loc 1 1623 8 view .LVU962
3003 0044 B3F5805F cmp r3, #4096
3004 0048 04D0 beq .L192
1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3005 .loc 1 1631 19 view .LVU963
3006 004a 4FF00009 mov r9, #0
3007 .LVL258:
3008 .L173:
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3009 .loc 1 1635 5 is_stmt 1 view .LVU964
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3010 .loc 1 1635 12 is_stmt 0 view .LVU965
3011 004e 0023 movs r3, #0
3012 0050 3380 strh r3, [r6] @ movhi
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3013 .loc 1 1638 5 is_stmt 1 view .LVU966
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3014 .loc 1 1638 11 is_stmt 0 view .LVU967
3015 0052 22E0 b .L174
3016 .LVL259:
3017 .L192:
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3018 .loc 1 1623 71 discriminator 1 view .LVU968
3019 0054 2369 ldr r3, [r4, #16]
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 144
3020 .loc 1 1623 56 discriminator 1 view .LVU969
3021 0056 13B1 cbz r3, .L189
1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3022 .loc 1 1631 19 view .LVU970
3023 0058 4FF00009 mov r9, #0
3024 005c F7E7 b .L173
3025 .L189:
1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3026 .loc 1 1626 19 view .LVU971
3027 005e A946 mov r9, r5
1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
3028 .loc 1 1625 19 view .LVU972
3029 0060 0025 movs r5, #0
3030 .LVL260:
1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
3031 .loc 1 1625 19 view .LVU973
3032 0062 F4E7 b .L173
3033 .LVL261:
3034 .L195:
1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3035 .loc 1 1650 11 is_stmt 1 view .LVU974
1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3036 .loc 1 1650 30 is_stmt 0 view .LVU975
3037 0064 0223 movs r3, #2
3038 0066 6363 str r3, [r4, #52]
1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3039 .loc 1 1651 11 is_stmt 1 view .LVU976
1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3040 .loc 1 1651 26 is_stmt 0 view .LVU977
3041 0068 2023 movs r3, #32
3042 006a 84F84230 strb r3, [r4, #66]
1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3043 .loc 1 1653 11 is_stmt 1 view .LVU978
1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3044 .loc 1 1653 18 is_stmt 0 view .LVU979
3045 006e 0020 movs r0, #0
3046 0070 51E0 b .L172
3047 .L196:
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
3048 .loc 1 1662 11 is_stmt 1 view .LVU980
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
3049 .loc 1 1662 52 is_stmt 0 view .LVU981
3050 0072 5368 ldr r3, [r2, #4]
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
3051 .loc 1 1662 26 view .LVU982
3052 0074 C3F30803 ubfx r3, r3, #0, #9
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
3053 .loc 1 1662 24 view .LVU983
3054 0078 29F8023B strh r3, [r9], #2 @ movhi
3055 .LVL262:
1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3056 .loc 1 1663 11 is_stmt 1 view .LVU984
1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3057 .loc 1 1663 11 is_stmt 0 view .LVU985
3058 007c 02E0 b .L178
3059 .L179:
1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 145
3060 .loc 1 1669 13 is_stmt 1 view .LVU986
1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3061 .loc 1 1669 52 is_stmt 0 view .LVU987
3062 007e 5368 ldr r3, [r2, #4]
1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3063 .loc 1 1669 25 view .LVU988
3064 0080 2B70 strb r3, [r5]
3065 .L181:
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3066 .loc 1 1676 11 is_stmt 1 view .LVU989
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3067 .loc 1 1676 21 is_stmt 0 view .LVU990
3068 0082 0135 adds r5, r5, #1
3069 .LVL263:
3070 .L178:
1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
3071 .loc 1 1679 9 is_stmt 1 view .LVU991
1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
3072 .loc 1 1679 16 is_stmt 0 view .LVU992
3073 0084 3388 ldrh r3, [r6]
3074 0086 0133 adds r3, r3, #1
3075 0088 3380 strh r3, [r6] @ movhi
1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3076 .loc 1 1680 9 is_stmt 1 view .LVU993
1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3077 .loc 1 1680 14 is_stmt 0 view .LVU994
3078 008a E38D ldrh r3, [r4, #46]
3079 008c 9BB2 uxth r3, r3
1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3080 .loc 1 1680 27 view .LVU995
3081 008e 013B subs r3, r3, #1
3082 0090 9BB2 uxth r3, r3
3083 0092 E385 strh r3, [r4, #46] @ movhi
3084 .L176:
1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3085 .loc 1 1684 7 is_stmt 1 view .LVU996
1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3086 .loc 1 1684 10 is_stmt 0 view .LVU997
3087 0094 B7F1FF3F cmp r7, #-1
3088 0098 25D1 bne .L193
3089 .L174:
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3090 .loc 1 1638 11 is_stmt 1 view .LVU998
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3091 .loc 1 1638 17 is_stmt 0 view .LVU999
3092 009a E28D ldrh r2, [r4, #46]
3093 009c 92B2 uxth r2, r2
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3094 .loc 1 1638 11 view .LVU1000
3095 009e 002A cmp r2, #0
3096 00a0 2ED0 beq .L194
1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3097 .loc 1 1641 7 is_stmt 1 view .LVU1001
1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3098 .loc 1 1641 11 is_stmt 0 view .LVU1002
3099 00a2 2268 ldr r2, [r4]
3100 00a4 1368 ldr r3, [r2]
ARM GAS /tmp/cc4vHZRy.s page 146
1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3101 .loc 1 1641 10 view .LVU1003
3102 00a6 13F0100F tst r3, #16
3103 00aa 09D0 beq .L175
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3104 .loc 1 1644 9 is_stmt 1 view .LVU1004
3105 .LBB387:
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3106 .loc 1 1644 9 view .LVU1005
3107 00ac 0023 movs r3, #0
3108 00ae 0193 str r3, [sp, #4]
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3109 .loc 1 1644 9 view .LVU1006
3110 00b0 1368 ldr r3, [r2]
3111 00b2 0193 str r3, [sp, #4]
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3112 .loc 1 1644 9 view .LVU1007
3113 00b4 5368 ldr r3, [r2, #4]
3114 00b6 0193 str r3, [sp, #4]
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3115 .loc 1 1644 9 view .LVU1008
3116 00b8 019B ldr r3, [sp, #4]
3117 .LBE387:
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3118 .loc 1 1644 9 view .LVU1009
1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3119 .loc 1 1648 9 view .LVU1010
1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3120 .loc 1 1648 13 is_stmt 0 view .LVU1011
3121 00ba 3388 ldrh r3, [r6]
1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3122 .loc 1 1648 12 view .LVU1012
3123 00bc 002B cmp r3, #0
3124 00be D1D1 bne .L195
3125 .L175:
1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3126 .loc 1 1658 7 is_stmt 1 view .LVU1013
1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3127 .loc 1 1658 11 is_stmt 0 view .LVU1014
3128 00c0 1368 ldr r3, [r2]
1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3129 .loc 1 1658 10 view .LVU1015
3130 00c2 13F0200F tst r3, #32
3131 00c6 E5D0 beq .L176
1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3132 .loc 1 1660 9 is_stmt 1 view .LVU1016
1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3133 .loc 1 1660 12 is_stmt 0 view .LVU1017
3134 00c8 002D cmp r5, #0
3135 00ca D2D0 beq .L196
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3136 .loc 1 1667 11 is_stmt 1 view .LVU1018
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3137 .loc 1 1667 27 is_stmt 0 view .LVU1019
3138 00cc A368 ldr r3, [r4, #8]
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3139 .loc 1 1667 14 view .LVU1020
ARM GAS /tmp/cc4vHZRy.s page 147
3140 00ce B3F5805F cmp r3, #4096
3141 00d2 D4D0 beq .L179
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3142 .loc 1 1667 62 discriminator 1 view .LVU1021
3143 00d4 13B9 cbnz r3, .L180
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3144 .loc 1 1667 128 discriminator 2 view .LVU1022
3145 00d6 2369 ldr r3, [r4, #16]
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3146 .loc 1 1667 113 discriminator 2 view .LVU1023
3147 00d8 002B cmp r3, #0
3148 00da D0D0 beq .L179
3149 .L180:
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3150 .loc 1 1673 13 is_stmt 1 view .LVU1024
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3151 .loc 1 1673 52 is_stmt 0 view .LVU1025
3152 00dc 5368 ldr r3, [r2, #4]
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3153 .loc 1 1673 27 view .LVU1026
3154 00de 03F07F03 and r3, r3, #127
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3155 .loc 1 1673 25 view .LVU1027
3156 00e2 2B70 strb r3, [r5]
3157 00e4 CDE7 b .L181
3158 .L193:
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3159 .loc 1 1686 9 is_stmt 1 view .LVU1028
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3160 .loc 1 1686 15 is_stmt 0 view .LVU1029
3161 00e6 FFF7FEFF bl HAL_GetTick
3162 .LVL264:
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3163 .loc 1 1686 29 view .LVU1030
3164 00ea A0EB0800 sub r0, r0, r8
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3165 .loc 1 1686 12 view .LVU1031
3166 00ee B842 cmp r0, r7
3167 00f0 01D8 bhi .L183
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3168 .loc 1 1686 53 discriminator 1 view .LVU1032
3169 00f2 002F cmp r7, #0
3170 00f4 D1D1 bne .L174
3171 .L183:
1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3172 .loc 1 1688 11 is_stmt 1 view .LVU1033
1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3173 .loc 1 1688 26 is_stmt 0 view .LVU1034
3174 00f6 2023 movs r3, #32
3175 00f8 84F84230 strb r3, [r4, #66]
1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3176 .loc 1 1690 11 is_stmt 1 view .LVU1035
1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3177 .loc 1 1690 18 is_stmt 0 view .LVU1036
3178 00fc 0320 movs r0, #3
3179 00fe 0AE0 b .L172
3180 .L194:
ARM GAS /tmp/cc4vHZRy.s page 148
1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3181 .loc 1 1696 5 is_stmt 1 view .LVU1037
1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3182 .loc 1 1696 19 is_stmt 0 view .LVU1038
3183 0100 A38D ldrh r3, [r4, #44]
1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3184 .loc 1 1696 39 view .LVU1039
3185 0102 E28D ldrh r2, [r4, #46]
3186 0104 92B2 uxth r2, r2
1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3187 .loc 1 1696 32 view .LVU1040
3188 0106 9B1A subs r3, r3, r2
1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3189 .loc 1 1696 12 view .LVU1041
3190 0108 3380 strh r3, [r6] @ movhi
1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3191 .loc 1 1698 5 is_stmt 1 view .LVU1042
1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3192 .loc 1 1698 20 is_stmt 0 view .LVU1043
3193 010a 2023 movs r3, #32
3194 010c 84F84230 strb r3, [r4, #66]
1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3195 .loc 1 1700 5 is_stmt 1 view .LVU1044
1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3196 .loc 1 1700 12 is_stmt 0 view .LVU1045
3197 0110 0020 movs r0, #0
3198 0112 00E0 b .L172
3199 .LVL265:
3200 .L185:
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3201 .loc 1 1704 12 view .LVU1046
3202 0114 0220 movs r0, #2
3203 .LVL266:
3204 .L172:
1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3205 .loc 1 1706 1 view .LVU1047
3206 0116 03B0 add sp, sp, #12
3207 .LCFI29:
3208 .cfi_remember_state
3209 .cfi_def_cfa_offset 28
3210 @ sp needed
3211 0118 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
3212 .LVL267:
3213 .L186:
3214 .LCFI30:
3215 .cfi_restore_state
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3216 .loc 1 1608 15 view .LVU1048
3217 011c 0120 movs r0, #1
3218 .LVL268:
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3219 .loc 1 1608 15 view .LVU1049
3220 011e FAE7 b .L172
3221 .cfi_endproc
3222 .LFE150:
3224 .section .text.HAL_UARTEx_GetRxEventType,"ax",%progbits
3225 .align 1
ARM GAS /tmp/cc4vHZRy.s page 149
3226 .global HAL_UARTEx_GetRxEventType
3227 .syntax unified
3228 .thumb
3229 .thumb_func
3231 HAL_UARTEx_GetRxEventType:
3232 .LVL269:
3233 .LFB153:
1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return Rx Event type value, as stored in UART handle */
3234 .loc 1 1847 1 is_stmt 1 view -0
3235 .cfi_startproc
3236 @ args = 0, pretend = 0, frame = 0
3237 @ frame_needed = 0, uses_anonymous_args = 0
3238 @ link register save eliminated.
1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3239 .loc 1 1849 3 view .LVU1051
1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3240 .loc 1 1849 15 is_stmt 0 view .LVU1052
3241 0000 406B ldr r0, [r0, #52]
3242 .LVL270:
1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3243 .loc 1 1850 1 view .LVU1053
3244 0002 7047 bx lr
3245 .cfi_endproc
3246 .LFE153:
3248 .section .text.HAL_UART_Abort,"ax",%progbits
3249 .align 1
3250 .global HAL_UART_Abort
3251 .syntax unified
3252 .thumb
3253 .thumb_func
3255 HAL_UART_Abort:
3256 .LVL271:
3257 .LFB154:
1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3258 .loc 1 1865 1 is_stmt 1 view -0
3259 .cfi_startproc
3260 @ args = 0, pretend = 0, frame = 0
3261 @ frame_needed = 0, uses_anonymous_args = 0
1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3262 .loc 1 1865 1 is_stmt 0 view .LVU1055
3263 0000 10B5 push {r4, lr}
3264 .LCFI31:
3265 .cfi_def_cfa_offset 8
3266 .cfi_offset 4, -8
3267 .cfi_offset 14, -4
3268 0002 0446 mov r4, r0
3269 .L199:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3270 .loc 1 1867 3 is_stmt 1 discriminator 1 view .LVU1056
3271 .LBB388:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3272 .loc 1 1867 3 discriminator 1 view .LVU1057
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3273 .loc 1 1867 3 discriminator 1 view .LVU1058
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3274 .loc 1 1867 3 discriminator 1 view .LVU1059
3275 0004 2268 ldr r2, [r4]
ARM GAS /tmp/cc4vHZRy.s page 150
3276 .LVL272:
3277 .LBB389:
3278 .LBI389:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3279 .loc 2 476 31 discriminator 1 view .LVU1060
3280 .LBB390:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3281 .loc 2 478 5 discriminator 1 view .LVU1061
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3282 .loc 2 480 4 discriminator 1 view .LVU1062
3283 0006 02F10C03 add r3, r2, #12
3284 .LVL273:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3285 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1063
3286 .syntax unified
3287 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3288 000a 53E8003F ldrex r3, [r3]
3289 @ 0 "" 2
3290 .LVL274:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3291 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1064
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3292 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1065
3293 .thumb
3294 .syntax unified
3295 .LBE390:
3296 .LBE389:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3297 .loc 1 1867 3 discriminator 1 view .LVU1066
3298 000e 23F4F073 bic r3, r3, #480
3299 .LVL275:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3300 .loc 1 1867 3 is_stmt 1 discriminator 1 view .LVU1067
3301 .LBB391:
3302 .LBI391:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3303 .loc 2 527 31 discriminator 1 view .LVU1068
3304 .LBB392:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3305 .loc 2 529 4 discriminator 1 view .LVU1069
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3306 .loc 2 531 4 discriminator 1 view .LVU1070
3307 0012 0C32 adds r2, r2, #12
3308 .LVL276:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3309 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1071
3310 .syntax unified
3311 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3312 0014 42E80031 strex r1, r3, [r2]
3313 @ 0 "" 2
3314 .LVL277:
3315 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1072
3316 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1073
3317 .thumb
3318 .syntax unified
3319 .LBE392:
3320 .LBE391:
ARM GAS /tmp/cc4vHZRy.s page 151
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3321 .loc 1 1867 3 discriminator 1 view .LVU1074
3322 0018 0029 cmp r1, #0
3323 001a F3D1 bne .L199
3324 .LVL278:
3325 .L200:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3326 .loc 1 1867 3 discriminator 1 view .LVU1075
3327 .LBE388:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3328 .loc 1 1867 3 is_stmt 1 discriminator 1 view .LVU1076
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3329 .loc 1 1868 3 discriminator 1 view .LVU1077
3330 .LBB393:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3331 .loc 1 1868 3 discriminator 1 view .LVU1078
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3332 .loc 1 1868 3 discriminator 1 view .LVU1079
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3333 .loc 1 1868 3 discriminator 1 view .LVU1080
3334 001c 2268 ldr r2, [r4]
3335 .LVL279:
3336 .LBB394:
3337 .LBI394:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3338 .loc 2 476 31 discriminator 1 view .LVU1081
3339 .LBB395:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3340 .loc 2 478 5 discriminator 1 view .LVU1082
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3341 .loc 2 480 4 discriminator 1 view .LVU1083
3342 001e 02F11403 add r3, r2, #20
3343 .LVL280:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3344 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1084
3345 .syntax unified
3346 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3347 0022 53E8003F ldrex r3, [r3]
3348 @ 0 "" 2
3349 .LVL281:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3350 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1085
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3351 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1086
3352 .thumb
3353 .syntax unified
3354 .LBE395:
3355 .LBE394:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3356 .loc 1 1868 3 discriminator 1 view .LVU1087
3357 0026 23F00103 bic r3, r3, #1
3358 .LVL282:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3359 .loc 1 1868 3 is_stmt 1 discriminator 1 view .LVU1088
3360 .LBB396:
3361 .LBI396:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/cc4vHZRy.s page 152
3362 .loc 2 527 31 discriminator 1 view .LVU1089
3363 .LBB397:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3364 .loc 2 529 4 discriminator 1 view .LVU1090
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3365 .loc 2 531 4 discriminator 1 view .LVU1091
3366 002a 1432 adds r2, r2, #20
3367 .LVL283:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3368 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1092
3369 .syntax unified
3370 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3371 002c 42E80031 strex r1, r3, [r2]
3372 @ 0 "" 2
3373 .LVL284:
3374 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1093
3375 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1094
3376 .thumb
3377 .syntax unified
3378 .LBE397:
3379 .LBE396:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3380 .loc 1 1868 3 discriminator 1 view .LVU1095
3381 0030 0029 cmp r1, #0
3382 0032 F3D1 bne .L200
3383 .LBE393:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3384 .loc 1 1868 3 is_stmt 1 discriminator 2 view .LVU1096
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3385 .loc 1 1871 3 discriminator 2 view .LVU1097
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3386 .loc 1 1871 12 is_stmt 0 discriminator 2 view .LVU1098
3387 0034 236B ldr r3, [r4, #48]
3388 .LVL285:
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3389 .loc 1 1871 6 discriminator 2 view .LVU1099
3390 0036 012B cmp r3, #1
3391 0038 3CD0 beq .L202
3392 .L201:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3393 .loc 1 1873 5 is_stmt 1 discriminator 2 view .LVU1100
1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3394 .loc 1 1877 3 discriminator 2 view .LVU1101
1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3395 .loc 1 1877 7 is_stmt 0 discriminator 2 view .LVU1102
3396 003a 2368 ldr r3, [r4]
3397 003c 5B69 ldr r3, [r3, #20]
1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3398 .loc 1 1877 6 discriminator 2 view .LVU1103
3399 003e 13F0800F tst r3, #128
3400 0042 13D0 beq .L203
3401 .L204:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3402 .loc 1 1879 5 is_stmt 1 discriminator 1 view .LVU1104
3403 .LBB398:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3404 .loc 1 1879 5 discriminator 1 view .LVU1105
ARM GAS /tmp/cc4vHZRy.s page 153
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3405 .loc 1 1879 5 discriminator 1 view .LVU1106
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3406 .loc 1 1879 5 discriminator 1 view .LVU1107
3407 0044 2268 ldr r2, [r4]
3408 .LVL286:
3409 .LBB399:
3410 .LBI399:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3411 .loc 2 476 31 discriminator 1 view .LVU1108
3412 .LBB400:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3413 .loc 2 478 5 discriminator 1 view .LVU1109
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3414 .loc 2 480 4 discriminator 1 view .LVU1110
3415 0046 02F11403 add r3, r2, #20
3416 .LVL287:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3417 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1111
3418 .syntax unified
3419 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3420 004a 53E8003F ldrex r3, [r3]
3421 @ 0 "" 2
3422 .LVL288:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3423 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1112
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3424 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1113
3425 .thumb
3426 .syntax unified
3427 .LBE400:
3428 .LBE399:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3429 .loc 1 1879 5 discriminator 1 view .LVU1114
3430 004e 23F08003 bic r3, r3, #128
3431 .LVL289:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3432 .loc 1 1879 5 is_stmt 1 discriminator 1 view .LVU1115
3433 .LBB401:
3434 .LBI401:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3435 .loc 2 527 31 discriminator 1 view .LVU1116
3436 .LBB402:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3437 .loc 2 529 4 discriminator 1 view .LVU1117
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3438 .loc 2 531 4 discriminator 1 view .LVU1118
3439 0052 1432 adds r2, r2, #20
3440 .LVL290:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3441 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1119
3442 .syntax unified
3443 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3444 0054 42E80031 strex r1, r3, [r2]
3445 @ 0 "" 2
3446 .LVL291:
3447 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1120
ARM GAS /tmp/cc4vHZRy.s page 154
3448 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1121
3449 .thumb
3450 .syntax unified
3451 .LBE402:
3452 .LBE401:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3453 .loc 1 1879 5 discriminator 1 view .LVU1122
3454 0058 0029 cmp r1, #0
3455 005a F3D1 bne .L204
3456 .LBE398:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3457 .loc 1 1879 5 is_stmt 1 discriminator 2 view .LVU1123
1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3458 .loc 1 1882 5 discriminator 2 view .LVU1124
1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3459 .loc 1 1882 14 is_stmt 0 discriminator 2 view .LVU1125
3460 005c A36B ldr r3, [r4, #56]
3461 .LVL292:
1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3462 .loc 1 1882 8 discriminator 2 view .LVU1126
3463 005e 2BB1 cbz r3, .L203
1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3464 .loc 1 1886 7 is_stmt 1 view .LVU1127
1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3465 .loc 1 1886 40 is_stmt 0 view .LVU1128
3466 0060 0022 movs r2, #0
3467 0062 1A65 str r2, [r3, #80]
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3468 .loc 1 1888 7 is_stmt 1 view .LVU1129
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3469 .loc 1 1888 11 is_stmt 0 view .LVU1130
3470 0064 A06B ldr r0, [r4, #56]
3471 .LVL293:
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3472 .loc 1 1888 11 view .LVU1131
3473 0066 FFF7FEFF bl HAL_DMA_Abort
3474 .LVL294:
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3475 .loc 1 1888 10 view .LVU1132
3476 006a 80BB cbnz r0, .L209
3477 .L203:
1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3478 .loc 1 1902 3 is_stmt 1 view .LVU1133
1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3479 .loc 1 1902 7 is_stmt 0 view .LVU1134
3480 006c 2368 ldr r3, [r4]
3481 006e 5B69 ldr r3, [r3, #20]
1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3482 .loc 1 1902 6 view .LVU1135
3483 0070 13F0400F tst r3, #64
3484 0074 13D0 beq .L206
3485 .L207:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3486 .loc 1 1904 5 is_stmt 1 discriminator 1 view .LVU1136
3487 .LBB403:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3488 .loc 1 1904 5 discriminator 1 view .LVU1137
ARM GAS /tmp/cc4vHZRy.s page 155
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3489 .loc 1 1904 5 discriminator 1 view .LVU1138
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3490 .loc 1 1904 5 discriminator 1 view .LVU1139
3491 0076 2268 ldr r2, [r4]
3492 .LVL295:
3493 .LBB404:
3494 .LBI404:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3495 .loc 2 476 31 discriminator 1 view .LVU1140
3496 .LBB405:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3497 .loc 2 478 5 discriminator 1 view .LVU1141
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3498 .loc 2 480 4 discriminator 1 view .LVU1142
3499 0078 02F11403 add r3, r2, #20
3500 .LVL296:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3501 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1143
3502 .syntax unified
3503 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3504 007c 53E8003F ldrex r3, [r3]
3505 @ 0 "" 2
3506 .LVL297:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3507 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1144
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3508 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1145
3509 .thumb
3510 .syntax unified
3511 .LBE405:
3512 .LBE404:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3513 .loc 1 1904 5 discriminator 1 view .LVU1146
3514 0080 23F04003 bic r3, r3, #64
3515 .LVL298:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3516 .loc 1 1904 5 is_stmt 1 discriminator 1 view .LVU1147
3517 .LBB406:
3518 .LBI406:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3519 .loc 2 527 31 discriminator 1 view .LVU1148
3520 .LBB407:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3521 .loc 2 529 4 discriminator 1 view .LVU1149
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3522 .loc 2 531 4 discriminator 1 view .LVU1150
3523 0084 1432 adds r2, r2, #20
3524 .LVL299:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3525 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1151
3526 .syntax unified
3527 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3528 0086 42E80031 strex r1, r3, [r2]
3529 @ 0 "" 2
3530 .LVL300:
3531 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1152
ARM GAS /tmp/cc4vHZRy.s page 156
3532 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1153
3533 .thumb
3534 .syntax unified
3535 .LBE407:
3536 .LBE406:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3537 .loc 1 1904 5 discriminator 1 view .LVU1154
3538 008a 0029 cmp r1, #0
3539 008c F3D1 bne .L207
3540 .LBE403:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3541 .loc 1 1904 5 is_stmt 1 discriminator 2 view .LVU1155
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3542 .loc 1 1907 5 discriminator 2 view .LVU1156
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3543 .loc 1 1907 14 is_stmt 0 discriminator 2 view .LVU1157
3544 008e E36B ldr r3, [r4, #60]
3545 .LVL301:
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3546 .loc 1 1907 8 discriminator 2 view .LVU1158
3547 0090 2BB1 cbz r3, .L206
1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3548 .loc 1 1911 7 is_stmt 1 view .LVU1159
1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3549 .loc 1 1911 40 is_stmt 0 view .LVU1160
3550 0092 0022 movs r2, #0
3551 0094 1A65 str r2, [r3, #80]
1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3552 .loc 1 1913 7 is_stmt 1 view .LVU1161
1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3553 .loc 1 1913 11 is_stmt 0 view .LVU1162
3554 0096 E06B ldr r0, [r4, #60]
3555 0098 FFF7FEFF bl HAL_DMA_Abort
3556 .LVL302:
1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3557 .loc 1 1913 10 view .LVU1163
3558 009c 00BB cbnz r0, .L210
3559 .L206:
1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3560 .loc 1 1927 3 is_stmt 1 view .LVU1164
1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3561 .loc 1 1927 22 is_stmt 0 view .LVU1165
3562 009e 0020 movs r0, #0
3563 00a0 E084 strh r0, [r4, #38] @ movhi
1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3564 .loc 1 1928 3 is_stmt 1 view .LVU1166
1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3565 .loc 1 1928 22 is_stmt 0 view .LVU1167
3566 00a2 E085 strh r0, [r4, #46] @ movhi
1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3567 .loc 1 1931 3 is_stmt 1 view .LVU1168
1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3568 .loc 1 1931 20 is_stmt 0 view .LVU1169
3569 00a4 6064 str r0, [r4, #68]
1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3570 .loc 1 1934 3 is_stmt 1 view .LVU1170
1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
ARM GAS /tmp/cc4vHZRy.s page 157
3571 .loc 1 1934 18 is_stmt 0 view .LVU1171
3572 00a6 2023 movs r3, #32
3573 00a8 84F84230 strb r3, [r4, #66]
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3574 .loc 1 1935 3 is_stmt 1 view .LVU1172
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3575 .loc 1 1935 17 is_stmt 0 view .LVU1173
3576 00ac 84F84130 strb r3, [r4, #65]
1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3577 .loc 1 1936 3 is_stmt 1 view .LVU1174
1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3578 .loc 1 1936 24 is_stmt 0 view .LVU1175
3579 00b0 2063 str r0, [r4, #48]
1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3580 .loc 1 1938 3 is_stmt 1 view .LVU1176
3581 .L205:
1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3582 .loc 1 1939 1 is_stmt 0 view .LVU1177
3583 00b2 10BD pop {r4, pc}
3584 .LVL303:
3585 .L202:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3586 .loc 1 1873 5 is_stmt 1 discriminator 1 view .LVU1178
3587 .LBB408:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3588 .loc 1 1873 5 discriminator 1 view .LVU1179
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3589 .loc 1 1873 5 discriminator 1 view .LVU1180
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3590 .loc 1 1873 5 discriminator 1 view .LVU1181
3591 00b4 2268 ldr r2, [r4]
3592 .LVL304:
3593 .LBB409:
3594 .LBI409:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3595 .loc 2 476 31 discriminator 1 view .LVU1182
3596 .LBB410:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3597 .loc 2 478 5 discriminator 1 view .LVU1183
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3598 .loc 2 480 4 discriminator 1 view .LVU1184
3599 00b6 02F10C03 add r3, r2, #12
3600 .LVL305:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3601 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1185
3602 .syntax unified
3603 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3604 00ba 53E8003F ldrex r3, [r3]
3605 @ 0 "" 2
3606 .LVL306:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3607 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1186
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3608 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1187
3609 .thumb
3610 .syntax unified
3611 .LBE410:
ARM GAS /tmp/cc4vHZRy.s page 158
3612 .LBE409:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3613 .loc 1 1873 5 discriminator 1 view .LVU1188
3614 00be 23F01003 bic r3, r3, #16
3615 .LVL307:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3616 .loc 1 1873 5 is_stmt 1 discriminator 1 view .LVU1189
3617 .LBB411:
3618 .LBI411:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3619 .loc 2 527 31 discriminator 1 view .LVU1190
3620 .LBB412:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3621 .loc 2 529 4 discriminator 1 view .LVU1191
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3622 .loc 2 531 4 discriminator 1 view .LVU1192
3623 00c2 0C32 adds r2, r2, #12
3624 .LVL308:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3625 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1193
3626 .syntax unified
3627 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3628 00c4 42E80031 strex r1, r3, [r2]
3629 @ 0 "" 2
3630 .LVL309:
3631 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1194
3632 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1195
3633 .thumb
3634 .syntax unified
3635 .LBE412:
3636 .LBE411:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3637 .loc 1 1873 5 discriminator 1 view .LVU1196
3638 00c8 0029 cmp r1, #0
3639 00ca F3D1 bne .L202
3640 00cc B5E7 b .L201
3641 .LVL310:
3642 .L209:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3643 .loc 1 1873 5 discriminator 1 view .LVU1197
3644 .LBE408:
1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3645 .loc 1 1890 9 is_stmt 1 view .LVU1198
1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3646 .loc 1 1890 13 is_stmt 0 view .LVU1199
3647 00ce A06B ldr r0, [r4, #56]
3648 00d0 FFF7FEFF bl HAL_DMA_GetError
3649 .LVL311:
1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3650 .loc 1 1890 12 view .LVU1200
3651 00d4 2028 cmp r0, #32
3652 00d6 C9D1 bne .L203
1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3653 .loc 1 1893 11 is_stmt 1 view .LVU1201
1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3654 .loc 1 1893 28 is_stmt 0 view .LVU1202
3655 00d8 1023 movs r3, #16
ARM GAS /tmp/cc4vHZRy.s page 159
3656 00da 6364 str r3, [r4, #68]
1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3657 .loc 1 1895 11 is_stmt 1 view .LVU1203
1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3658 .loc 1 1895 18 is_stmt 0 view .LVU1204
3659 00dc 0320 movs r0, #3
3660 00de E8E7 b .L205
3661 .L210:
1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3662 .loc 1 1915 9 is_stmt 1 view .LVU1205
1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3663 .loc 1 1915 13 is_stmt 0 view .LVU1206
3664 00e0 E06B ldr r0, [r4, #60]
3665 00e2 FFF7FEFF bl HAL_DMA_GetError
3666 .LVL312:
1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3667 .loc 1 1915 12 view .LVU1207
3668 00e6 2028 cmp r0, #32
3669 00e8 D9D1 bne .L206
1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3670 .loc 1 1918 11 is_stmt 1 view .LVU1208
1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3671 .loc 1 1918 28 is_stmt 0 view .LVU1209
3672 00ea 1023 movs r3, #16
3673 00ec 6364 str r3, [r4, #68]
1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3674 .loc 1 1920 11 is_stmt 1 view .LVU1210
1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3675 .loc 1 1920 18 is_stmt 0 view .LVU1211
3676 00ee 0320 movs r0, #3
3677 00f0 DFE7 b .L205
3678 .cfi_endproc
3679 .LFE154:
3681 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
3682 .align 1
3683 .global HAL_UART_AbortTransmit
3684 .syntax unified
3685 .thumb
3686 .thumb_func
3688 HAL_UART_AbortTransmit:
3689 .LVL313:
3690 .LFB155:
1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
3691 .loc 1 1954 1 is_stmt 1 view -0
3692 .cfi_startproc
3693 @ args = 0, pretend = 0, frame = 0
3694 @ frame_needed = 0, uses_anonymous_args = 0
1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
3695 .loc 1 1954 1 is_stmt 0 view .LVU1213
3696 0000 10B5 push {r4, lr}
3697 .LCFI32:
3698 .cfi_def_cfa_offset 8
3699 .cfi_offset 4, -8
3700 .cfi_offset 14, -4
3701 0002 0446 mov r4, r0
3702 .L212:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 160
3703 .loc 1 1956 3 is_stmt 1 discriminator 1 view .LVU1214
3704 .LBB413:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3705 .loc 1 1956 3 discriminator 1 view .LVU1215
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3706 .loc 1 1956 3 discriminator 1 view .LVU1216
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3707 .loc 1 1956 3 discriminator 1 view .LVU1217
3708 0004 2268 ldr r2, [r4]
3709 .LVL314:
3710 .LBB414:
3711 .LBI414:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3712 .loc 2 476 31 discriminator 1 view .LVU1218
3713 .LBB415:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3714 .loc 2 478 5 discriminator 1 view .LVU1219
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3715 .loc 2 480 4 discriminator 1 view .LVU1220
3716 0006 02F10C03 add r3, r2, #12
3717 .LVL315:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3718 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1221
3719 .syntax unified
3720 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3721 000a 53E8003F ldrex r3, [r3]
3722 @ 0 "" 2
3723 .LVL316:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3724 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1222
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3725 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1223
3726 .thumb
3727 .syntax unified
3728 .LBE415:
3729 .LBE414:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3730 .loc 1 1956 3 discriminator 1 view .LVU1224
3731 000e 23F0C003 bic r3, r3, #192
3732 .LVL317:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3733 .loc 1 1956 3 is_stmt 1 discriminator 1 view .LVU1225
3734 .LBB416:
3735 .LBI416:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3736 .loc 2 527 31 discriminator 1 view .LVU1226
3737 .LBB417:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3738 .loc 2 529 4 discriminator 1 view .LVU1227
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3739 .loc 2 531 4 discriminator 1 view .LVU1228
3740 0012 0C32 adds r2, r2, #12
3741 .LVL318:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3742 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1229
3743 .syntax unified
3744 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
ARM GAS /tmp/cc4vHZRy.s page 161
3745 0014 42E80031 strex r1, r3, [r2]
3746 @ 0 "" 2
3747 .LVL319:
3748 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1230
3749 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1231
3750 .thumb
3751 .syntax unified
3752 .LBE417:
3753 .LBE416:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3754 .loc 1 1956 3 discriminator 1 view .LVU1232
3755 0018 0029 cmp r1, #0
3756 001a F3D1 bne .L212
3757 .LBE413:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3758 .loc 1 1956 3 is_stmt 1 discriminator 2 view .LVU1233
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3759 .loc 1 1959 3 discriminator 2 view .LVU1234
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3760 .loc 1 1959 7 is_stmt 0 discriminator 2 view .LVU1235
3761 001c 2368 ldr r3, [r4]
3762 .LVL320:
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3763 .loc 1 1959 7 discriminator 2 view .LVU1236
3764 001e 5B69 ldr r3, [r3, #20]
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3765 .loc 1 1959 6 discriminator 2 view .LVU1237
3766 0020 13F0800F tst r3, #128
3767 0024 13D0 beq .L213
3768 .L214:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3769 .loc 1 1961 5 is_stmt 1 discriminator 1 view .LVU1238
3770 .LBB418:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3771 .loc 1 1961 5 discriminator 1 view .LVU1239
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3772 .loc 1 1961 5 discriminator 1 view .LVU1240
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3773 .loc 1 1961 5 discriminator 1 view .LVU1241
3774 0026 2268 ldr r2, [r4]
3775 .LVL321:
3776 .LBB419:
3777 .LBI419:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3778 .loc 2 476 31 discriminator 1 view .LVU1242
3779 .LBB420:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3780 .loc 2 478 5 discriminator 1 view .LVU1243
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3781 .loc 2 480 4 discriminator 1 view .LVU1244
3782 0028 02F11403 add r3, r2, #20
3783 .LVL322:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3784 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1245
3785 .syntax unified
3786 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3787 002c 53E8003F ldrex r3, [r3]
ARM GAS /tmp/cc4vHZRy.s page 162
3788 @ 0 "" 2
3789 .LVL323:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3790 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1246
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3791 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1247
3792 .thumb
3793 .syntax unified
3794 .LBE420:
3795 .LBE419:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3796 .loc 1 1961 5 discriminator 1 view .LVU1248
3797 0030 23F08003 bic r3, r3, #128
3798 .LVL324:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3799 .loc 1 1961 5 is_stmt 1 discriminator 1 view .LVU1249
3800 .LBB421:
3801 .LBI421:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3802 .loc 2 527 31 discriminator 1 view .LVU1250
3803 .LBB422:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3804 .loc 2 529 4 discriminator 1 view .LVU1251
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3805 .loc 2 531 4 discriminator 1 view .LVU1252
3806 0034 1432 adds r2, r2, #20
3807 .LVL325:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3808 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1253
3809 .syntax unified
3810 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3811 0036 42E80031 strex r1, r3, [r2]
3812 @ 0 "" 2
3813 .LVL326:
3814 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1254
3815 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1255
3816 .thumb
3817 .syntax unified
3818 .LBE422:
3819 .LBE421:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3820 .loc 1 1961 5 discriminator 1 view .LVU1256
3821 003a 0029 cmp r1, #0
3822 003c F3D1 bne .L214
3823 .LBE418:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3824 .loc 1 1961 5 is_stmt 1 discriminator 2 view .LVU1257
1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3825 .loc 1 1964 5 discriminator 2 view .LVU1258
1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3826 .loc 1 1964 14 is_stmt 0 discriminator 2 view .LVU1259
3827 003e A36B ldr r3, [r4, #56]
3828 .LVL327:
1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3829 .loc 1 1964 8 discriminator 2 view .LVU1260
3830 0040 2BB1 cbz r3, .L213
1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 163
3831 .loc 1 1968 7 is_stmt 1 view .LVU1261
1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3832 .loc 1 1968 40 is_stmt 0 view .LVU1262
3833 0042 0022 movs r2, #0
3834 0044 1A65 str r2, [r3, #80]
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3835 .loc 1 1970 7 is_stmt 1 view .LVU1263
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3836 .loc 1 1970 11 is_stmt 0 view .LVU1264
3837 0046 A06B ldr r0, [r4, #56]
3838 .LVL328:
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3839 .loc 1 1970 11 view .LVU1265
3840 0048 FFF7FEFF bl HAL_DMA_Abort
3841 .LVL329:
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3842 .loc 1 1970 10 view .LVU1266
3843 004c 28B9 cbnz r0, .L217
3844 .L213:
1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3845 .loc 1 1984 3 is_stmt 1 view .LVU1267
1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3846 .loc 1 1984 22 is_stmt 0 view .LVU1268
3847 004e 0020 movs r0, #0
3848 0050 E084 strh r0, [r4, #38] @ movhi
1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3849 .loc 1 1987 3 is_stmt 1 view .LVU1269
1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3850 .loc 1 1987 17 is_stmt 0 view .LVU1270
3851 0052 2023 movs r3, #32
3852 0054 84F84130 strb r3, [r4, #65]
1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3853 .loc 1 1989 3 is_stmt 1 view .LVU1271
3854 .L215:
1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3855 .loc 1 1990 1 is_stmt 0 view .LVU1272
3856 0058 10BD pop {r4, pc}
3857 .LVL330:
3858 .L217:
1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3859 .loc 1 1972 9 is_stmt 1 view .LVU1273
1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3860 .loc 1 1972 13 is_stmt 0 view .LVU1274
3861 005a A06B ldr r0, [r4, #56]
3862 005c FFF7FEFF bl HAL_DMA_GetError
3863 .LVL331:
1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3864 .loc 1 1972 12 view .LVU1275
3865 0060 2028 cmp r0, #32
3866 0062 F4D1 bne .L213
1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3867 .loc 1 1975 11 is_stmt 1 view .LVU1276
1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3868 .loc 1 1975 28 is_stmt 0 view .LVU1277
3869 0064 1023 movs r3, #16
3870 0066 6364 str r3, [r4, #68]
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 164
3871 .loc 1 1977 11 is_stmt 1 view .LVU1278
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3872 .loc 1 1977 18 is_stmt 0 view .LVU1279
3873 0068 0320 movs r0, #3
3874 006a F5E7 b .L215
3875 .cfi_endproc
3876 .LFE155:
3878 .section .text.HAL_UART_AbortReceive,"ax",%progbits
3879 .align 1
3880 .global HAL_UART_AbortReceive
3881 .syntax unified
3882 .thumb
3883 .thumb_func
3885 HAL_UART_AbortReceive:
3886 .LVL332:
3887 .LFB156:
2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3888 .loc 1 2005 1 is_stmt 1 view -0
3889 .cfi_startproc
3890 @ args = 0, pretend = 0, frame = 0
3891 @ frame_needed = 0, uses_anonymous_args = 0
2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3892 .loc 1 2005 1 is_stmt 0 view .LVU1281
3893 0000 10B5 push {r4, lr}
3894 .LCFI33:
3895 .cfi_def_cfa_offset 8
3896 .cfi_offset 4, -8
3897 .cfi_offset 14, -4
3898 0002 0446 mov r4, r0
3899 .L219:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3900 .loc 1 2007 3 is_stmt 1 discriminator 1 view .LVU1282
3901 .LBB423:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3902 .loc 1 2007 3 discriminator 1 view .LVU1283
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3903 .loc 1 2007 3 discriminator 1 view .LVU1284
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3904 .loc 1 2007 3 discriminator 1 view .LVU1285
3905 0004 2268 ldr r2, [r4]
3906 .LVL333:
3907 .LBB424:
3908 .LBI424:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3909 .loc 2 476 31 discriminator 1 view .LVU1286
3910 .LBB425:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3911 .loc 2 478 5 discriminator 1 view .LVU1287
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3912 .loc 2 480 4 discriminator 1 view .LVU1288
3913 0006 02F10C03 add r3, r2, #12
3914 .LVL334:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3915 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1289
3916 .syntax unified
3917 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3918 000a 53E8003F ldrex r3, [r3]
ARM GAS /tmp/cc4vHZRy.s page 165
3919 @ 0 "" 2
3920 .LVL335:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3921 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1290
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3922 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1291
3923 .thumb
3924 .syntax unified
3925 .LBE425:
3926 .LBE424:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3927 .loc 1 2007 3 discriminator 1 view .LVU1292
3928 000e 23F49073 bic r3, r3, #288
3929 .LVL336:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3930 .loc 1 2007 3 is_stmt 1 discriminator 1 view .LVU1293
3931 .LBB426:
3932 .LBI426:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3933 .loc 2 527 31 discriminator 1 view .LVU1294
3934 .LBB427:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3935 .loc 2 529 4 discriminator 1 view .LVU1295
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3936 .loc 2 531 4 discriminator 1 view .LVU1296
3937 0012 0C32 adds r2, r2, #12
3938 .LVL337:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3939 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1297
3940 .syntax unified
3941 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3942 0014 42E80031 strex r1, r3, [r2]
3943 @ 0 "" 2
3944 .LVL338:
3945 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1298
3946 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1299
3947 .thumb
3948 .syntax unified
3949 .LBE427:
3950 .LBE426:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3951 .loc 1 2007 3 discriminator 1 view .LVU1300
3952 0018 0029 cmp r1, #0
3953 001a F3D1 bne .L219
3954 .LVL339:
3955 .L220:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3956 .loc 1 2007 3 discriminator 1 view .LVU1301
3957 .LBE423:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3958 .loc 1 2007 3 is_stmt 1 discriminator 1 view .LVU1302
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3959 .loc 1 2008 3 discriminator 1 view .LVU1303
3960 .LBB428:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3961 .loc 1 2008 3 discriminator 1 view .LVU1304
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 166
3962 .loc 1 2008 3 discriminator 1 view .LVU1305
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3963 .loc 1 2008 3 discriminator 1 view .LVU1306
3964 001c 2268 ldr r2, [r4]
3965 .LVL340:
3966 .LBB429:
3967 .LBI429:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3968 .loc 2 476 31 discriminator 1 view .LVU1307
3969 .LBB430:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3970 .loc 2 478 5 discriminator 1 view .LVU1308
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3971 .loc 2 480 4 discriminator 1 view .LVU1309
3972 001e 02F11403 add r3, r2, #20
3973 .LVL341:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3974 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1310
3975 .syntax unified
3976 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3977 0022 53E8003F ldrex r3, [r3]
3978 @ 0 "" 2
3979 .LVL342:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3980 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1311
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3981 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1312
3982 .thumb
3983 .syntax unified
3984 .LBE430:
3985 .LBE429:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3986 .loc 1 2008 3 discriminator 1 view .LVU1313
3987 0026 23F00103 bic r3, r3, #1
3988 .LVL343:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3989 .loc 1 2008 3 is_stmt 1 discriminator 1 view .LVU1314
3990 .LBB431:
3991 .LBI431:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3992 .loc 2 527 31 discriminator 1 view .LVU1315
3993 .LBB432:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3994 .loc 2 529 4 discriminator 1 view .LVU1316
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3995 .loc 2 531 4 discriminator 1 view .LVU1317
3996 002a 1432 adds r2, r2, #20
3997 .LVL344:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3998 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1318
3999 .syntax unified
4000 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4001 002c 42E80031 strex r1, r3, [r2]
4002 @ 0 "" 2
4003 .LVL345:
4004 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1319
4005 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1320
ARM GAS /tmp/cc4vHZRy.s page 167
4006 .thumb
4007 .syntax unified
4008 .LBE432:
4009 .LBE431:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4010 .loc 1 2008 3 discriminator 1 view .LVU1321
4011 0030 0029 cmp r1, #0
4012 0032 F3D1 bne .L220
4013 .LBE428:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4014 .loc 1 2008 3 is_stmt 1 discriminator 2 view .LVU1322
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4015 .loc 1 2011 3 discriminator 2 view .LVU1323
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4016 .loc 1 2011 12 is_stmt 0 discriminator 2 view .LVU1324
4017 0034 236B ldr r3, [r4, #48]
4018 .LVL346:
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4019 .loc 1 2011 6 discriminator 2 view .LVU1325
4020 0036 012B cmp r3, #1
4021 0038 1FD0 beq .L222
4022 .L221:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4023 .loc 1 2013 5 is_stmt 1 discriminator 2 view .LVU1326
2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4024 .loc 1 2017 3 discriminator 2 view .LVU1327
2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4025 .loc 1 2017 7 is_stmt 0 discriminator 2 view .LVU1328
4026 003a 2368 ldr r3, [r4]
4027 003c 5B69 ldr r3, [r3, #20]
2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4028 .loc 1 2017 6 discriminator 2 view .LVU1329
4029 003e 13F0400F tst r3, #64
4030 0042 13D0 beq .L223
4031 .L224:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4032 .loc 1 2019 5 is_stmt 1 discriminator 1 view .LVU1330
4033 .LBB433:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4034 .loc 1 2019 5 discriminator 1 view .LVU1331
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4035 .loc 1 2019 5 discriminator 1 view .LVU1332
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4036 .loc 1 2019 5 discriminator 1 view .LVU1333
4037 0044 2268 ldr r2, [r4]
4038 .LVL347:
4039 .LBB434:
4040 .LBI434:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4041 .loc 2 476 31 discriminator 1 view .LVU1334
4042 .LBB435:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4043 .loc 2 478 5 discriminator 1 view .LVU1335
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4044 .loc 2 480 4 discriminator 1 view .LVU1336
4045 0046 02F11403 add r3, r2, #20
4046 .LVL348:
ARM GAS /tmp/cc4vHZRy.s page 168
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4047 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1337
4048 .syntax unified
4049 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4050 004a 53E8003F ldrex r3, [r3]
4051 @ 0 "" 2
4052 .LVL349:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4053 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1338
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4054 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1339
4055 .thumb
4056 .syntax unified
4057 .LBE435:
4058 .LBE434:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4059 .loc 1 2019 5 discriminator 1 view .LVU1340
4060 004e 23F04003 bic r3, r3, #64
4061 .LVL350:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4062 .loc 1 2019 5 is_stmt 1 discriminator 1 view .LVU1341
4063 .LBB436:
4064 .LBI436:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4065 .loc 2 527 31 discriminator 1 view .LVU1342
4066 .LBB437:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4067 .loc 2 529 4 discriminator 1 view .LVU1343
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4068 .loc 2 531 4 discriminator 1 view .LVU1344
4069 0052 1432 adds r2, r2, #20
4070 .LVL351:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4071 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1345
4072 .syntax unified
4073 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4074 0054 42E80031 strex r1, r3, [r2]
4075 @ 0 "" 2
4076 .LVL352:
4077 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1346
4078 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1347
4079 .thumb
4080 .syntax unified
4081 .LBE437:
4082 .LBE436:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4083 .loc 1 2019 5 discriminator 1 view .LVU1348
4084 0058 0029 cmp r1, #0
4085 005a F3D1 bne .L224
4086 .LBE433:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4087 .loc 1 2019 5 is_stmt 1 discriminator 2 view .LVU1349
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4088 .loc 1 2022 5 discriminator 2 view .LVU1350
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4089 .loc 1 2022 14 is_stmt 0 discriminator 2 view .LVU1351
4090 005c E36B ldr r3, [r4, #60]
ARM GAS /tmp/cc4vHZRy.s page 169
4091 .LVL353:
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4092 .loc 1 2022 8 discriminator 2 view .LVU1352
4093 005e 2BB1 cbz r3, .L223
2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4094 .loc 1 2026 7 is_stmt 1 view .LVU1353
2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4095 .loc 1 2026 40 is_stmt 0 view .LVU1354
4096 0060 0022 movs r2, #0
4097 0062 1A65 str r2, [r3, #80]
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4098 .loc 1 2028 7 is_stmt 1 view .LVU1355
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4099 .loc 1 2028 11 is_stmt 0 view .LVU1356
4100 0064 E06B ldr r0, [r4, #60]
4101 .LVL354:
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4102 .loc 1 2028 11 view .LVU1357
4103 0066 FFF7FEFF bl HAL_DMA_Abort
4104 .LVL355:
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4105 .loc 1 2028 10 view .LVU1358
4106 006a 98B9 cbnz r0, .L227
4107 .L223:
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4108 .loc 1 2042 3 is_stmt 1 view .LVU1359
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4109 .loc 1 2042 22 is_stmt 0 view .LVU1360
4110 006c 0020 movs r0, #0
4111 006e E085 strh r0, [r4, #46] @ movhi
2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4112 .loc 1 2045 3 is_stmt 1 view .LVU1361
2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4113 .loc 1 2045 18 is_stmt 0 view .LVU1362
4114 0070 2023 movs r3, #32
4115 0072 84F84230 strb r3, [r4, #66]
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4116 .loc 1 2046 3 is_stmt 1 view .LVU1363
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4117 .loc 1 2046 24 is_stmt 0 view .LVU1364
4118 0076 2063 str r0, [r4, #48]
2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4119 .loc 1 2048 3 is_stmt 1 view .LVU1365
4120 .L225:
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4121 .loc 1 2049 1 is_stmt 0 view .LVU1366
4122 0078 10BD pop {r4, pc}
4123 .LVL356:
4124 .L222:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4125 .loc 1 2013 5 is_stmt 1 discriminator 1 view .LVU1367
4126 .LBB438:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4127 .loc 1 2013 5 discriminator 1 view .LVU1368
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4128 .loc 1 2013 5 discriminator 1 view .LVU1369
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 170
4129 .loc 1 2013 5 discriminator 1 view .LVU1370
4130 007a 2268 ldr r2, [r4]
4131 .LVL357:
4132 .LBB439:
4133 .LBI439:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4134 .loc 2 476 31 discriminator 1 view .LVU1371
4135 .LBB440:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4136 .loc 2 478 5 discriminator 1 view .LVU1372
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4137 .loc 2 480 4 discriminator 1 view .LVU1373
4138 007c 02F10C03 add r3, r2, #12
4139 .LVL358:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4140 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1374
4141 .syntax unified
4142 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4143 0080 53E8003F ldrex r3, [r3]
4144 @ 0 "" 2
4145 .LVL359:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4146 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1375
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4147 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1376
4148 .thumb
4149 .syntax unified
4150 .LBE440:
4151 .LBE439:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4152 .loc 1 2013 5 discriminator 1 view .LVU1377
4153 0084 23F01003 bic r3, r3, #16
4154 .LVL360:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4155 .loc 1 2013 5 is_stmt 1 discriminator 1 view .LVU1378
4156 .LBB441:
4157 .LBI441:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4158 .loc 2 527 31 discriminator 1 view .LVU1379
4159 .LBB442:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4160 .loc 2 529 4 discriminator 1 view .LVU1380
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4161 .loc 2 531 4 discriminator 1 view .LVU1381
4162 0088 0C32 adds r2, r2, #12
4163 .LVL361:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4164 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1382
4165 .syntax unified
4166 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4167 008a 42E80031 strex r1, r3, [r2]
4168 @ 0 "" 2
4169 .LVL362:
4170 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1383
4171 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1384
4172 .thumb
4173 .syntax unified
ARM GAS /tmp/cc4vHZRy.s page 171
4174 .LBE442:
4175 .LBE441:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4176 .loc 1 2013 5 discriminator 1 view .LVU1385
4177 008e 0029 cmp r1, #0
4178 0090 F3D1 bne .L222
4179 0092 D2E7 b .L221
4180 .LVL363:
4181 .L227:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4182 .loc 1 2013 5 discriminator 1 view .LVU1386
4183 .LBE438:
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4184 .loc 1 2030 9 is_stmt 1 view .LVU1387
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4185 .loc 1 2030 13 is_stmt 0 view .LVU1388
4186 0094 E06B ldr r0, [r4, #60]
4187 0096 FFF7FEFF bl HAL_DMA_GetError
4188 .LVL364:
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4189 .loc 1 2030 12 view .LVU1389
4190 009a 2028 cmp r0, #32
4191 009c E6D1 bne .L223
2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4192 .loc 1 2033 11 is_stmt 1 view .LVU1390
2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4193 .loc 1 2033 28 is_stmt 0 view .LVU1391
4194 009e 1023 movs r3, #16
4195 00a0 6364 str r3, [r4, #68]
2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4196 .loc 1 2035 11 is_stmt 1 view .LVU1392
2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4197 .loc 1 2035 18 is_stmt 0 view .LVU1393
4198 00a2 0320 movs r0, #3
4199 00a4 E8E7 b .L225
4200 .cfi_endproc
4201 .LFE156:
4203 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
4204 .align 1
4205 .weak HAL_UART_TxCpltCallback
4206 .syntax unified
4207 .thumb
4208 .thumb_func
4210 HAL_UART_TxCpltCallback:
4211 .LVL365:
4212 .LFB161:
2620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4213 .loc 1 2620 1 is_stmt 1 view -0
4214 .cfi_startproc
4215 @ args = 0, pretend = 0, frame = 0
4216 @ frame_needed = 0, uses_anonymous_args = 0
4217 @ link register save eliminated.
2622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
4218 .loc 1 2622 3 view .LVU1395
2626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4219 .loc 1 2626 1 is_stmt 0 view .LVU1396
4220 0000 7047 bx lr
ARM GAS /tmp/cc4vHZRy.s page 172
4221 .cfi_endproc
4222 .LFE161:
4224 .section .text.UART_DMATransmitCplt,"ax",%progbits
4225 .align 1
4226 .syntax unified
4227 .thumb
4228 .thumb_func
4230 UART_DMATransmitCplt:
4231 .LVL366:
4232 .LFB177:
3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4233 .loc 1 3016 1 is_stmt 1 view -0
4234 .cfi_startproc
4235 @ args = 0, pretend = 0, frame = 0
4236 @ frame_needed = 0, uses_anonymous_args = 0
3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4237 .loc 1 3016 1 is_stmt 0 view .LVU1398
4238 0000 08B5 push {r3, lr}
4239 .LCFI34:
4240 .cfi_def_cfa_offset 8
4241 .cfi_offset 3, -8
4242 .cfi_offset 14, -4
4243 0002 0346 mov r3, r0
3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
4244 .loc 1 3017 3 is_stmt 1 view .LVU1399
3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
4245 .loc 1 3017 23 is_stmt 0 view .LVU1400
4246 0004 806B ldr r0, [r0, #56]
4247 .LVL367:
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4248 .loc 1 3019 3 is_stmt 1 view .LVU1401
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4249 .loc 1 3019 12 is_stmt 0 view .LVU1402
4250 0006 1B68 ldr r3, [r3]
4251 .LVL368:
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4252 .loc 1 3019 22 view .LVU1403
4253 0008 1B68 ldr r3, [r3]
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4254 .loc 1 3019 6 view .LVU1404
4255 000a 13F4807F tst r3, #256
4256 000e 1AD1 bne .L230
3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4257 .loc 1 3021 5 is_stmt 1 view .LVU1405
3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4258 .loc 1 3021 24 is_stmt 0 view .LVU1406
4259 0010 0023 movs r3, #0
4260 0012 C384 strh r3, [r0, #38] @ movhi
4261 .L231:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4262 .loc 1 3025 5 is_stmt 1 discriminator 1 view .LVU1407
4263 .LBB443:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4264 .loc 1 3025 5 discriminator 1 view .LVU1408
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4265 .loc 1 3025 5 discriminator 1 view .LVU1409
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 173
4266 .loc 1 3025 5 discriminator 1 view .LVU1410
4267 0014 0268 ldr r2, [r0]
4268 .LVL369:
4269 .LBB444:
4270 .LBI444:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4271 .loc 2 476 31 discriminator 1 view .LVU1411
4272 .LBB445:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4273 .loc 2 478 5 discriminator 1 view .LVU1412
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4274 .loc 2 480 4 discriminator 1 view .LVU1413
4275 0016 02F11403 add r3, r2, #20
4276 .LVL370:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4277 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1414
4278 .syntax unified
4279 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4280 001a 53E8003F ldrex r3, [r3]
4281 @ 0 "" 2
4282 .LVL371:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4283 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1415
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4284 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1416
4285 .thumb
4286 .syntax unified
4287 .LBE445:
4288 .LBE444:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4289 .loc 1 3025 5 discriminator 1 view .LVU1417
4290 001e 23F08003 bic r3, r3, #128
4291 .LVL372:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4292 .loc 1 3025 5 is_stmt 1 discriminator 1 view .LVU1418
4293 .LBB446:
4294 .LBI446:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4295 .loc 2 527 31 discriminator 1 view .LVU1419
4296 .LBB447:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4297 .loc 2 529 4 discriminator 1 view .LVU1420
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4298 .loc 2 531 4 discriminator 1 view .LVU1421
4299 0022 1432 adds r2, r2, #20
4300 .LVL373:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4301 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1422
4302 .syntax unified
4303 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4304 0024 42E80031 strex r1, r3, [r2]
4305 @ 0 "" 2
4306 .LVL374:
4307 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1423
4308 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1424
4309 .thumb
4310 .syntax unified
ARM GAS /tmp/cc4vHZRy.s page 174
4311 .LBE447:
4312 .LBE446:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4313 .loc 1 3025 5 discriminator 1 view .LVU1425
4314 0028 0029 cmp r1, #0
4315 002a F3D1 bne .L231
4316 .LVL375:
4317 .L232:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4318 .loc 1 3025 5 discriminator 1 view .LVU1426
4319 .LBE443:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4320 .loc 1 3025 5 is_stmt 1 discriminator 1 view .LVU1427
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4321 .loc 1 3028 5 discriminator 1 view .LVU1428
4322 .LBB448:
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4323 .loc 1 3028 5 discriminator 1 view .LVU1429
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4324 .loc 1 3028 5 discriminator 1 view .LVU1430
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4325 .loc 1 3028 5 discriminator 1 view .LVU1431
4326 002c 0268 ldr r2, [r0]
4327 .LVL376:
4328 .LBB449:
4329 .LBI449:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4330 .loc 2 476 31 discriminator 1 view .LVU1432
4331 .LBB450:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4332 .loc 2 478 5 discriminator 1 view .LVU1433
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4333 .loc 2 480 4 discriminator 1 view .LVU1434
4334 002e 02F10C03 add r3, r2, #12
4335 .LVL377:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4336 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1435
4337 .syntax unified
4338 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4339 0032 53E8003F ldrex r3, [r3]
4340 @ 0 "" 2
4341 .LVL378:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4342 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1436
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4343 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1437
4344 .thumb
4345 .syntax unified
4346 .LBE450:
4347 .LBE449:
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4348 .loc 1 3028 5 discriminator 1 view .LVU1438
4349 0036 43F04003 orr r3, r3, #64
4350 .LVL379:
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4351 .loc 1 3028 5 is_stmt 1 discriminator 1 view .LVU1439
4352 .LBB451:
ARM GAS /tmp/cc4vHZRy.s page 175
4353 .LBI451:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4354 .loc 2 527 31 discriminator 1 view .LVU1440
4355 .LBB452:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4356 .loc 2 529 4 discriminator 1 view .LVU1441
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4357 .loc 2 531 4 discriminator 1 view .LVU1442
4358 003a 0C32 adds r2, r2, #12
4359 .LVL380:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4360 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1443
4361 .syntax unified
4362 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4363 003c 42E80031 strex r1, r3, [r2]
4364 @ 0 "" 2
4365 .LVL381:
4366 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1444
4367 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1445
4368 .thumb
4369 .syntax unified
4370 .LBE452:
4371 .LBE451:
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4372 .loc 1 3028 5 discriminator 1 view .LVU1446
4373 0040 0029 cmp r1, #0
4374 0042 F3D1 bne .L232
4375 .LVL382:
4376 .L229:
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4377 .loc 1 3028 5 discriminator 1 view .LVU1447
4378 .LBE448:
3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4379 .loc 1 3042 1 view .LVU1448
4380 0044 08BD pop {r3, pc}
4381 .LVL383:
4382 .L230:
3039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4383 .loc 1 3039 5 is_stmt 1 view .LVU1449
4384 0046 FFF7FEFF bl HAL_UART_TxCpltCallback
4385 .LVL384:
3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4386 .loc 1 3042 1 is_stmt 0 view .LVU1450
4387 004a FBE7 b .L229
4388 .cfi_endproc
4389 .LFE177:
4391 .section .text.UART_EndTransmit_IT,"ax",%progbits
4392 .align 1
4393 .syntax unified
4394 .thumb
4395 .thumb_func
4397 UART_EndTransmit_IT:
4398 .LVL385:
4399 .LFB193:
3604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
4400 .loc 1 3604 1 is_stmt 1 view -0
4401 .cfi_startproc
ARM GAS /tmp/cc4vHZRy.s page 176
4402 @ args = 0, pretend = 0, frame = 0
4403 @ frame_needed = 0, uses_anonymous_args = 0
3604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
4404 .loc 1 3604 1 is_stmt 0 view .LVU1452
4405 0000 08B5 push {r3, lr}
4406 .LCFI35:
4407 .cfi_def_cfa_offset 8
4408 .cfi_offset 3, -8
4409 .cfi_offset 14, -4
3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4410 .loc 1 3606 3 is_stmt 1 view .LVU1453
4411 0002 0168 ldr r1, [r0]
4412 0004 CA68 ldr r2, [r1, #12]
4413 0006 22F04002 bic r2, r2, #64
4414 000a CA60 str r2, [r1, #12]
3609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4415 .loc 1 3609 3 view .LVU1454
3609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4416 .loc 1 3609 17 is_stmt 0 view .LVU1455
4417 000c 2022 movs r2, #32
4418 000e 80F84120 strb r2, [r0, #65]
3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4419 .loc 1 3616 3 is_stmt 1 view .LVU1456
4420 0012 FFF7FEFF bl HAL_UART_TxCpltCallback
4421 .LVL386:
3619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4422 .loc 1 3619 3 view .LVU1457
3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4423 .loc 1 3620 1 is_stmt 0 view .LVU1458
4424 0016 0020 movs r0, #0
4425 0018 08BD pop {r3, pc}
4426 .cfi_endproc
4427 .LFE193:
4429 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
4430 .align 1
4431 .weak HAL_UART_TxHalfCpltCallback
4432 .syntax unified
4433 .thumb
4434 .thumb_func
4436 HAL_UART_TxHalfCpltCallback:
4437 .LVL387:
4438 .LFB162:
2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4439 .loc 1 2635 1 is_stmt 1 view -0
4440 .cfi_startproc
4441 @ args = 0, pretend = 0, frame = 0
4442 @ frame_needed = 0, uses_anonymous_args = 0
4443 @ link register save eliminated.
2637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
4444 .loc 1 2637 3 view .LVU1460
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4445 .loc 1 2641 1 is_stmt 0 view .LVU1461
4446 0000 7047 bx lr
4447 .cfi_endproc
4448 .LFE162:
4450 .section .text.UART_DMATxHalfCplt,"ax",%progbits
4451 .align 1
ARM GAS /tmp/cc4vHZRy.s page 177
4452 .syntax unified
4453 .thumb
4454 .thumb_func
4456 UART_DMATxHalfCplt:
4457 .LVL388:
4458 .LFB178:
3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4459 .loc 1 3051 1 is_stmt 1 view -0
4460 .cfi_startproc
4461 @ args = 0, pretend = 0, frame = 0
4462 @ frame_needed = 0, uses_anonymous_args = 0
3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4463 .loc 1 3051 1 is_stmt 0 view .LVU1463
4464 0000 08B5 push {r3, lr}
4465 .LCFI36:
4466 .cfi_def_cfa_offset 8
4467 .cfi_offset 3, -8
4468 .cfi_offset 14, -4
3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4469 .loc 1 3052 3 is_stmt 1 view .LVU1464
4470 .LVL389:
3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4471 .loc 1 3059 3 view .LVU1465
4472 0002 806B ldr r0, [r0, #56]
4473 .LVL390:
3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4474 .loc 1 3059 3 is_stmt 0 view .LVU1466
4475 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
4476 .LVL391:
3061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4477 .loc 1 3061 1 view .LVU1467
4478 0008 08BD pop {r3, pc}
4479 .cfi_endproc
4480 .LFE178:
4482 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
4483 .align 1
4484 .weak HAL_UART_RxCpltCallback
4485 .syntax unified
4486 .thumb
4487 .thumb_func
4489 HAL_UART_RxCpltCallback:
4490 .LVL392:
4491 .LFB163:
2650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4492 .loc 1 2650 1 is_stmt 1 view -0
4493 .cfi_startproc
4494 @ args = 0, pretend = 0, frame = 0
4495 @ frame_needed = 0, uses_anonymous_args = 0
4496 @ link register save eliminated.
2652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
4497 .loc 1 2652 3 view .LVU1469
2656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4498 .loc 1 2656 1 is_stmt 0 view .LVU1470
4499 0000 7047 bx lr
4500 .cfi_endproc
4501 .LFE163:
4503 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
ARM GAS /tmp/cc4vHZRy.s page 178
4504 .align 1
4505 .weak HAL_UART_RxHalfCpltCallback
4506 .syntax unified
4507 .thumb
4508 .thumb_func
4510 HAL_UART_RxHalfCpltCallback:
4511 .LVL393:
4512 .LFB164:
2665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4513 .loc 1 2665 1 is_stmt 1 view -0
4514 .cfi_startproc
4515 @ args = 0, pretend = 0, frame = 0
4516 @ frame_needed = 0, uses_anonymous_args = 0
4517 @ link register save eliminated.
2667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
4518 .loc 1 2667 3 view .LVU1472
2671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4519 .loc 1 2671 1 is_stmt 0 view .LVU1473
4520 0000 7047 bx lr
4521 .cfi_endproc
4522 .LFE164:
4524 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
4525 .align 1
4526 .weak HAL_UART_ErrorCallback
4527 .syntax unified
4528 .thumb
4529 .thumb_func
4531 HAL_UART_ErrorCallback:
4532 .LVL394:
4533 .LFB165:
2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4534 .loc 1 2680 1 is_stmt 1 view -0
4535 .cfi_startproc
4536 @ args = 0, pretend = 0, frame = 0
4537 @ frame_needed = 0, uses_anonymous_args = 0
4538 @ link register save eliminated.
2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
4539 .loc 1 2682 3 view .LVU1475
2686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4540 .loc 1 2686 1 is_stmt 0 view .LVU1476
4541 0000 7047 bx lr
4542 .cfi_endproc
4543 .LFE165:
4545 .section .text.UART_DMAError,"ax",%progbits
4546 .align 1
4547 .syntax unified
4548 .thumb
4549 .thumb_func
4551 UART_DMAError:
4552 .LVL395:
4553 .LFB181:
3171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
4554 .loc 1 3171 1 is_stmt 1 view -0
4555 .cfi_startproc
4556 @ args = 0, pretend = 0, frame = 0
4557 @ frame_needed = 0, uses_anonymous_args = 0
3171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
ARM GAS /tmp/cc4vHZRy.s page 179
4558 .loc 1 3171 1 is_stmt 0 view .LVU1478
4559 0000 10B5 push {r4, lr}
4560 .LCFI37:
4561 .cfi_def_cfa_offset 8
4562 .cfi_offset 4, -8
4563 .cfi_offset 14, -4
3172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4564 .loc 1 3172 3 is_stmt 1 view .LVU1479
4565 .LVL396:
3173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4566 .loc 1 3173 3 view .LVU1480
3173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4567 .loc 1 3173 23 is_stmt 0 view .LVU1481
4568 0002 846B ldr r4, [r0, #56]
4569 .LVL397:
3176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
4570 .loc 1 3176 3 is_stmt 1 view .LVU1482
3176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
4571 .loc 1 3176 16 is_stmt 0 view .LVU1483
4572 0004 2368 ldr r3, [r4]
4573 0006 5A69 ldr r2, [r3, #20]
4574 .LVL398:
3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4575 .loc 1 3177 3 is_stmt 1 view .LVU1484
3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4576 .loc 1 3177 13 is_stmt 0 view .LVU1485
4577 0008 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
4578 000c DBB2 uxtb r3, r3
3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4579 .loc 1 3177 6 view .LVU1486
4580 000e 212B cmp r3, #33
4581 0010 10D0 beq .L247
4582 .LVL399:
4583 .L244:
3184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
4584 .loc 1 3184 3 is_stmt 1 view .LVU1487
3184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
4585 .loc 1 3184 16 is_stmt 0 view .LVU1488
4586 0012 2368 ldr r3, [r4]
4587 0014 5A69 ldr r2, [r3, #20]
4588 0016 02F04002 and r2, r2, #64
4589 .LVL400:
3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4590 .loc 1 3185 3 is_stmt 1 view .LVU1489
3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4591 .loc 1 3185 13 is_stmt 0 view .LVU1490
4592 001a 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2
4593 001e DBB2 uxtb r3, r3
3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4594 .loc 1 3185 6 view .LVU1491
4595 0020 222B cmp r3, #34
4596 0022 11D0 beq .L248
4597 .LVL401:
4598 .L245:
3191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4599 .loc 1 3191 3 is_stmt 1 view .LVU1492
3191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
ARM GAS /tmp/cc4vHZRy.s page 180
4600 .loc 1 3191 20 is_stmt 0 view .LVU1493
4601 0024 636C ldr r3, [r4, #68]
4602 0026 43F01003 orr r3, r3, #16
4603 002a 6364 str r3, [r4, #68]
3197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4604 .loc 1 3197 3 is_stmt 1 view .LVU1494
4605 002c 2046 mov r0, r4
4606 002e FFF7FEFF bl HAL_UART_ErrorCallback
4607 .LVL402:
3199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4608 .loc 1 3199 1 is_stmt 0 view .LVU1495
4609 0032 10BD pop {r4, pc}
4610 .LVL403:
4611 .L247:
3199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4612 .loc 1 3199 1 view .LVU1496
4613 0034 02F08002 and r2, r2, #128
4614 .LVL404:
3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4615 .loc 1 3177 49 discriminator 1 view .LVU1497
4616 0038 002A cmp r2, #0
4617 003a EAD0 beq .L244
3179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
4618 .loc 1 3179 5 is_stmt 1 view .LVU1498
3179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
4619 .loc 1 3179 24 is_stmt 0 view .LVU1499
4620 003c 0023 movs r3, #0
4621 003e E384 strh r3, [r4, #38] @ movhi
3180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4622 .loc 1 3180 5 is_stmt 1 view .LVU1500
4623 0040 2046 mov r0, r4
4624 .LVL405:
3180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4625 .loc 1 3180 5 is_stmt 0 view .LVU1501
4626 0042 FFF7FEFF bl UART_EndTxTransfer
4627 .LVL406:
4628 0046 E4E7 b .L244
4629 .LVL407:
4630 .L248:
3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4631 .loc 1 3185 50 discriminator 1 view .LVU1502
4632 0048 002A cmp r2, #0
4633 004a EBD0 beq .L245
3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
4634 .loc 1 3187 5 is_stmt 1 view .LVU1503
3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
4635 .loc 1 3187 24 is_stmt 0 view .LVU1504
4636 004c 0023 movs r3, #0
4637 004e E385 strh r3, [r4, #46] @ movhi
3188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4638 .loc 1 3188 5 is_stmt 1 view .LVU1505
4639 0050 2046 mov r0, r4
4640 0052 FFF7FEFF bl UART_EndRxTransfer
4641 .LVL408:
3188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4642 .loc 1 3188 5 is_stmt 0 view .LVU1506
4643 0056 E5E7 b .L245
ARM GAS /tmp/cc4vHZRy.s page 181
4644 .cfi_endproc
4645 .LFE181:
4647 .section .text.UART_DMAAbortOnError,"ax",%progbits
4648 .align 1
4649 .syntax unified
4650 .thumb
4651 .thumb_func
4653 UART_DMAAbortOnError:
4654 .LVL409:
4655 .LFB187:
3395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4656 .loc 1 3395 1 is_stmt 1 view -0
4657 .cfi_startproc
4658 @ args = 0, pretend = 0, frame = 0
4659 @ frame_needed = 0, uses_anonymous_args = 0
3395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4660 .loc 1 3395 1 is_stmt 0 view .LVU1508
4661 0000 08B5 push {r3, lr}
4662 .LCFI38:
4663 .cfi_def_cfa_offset 8
4664 .cfi_offset 3, -8
4665 .cfi_offset 14, -4
3396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
4666 .loc 1 3396 3 is_stmt 1 view .LVU1509
3396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
4667 .loc 1 3396 23 is_stmt 0 view .LVU1510
4668 0002 806B ldr r0, [r0, #56]
4669 .LVL410:
3397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4670 .loc 1 3397 3 is_stmt 1 view .LVU1511
3397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4671 .loc 1 3397 22 is_stmt 0 view .LVU1512
4672 0004 0023 movs r3, #0
4673 0006 C385 strh r3, [r0, #46] @ movhi
3404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4674 .loc 1 3404 3 is_stmt 1 view .LVU1513
4675 0008 FFF7FEFF bl HAL_UART_ErrorCallback
4676 .LVL411:
3406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4677 .loc 1 3406 1 is_stmt 0 view .LVU1514
4678 000c 08BD pop {r3, pc}
4679 .cfi_endproc
4680 .LFE187:
4682 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
4683 .align 1
4684 .weak HAL_UART_AbortCpltCallback
4685 .syntax unified
4686 .thumb
4687 .thumb_func
4689 HAL_UART_AbortCpltCallback:
4690 .LVL412:
4691 .LFB166:
2694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4692 .loc 1 2694 1 is_stmt 1 view -0
4693 .cfi_startproc
4694 @ args = 0, pretend = 0, frame = 0
4695 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/cc4vHZRy.s page 182
4696 @ link register save eliminated.
2696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4697 .loc 1 2696 3 view .LVU1516
2701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4698 .loc 1 2701 1 is_stmt 0 view .LVU1517
4699 0000 7047 bx lr
4700 .cfi_endproc
4701 .LFE166:
4703 .section .text.HAL_UART_Abort_IT,"ax",%progbits
4704 .align 1
4705 .global HAL_UART_Abort_IT
4706 .syntax unified
4707 .thumb
4708 .thumb_func
4710 HAL_UART_Abort_IT:
4711 .LVL413:
4712 .LFB157:
2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
4713 .loc 1 2066 1 is_stmt 1 view -0
4714 .cfi_startproc
4715 @ args = 0, pretend = 0, frame = 0
4716 @ frame_needed = 0, uses_anonymous_args = 0
2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
4717 .loc 1 2066 1 is_stmt 0 view .LVU1519
4718 0000 38B5 push {r3, r4, r5, lr}
4719 .LCFI39:
4720 .cfi_def_cfa_offset 16
4721 .cfi_offset 3, -16
4722 .cfi_offset 4, -12
4723 .cfi_offset 5, -8
4724 .cfi_offset 14, -4
4725 0002 0446 mov r4, r0
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4726 .loc 1 2067 3 is_stmt 1 view .LVU1520
4727 .LVL414:
4728 .L253:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4729 .loc 1 2070 3 discriminator 1 view .LVU1521
4730 .LBB453:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4731 .loc 1 2070 3 discriminator 1 view .LVU1522
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4732 .loc 1 2070 3 discriminator 1 view .LVU1523
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4733 .loc 1 2070 3 discriminator 1 view .LVU1524
4734 0004 2268 ldr r2, [r4]
4735 .LVL415:
4736 .LBB454:
4737 .LBI454:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4738 .loc 2 476 31 discriminator 1 view .LVU1525
4739 .LBB455:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4740 .loc 2 478 5 discriminator 1 view .LVU1526
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4741 .loc 2 480 4 discriminator 1 view .LVU1527
4742 0006 02F10C03 add r3, r2, #12
ARM GAS /tmp/cc4vHZRy.s page 183
4743 .LVL416:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4744 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1528
4745 .syntax unified
4746 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4747 000a 53E8003F ldrex r3, [r3]
4748 @ 0 "" 2
4749 .LVL417:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4750 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1529
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4751 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1530
4752 .thumb
4753 .syntax unified
4754 .LBE455:
4755 .LBE454:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4756 .loc 1 2070 3 discriminator 1 view .LVU1531
4757 000e 23F4F073 bic r3, r3, #480
4758 .LVL418:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4759 .loc 1 2070 3 is_stmt 1 discriminator 1 view .LVU1532
4760 .LBB456:
4761 .LBI456:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4762 .loc 2 527 31 discriminator 1 view .LVU1533
4763 .LBB457:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4764 .loc 2 529 4 discriminator 1 view .LVU1534
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4765 .loc 2 531 4 discriminator 1 view .LVU1535
4766 0012 0C32 adds r2, r2, #12
4767 .LVL419:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4768 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1536
4769 .syntax unified
4770 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4771 0014 42E80031 strex r1, r3, [r2]
4772 @ 0 "" 2
4773 .LVL420:
4774 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1537
4775 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1538
4776 .thumb
4777 .syntax unified
4778 .LBE457:
4779 .LBE456:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4780 .loc 1 2070 3 discriminator 1 view .LVU1539
4781 0018 0029 cmp r1, #0
4782 001a F3D1 bne .L253
4783 .LVL421:
4784 .L254:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4785 .loc 1 2070 3 discriminator 1 view .LVU1540
4786 .LBE453:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4787 .loc 1 2070 3 is_stmt 1 discriminator 1 view .LVU1541
ARM GAS /tmp/cc4vHZRy.s page 184
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4788 .loc 1 2071 3 discriminator 1 view .LVU1542
4789 .LBB458:
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4790 .loc 1 2071 3 discriminator 1 view .LVU1543
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4791 .loc 1 2071 3 discriminator 1 view .LVU1544
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4792 .loc 1 2071 3 discriminator 1 view .LVU1545
4793 001c 2268 ldr r2, [r4]
4794 .LVL422:
4795 .LBB459:
4796 .LBI459:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4797 .loc 2 476 31 discriminator 1 view .LVU1546
4798 .LBB460:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4799 .loc 2 478 5 discriminator 1 view .LVU1547
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4800 .loc 2 480 4 discriminator 1 view .LVU1548
4801 001e 02F11403 add r3, r2, #20
4802 .LVL423:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4803 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1549
4804 .syntax unified
4805 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4806 0022 53E8003F ldrex r3, [r3]
4807 @ 0 "" 2
4808 .LVL424:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4809 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1550
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4810 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1551
4811 .thumb
4812 .syntax unified
4813 .LBE460:
4814 .LBE459:
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4815 .loc 1 2071 3 discriminator 1 view .LVU1552
4816 0026 23F00103 bic r3, r3, #1
4817 .LVL425:
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4818 .loc 1 2071 3 is_stmt 1 discriminator 1 view .LVU1553
4819 .LBB461:
4820 .LBI461:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4821 .loc 2 527 31 discriminator 1 view .LVU1554
4822 .LBB462:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4823 .loc 2 529 4 discriminator 1 view .LVU1555
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4824 .loc 2 531 4 discriminator 1 view .LVU1556
4825 002a 1432 adds r2, r2, #20
4826 .LVL426:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4827 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1557
4828 .syntax unified
ARM GAS /tmp/cc4vHZRy.s page 185
4829 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4830 002c 42E80031 strex r1, r3, [r2]
4831 @ 0 "" 2
4832 .LVL427:
4833 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1558
4834 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1559
4835 .thumb
4836 .syntax unified
4837 .LBE462:
4838 .LBE461:
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4839 .loc 1 2071 3 discriminator 1 view .LVU1560
4840 0030 0029 cmp r1, #0
4841 0032 F3D1 bne .L254
4842 .LBE458:
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4843 .loc 1 2071 3 is_stmt 1 discriminator 2 view .LVU1561
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4844 .loc 1 2074 3 discriminator 2 view .LVU1562
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4845 .loc 1 2074 12 is_stmt 0 discriminator 2 view .LVU1563
4846 0034 236B ldr r3, [r4, #48]
4847 .LVL428:
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4848 .loc 1 2074 6 discriminator 2 view .LVU1564
4849 0036 012B cmp r3, #1
4850 0038 2ED0 beq .L256
4851 .L255:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4852 .loc 1 2076 5 is_stmt 1 discriminator 2 view .LVU1565
2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4853 .loc 1 2082 3 discriminator 2 view .LVU1566
2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4854 .loc 1 2082 12 is_stmt 0 discriminator 2 view .LVU1567
4855 003a A36B ldr r3, [r4, #56]
2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4856 .loc 1 2082 6 discriminator 2 view .LVU1568
4857 003c 33B1 cbz r3, .L257
2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4858 .loc 1 2086 5 is_stmt 1 view .LVU1569
2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4859 .loc 1 2086 9 is_stmt 0 view .LVU1570
4860 003e 2268 ldr r2, [r4]
4861 0040 5269 ldr r2, [r2, #20]
2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4862 .loc 1 2086 8 view .LVU1571
4863 0042 12F0800F tst r2, #128
4864 0046 34D0 beq .L258
2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4865 .loc 1 2088 7 is_stmt 1 view .LVU1572
2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4866 .loc 1 2088 40 is_stmt 0 view .LVU1573
4867 0048 344A ldr r2, .L270
4868 004a 1A65 str r2, [r3, #80]
4869 .L257:
2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4870 .loc 1 2096 3 is_stmt 1 view .LVU1574
ARM GAS /tmp/cc4vHZRy.s page 186
2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4871 .loc 1 2096 12 is_stmt 0 view .LVU1575
4872 004c E36B ldr r3, [r4, #60]
2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4873 .loc 1 2096 6 view .LVU1576
4874 004e 33B1 cbz r3, .L259
2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4875 .loc 1 2100 5 is_stmt 1 view .LVU1577
2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4876 .loc 1 2100 9 is_stmt 0 view .LVU1578
4877 0050 2268 ldr r2, [r4]
4878 0052 5269 ldr r2, [r2, #20]
2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4879 .loc 1 2100 8 view .LVU1579
4880 0054 12F0400F tst r2, #64
4881 0058 2ED0 beq .L260
2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4882 .loc 1 2102 7 is_stmt 1 view .LVU1580
2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4883 .loc 1 2102 40 is_stmt 0 view .LVU1581
4884 005a 314A ldr r2, .L270+4
4885 005c 1A65 str r2, [r3, #80]
4886 .L259:
2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4887 .loc 1 2111 3 is_stmt 1 view .LVU1582
2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4888 .loc 1 2111 7 is_stmt 0 view .LVU1583
4889 005e 2368 ldr r3, [r4]
4890 0060 5B69 ldr r3, [r3, #20]
2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4891 .loc 1 2111 6 view .LVU1584
4892 0062 13F0800F tst r3, #128
4893 0066 2AD0 beq .L267
4894 .L262:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4895 .loc 1 2114 5 is_stmt 1 discriminator 1 view .LVU1585
4896 .LBB463:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4897 .loc 1 2114 5 discriminator 1 view .LVU1586
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4898 .loc 1 2114 5 discriminator 1 view .LVU1587
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4899 .loc 1 2114 5 discriminator 1 view .LVU1588
4900 0068 2168 ldr r1, [r4]
4901 .LVL429:
4902 .LBB464:
4903 .LBI464:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4904 .loc 2 476 31 discriminator 1 view .LVU1589
4905 .LBB465:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4906 .loc 2 478 5 discriminator 1 view .LVU1590
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4907 .loc 2 480 4 discriminator 1 view .LVU1591
4908 006a 01F11403 add r3, r1, #20
4909 .LVL430:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc4vHZRy.s page 187
4910 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1592
4911 .syntax unified
4912 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4913 006e 53E8003F ldrex r3, [r3]
4914 @ 0 "" 2
4915 .LVL431:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4916 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1593
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4917 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1594
4918 .thumb
4919 .syntax unified
4920 .LBE465:
4921 .LBE464:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4922 .loc 1 2114 5 discriminator 1 view .LVU1595
4923 0072 23F08003 bic r3, r3, #128
4924 .LVL432:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4925 .loc 1 2114 5 is_stmt 1 discriminator 1 view .LVU1596
4926 .LBB466:
4927 .LBI466:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4928 .loc 2 527 31 discriminator 1 view .LVU1597
4929 .LBB467:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4930 .loc 2 529 4 discriminator 1 view .LVU1598
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4931 .loc 2 531 4 discriminator 1 view .LVU1599
4932 0076 1431 adds r1, r1, #20
4933 .LVL433:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4934 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1600
4935 .syntax unified
4936 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4937 0078 41E80032 strex r2, r3, [r1]
4938 @ 0 "" 2
4939 .thumb
4940 .syntax unified
4941 007c 1546 mov r5, r2
4942 .LVL434:
4943 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1601
4944 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1602
4945 .LBE467:
4946 .LBE466:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4947 .loc 1 2114 5 discriminator 1 view .LVU1603
4948 007e 002A cmp r2, #0
4949 0080 F2D1 bne .L262
4950 .LBE463:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4951 .loc 1 2114 5 is_stmt 1 discriminator 2 view .LVU1604
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4952 .loc 1 2117 5 discriminator 2 view .LVU1605
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4953 .loc 1 2117 14 is_stmt 0 discriminator 2 view .LVU1606
4954 0082 A06B ldr r0, [r4, #56]
ARM GAS /tmp/cc4vHZRy.s page 188
4955 .LVL435:
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4956 .loc 1 2117 8 discriminator 2 view .LVU1607
4957 0084 0028 cmp r0, #0
4958 0086 42D0 beq .L268
2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4959 .loc 1 2123 7 is_stmt 1 view .LVU1608
2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4960 .loc 1 2123 11 is_stmt 0 view .LVU1609
4961 0088 FFF7FEFF bl HAL_DMA_Abort_IT
4962 .LVL436:
2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4963 .loc 1 2123 10 view .LVU1610
4964 008c C0B1 cbz r0, .L261
2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4965 .loc 1 2125 9 is_stmt 1 view .LVU1611
2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4966 .loc 1 2125 14 is_stmt 0 view .LVU1612
4967 008e A36B ldr r3, [r4, #56]
2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4968 .loc 1 2125 42 view .LVU1613
4969 0090 0022 movs r2, #0
4970 0092 1A65 str r2, [r3, #80]
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4971 .loc 1 2067 12 view .LVU1614
4972 0094 0125 movs r5, #1
4973 0096 13E0 b .L261
4974 .LVL437:
4975 .L256:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4976 .loc 1 2076 5 is_stmt 1 discriminator 1 view .LVU1615
4977 .LBB468:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4978 .loc 1 2076 5 discriminator 1 view .LVU1616
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4979 .loc 1 2076 5 discriminator 1 view .LVU1617
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4980 .loc 1 2076 5 discriminator 1 view .LVU1618
4981 0098 2268 ldr r2, [r4]
4982 .LVL438:
4983 .LBB469:
4984 .LBI469:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4985 .loc 2 476 31 discriminator 1 view .LVU1619
4986 .LBB470:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4987 .loc 2 478 5 discriminator 1 view .LVU1620
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4988 .loc 2 480 4 discriminator 1 view .LVU1621
4989 009a 02F10C03 add r3, r2, #12
4990 .LVL439:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4991 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1622
4992 .syntax unified
4993 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4994 009e 53E8003F ldrex r3, [r3]
4995 @ 0 "" 2
ARM GAS /tmp/cc4vHZRy.s page 189
4996 .LVL440:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4997 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1623
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4998 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1624
4999 .thumb
5000 .syntax unified
5001 .LBE470:
5002 .LBE469:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5003 .loc 1 2076 5 discriminator 1 view .LVU1625
5004 00a2 23F01003 bic r3, r3, #16
5005 .LVL441:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5006 .loc 1 2076 5 is_stmt 1 discriminator 1 view .LVU1626
5007 .LBB471:
5008 .LBI471:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5009 .loc 2 527 31 discriminator 1 view .LVU1627
5010 .LBB472:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5011 .loc 2 529 4 discriminator 1 view .LVU1628
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5012 .loc 2 531 4 discriminator 1 view .LVU1629
5013 00a6 0C32 adds r2, r2, #12
5014 .LVL442:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5015 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1630
5016 .syntax unified
5017 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5018 00a8 42E80031 strex r1, r3, [r2]
5019 @ 0 "" 2
5020 .LVL443:
5021 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1631
5022 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1632
5023 .thumb
5024 .syntax unified
5025 .LBE472:
5026 .LBE471:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5027 .loc 1 2076 5 discriminator 1 view .LVU1633
5028 00ac 0029 cmp r1, #0
5029 00ae F3D1 bne .L256
5030 00b0 C3E7 b .L255
5031 .LVL444:
5032 .L258:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5033 .loc 1 2076 5 discriminator 1 view .LVU1634
5034 .LBE468:
2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5035 .loc 1 2092 7 is_stmt 1 view .LVU1635
2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5036 .loc 1 2092 40 is_stmt 0 view .LVU1636
5037 00b2 0022 movs r2, #0
5038 00b4 1A65 str r2, [r3, #80]
5039 00b6 C9E7 b .L257
5040 .L260:
ARM GAS /tmp/cc4vHZRy.s page 190
2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5041 .loc 1 2106 7 is_stmt 1 view .LVU1637
2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5042 .loc 1 2106 40 is_stmt 0 view .LVU1638
5043 00b8 0022 movs r2, #0
5044 00ba 1A65 str r2, [r3, #80]
5045 00bc CFE7 b .L259
5046 .L267:
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5047 .loc 1 2067 12 view .LVU1639
5048 00be 0125 movs r5, #1
5049 .LVL445:
5050 .L261:
2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5051 .loc 1 2135 3 is_stmt 1 view .LVU1640
2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5052 .loc 1 2135 7 is_stmt 0 view .LVU1641
5053 00c0 2368 ldr r3, [r4]
5054 00c2 5B69 ldr r3, [r3, #20]
2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5055 .loc 1 2135 6 view .LVU1642
5056 00c4 13F0400F tst r3, #64
5057 00c8 23D0 beq .L263
5058 .L264:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5059 .loc 1 2137 5 is_stmt 1 discriminator 1 view .LVU1643
5060 .LBB473:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5061 .loc 1 2137 5 discriminator 1 view .LVU1644
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5062 .loc 1 2137 5 discriminator 1 view .LVU1645
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5063 .loc 1 2137 5 discriminator 1 view .LVU1646
5064 00ca 2268 ldr r2, [r4]
5065 .LVL446:
5066 .LBB474:
5067 .LBI474:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5068 .loc 2 476 31 discriminator 1 view .LVU1647
5069 .LBB475:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5070 .loc 2 478 5 discriminator 1 view .LVU1648
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5071 .loc 2 480 4 discriminator 1 view .LVU1649
5072 00cc 02F11403 add r3, r2, #20
5073 .LVL447:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5074 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1650
5075 .syntax unified
5076 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5077 00d0 53E8003F ldrex r3, [r3]
5078 @ 0 "" 2
5079 .LVL448:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5080 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1651
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5081 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1652
ARM GAS /tmp/cc4vHZRy.s page 191
5082 .thumb
5083 .syntax unified
5084 .LBE475:
5085 .LBE474:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5086 .loc 1 2137 5 discriminator 1 view .LVU1653
5087 00d4 23F04003 bic r3, r3, #64
5088 .LVL449:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5089 .loc 1 2137 5 is_stmt 1 discriminator 1 view .LVU1654
5090 .LBB476:
5091 .LBI476:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5092 .loc 2 527 31 discriminator 1 view .LVU1655
5093 .LBB477:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5094 .loc 2 529 4 discriminator 1 view .LVU1656
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5095 .loc 2 531 4 discriminator 1 view .LVU1657
5096 00d8 1432 adds r2, r2, #20
5097 .LVL450:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5098 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1658
5099 .syntax unified
5100 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5101 00da 42E80031 strex r1, r3, [r2]
5102 @ 0 "" 2
5103 .LVL451:
5104 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1659
5105 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1660
5106 .thumb
5107 .syntax unified
5108 .LBE477:
5109 .LBE476:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5110 .loc 1 2137 5 discriminator 1 view .LVU1661
5111 00de 0029 cmp r1, #0
5112 00e0 F3D1 bne .L264
5113 .LBE473:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5114 .loc 1 2137 5 is_stmt 1 discriminator 2 view .LVU1662
2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5115 .loc 1 2140 5 discriminator 2 view .LVU1663
2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5116 .loc 1 2140 14 is_stmt 0 discriminator 2 view .LVU1664
5117 00e2 E06B ldr r0, [r4, #60]
2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5118 .loc 1 2140 8 discriminator 2 view .LVU1665
5119 00e4 A8B1 cbz r0, .L263
2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5120 .loc 1 2146 7 is_stmt 1 view .LVU1666
2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5121 .loc 1 2146 11 is_stmt 0 view .LVU1667
5122 00e6 FFF7FEFF bl HAL_DMA_Abort_IT
5123 .LVL452:
2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5124 .loc 1 2146 10 view .LVU1668
ARM GAS /tmp/cc4vHZRy.s page 192
5125 00ea A0B1 cbz r0, .L265
2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
5126 .loc 1 2148 9 is_stmt 1 view .LVU1669
2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
5127 .loc 1 2148 14 is_stmt 0 view .LVU1670
5128 00ec E36B ldr r3, [r4, #60]
2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
5129 .loc 1 2148 42 view .LVU1671
5130 00ee 0022 movs r2, #0
5131 00f0 1A65 str r2, [r3, #80]
2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5132 .loc 1 2149 9 is_stmt 1 view .LVU1672
5133 .LVL453:
2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5134 .loc 1 2159 3 view .LVU1673
5135 .L266:
2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5136 .loc 1 2162 5 view .LVU1674
2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5137 .loc 1 2162 24 is_stmt 0 view .LVU1675
5138 00f2 0023 movs r3, #0
5139 00f4 E384 strh r3, [r4, #38] @ movhi
2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5140 .loc 1 2163 5 is_stmt 1 view .LVU1676
2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5141 .loc 1 2163 24 is_stmt 0 view .LVU1677
5142 00f6 E385 strh r3, [r4, #46] @ movhi
2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5143 .loc 1 2166 5 is_stmt 1 view .LVU1678
2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5144 .loc 1 2166 22 is_stmt 0 view .LVU1679
5145 00f8 6364 str r3, [r4, #68]
2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5146 .loc 1 2169 5 is_stmt 1 view .LVU1680
2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5147 .loc 1 2169 20 is_stmt 0 view .LVU1681
5148 00fa 2022 movs r2, #32
5149 00fc 84F84120 strb r2, [r4, #65]
2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5150 .loc 1 2170 5 is_stmt 1 view .LVU1682
2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5151 .loc 1 2170 20 is_stmt 0 view .LVU1683
5152 0100 84F84220 strb r2, [r4, #66]
2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5153 .loc 1 2171 5 is_stmt 1 view .LVU1684
2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5154 .loc 1 2171 26 is_stmt 0 view .LVU1685
5155 0104 2363 str r3, [r4, #48]
2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5156 .loc 1 2179 5 is_stmt 1 view .LVU1686
5157 0106 2046 mov r0, r4
5158 0108 FFF7FEFF bl HAL_UART_AbortCpltCallback
5159 .LVL454:
5160 010c 03E0 b .L265
5161 .LVL455:
5162 .L268:
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 193
5163 .loc 1 2067 12 is_stmt 0 view .LVU1687
5164 010e 0125 movs r5, #1
5165 0110 D6E7 b .L261
5166 .LVL456:
5167 .L263:
2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5168 .loc 1 2159 3 is_stmt 1 view .LVU1688
2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5169 .loc 1 2159 6 is_stmt 0 view .LVU1689
5170 0112 012D cmp r5, #1
5171 0114 EDD0 beq .L266
5172 .LVL457:
5173 .L265:
2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5174 .loc 1 2183 3 is_stmt 1 view .LVU1690
2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5175 .loc 1 2184 1 is_stmt 0 view .LVU1691
5176 0116 0020 movs r0, #0
5177 0118 38BD pop {r3, r4, r5, pc}
5178 .LVL458:
5179 .L271:
2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5180 .loc 1 2184 1 view .LVU1692
5181 011a 00BF .align 2
5182 .L270:
5183 011c 00000000 .word UART_DMATxAbortCallback
5184 0120 00000000 .word UART_DMARxAbortCallback
5185 .cfi_endproc
5186 .LFE157:
5188 .section .text.UART_DMARxAbortCallback,"ax",%progbits
5189 .align 1
5190 .syntax unified
5191 .thumb
5192 .thumb_func
5194 UART_DMARxAbortCallback:
5195 .LVL459:
5196 .LFB189:
3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5197 .loc 1 3464 1 is_stmt 1 view -0
5198 .cfi_startproc
5199 @ args = 0, pretend = 0, frame = 0
5200 @ frame_needed = 0, uses_anonymous_args = 0
3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5201 .loc 1 3464 1 is_stmt 0 view .LVU1694
5202 0000 08B5 push {r3, lr}
5203 .LCFI40:
5204 .cfi_def_cfa_offset 8
5205 .cfi_offset 3, -8
5206 .cfi_offset 14, -4
3465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5207 .loc 1 3465 3 is_stmt 1 view .LVU1695
3465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5208 .loc 1 3465 23 is_stmt 0 view .LVU1696
5209 0002 806B ldr r0, [r0, #56]
5210 .LVL460:
3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5211 .loc 1 3467 3 is_stmt 1 view .LVU1697
ARM GAS /tmp/cc4vHZRy.s page 194
3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5212 .loc 1 3467 8 is_stmt 0 view .LVU1698
5213 0004 C36B ldr r3, [r0, #60]
3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5214 .loc 1 3467 36 view .LVU1699
5215 0006 0022 movs r2, #0
5216 0008 1A65 str r2, [r3, #80]
3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5217 .loc 1 3470 3 is_stmt 1 view .LVU1700
3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5218 .loc 1 3470 12 is_stmt 0 view .LVU1701
5219 000a 836B ldr r3, [r0, #56]
3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5220 .loc 1 3470 6 view .LVU1702
5221 000c 0BB1 cbz r3, .L273
3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5222 .loc 1 3472 5 is_stmt 1 view .LVU1703
3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5223 .loc 1 3472 22 is_stmt 0 view .LVU1704
5224 000e 1B6D ldr r3, [r3, #80]
3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5225 .loc 1 3472 8 view .LVU1705
5226 0010 5BB9 cbnz r3, .L272
5227 .L273:
3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5228 .loc 1 3479 3 is_stmt 1 view .LVU1706
3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5229 .loc 1 3479 22 is_stmt 0 view .LVU1707
5230 0012 0023 movs r3, #0
5231 0014 C384 strh r3, [r0, #38] @ movhi
3480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5232 .loc 1 3480 3 is_stmt 1 view .LVU1708
3480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5233 .loc 1 3480 22 is_stmt 0 view .LVU1709
5234 0016 C385 strh r3, [r0, #46] @ movhi
3483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5235 .loc 1 3483 3 is_stmt 1 view .LVU1710
3483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5236 .loc 1 3483 20 is_stmt 0 view .LVU1711
5237 0018 4364 str r3, [r0, #68]
3486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5238 .loc 1 3486 3 is_stmt 1 view .LVU1712
3486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5239 .loc 1 3486 18 is_stmt 0 view .LVU1713
5240 001a 2022 movs r2, #32
5241 001c 80F84120 strb r2, [r0, #65]
3487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5242 .loc 1 3487 3 is_stmt 1 view .LVU1714
3487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5243 .loc 1 3487 18 is_stmt 0 view .LVU1715
5244 0020 80F84220 strb r2, [r0, #66]
3488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5245 .loc 1 3488 3 is_stmt 1 view .LVU1716
3488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5246 .loc 1 3488 24 is_stmt 0 view .LVU1717
5247 0024 0363 str r3, [r0, #48]
3496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/cc4vHZRy.s page 195
5248 .loc 1 3496 3 is_stmt 1 view .LVU1718
5249 0026 FFF7FEFF bl HAL_UART_AbortCpltCallback
5250 .LVL461:
5251 .L272:
3498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5252 .loc 1 3498 1 is_stmt 0 view .LVU1719
5253 002a 08BD pop {r3, pc}
5254 .cfi_endproc
5255 .LFE189:
5257 .section .text.UART_DMATxAbortCallback,"ax",%progbits
5258 .align 1
5259 .syntax unified
5260 .thumb
5261 .thumb_func
5263 UART_DMATxAbortCallback:
5264 .LVL462:
5265 .LFB188:
3418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5266 .loc 1 3418 1 is_stmt 1 view -0
5267 .cfi_startproc
5268 @ args = 0, pretend = 0, frame = 0
5269 @ frame_needed = 0, uses_anonymous_args = 0
3418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5270 .loc 1 3418 1 is_stmt 0 view .LVU1721
5271 0000 08B5 push {r3, lr}
5272 .LCFI41:
5273 .cfi_def_cfa_offset 8
5274 .cfi_offset 3, -8
5275 .cfi_offset 14, -4
3419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5276 .loc 1 3419 3 is_stmt 1 view .LVU1722
3419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5277 .loc 1 3419 23 is_stmt 0 view .LVU1723
5278 0002 806B ldr r0, [r0, #56]
5279 .LVL463:
3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5280 .loc 1 3421 3 is_stmt 1 view .LVU1724
3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5281 .loc 1 3421 8 is_stmt 0 view .LVU1725
5282 0004 836B ldr r3, [r0, #56]
3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5283 .loc 1 3421 36 view .LVU1726
5284 0006 0022 movs r2, #0
5285 0008 1A65 str r2, [r3, #80]
3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5286 .loc 1 3424 3 is_stmt 1 view .LVU1727
3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5287 .loc 1 3424 12 is_stmt 0 view .LVU1728
5288 000a C36B ldr r3, [r0, #60]
3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5289 .loc 1 3424 6 view .LVU1729
5290 000c 0BB1 cbz r3, .L277
3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5291 .loc 1 3426 5 is_stmt 1 view .LVU1730
3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5292 .loc 1 3426 22 is_stmt 0 view .LVU1731
5293 000e 1B6D ldr r3, [r3, #80]
ARM GAS /tmp/cc4vHZRy.s page 196
3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5294 .loc 1 3426 8 view .LVU1732
5295 0010 5BB9 cbnz r3, .L276
5296 .L277:
3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5297 .loc 1 3433 3 is_stmt 1 view .LVU1733
3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5298 .loc 1 3433 22 is_stmt 0 view .LVU1734
5299 0012 0023 movs r3, #0
5300 0014 C384 strh r3, [r0, #38] @ movhi
3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5301 .loc 1 3434 3 is_stmt 1 view .LVU1735
3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5302 .loc 1 3434 22 is_stmt 0 view .LVU1736
5303 0016 C385 strh r3, [r0, #46] @ movhi
3437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5304 .loc 1 3437 3 is_stmt 1 view .LVU1737
3437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5305 .loc 1 3437 20 is_stmt 0 view .LVU1738
5306 0018 4364 str r3, [r0, #68]
3440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5307 .loc 1 3440 3 is_stmt 1 view .LVU1739
3440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5308 .loc 1 3440 18 is_stmt 0 view .LVU1740
5309 001a 2022 movs r2, #32
5310 001c 80F84120 strb r2, [r0, #65]
3441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5311 .loc 1 3441 3 is_stmt 1 view .LVU1741
3441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5312 .loc 1 3441 18 is_stmt 0 view .LVU1742
5313 0020 80F84220 strb r2, [r0, #66]
3442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5314 .loc 1 3442 3 is_stmt 1 view .LVU1743
3442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5315 .loc 1 3442 24 is_stmt 0 view .LVU1744
5316 0024 0363 str r3, [r0, #48]
3450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5317 .loc 1 3450 3 is_stmt 1 view .LVU1745
5318 0026 FFF7FEFF bl HAL_UART_AbortCpltCallback
5319 .LVL464:
5320 .L276:
3452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5321 .loc 1 3452 1 is_stmt 0 view .LVU1746
5322 002a 08BD pop {r3, pc}
5323 .cfi_endproc
5324 .LFE188:
5326 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
5327 .align 1
5328 .weak HAL_UART_AbortTransmitCpltCallback
5329 .syntax unified
5330 .thumb
5331 .thumb_func
5333 HAL_UART_AbortTransmitCpltCallback:
5334 .LVL465:
5335 .LFB167:
2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
5336 .loc 1 2709 1 is_stmt 1 view -0
ARM GAS /tmp/cc4vHZRy.s page 197
5337 .cfi_startproc
5338 @ args = 0, pretend = 0, frame = 0
5339 @ frame_needed = 0, uses_anonymous_args = 0
5340 @ link register save eliminated.
2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5341 .loc 1 2711 3 view .LVU1748
2716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5342 .loc 1 2716 1 is_stmt 0 view .LVU1749
5343 0000 7047 bx lr
5344 .cfi_endproc
5345 .LFE167:
5347 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
5348 .align 1
5349 .global HAL_UART_AbortTransmit_IT
5350 .syntax unified
5351 .thumb
5352 .thumb_func
5354 HAL_UART_AbortTransmit_IT:
5355 .LVL466:
5356 .LFB158:
2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
5357 .loc 1 2201 1 is_stmt 1 view -0
5358 .cfi_startproc
5359 @ args = 0, pretend = 0, frame = 0
5360 @ frame_needed = 0, uses_anonymous_args = 0
2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
5361 .loc 1 2201 1 is_stmt 0 view .LVU1751
5362 0000 10B5 push {r4, lr}
5363 .LCFI42:
5364 .cfi_def_cfa_offset 8
5365 .cfi_offset 4, -8
5366 .cfi_offset 14, -4
5367 0002 0446 mov r4, r0
5368 .L282:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5369 .loc 1 2203 3 is_stmt 1 discriminator 1 view .LVU1752
5370 .LBB478:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5371 .loc 1 2203 3 discriminator 1 view .LVU1753
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5372 .loc 1 2203 3 discriminator 1 view .LVU1754
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5373 .loc 1 2203 3 discriminator 1 view .LVU1755
5374 0004 2268 ldr r2, [r4]
5375 .LVL467:
5376 .LBB479:
5377 .LBI479:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5378 .loc 2 476 31 discriminator 1 view .LVU1756
5379 .LBB480:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5380 .loc 2 478 5 discriminator 1 view .LVU1757
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5381 .loc 2 480 4 discriminator 1 view .LVU1758
5382 0006 02F10C03 add r3, r2, #12
5383 .LVL468:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc4vHZRy.s page 198
5384 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1759
5385 .syntax unified
5386 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5387 000a 53E8003F ldrex r3, [r3]
5388 @ 0 "" 2
5389 .LVL469:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5390 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1760
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5391 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1761
5392 .thumb
5393 .syntax unified
5394 .LBE480:
5395 .LBE479:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5396 .loc 1 2203 3 discriminator 1 view .LVU1762
5397 000e 23F0C003 bic r3, r3, #192
5398 .LVL470:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5399 .loc 1 2203 3 is_stmt 1 discriminator 1 view .LVU1763
5400 .LBB481:
5401 .LBI481:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5402 .loc 2 527 31 discriminator 1 view .LVU1764
5403 .LBB482:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5404 .loc 2 529 4 discriminator 1 view .LVU1765
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5405 .loc 2 531 4 discriminator 1 view .LVU1766
5406 0012 0C32 adds r2, r2, #12
5407 .LVL471:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5408 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1767
5409 .syntax unified
5410 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5411 0014 42E80031 strex r1, r3, [r2]
5412 @ 0 "" 2
5413 .LVL472:
5414 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1768
5415 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1769
5416 .thumb
5417 .syntax unified
5418 .LBE482:
5419 .LBE481:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5420 .loc 1 2203 3 discriminator 1 view .LVU1770
5421 0018 0029 cmp r1, #0
5422 001a F3D1 bne .L282
5423 .LBE478:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5424 .loc 1 2203 3 is_stmt 1 discriminator 2 view .LVU1771
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5425 .loc 1 2206 3 discriminator 2 view .LVU1772
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5426 .loc 1 2206 7 is_stmt 0 discriminator 2 view .LVU1773
5427 001c 2368 ldr r3, [r4]
5428 .LVL473:
ARM GAS /tmp/cc4vHZRy.s page 199
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5429 .loc 1 2206 7 discriminator 2 view .LVU1774
5430 001e 5B69 ldr r3, [r3, #20]
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5431 .loc 1 2206 6 discriminator 2 view .LVU1775
5432 0020 13F0800F tst r3, #128
5433 0024 20D0 beq .L283
5434 .L284:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5435 .loc 1 2208 5 is_stmt 1 discriminator 1 view .LVU1776
5436 .LBB483:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5437 .loc 1 2208 5 discriminator 1 view .LVU1777
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5438 .loc 1 2208 5 discriminator 1 view .LVU1778
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5439 .loc 1 2208 5 discriminator 1 view .LVU1779
5440 0026 2268 ldr r2, [r4]
5441 .LVL474:
5442 .LBB484:
5443 .LBI484:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5444 .loc 2 476 31 discriminator 1 view .LVU1780
5445 .LBB485:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5446 .loc 2 478 5 discriminator 1 view .LVU1781
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5447 .loc 2 480 4 discriminator 1 view .LVU1782
5448 0028 02F11403 add r3, r2, #20
5449 .LVL475:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5450 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1783
5451 .syntax unified
5452 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5453 002c 53E8003F ldrex r3, [r3]
5454 @ 0 "" 2
5455 .LVL476:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5456 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1784
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5457 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1785
5458 .thumb
5459 .syntax unified
5460 .LBE485:
5461 .LBE484:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5462 .loc 1 2208 5 discriminator 1 view .LVU1786
5463 0030 23F08003 bic r3, r3, #128
5464 .LVL477:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5465 .loc 1 2208 5 is_stmt 1 discriminator 1 view .LVU1787
5466 .LBB486:
5467 .LBI486:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5468 .loc 2 527 31 discriminator 1 view .LVU1788
5469 .LBB487:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/cc4vHZRy.s page 200
5470 .loc 2 529 4 discriminator 1 view .LVU1789
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5471 .loc 2 531 4 discriminator 1 view .LVU1790
5472 0034 1432 adds r2, r2, #20
5473 .LVL478:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5474 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1791
5475 .syntax unified
5476 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5477 0036 42E80031 strex r1, r3, [r2]
5478 @ 0 "" 2
5479 .LVL479:
5480 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1792
5481 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1793
5482 .thumb
5483 .syntax unified
5484 .LBE487:
5485 .LBE486:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5486 .loc 1 2208 5 discriminator 1 view .LVU1794
5487 003a 0029 cmp r1, #0
5488 003c F3D1 bne .L284
5489 .LBE483:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5490 .loc 1 2208 5 is_stmt 1 discriminator 2 view .LVU1795
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5491 .loc 1 2211 5 discriminator 2 view .LVU1796
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5492 .loc 1 2211 14 is_stmt 0 discriminator 2 view .LVU1797
5493 003e A36B ldr r3, [r4, #56]
5494 .LVL480:
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5495 .loc 1 2211 8 discriminator 2 view .LVU1798
5496 0040 4BB1 cbz r3, .L285
2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5497 .loc 1 2215 7 is_stmt 1 view .LVU1799
2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5498 .loc 1 2215 40 is_stmt 0 view .LVU1800
5499 0042 0E4A ldr r2, .L288
5500 0044 1A65 str r2, [r3, #80]
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5501 .loc 1 2218 7 is_stmt 1 view .LVU1801
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5502 .loc 1 2218 11 is_stmt 0 view .LVU1802
5503 0046 A06B ldr r0, [r4, #56]
5504 .LVL481:
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5505 .loc 1 2218 11 view .LVU1803
5506 0048 FFF7FEFF bl HAL_DMA_Abort_IT
5507 .LVL482:
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5508 .loc 1 2218 10 view .LVU1804
5509 004c A0B1 cbz r0, .L286
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5510 .loc 1 2221 9 is_stmt 1 view .LVU1805
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5511 .loc 1 2221 14 is_stmt 0 view .LVU1806
ARM GAS /tmp/cc4vHZRy.s page 201
5512 004e A06B ldr r0, [r4, #56]
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5513 .loc 1 2221 22 view .LVU1807
5514 0050 036D ldr r3, [r0, #80]
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5515 .loc 1 2221 9 view .LVU1808
5516 0052 9847 blx r3
5517 .LVL483:
5518 0054 10E0 b .L286
5519 .LVL484:
5520 .L285:
2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5521 .loc 1 2227 7 is_stmt 1 view .LVU1809
2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5522 .loc 1 2227 26 is_stmt 0 view .LVU1810
5523 0056 0023 movs r3, #0
5524 0058 E384 strh r3, [r4, #38] @ movhi
2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5525 .loc 1 2230 7 is_stmt 1 view .LVU1811
2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5526 .loc 1 2230 21 is_stmt 0 view .LVU1812
5527 005a 2023 movs r3, #32
5528 005c 84F84130 strb r3, [r4, #65]
2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5529 .loc 1 2238 7 is_stmt 1 view .LVU1813
5530 0060 2046 mov r0, r4
5531 .LVL485:
2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5532 .loc 1 2238 7 is_stmt 0 view .LVU1814
5533 0062 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
5534 .LVL486:
5535 0066 07E0 b .L286
5536 .LVL487:
5537 .L283:
2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5538 .loc 1 2245 5 is_stmt 1 view .LVU1815
2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5539 .loc 1 2245 24 is_stmt 0 view .LVU1816
5540 0068 0023 movs r3, #0
5541 006a E384 strh r3, [r4, #38] @ movhi
2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5542 .loc 1 2248 5 is_stmt 1 view .LVU1817
2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5543 .loc 1 2248 19 is_stmt 0 view .LVU1818
5544 006c 2023 movs r3, #32
5545 006e 84F84130 strb r3, [r4, #65]
2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5546 .loc 1 2256 5 is_stmt 1 view .LVU1819
5547 0072 2046 mov r0, r4
5548 .LVL488:
2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5549 .loc 1 2256 5 is_stmt 0 view .LVU1820
5550 0074 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
5551 .LVL489:
5552 .L286:
2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5553 .loc 1 2260 3 is_stmt 1 view .LVU1821
ARM GAS /tmp/cc4vHZRy.s page 202
2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5554 .loc 1 2261 1 is_stmt 0 view .LVU1822
5555 0078 0020 movs r0, #0
5556 007a 10BD pop {r4, pc}
5557 .LVL490:
5558 .L289:
2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5559 .loc 1 2261 1 view .LVU1823
5560 .align 2
5561 .L288:
5562 007c 00000000 .word UART_DMATxOnlyAbortCallback
5563 .cfi_endproc
5564 .LFE158:
5566 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
5567 .align 1
5568 .syntax unified
5569 .thumb
5570 .thumb_func
5572 UART_DMATxOnlyAbortCallback:
5573 .LVL491:
5574 .LFB190:
3510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5575 .loc 1 3510 1 is_stmt 1 view -0
5576 .cfi_startproc
5577 @ args = 0, pretend = 0, frame = 0
5578 @ frame_needed = 0, uses_anonymous_args = 0
3510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5579 .loc 1 3510 1 is_stmt 0 view .LVU1825
5580 0000 08B5 push {r3, lr}
5581 .LCFI43:
5582 .cfi_def_cfa_offset 8
5583 .cfi_offset 3, -8
5584 .cfi_offset 14, -4
3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5585 .loc 1 3511 3 is_stmt 1 view .LVU1826
3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5586 .loc 1 3511 23 is_stmt 0 view .LVU1827
5587 0002 806B ldr r0, [r0, #56]
5588 .LVL492:
3513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5589 .loc 1 3513 3 is_stmt 1 view .LVU1828
3513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5590 .loc 1 3513 22 is_stmt 0 view .LVU1829
5591 0004 0023 movs r3, #0
5592 0006 C384 strh r3, [r0, #38] @ movhi
3516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5593 .loc 1 3516 3 is_stmt 1 view .LVU1830
3516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5594 .loc 1 3516 17 is_stmt 0 view .LVU1831
5595 0008 2023 movs r3, #32
5596 000a 80F84130 strb r3, [r0, #65]
3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5597 .loc 1 3524 3 is_stmt 1 view .LVU1832
5598 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
5599 .LVL493:
3526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5600 .loc 1 3526 1 is_stmt 0 view .LVU1833
ARM GAS /tmp/cc4vHZRy.s page 203
5601 0012 08BD pop {r3, pc}
5602 .cfi_endproc
5603 .LFE190:
5605 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
5606 .align 1
5607 .weak HAL_UART_AbortReceiveCpltCallback
5608 .syntax unified
5609 .thumb
5610 .thumb_func
5612 HAL_UART_AbortReceiveCpltCallback:
5613 .LVL494:
5614 .LFB168:
2724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
5615 .loc 1 2724 1 is_stmt 1 view -0
5616 .cfi_startproc
5617 @ args = 0, pretend = 0, frame = 0
5618 @ frame_needed = 0, uses_anonymous_args = 0
5619 @ link register save eliminated.
2726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5620 .loc 1 2726 3 view .LVU1835
2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5621 .loc 1 2731 1 is_stmt 0 view .LVU1836
5622 0000 7047 bx lr
5623 .cfi_endproc
5624 .LFE168:
5626 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
5627 .align 1
5628 .global HAL_UART_AbortReceive_IT
5629 .syntax unified
5630 .thumb
5631 .thumb_func
5633 HAL_UART_AbortReceive_IT:
5634 .LVL495:
5635 .LFB159:
2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
5636 .loc 1 2278 1 is_stmt 1 view -0
5637 .cfi_startproc
5638 @ args = 0, pretend = 0, frame = 0
5639 @ frame_needed = 0, uses_anonymous_args = 0
2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
5640 .loc 1 2278 1 is_stmt 0 view .LVU1838
5641 0000 10B5 push {r4, lr}
5642 .LCFI44:
5643 .cfi_def_cfa_offset 8
5644 .cfi_offset 4, -8
5645 .cfi_offset 14, -4
5646 0002 0446 mov r4, r0
5647 .L294:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5648 .loc 1 2280 3 is_stmt 1 discriminator 1 view .LVU1839
5649 .LBB488:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5650 .loc 1 2280 3 discriminator 1 view .LVU1840
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5651 .loc 1 2280 3 discriminator 1 view .LVU1841
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5652 .loc 1 2280 3 discriminator 1 view .LVU1842
ARM GAS /tmp/cc4vHZRy.s page 204
5653 0004 2268 ldr r2, [r4]
5654 .LVL496:
5655 .LBB489:
5656 .LBI489:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5657 .loc 2 476 31 discriminator 1 view .LVU1843
5658 .LBB490:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5659 .loc 2 478 5 discriminator 1 view .LVU1844
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5660 .loc 2 480 4 discriminator 1 view .LVU1845
5661 0006 02F10C03 add r3, r2, #12
5662 .LVL497:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5663 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1846
5664 .syntax unified
5665 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5666 000a 53E8003F ldrex r3, [r3]
5667 @ 0 "" 2
5668 .LVL498:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5669 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1847
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5670 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1848
5671 .thumb
5672 .syntax unified
5673 .LBE490:
5674 .LBE489:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5675 .loc 1 2280 3 discriminator 1 view .LVU1849
5676 000e 23F49073 bic r3, r3, #288
5677 .LVL499:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5678 .loc 1 2280 3 is_stmt 1 discriminator 1 view .LVU1850
5679 .LBB491:
5680 .LBI491:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5681 .loc 2 527 31 discriminator 1 view .LVU1851
5682 .LBB492:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5683 .loc 2 529 4 discriminator 1 view .LVU1852
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5684 .loc 2 531 4 discriminator 1 view .LVU1853
5685 0012 0C32 adds r2, r2, #12
5686 .LVL500:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5687 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1854
5688 .syntax unified
5689 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5690 0014 42E80031 strex r1, r3, [r2]
5691 @ 0 "" 2
5692 .LVL501:
5693 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1855
5694 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1856
5695 .thumb
5696 .syntax unified
5697 .LBE492:
ARM GAS /tmp/cc4vHZRy.s page 205
5698 .LBE491:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5699 .loc 1 2280 3 discriminator 1 view .LVU1857
5700 0018 0029 cmp r1, #0
5701 001a F3D1 bne .L294
5702 .LVL502:
5703 .L295:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5704 .loc 1 2280 3 discriminator 1 view .LVU1858
5705 .LBE488:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5706 .loc 1 2280 3 is_stmt 1 discriminator 1 view .LVU1859
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5707 .loc 1 2281 3 discriminator 1 view .LVU1860
5708 .LBB493:
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5709 .loc 1 2281 3 discriminator 1 view .LVU1861
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5710 .loc 1 2281 3 discriminator 1 view .LVU1862
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5711 .loc 1 2281 3 discriminator 1 view .LVU1863
5712 001c 2268 ldr r2, [r4]
5713 .LVL503:
5714 .LBB494:
5715 .LBI494:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5716 .loc 2 476 31 discriminator 1 view .LVU1864
5717 .LBB495:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5718 .loc 2 478 5 discriminator 1 view .LVU1865
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5719 .loc 2 480 4 discriminator 1 view .LVU1866
5720 001e 02F11403 add r3, r2, #20
5721 .LVL504:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5722 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1867
5723 .syntax unified
5724 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5725 0022 53E8003F ldrex r3, [r3]
5726 @ 0 "" 2
5727 .LVL505:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5728 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1868
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5729 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1869
5730 .thumb
5731 .syntax unified
5732 .LBE495:
5733 .LBE494:
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5734 .loc 1 2281 3 discriminator 1 view .LVU1870
5735 0026 23F00103 bic r3, r3, #1
5736 .LVL506:
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5737 .loc 1 2281 3 is_stmt 1 discriminator 1 view .LVU1871
5738 .LBB496:
5739 .LBI496:
ARM GAS /tmp/cc4vHZRy.s page 206
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5740 .loc 2 527 31 discriminator 1 view .LVU1872
5741 .LBB497:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5742 .loc 2 529 4 discriminator 1 view .LVU1873
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5743 .loc 2 531 4 discriminator 1 view .LVU1874
5744 002a 1432 adds r2, r2, #20
5745 .LVL507:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5746 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1875
5747 .syntax unified
5748 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5749 002c 42E80031 strex r1, r3, [r2]
5750 @ 0 "" 2
5751 .LVL508:
5752 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1876
5753 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1877
5754 .thumb
5755 .syntax unified
5756 .LBE497:
5757 .LBE496:
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5758 .loc 1 2281 3 discriminator 1 view .LVU1878
5759 0030 0029 cmp r1, #0
5760 0032 F3D1 bne .L295
5761 .LBE493:
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5762 .loc 1 2281 3 is_stmt 1 discriminator 2 view .LVU1879
2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5763 .loc 1 2284 3 discriminator 2 view .LVU1880
2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5764 .loc 1 2284 12 is_stmt 0 discriminator 2 view .LVU1881
5765 0034 236B ldr r3, [r4, #48]
5766 .LVL509:
2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5767 .loc 1 2284 6 discriminator 2 view .LVU1882
5768 0036 012B cmp r3, #1
5769 0038 1CD0 beq .L297
5770 .L296:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5771 .loc 1 2286 5 is_stmt 1 discriminator 2 view .LVU1883
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5772 .loc 1 2290 3 discriminator 2 view .LVU1884
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5773 .loc 1 2290 7 is_stmt 0 discriminator 2 view .LVU1885
5774 003a 2368 ldr r3, [r4]
5775 003c 5B69 ldr r3, [r3, #20]
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5776 .loc 1 2290 6 discriminator 2 view .LVU1886
5777 003e 13F0400F tst r3, #64
5778 0042 2ED0 beq .L298
5779 .L299:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5780 .loc 1 2292 5 is_stmt 1 discriminator 1 view .LVU1887
5781 .LBB498:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 207
5782 .loc 1 2292 5 discriminator 1 view .LVU1888
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5783 .loc 1 2292 5 discriminator 1 view .LVU1889
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5784 .loc 1 2292 5 discriminator 1 view .LVU1890
5785 0044 2268 ldr r2, [r4]
5786 .LVL510:
5787 .LBB499:
5788 .LBI499:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5789 .loc 2 476 31 discriminator 1 view .LVU1891
5790 .LBB500:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5791 .loc 2 478 5 discriminator 1 view .LVU1892
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5792 .loc 2 480 4 discriminator 1 view .LVU1893
5793 0046 02F11403 add r3, r2, #20
5794 .LVL511:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5795 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1894
5796 .syntax unified
5797 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5798 004a 53E8003F ldrex r3, [r3]
5799 @ 0 "" 2
5800 .LVL512:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5801 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1895
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5802 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1896
5803 .thumb
5804 .syntax unified
5805 .LBE500:
5806 .LBE499:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5807 .loc 1 2292 5 discriminator 1 view .LVU1897
5808 004e 23F04003 bic r3, r3, #64
5809 .LVL513:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5810 .loc 1 2292 5 is_stmt 1 discriminator 1 view .LVU1898
5811 .LBB501:
5812 .LBI501:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5813 .loc 2 527 31 discriminator 1 view .LVU1899
5814 .LBB502:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5815 .loc 2 529 4 discriminator 1 view .LVU1900
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5816 .loc 2 531 4 discriminator 1 view .LVU1901
5817 0052 1432 adds r2, r2, #20
5818 .LVL514:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5819 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1902
5820 .syntax unified
5821 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5822 0054 42E80031 strex r1, r3, [r2]
5823 @ 0 "" 2
5824 .LVL515:
ARM GAS /tmp/cc4vHZRy.s page 208
5825 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1903
5826 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1904
5827 .thumb
5828 .syntax unified
5829 .LBE502:
5830 .LBE501:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5831 .loc 1 2292 5 discriminator 1 view .LVU1905
5832 0058 0029 cmp r1, #0
5833 005a F3D1 bne .L299
5834 .LBE498:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5835 .loc 1 2292 5 is_stmt 1 discriminator 2 view .LVU1906
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5836 .loc 1 2295 5 discriminator 2 view .LVU1907
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5837 .loc 1 2295 14 is_stmt 0 discriminator 2 view .LVU1908
5838 005c E36B ldr r3, [r4, #60]
5839 .LVL516:
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5840 .loc 1 2295 8 discriminator 2 view .LVU1909
5841 005e B3B1 cbz r3, .L300
2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5842 .loc 1 2299 7 is_stmt 1 view .LVU1910
2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5843 .loc 1 2299 40 is_stmt 0 view .LVU1911
5844 0060 154A ldr r2, .L303
5845 0062 1A65 str r2, [r3, #80]
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5846 .loc 1 2302 7 is_stmt 1 view .LVU1912
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5847 .loc 1 2302 11 is_stmt 0 view .LVU1913
5848 0064 E06B ldr r0, [r4, #60]
5849 .LVL517:
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5850 .loc 1 2302 11 view .LVU1914
5851 0066 FFF7FEFF bl HAL_DMA_Abort_IT
5852 .LVL518:
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5853 .loc 1 2302 10 view .LVU1915
5854 006a 18B3 cbz r0, .L301
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5855 .loc 1 2305 9 is_stmt 1 view .LVU1916
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5856 .loc 1 2305 14 is_stmt 0 view .LVU1917
5857 006c E06B ldr r0, [r4, #60]
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5858 .loc 1 2305 22 view .LVU1918
5859 006e 036D ldr r3, [r0, #80]
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5860 .loc 1 2305 9 view .LVU1919
5861 0070 9847 blx r3
5862 .LVL519:
5863 0072 1FE0 b .L301
5864 .LVL520:
5865 .L297:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 209
5866 .loc 1 2286 5 is_stmt 1 discriminator 1 view .LVU1920
5867 .LBB503:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5868 .loc 1 2286 5 discriminator 1 view .LVU1921
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5869 .loc 1 2286 5 discriminator 1 view .LVU1922
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5870 .loc 1 2286 5 discriminator 1 view .LVU1923
5871 0074 2268 ldr r2, [r4]
5872 .LVL521:
5873 .LBB504:
5874 .LBI504:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5875 .loc 2 476 31 discriminator 1 view .LVU1924
5876 .LBB505:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5877 .loc 2 478 5 discriminator 1 view .LVU1925
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5878 .loc 2 480 4 discriminator 1 view .LVU1926
5879 0076 02F10C03 add r3, r2, #12
5880 .LVL522:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5881 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1927
5882 .syntax unified
5883 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5884 007a 53E8003F ldrex r3, [r3]
5885 @ 0 "" 2
5886 .LVL523:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5887 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1928
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5888 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1929
5889 .thumb
5890 .syntax unified
5891 .LBE505:
5892 .LBE504:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5893 .loc 1 2286 5 discriminator 1 view .LVU1930
5894 007e 23F01003 bic r3, r3, #16
5895 .LVL524:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5896 .loc 1 2286 5 is_stmt 1 discriminator 1 view .LVU1931
5897 .LBB506:
5898 .LBI506:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5899 .loc 2 527 31 discriminator 1 view .LVU1932
5900 .LBB507:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5901 .loc 2 529 4 discriminator 1 view .LVU1933
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5902 .loc 2 531 4 discriminator 1 view .LVU1934
5903 0082 0C32 adds r2, r2, #12
5904 .LVL525:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5905 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1935
5906 .syntax unified
5907 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
ARM GAS /tmp/cc4vHZRy.s page 210
5908 0084 42E80031 strex r1, r3, [r2]
5909 @ 0 "" 2
5910 .LVL526:
5911 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1936
5912 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1937
5913 .thumb
5914 .syntax unified
5915 .LBE507:
5916 .LBE506:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5917 .loc 1 2286 5 discriminator 1 view .LVU1938
5918 0088 0029 cmp r1, #0
5919 008a F3D1 bne .L297
5920 008c D5E7 b .L296
5921 .LVL527:
5922 .L300:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5923 .loc 1 2286 5 discriminator 1 view .LVU1939
5924 .LBE503:
2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5925 .loc 1 2311 7 is_stmt 1 view .LVU1940
2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5926 .loc 1 2311 26 is_stmt 0 view .LVU1941
5927 008e 0023 movs r3, #0
5928 0090 E385 strh r3, [r4, #46] @ movhi
2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5929 .loc 1 2314 7 is_stmt 1 view .LVU1942
2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5930 .loc 1 2314 22 is_stmt 0 view .LVU1943
5931 0092 2022 movs r2, #32
5932 0094 84F84220 strb r2, [r4, #66]
2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5933 .loc 1 2315 7 is_stmt 1 view .LVU1944
2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5934 .loc 1 2315 28 is_stmt 0 view .LVU1945
5935 0098 2363 str r3, [r4, #48]
2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5936 .loc 1 2323 7 is_stmt 1 view .LVU1946
5937 009a 2046 mov r0, r4
5938 .LVL528:
2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5939 .loc 1 2323 7 is_stmt 0 view .LVU1947
5940 009c FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
5941 .LVL529:
5942 00a0 08E0 b .L301
5943 .LVL530:
5944 .L298:
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5945 .loc 1 2330 5 is_stmt 1 view .LVU1948
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5946 .loc 1 2330 24 is_stmt 0 view .LVU1949
5947 00a2 0023 movs r3, #0
5948 00a4 E385 strh r3, [r4, #46] @ movhi
2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5949 .loc 1 2333 5 is_stmt 1 view .LVU1950
2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5950 .loc 1 2333 20 is_stmt 0 view .LVU1951
ARM GAS /tmp/cc4vHZRy.s page 211
5951 00a6 2022 movs r2, #32
5952 00a8 84F84220 strb r2, [r4, #66]
2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5953 .loc 1 2334 5 is_stmt 1 view .LVU1952
2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5954 .loc 1 2334 26 is_stmt 0 view .LVU1953
5955 00ac 2363 str r3, [r4, #48]
2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5956 .loc 1 2342 5 is_stmt 1 view .LVU1954
5957 00ae 2046 mov r0, r4
5958 .LVL531:
2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5959 .loc 1 2342 5 is_stmt 0 view .LVU1955
5960 00b0 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
5961 .LVL532:
5962 .L301:
2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5963 .loc 1 2346 3 is_stmt 1 view .LVU1956
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5964 .loc 1 2347 1 is_stmt 0 view .LVU1957
5965 00b4 0020 movs r0, #0
5966 00b6 10BD pop {r4, pc}
5967 .LVL533:
5968 .L304:
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5969 .loc 1 2347 1 view .LVU1958
5970 .align 2
5971 .L303:
5972 00b8 00000000 .word UART_DMARxOnlyAbortCallback
5973 .cfi_endproc
5974 .LFE159:
5976 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
5977 .align 1
5978 .syntax unified
5979 .thumb
5980 .thumb_func
5982 UART_DMARxOnlyAbortCallback:
5983 .LVL534:
5984 .LFB191:
3538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5985 .loc 1 3538 1 is_stmt 1 view -0
5986 .cfi_startproc
5987 @ args = 0, pretend = 0, frame = 0
5988 @ frame_needed = 0, uses_anonymous_args = 0
3538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5989 .loc 1 3538 1 is_stmt 0 view .LVU1960
5990 0000 08B5 push {r3, lr}
5991 .LCFI45:
5992 .cfi_def_cfa_offset 8
5993 .cfi_offset 3, -8
5994 .cfi_offset 14, -4
3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5995 .loc 1 3539 3 is_stmt 1 view .LVU1961
3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5996 .loc 1 3539 23 is_stmt 0 view .LVU1962
5997 0002 806B ldr r0, [r0, #56]
5998 .LVL535:
ARM GAS /tmp/cc4vHZRy.s page 212
3541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5999 .loc 1 3541 3 is_stmt 1 view .LVU1963
3541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6000 .loc 1 3541 22 is_stmt 0 view .LVU1964
6001 0004 0023 movs r3, #0
6002 0006 C385 strh r3, [r0, #46] @ movhi
3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6003 .loc 1 3544 3 is_stmt 1 view .LVU1965
3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6004 .loc 1 3544 18 is_stmt 0 view .LVU1966
6005 0008 2022 movs r2, #32
6006 000a 80F84220 strb r2, [r0, #66]
3545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6007 .loc 1 3545 3 is_stmt 1 view .LVU1967
3545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6008 .loc 1 3545 24 is_stmt 0 view .LVU1968
6009 000e 0363 str r3, [r0, #48]
3553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6010 .loc 1 3553 3 is_stmt 1 view .LVU1969
6011 0010 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
6012 .LVL536:
3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6013 .loc 1 3555 1 is_stmt 0 view .LVU1970
6014 0014 08BD pop {r3, pc}
6015 .cfi_endproc
6016 .LFE191:
6018 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits
6019 .align 1
6020 .weak HAL_UARTEx_RxEventCallback
6021 .syntax unified
6022 .thumb
6023 .thumb_func
6025 HAL_UARTEx_RxEventCallback:
6026 .LVL537:
6027 .LFB169:
2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
6028 .loc 1 2741 1 is_stmt 1 view -0
6029 .cfi_startproc
6030 @ args = 0, pretend = 0, frame = 0
6031 @ frame_needed = 0, uses_anonymous_args = 0
6032 @ link register save eliminated.
2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(Size);
6033 .loc 1 2743 3 view .LVU1972
2744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6034 .loc 1 2744 3 view .LVU1973
2749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6035 .loc 1 2749 1 is_stmt 0 view .LVU1974
6036 0000 7047 bx lr
6037 .cfi_endproc
6038 .LFE169:
6040 .section .text.UART_Receive_IT,"ax",%progbits
6041 .align 1
6042 .syntax unified
6043 .thumb
6044 .thumb_func
6046 UART_Receive_IT:
6047 .LVL538:
ARM GAS /tmp/cc4vHZRy.s page 213
6048 .LFB194:
3629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits = NULL;
6049 .loc 1 3629 1 is_stmt 1 view -0
6050 .cfi_startproc
6051 @ args = 0, pretend = 0, frame = 8
6052 @ frame_needed = 0, uses_anonymous_args = 0
3630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits = NULL;
6053 .loc 1 3630 3 view .LVU1976
3631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6054 .loc 1 3631 3 view .LVU1977
3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6055 .loc 1 3634 3 view .LVU1978
3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6056 .loc 1 3634 12 is_stmt 0 view .LVU1979
6057 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
6058 0004 DBB2 uxtb r3, r3
3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6059 .loc 1 3634 6 view .LVU1980
6060 0006 222B cmp r3, #34
6061 0008 69D1 bne .L319
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6062 .loc 1 3636 5 is_stmt 1 view .LVU1981
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6063 .loc 1 3636 21 is_stmt 0 view .LVU1982
6064 000a 8368 ldr r3, [r0, #8]
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6065 .loc 1 3636 8 view .LVU1983
6066 000c B3F5805F cmp r3, #4096
6067 0010 4FD0 beq .L325
6068 .L310:
3646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Unused pdata16bits */
6069 .loc 1 3646 7 is_stmt 1 view .LVU1984
3646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Unused pdata16bits */
6070 .loc 1 3646 18 is_stmt 0 view .LVU1985
6071 0012 826A ldr r2, [r0, #40]
6072 .LVL539:
3648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6073 .loc 1 3648 7 is_stmt 1 view .LVU1986
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6074 .loc 1 3650 7 view .LVU1987
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6075 .loc 1 3650 10 is_stmt 0 view .LVU1988
6076 0014 B3F5805F cmp r3, #4096
6077 0018 04D0 beq .L312
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6078 .loc 1 3650 58 discriminator 1 view .LVU1989
6079 001a 002B cmp r3, #0
6080 001c 56D1 bne .L313
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6081 .loc 1 3650 124 discriminator 2 view .LVU1990
6082 001e 0369 ldr r3, [r0, #16]
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6083 .loc 1 3650 109 discriminator 2 view .LVU1991
6084 0020 002B cmp r3, #0
6085 0022 53D1 bne .L313
6086 .L312:
3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 214
6087 .loc 1 3652 9 is_stmt 1 view .LVU1992
3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6088 .loc 1 3652 38 is_stmt 0 view .LVU1993
6089 0024 0368 ldr r3, [r0]
3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6090 .loc 1 3652 48 view .LVU1994
6091 0026 5B68 ldr r3, [r3, #4]
3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6092 .loc 1 3652 21 view .LVU1995
6093 0028 1370 strb r3, [r2]
6094 .L314:
3658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6095 .loc 1 3658 7 is_stmt 1 view .LVU1996
3658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6096 .loc 1 3658 25 is_stmt 0 view .LVU1997
6097 002a 836A ldr r3, [r0, #40]
6098 002c 0133 adds r3, r3, #1
6099 002e 8362 str r3, [r0, #40]
6100 .LVL540:
6101 .L311:
3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6102 .loc 1 3661 5 is_stmt 1 view .LVU1998
3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6103 .loc 1 3661 16 is_stmt 0 view .LVU1999
6104 0030 C38D ldrh r3, [r0, #46]
6105 0032 9BB2 uxth r3, r3
3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6106 .loc 1 3661 9 view .LVU2000
6107 0034 013B subs r3, r3, #1
6108 0036 9BB2 uxth r3, r3
3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6109 .loc 1 3661 8 view .LVU2001
6110 0038 C385 strh r3, [r0, #46] @ movhi
6111 003a 002B cmp r3, #0
6112 003c 51D1 bne .L320
3629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits = NULL;
6113 .loc 1 3629 1 view .LVU2002
6114 003e 00B5 push {lr}
6115 .LCFI46:
6116 .cfi_def_cfa_offset 4
6117 .cfi_offset 14, -4
6118 0040 83B0 sub sp, sp, #12
6119 .LCFI47:
6120 .cfi_def_cfa_offset 16
3664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6121 .loc 1 3664 7 is_stmt 1 view .LVU2003
6122 0042 0268 ldr r2, [r0]
6123 0044 D368 ldr r3, [r2, #12]
6124 0046 23F02003 bic r3, r3, #32
6125 004a D360 str r3, [r2, #12]
3667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6126 .loc 1 3667 7 view .LVU2004
6127 004c 0268 ldr r2, [r0]
6128 004e D368 ldr r3, [r2, #12]
6129 0050 23F48073 bic r3, r3, #256
6130 0054 D360 str r3, [r2, #12]
3670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 215
6131 .loc 1 3670 7 view .LVU2005
6132 0056 0268 ldr r2, [r0]
6133 0058 5369 ldr r3, [r2, #20]
6134 005a 23F00103 bic r3, r3, #1
6135 005e 5361 str r3, [r2, #20]
3673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6136 .loc 1 3673 7 view .LVU2006
3673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6137 .loc 1 3673 22 is_stmt 0 view .LVU2007
6138 0060 2023 movs r3, #32
6139 0062 80F84230 strb r3, [r0, #66]
3676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6140 .loc 1 3676 7 is_stmt 1 view .LVU2008
3676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6141 .loc 1 3676 26 is_stmt 0 view .LVU2009
6142 0066 0023 movs r3, #0
6143 0068 4363 str r3, [r0, #52]
3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6144 .loc 1 3680 7 is_stmt 1 view .LVU2010
3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6145 .loc 1 3680 16 is_stmt 0 view .LVU2011
6146 006a 036B ldr r3, [r0, #48]
3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6147 .loc 1 3680 10 view .LVU2012
6148 006c 012B cmp r3, #1
6149 006e 33D1 bne .L315
3683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6150 .loc 1 3683 9 is_stmt 1 view .LVU2013
3683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6151 .loc 1 3683 30 is_stmt 0 view .LVU2014
6152 0070 0023 movs r3, #0
6153 0072 0363 str r3, [r0, #48]
6154 .L316:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6155 .loc 1 3686 9 is_stmt 1 discriminator 1 view .LVU2015
6156 .LBB508:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6157 .loc 1 3686 9 discriminator 1 view .LVU2016
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6158 .loc 1 3686 9 discriminator 1 view .LVU2017
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6159 .loc 1 3686 9 discriminator 1 view .LVU2018
6160 0074 0268 ldr r2, [r0]
6161 .LVL541:
6162 .LBB509:
6163 .LBI509:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6164 .loc 2 476 31 discriminator 1 view .LVU2019
6165 .LBB510:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6166 .loc 2 478 5 discriminator 1 view .LVU2020
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6167 .loc 2 480 4 discriminator 1 view .LVU2021
6168 0076 02F10C03 add r3, r2, #12
6169 .LVL542:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6170 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2022
ARM GAS /tmp/cc4vHZRy.s page 216
6171 .syntax unified
6172 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6173 007a 53E8003F ldrex r3, [r3]
6174 @ 0 "" 2
6175 .LVL543:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6176 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2023
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6177 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2024
6178 .thumb
6179 .syntax unified
6180 .LBE510:
6181 .LBE509:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6182 .loc 1 3686 9 discriminator 1 view .LVU2025
6183 007e 23F01003 bic r3, r3, #16
6184 .LVL544:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6185 .loc 1 3686 9 is_stmt 1 discriminator 1 view .LVU2026
6186 .LBB511:
6187 .LBI511:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6188 .loc 2 527 31 discriminator 1 view .LVU2027
6189 .LBB512:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6190 .loc 2 529 4 discriminator 1 view .LVU2028
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6191 .loc 2 531 4 discriminator 1 view .LVU2029
6192 0082 0C32 adds r2, r2, #12
6193 .LVL545:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6194 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2030
6195 .syntax unified
6196 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6197 0084 42E80031 strex r1, r3, [r2]
6198 @ 0 "" 2
6199 .LVL546:
6200 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2031
6201 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2032
6202 .thumb
6203 .syntax unified
6204 .LBE512:
6205 .LBE511:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6206 .loc 1 3686 9 discriminator 1 view .LVU2033
6207 0088 0029 cmp r1, #0
6208 008a F3D1 bne .L316
6209 .LBE508:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6210 .loc 1 3686 9 is_stmt 1 discriminator 2 view .LVU2034
3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6211 .loc 1 3689 9 discriminator 2 view .LVU2035
3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6212 .loc 1 3689 13 is_stmt 0 discriminator 2 view .LVU2036
6213 008c 0368 ldr r3, [r0]
6214 .LVL547:
3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 217
6215 .loc 1 3689 13 discriminator 2 view .LVU2037
6216 008e 1A68 ldr r2, [r3]
3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6217 .loc 1 3689 12 discriminator 2 view .LVU2038
6218 0090 12F0100F tst r2, #16
6219 0094 06D0 beq .L317
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6220 .loc 1 3692 11 is_stmt 1 view .LVU2039
6221 .LBB513:
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6222 .loc 1 3692 11 view .LVU2040
6223 0096 0022 movs r2, #0
6224 0098 0192 str r2, [sp, #4]
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6225 .loc 1 3692 11 view .LVU2041
6226 009a 1A68 ldr r2, [r3]
6227 009c 0192 str r2, [sp, #4]
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6228 .loc 1 3692 11 view .LVU2042
6229 009e 5B68 ldr r3, [r3, #4]
6230 00a0 0193 str r3, [sp, #4]
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6231 .loc 1 3692 11 view .LVU2043
6232 00a2 019B ldr r3, [sp, #4]
6233 .L317:
6234 .LBE513:
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6235 .loc 1 3692 11 discriminator 1 view .LVU2044
3700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6236 .loc 1 3700 9 discriminator 1 view .LVU2045
6237 00a4 818D ldrh r1, [r0, #44]
6238 00a6 FFF7FEFF bl HAL_UARTEx_RxEventCallback
6239 .LVL548:
6240 .L318:
3715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6241 .loc 1 3715 7 view .LVU2046
3715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6242 .loc 1 3715 14 is_stmt 0 view .LVU2047
6243 00aa 0020 movs r0, #0
3723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6244 .loc 1 3723 1 view .LVU2048
6245 00ac 03B0 add sp, sp, #12
6246 .LCFI48:
6247 .cfi_def_cfa_offset 4
6248 @ sp needed
6249 00ae 5DF804FB ldr pc, [sp], #4
6250 .LVL549:
6251 .L325:
6252 .LCFI49:
6253 .cfi_def_cfa_offset 0
6254 .cfi_restore 14
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6255 .loc 1 3636 71 discriminator 1 view .LVU2049
6256 00b2 0269 ldr r2, [r0, #16]
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6257 .loc 1 3636 56 discriminator 1 view .LVU2050
6258 00b4 002A cmp r2, #0
ARM GAS /tmp/cc4vHZRy.s page 218
6259 00b6 ACD1 bne .L310
3639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) huart->pRxBuffPtr;
6260 .loc 1 3639 7 is_stmt 1 view .LVU2051
3640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
6261 .loc 1 3640 7 view .LVU2052
3640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
6262 .loc 1 3640 19 is_stmt 0 view .LVU2053
6263 00b8 826A ldr r2, [r0, #40]
6264 .LVL550:
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6265 .loc 1 3641 7 is_stmt 1 view .LVU2054
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6266 .loc 1 3641 38 is_stmt 0 view .LVU2055
6267 00ba 0368 ldr r3, [r0]
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6268 .loc 1 3641 48 view .LVU2056
6269 00bc 5B68 ldr r3, [r3, #4]
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6270 .loc 1 3641 22 view .LVU2057
6271 00be C3F30803 ubfx r3, r3, #0, #9
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6272 .loc 1 3641 20 view .LVU2058
6273 00c2 1380 strh r3, [r2] @ movhi
3642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6274 .loc 1 3642 7 is_stmt 1 view .LVU2059
3642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6275 .loc 1 3642 25 is_stmt 0 view .LVU2060
6276 00c4 836A ldr r3, [r0, #40]
6277 00c6 0233 adds r3, r3, #2
6278 00c8 8362 str r3, [r0, #40]
6279 00ca B1E7 b .L311
6280 .LVL551:
6281 .L313:
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6282 .loc 1 3656 9 is_stmt 1 view .LVU2061
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6283 .loc 1 3656 38 is_stmt 0 view .LVU2062
6284 00cc 0368 ldr r3, [r0]
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6285 .loc 1 3656 48 view .LVU2063
6286 00ce 5B68 ldr r3, [r3, #4]
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6287 .loc 1 3656 23 view .LVU2064
6288 00d0 03F07F03 and r3, r3, #127
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6289 .loc 1 3656 21 view .LVU2065
6290 00d4 1370 strb r3, [r2]
6291 00d6 A8E7 b .L314
6292 .LVL552:
6293 .L315:
6294 .LCFI50:
6295 .cfi_def_cfa_offset 16
6296 .cfi_offset 14, -4
3711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6297 .loc 1 3711 9 is_stmt 1 view .LVU2066
6298 00d8 FFF7FEFF bl HAL_UART_RxCpltCallback
6299 .LVL553:
ARM GAS /tmp/cc4vHZRy.s page 219
3711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6300 .loc 1 3711 9 is_stmt 0 view .LVU2067
6301 00dc E5E7 b .L318
6302 .LVL554:
6303 .L319:
6304 .LCFI51:
6305 .cfi_def_cfa_offset 0
6306 .cfi_restore 14
3721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6307 .loc 1 3721 12 view .LVU2068
6308 00de 0220 movs r0, #2
6309 .LVL555:
3721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6310 .loc 1 3721 12 view .LVU2069
6311 00e0 7047 bx lr
6312 .LVL556:
6313 .L320:
3717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6314 .loc 1 3717 12 view .LVU2070
6315 00e2 0020 movs r0, #0
6316 .LVL557:
3723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6317 .loc 1 3723 1 view .LVU2071
6318 00e4 7047 bx lr
6319 .cfi_endproc
6320 .LFE194:
6322 .section .text.HAL_UART_IRQHandler,"ax",%progbits
6323 .align 1
6324 .global HAL_UART_IRQHandler
6325 .syntax unified
6326 .thumb
6327 .thumb_func
6329 HAL_UART_IRQHandler:
6330 .LVL558:
6331 .LFB160:
2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
6332 .loc 1 2356 1 is_stmt 1 view -0
6333 .cfi_startproc
6334 @ args = 0, pretend = 0, frame = 8
6335 @ frame_needed = 0, uses_anonymous_args = 0
2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
6336 .loc 1 2356 1 is_stmt 0 view .LVU2073
6337 0000 30B5 push {r4, r5, lr}
6338 .LCFI52:
6339 .cfi_def_cfa_offset 12
6340 .cfi_offset 4, -12
6341 .cfi_offset 5, -8
6342 .cfi_offset 14, -4
6343 0002 83B0 sub sp, sp, #12
6344 .LCFI53:
6345 .cfi_def_cfa_offset 24
6346 0004 0446 mov r4, r0
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
6347 .loc 1 2357 3 is_stmt 1 view .LVU2074
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
6348 .loc 1 2357 25 is_stmt 0 view .LVU2075
6349 0006 0268 ldr r2, [r0]
ARM GAS /tmp/cc4vHZRy.s page 220
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
6350 .loc 1 2357 12 view .LVU2076
6351 0008 1368 ldr r3, [r2]
6352 .LVL559:
2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
6353 .loc 1 2358 3 is_stmt 1 view .LVU2077
2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
6354 .loc 1 2358 12 is_stmt 0 view .LVU2078
6355 000a D068 ldr r0, [r2, #12]
6356 .LVL560:
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
6357 .loc 1 2359 3 is_stmt 1 view .LVU2079
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
6358 .loc 1 2359 12 is_stmt 0 view .LVU2080
6359 000c 5169 ldr r1, [r2, #20]
6360 .LVL561:
2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
6361 .loc 1 2360 3 is_stmt 1 view .LVU2081
2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6362 .loc 1 2361 3 view .LVU2082
2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (errorflags == RESET)
6363 .loc 1 2364 3 view .LVU2083
2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6364 .loc 1 2365 3 view .LVU2084
2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6365 .loc 1 2365 6 is_stmt 0 view .LVU2085
6366 000e 13F00F05 ands r5, r3, #15
6367 .LVL562:
2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6368 .loc 1 2365 6 view .LVU2086
6369 0012 05D1 bne .L327
2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6370 .loc 1 2368 5 is_stmt 1 view .LVU2087
2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6371 .loc 1 2368 8 is_stmt 0 view .LVU2088
6372 0014 13F0200F tst r3, #32
6373 0018 02D0 beq .L327
2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6374 .loc 1 2368 47 discriminator 1 view .LVU2089
6375 001a 10F0200F tst r0, #32
6376 001e 19D1 bne .L358
6377 .L327:
2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
6378 .loc 1 2376 3 is_stmt 1 view .LVU2090
2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
6379 .loc 1 2376 6 is_stmt 0 view .LVU2091
6380 0020 2DB1 cbz r5, .L329
2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
6381 .loc 1 2376 29 discriminator 1 view .LVU2092
6382 0022 11F00101 ands r1, r1, #1
6383 .LVL563:
2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
6384 .loc 1 2376 29 discriminator 1 view .LVU2093
6385 0026 19D1 bne .L330
2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6386 .loc 1 2377 33 view .LVU2094
6387 0028 10F4907F tst r0, #288
ARM GAS /tmp/cc4vHZRy.s page 221
6388 002c 16D1 bne .L330
6389 .L329:
2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U)
6390 .loc 1 2484 3 is_stmt 1 view .LVU2095
2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U)
6391 .loc 1 2484 13 is_stmt 0 view .LVU2096
6392 002e 216B ldr r1, [r4, #48]
2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U)
6393 .loc 1 2484 6 view .LVU2097
6394 0030 0129 cmp r1, #1
6395 0032 7DD0 beq .L359
6396 .L343:
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6397 .loc 1 2599 3 is_stmt 1 view .LVU2098
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6398 .loc 1 2599 6 is_stmt 0 view .LVU2099
6399 0034 13F0800F tst r3, #128
6400 0038 03D0 beq .L356
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6401 .loc 1 2599 44 discriminator 1 view .LVU2100
6402 003a 10F0800F tst r0, #128
6403 003e 40F02681 bne .L360
6404 .L356:
2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6405 .loc 1 2606 3 is_stmt 1 view .LVU2101
2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6406 .loc 1 2606 6 is_stmt 0 view .LVU2102
6407 0042 13F0400F tst r3, #64
6408 0046 03D0 beq .L326
2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6409 .loc 1 2606 43 discriminator 1 view .LVU2103
6410 0048 10F0400F tst r0, #64
6411 004c 40F02381 bne .L361
6412 .LVL564:
6413 .L326:
2611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6414 .loc 1 2611 1 view .LVU2104
6415 0050 03B0 add sp, sp, #12
6416 .LCFI54:
6417 .cfi_remember_state
6418 .cfi_def_cfa_offset 12
6419 @ sp needed
6420 0052 30BD pop {r4, r5, pc}
6421 .LVL565:
6422 .L358:
6423 .LCFI55:
6424 .cfi_restore_state
2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
6425 .loc 1 2370 7 is_stmt 1 view .LVU2105
6426 0054 2046 mov r0, r4
6427 .LVL566:
2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
6428 .loc 1 2370 7 is_stmt 0 view .LVU2106
6429 0056 FFF7FEFF bl UART_Receive_IT
6430 .LVL567:
2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6431 .loc 1 2371 7 is_stmt 1 view .LVU2107
ARM GAS /tmp/cc4vHZRy.s page 222
6432 005a F9E7 b .L326
6433 .LVL568:
6434 .L330:
2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6435 .loc 1 2380 5 view .LVU2108
2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6436 .loc 1 2380 8 is_stmt 0 view .LVU2109
6437 005c 13F0010F tst r3, #1
6438 0060 06D0 beq .L331
2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6439 .loc 1 2380 45 discriminator 1 view .LVU2110
6440 0062 10F4807F tst r0, #256
6441 0066 03D0 beq .L331
2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6442 .loc 1 2382 7 is_stmt 1 view .LVU2111
2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6443 .loc 1 2382 24 is_stmt 0 view .LVU2112
6444 0068 626C ldr r2, [r4, #68]
6445 006a 42F00102 orr r2, r2, #1
6446 006e 6264 str r2, [r4, #68]
6447 .L331:
2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6448 .loc 1 2386 5 is_stmt 1 view .LVU2113
2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6449 .loc 1 2386 8 is_stmt 0 view .LVU2114
6450 0070 13F0040F tst r3, #4
6451 0074 04D0 beq .L332
2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6452 .loc 1 2386 45 discriminator 1 view .LVU2115
6453 0076 19B1 cbz r1, .L332
2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6454 .loc 1 2388 7 is_stmt 1 view .LVU2116
2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6455 .loc 1 2388 24 is_stmt 0 view .LVU2117
6456 0078 626C ldr r2, [r4, #68]
6457 007a 42F00202 orr r2, r2, #2
6458 007e 6264 str r2, [r4, #68]
6459 .L332:
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6460 .loc 1 2392 5 is_stmt 1 view .LVU2118
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6461 .loc 1 2392 8 is_stmt 0 view .LVU2119
6462 0080 13F0020F tst r3, #2
6463 0084 04D0 beq .L333
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6464 .loc 1 2392 45 discriminator 1 view .LVU2120
6465 0086 19B1 cbz r1, .L333
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6466 .loc 1 2394 7 is_stmt 1 view .LVU2121
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6467 .loc 1 2394 24 is_stmt 0 view .LVU2122
6468 0088 626C ldr r2, [r4, #68]
6469 008a 42F00402 orr r2, r2, #4
6470 008e 6264 str r2, [r4, #68]
6471 .L333:
2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET)))
6472 .loc 1 2398 5 is_stmt 1 view .LVU2123
ARM GAS /tmp/cc4vHZRy.s page 223
2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET)))
6473 .loc 1 2398 8 is_stmt 0 view .LVU2124
6474 0090 13F0080F tst r3, #8
6475 0094 07D0 beq .L334
2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET)))
6476 .loc 1 2398 46 discriminator 1 view .LVU2125
6477 0096 10F0200F tst r0, #32
6478 009a 00D1 bne .L335
2399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6479 .loc 1 2399 50 view .LVU2126
6480 009c 19B1 cbz r1, .L334
6481 .L335:
2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6482 .loc 1 2401 7 is_stmt 1 view .LVU2127
2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6483 .loc 1 2401 24 is_stmt 0 view .LVU2128
6484 009e 626C ldr r2, [r4, #68]
6485 00a0 42F00802 orr r2, r2, #8
6486 00a4 6264 str r2, [r4, #68]
6487 .L334:
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6488 .loc 1 2405 5 is_stmt 1 view .LVU2129
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6489 .loc 1 2405 14 is_stmt 0 view .LVU2130
6490 00a6 626C ldr r2, [r4, #68]
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6491 .loc 1 2405 8 view .LVU2131
6492 00a8 002A cmp r2, #0
6493 00aa D1D0 beq .L326
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6494 .loc 1 2408 7 is_stmt 1 view .LVU2132
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6495 .loc 1 2408 10 is_stmt 0 view .LVU2133
6496 00ac 13F0200F tst r3, #32
6497 00b0 02D0 beq .L337
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6498 .loc 1 2408 49 discriminator 1 view .LVU2134
6499 00b2 10F0200F tst r0, #32
6500 00b6 29D1 bne .L362
6501 .LVL569:
6502 .L337:
2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
6503 .loc 1 2415 7 is_stmt 1 view .LVU2135
2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
6504 .loc 1 2415 20 is_stmt 0 view .LVU2136
6505 00b8 2368 ldr r3, [r4]
6506 00ba 5B69 ldr r3, [r3, #20]
6507 00bc 03F04003 and r3, r3, #64
6508 .LVL570:
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6509 .loc 1 2416 7 is_stmt 1 view .LVU2137
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6510 .loc 1 2416 18 is_stmt 0 view .LVU2138
6511 00c0 626C ldr r2, [r4, #68]
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6512 .loc 1 2416 10 view .LVU2139
6513 00c2 12F0080F tst r2, #8
ARM GAS /tmp/cc4vHZRy.s page 224
6514 00c6 00D1 bne .L338
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6515 .loc 1 2416 62 discriminator 1 view .LVU2140
6516 00c8 63B3 cbz r3, .L339
6517 .L338:
2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6518 .loc 1 2421 9 is_stmt 1 view .LVU2141
6519 00ca 2046 mov r0, r4
6520 00cc FFF7FEFF bl UART_EndRxTransfer
6521 .LVL571:
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6522 .loc 1 2424 9 view .LVU2142
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6523 .loc 1 2424 13 is_stmt 0 view .LVU2143
6524 00d0 2368 ldr r3, [r4]
6525 00d2 5B69 ldr r3, [r3, #20]
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6526 .loc 1 2424 12 view .LVU2144
6527 00d4 13F0400F tst r3, #64
6528 00d8 20D0 beq .L340
6529 .L341:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6530 .loc 1 2426 11 is_stmt 1 discriminator 1 view .LVU2145
6531 .LBB514:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6532 .loc 1 2426 11 discriminator 1 view .LVU2146
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6533 .loc 1 2426 11 discriminator 1 view .LVU2147
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6534 .loc 1 2426 11 discriminator 1 view .LVU2148
6535 00da 2268 ldr r2, [r4]
6536 .LVL572:
6537 .LBB515:
6538 .LBI515:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6539 .loc 2 476 31 discriminator 1 view .LVU2149
6540 .LBB516:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6541 .loc 2 478 5 discriminator 1 view .LVU2150
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6542 .loc 2 480 4 discriminator 1 view .LVU2151
6543 00dc 02F11403 add r3, r2, #20
6544 .LVL573:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6545 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2152
6546 .syntax unified
6547 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6548 00e0 53E8003F ldrex r3, [r3]
6549 @ 0 "" 2
6550 .LVL574:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6551 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2153
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6552 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2154
6553 .thumb
6554 .syntax unified
6555 .LBE516:
ARM GAS /tmp/cc4vHZRy.s page 225
6556 .LBE515:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6557 .loc 1 2426 11 discriminator 1 view .LVU2155
6558 00e4 23F04003 bic r3, r3, #64
6559 .LVL575:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6560 .loc 1 2426 11 is_stmt 1 discriminator 1 view .LVU2156
6561 .LBB517:
6562 .LBI517:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6563 .loc 2 527 31 discriminator 1 view .LVU2157
6564 .LBB518:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6565 .loc 2 529 4 discriminator 1 view .LVU2158
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6566 .loc 2 531 4 discriminator 1 view .LVU2159
6567 00e8 1432 adds r2, r2, #20
6568 .LVL576:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6569 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2160
6570 .syntax unified
6571 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6572 00ea 42E80031 strex r1, r3, [r2]
6573 @ 0 "" 2
6574 .LVL577:
6575 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2161
6576 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2162
6577 .thumb
6578 .syntax unified
6579 .LBE518:
6580 .LBE517:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6581 .loc 1 2426 11 discriminator 1 view .LVU2163
6582 00ee 0029 cmp r1, #0
6583 00f0 F3D1 bne .L341
6584 .LBE514:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6585 .loc 1 2426 11 is_stmt 1 discriminator 2 view .LVU2164
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6586 .loc 1 2429 11 discriminator 2 view .LVU2165
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6587 .loc 1 2429 20 is_stmt 0 discriminator 2 view .LVU2166
6588 00f2 E36B ldr r3, [r4, #60]
6589 .LVL578:
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6590 .loc 1 2429 14 discriminator 2 view .LVU2167
6591 00f4 73B1 cbz r3, .L342
2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
6592 .loc 1 2433 13 is_stmt 1 view .LVU2168
2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
6593 .loc 1 2433 46 is_stmt 0 view .LVU2169
6594 00f6 6A4A ldr r2, .L363
6595 00f8 1A65 str r2, [r3, #80]
2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6596 .loc 1 2434 13 is_stmt 1 view .LVU2170
2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6597 .loc 1 2434 17 is_stmt 0 view .LVU2171
ARM GAS /tmp/cc4vHZRy.s page 226
6598 00fa E06B ldr r0, [r4, #60]
6599 00fc FFF7FEFF bl HAL_DMA_Abort_IT
6600 .LVL579:
2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6601 .loc 1 2434 16 view .LVU2172
6602 0100 0028 cmp r0, #0
6603 0102 A5D0 beq .L326
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6604 .loc 1 2437 15 is_stmt 1 view .LVU2173
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6605 .loc 1 2437 20 is_stmt 0 view .LVU2174
6606 0104 E06B ldr r0, [r4, #60]
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6607 .loc 1 2437 28 view .LVU2175
6608 0106 036D ldr r3, [r0, #80]
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6609 .loc 1 2437 15 view .LVU2176
6610 0108 9847 blx r3
6611 .LVL580:
6612 010a A1E7 b .L326
6613 .LVL581:
6614 .L362:
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6615 .loc 1 2410 9 is_stmt 1 view .LVU2177
6616 010c 2046 mov r0, r4
6617 .LVL582:
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6618 .loc 1 2410 9 is_stmt 0 view .LVU2178
6619 010e FFF7FEFF bl UART_Receive_IT
6620 .LVL583:
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6621 .loc 1 2410 9 view .LVU2179
6622 0112 D1E7 b .L337
6623 .LVL584:
6624 .L342:
2448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6625 .loc 1 2448 13 is_stmt 1 view .LVU2180
6626 0114 2046 mov r0, r4
6627 0116 FFF7FEFF bl HAL_UART_ErrorCallback
6628 .LVL585:
6629 011a 99E7 b .L326
6630 .L340:
2460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6631 .loc 1 2460 11 view .LVU2181
6632 011c 2046 mov r0, r4
6633 011e FFF7FEFF bl HAL_UART_ErrorCallback
6634 .LVL586:
6635 0122 95E7 b .L326
6636 .LVL587:
6637 .L339:
2473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6638 .loc 1 2473 9 view .LVU2182
6639 0124 2046 mov r0, r4
6640 0126 FFF7FEFF bl HAL_UART_ErrorCallback
6641 .LVL588:
2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6642 .loc 1 2476 9 view .LVU2183
ARM GAS /tmp/cc4vHZRy.s page 227
2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6643 .loc 1 2476 26 is_stmt 0 view .LVU2184
6644 012a 0023 movs r3, #0
6645 012c 6364 str r3, [r4, #68]
2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */
6646 .loc 1 2479 5 is_stmt 1 view .LVU2185
6647 012e 8FE7 b .L326
6648 .LVL589:
6649 .L359:
2485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((cr1its & USART_CR1_IDLEIE) != 0U))
6650 .loc 1 2485 7 is_stmt 0 view .LVU2186
6651 0130 13F0100F tst r3, #16
6652 0134 3FF47EAF beq .L343
2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6653 .loc 1 2486 7 view .LVU2187
6654 0138 10F0100F tst r0, #16
6655 013c 3FF47AAF beq .L343
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6656 .loc 1 2488 5 is_stmt 1 view .LVU2188
6657 .LBB519:
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6658 .loc 1 2488 5 view .LVU2189
6659 0140 0023 movs r3, #0
6660 .LVL590:
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6661 .loc 1 2488 5 is_stmt 0 view .LVU2190
6662 0142 0193 str r3, [sp, #4]
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6663 .loc 1 2488 5 is_stmt 1 view .LVU2191
6664 0144 1368 ldr r3, [r2]
6665 0146 0193 str r3, [sp, #4]
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6666 .loc 1 2488 5 view .LVU2192
6667 0148 5368 ldr r3, [r2, #4]
6668 014a 0193 str r3, [sp, #4]
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6669 .loc 1 2488 5 view .LVU2193
6670 014c 019B ldr r3, [sp, #4]
6671 .LBE519:
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6672 .loc 1 2488 5 view .LVU2194
2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6673 .loc 1 2491 5 view .LVU2195
2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6674 .loc 1 2491 9 is_stmt 0 view .LVU2196
6675 014e 5369 ldr r3, [r2, #20]
2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6676 .loc 1 2491 8 view .LVU2197
6677 0150 13F0400F tst r3, #64
6678 0154 5FD0 beq .L344
6679 .LBB520:
2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
6680 .loc 1 2497 7 is_stmt 1 view .LVU2198
2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
6681 .loc 1 2497 50 is_stmt 0 view .LVU2199
6682 0156 E26B ldr r2, [r4, #60]
6683 0158 1368 ldr r3, [r2]
ARM GAS /tmp/cc4vHZRy.s page 228
6684 015a 5B68 ldr r3, [r3, #4]
2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
6685 .loc 1 2497 16 view .LVU2200
6686 015c 9BB2 uxth r3, r3
6687 .LVL591:
2498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
6688 .loc 1 2498 7 is_stmt 1 view .LVU2201
2498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
6689 .loc 1 2498 10 is_stmt 0 view .LVU2202
6690 015e 002B cmp r3, #0
6691 0160 4AD0 beq .L345
2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6692 .loc 1 2499 43 view .LVU2203
6693 0162 A18D ldrh r1, [r4, #44]
2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6694 .loc 1 2499 11 view .LVU2204
6695 0164 9942 cmp r1, r3
6696 0166 47D9 bls .L345
2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6697 .loc 1 2502 9 is_stmt 1 view .LVU2205
2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6698 .loc 1 2502 28 is_stmt 0 view .LVU2206
6699 0168 E385 strh r3, [r4, #46] @ movhi
2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6700 .loc 1 2505 9 is_stmt 1 view .LVU2207
2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6701 .loc 1 2505 32 is_stmt 0 view .LVU2208
6702 016a D369 ldr r3, [r2, #28]
6703 .LVL592:
2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6704 .loc 1 2505 12 view .LVU2209
6705 016c B3F5807F cmp r3, #256
6706 0170 37D0 beq .L346
6707 .L347:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6708 .loc 1 2508 11 is_stmt 1 discriminator 1 view .LVU2210
6709 .LBB521:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6710 .loc 1 2508 11 discriminator 1 view .LVU2211
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6711 .loc 1 2508 11 discriminator 1 view .LVU2212
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6712 .loc 1 2508 11 discriminator 1 view .LVU2213
6713 0172 2268 ldr r2, [r4]
6714 .LVL593:
6715 .LBB522:
6716 .LBI522:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6717 .loc 2 476 31 discriminator 1 view .LVU2214
6718 .LBB523:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6719 .loc 2 478 5 discriminator 1 view .LVU2215
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6720 .loc 2 480 4 discriminator 1 view .LVU2216
6721 0174 02F10C03 add r3, r2, #12
6722 .LVL594:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc4vHZRy.s page 229
6723 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2217
6724 .syntax unified
6725 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6726 0178 53E8003F ldrex r3, [r3]
6727 @ 0 "" 2
6728 .LVL595:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6729 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2218
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6730 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2219
6731 .thumb
6732 .syntax unified
6733 .LBE523:
6734 .LBE522:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6735 .loc 1 2508 11 discriminator 1 view .LVU2220
6736 017c 23F48073 bic r3, r3, #256
6737 .LVL596:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6738 .loc 1 2508 11 is_stmt 1 discriminator 1 view .LVU2221
6739 .LBB524:
6740 .LBI524:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6741 .loc 2 527 31 discriminator 1 view .LVU2222
6742 .LBB525:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6743 .loc 2 529 4 discriminator 1 view .LVU2223
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6744 .loc 2 531 4 discriminator 1 view .LVU2224
6745 0180 0C32 adds r2, r2, #12
6746 .LVL597:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6747 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2225
6748 .syntax unified
6749 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6750 0182 42E80031 strex r1, r3, [r2]
6751 @ 0 "" 2
6752 .LVL598:
6753 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2226
6754 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2227
6755 .thumb
6756 .syntax unified
6757 .LBE525:
6758 .LBE524:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6759 .loc 1 2508 11 discriminator 1 view .LVU2228
6760 0186 0029 cmp r1, #0
6761 0188 F3D1 bne .L347
6762 .LVL599:
6763 .L348:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6764 .loc 1 2508 11 discriminator 1 view .LVU2229
6765 .LBE521:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6766 .loc 1 2508 11 is_stmt 1 discriminator 1 view .LVU2230
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6767 .loc 1 2509 11 discriminator 1 view .LVU2231
ARM GAS /tmp/cc4vHZRy.s page 230
6768 .LBB526:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6769 .loc 1 2509 11 discriminator 1 view .LVU2232
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6770 .loc 1 2509 11 discriminator 1 view .LVU2233
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6771 .loc 1 2509 11 discriminator 1 view .LVU2234
6772 018a 2268 ldr r2, [r4]
6773 .LVL600:
6774 .LBB527:
6775 .LBI527:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6776 .loc 2 476 31 discriminator 1 view .LVU2235
6777 .LBB528:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6778 .loc 2 478 5 discriminator 1 view .LVU2236
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6779 .loc 2 480 4 discriminator 1 view .LVU2237
6780 018c 02F11403 add r3, r2, #20
6781 .LVL601:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6782 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2238
6783 .syntax unified
6784 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6785 0190 53E8003F ldrex r3, [r3]
6786 @ 0 "" 2
6787 .LVL602:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6788 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2239
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6789 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2240
6790 .thumb
6791 .syntax unified
6792 .LBE528:
6793 .LBE527:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6794 .loc 1 2509 11 discriminator 1 view .LVU2241
6795 0194 23F00103 bic r3, r3, #1
6796 .LVL603:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6797 .loc 1 2509 11 is_stmt 1 discriminator 1 view .LVU2242
6798 .LBB529:
6799 .LBI529:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6800 .loc 2 527 31 discriminator 1 view .LVU2243
6801 .LBB530:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6802 .loc 2 529 4 discriminator 1 view .LVU2244
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6803 .loc 2 531 4 discriminator 1 view .LVU2245
6804 0198 1432 adds r2, r2, #20
6805 .LVL604:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6806 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2246
6807 .syntax unified
6808 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6809 019a 42E80031 strex r1, r3, [r2]
ARM GAS /tmp/cc4vHZRy.s page 231
6810 @ 0 "" 2
6811 .LVL605:
6812 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2247
6813 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2248
6814 .thumb
6815 .syntax unified
6816 .LBE530:
6817 .LBE529:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6818 .loc 1 2509 11 discriminator 1 view .LVU2249
6819 019e 0029 cmp r1, #0
6820 01a0 F3D1 bne .L348
6821 .LVL606:
6822 .L349:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6823 .loc 1 2509 11 discriminator 1 view .LVU2250
6824 .LBE526:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6825 .loc 1 2509 11 is_stmt 1 discriminator 1 view .LVU2251
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6826 .loc 1 2513 11 discriminator 1 view .LVU2252
6827 .LBB531:
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6828 .loc 1 2513 11 discriminator 1 view .LVU2253
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6829 .loc 1 2513 11 discriminator 1 view .LVU2254
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6830 .loc 1 2513 11 discriminator 1 view .LVU2255
6831 01a2 2268 ldr r2, [r4]
6832 .LVL607:
6833 .LBB532:
6834 .LBI532:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6835 .loc 2 476 31 discriminator 1 view .LVU2256
6836 .LBB533:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6837 .loc 2 478 5 discriminator 1 view .LVU2257
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6838 .loc 2 480 4 discriminator 1 view .LVU2258
6839 01a4 02F11403 add r3, r2, #20
6840 .LVL608:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6841 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2259
6842 .syntax unified
6843 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6844 01a8 53E8003F ldrex r3, [r3]
6845 @ 0 "" 2
6846 .LVL609:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6847 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2260
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6848 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2261
6849 .thumb
6850 .syntax unified
6851 .LBE533:
6852 .LBE532:
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 232
6853 .loc 1 2513 11 discriminator 1 view .LVU2262
6854 01ac 23F04003 bic r3, r3, #64
6855 .LVL610:
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6856 .loc 1 2513 11 is_stmt 1 discriminator 1 view .LVU2263
6857 .LBB534:
6858 .LBI534:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6859 .loc 2 527 31 discriminator 1 view .LVU2264
6860 .LBB535:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6861 .loc 2 529 4 discriminator 1 view .LVU2265
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6862 .loc 2 531 4 discriminator 1 view .LVU2266
6863 01b0 1432 adds r2, r2, #20
6864 .LVL611:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6865 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2267
6866 .syntax unified
6867 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6868 01b2 42E80031 strex r1, r3, [r2]
6869 @ 0 "" 2
6870 .LVL612:
6871 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2268
6872 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2269
6873 .thumb
6874 .syntax unified
6875 .LBE535:
6876 .LBE534:
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6877 .loc 1 2513 11 discriminator 1 view .LVU2270
6878 01b6 0029 cmp r1, #0
6879 01b8 F3D1 bne .L349
6880 .LBE531:
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6881 .loc 1 2513 11 is_stmt 1 discriminator 2 view .LVU2271
2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6882 .loc 1 2516 11 discriminator 2 view .LVU2272
2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6883 .loc 1 2516 26 is_stmt 0 discriminator 2 view .LVU2273
6884 01ba 2023 movs r3, #32
6885 .LVL613:
2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6886 .loc 1 2516 26 discriminator 2 view .LVU2274
6887 01bc 84F84230 strb r3, [r4, #66]
6888 .LVL614:
2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6889 .loc 1 2517 11 is_stmt 1 discriminator 2 view .LVU2275
2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6890 .loc 1 2517 32 is_stmt 0 discriminator 2 view .LVU2276
6891 01c0 0023 movs r3, #0
6892 01c2 2363 str r3, [r4, #48]
6893 .L350:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6894 .loc 1 2519 11 is_stmt 1 discriminator 1 view .LVU2277
6895 .LBB536:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 233
6896 .loc 1 2519 11 discriminator 1 view .LVU2278
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6897 .loc 1 2519 11 discriminator 1 view .LVU2279
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6898 .loc 1 2519 11 discriminator 1 view .LVU2280
6899 01c4 2268 ldr r2, [r4]
6900 .LVL615:
6901 .LBB537:
6902 .LBI537:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6903 .loc 2 476 31 discriminator 1 view .LVU2281
6904 .LBB538:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6905 .loc 2 478 5 discriminator 1 view .LVU2282
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6906 .loc 2 480 4 discriminator 1 view .LVU2283
6907 01c6 02F10C03 add r3, r2, #12
6908 .LVL616:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6909 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2284
6910 .syntax unified
6911 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6912 01ca 53E8003F ldrex r3, [r3]
6913 @ 0 "" 2
6914 .LVL617:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6915 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2285
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6916 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2286
6917 .thumb
6918 .syntax unified
6919 .LBE538:
6920 .LBE537:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6921 .loc 1 2519 11 discriminator 1 view .LVU2287
6922 01ce 23F01003 bic r3, r3, #16
6923 .LVL618:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6924 .loc 1 2519 11 is_stmt 1 discriminator 1 view .LVU2288
6925 .LBB539:
6926 .LBI539:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6927 .loc 2 527 31 discriminator 1 view .LVU2289
6928 .LBB540:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6929 .loc 2 529 4 discriminator 1 view .LVU2290
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6930 .loc 2 531 4 discriminator 1 view .LVU2291
6931 01d2 0C32 adds r2, r2, #12
6932 .LVL619:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6933 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2292
6934 .syntax unified
6935 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6936 01d4 42E80031 strex r1, r3, [r2]
6937 @ 0 "" 2
6938 .LVL620:
ARM GAS /tmp/cc4vHZRy.s page 234
6939 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2293
6940 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2294
6941 .thumb
6942 .syntax unified
6943 .LBE540:
6944 .LBE539:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6945 .loc 1 2519 11 discriminator 1 view .LVU2295
6946 01d8 0029 cmp r1, #0
6947 01da F3D1 bne .L350
6948 .LBE536:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6949 .loc 1 2519 11 is_stmt 1 discriminator 2 view .LVU2296
2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6950 .loc 1 2522 11 discriminator 2 view .LVU2297
2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6951 .loc 1 2522 17 is_stmt 0 discriminator 2 view .LVU2298
6952 01dc E06B ldr r0, [r4, #60]
6953 .LVL621:
2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6954 .loc 1 2522 17 discriminator 2 view .LVU2299
6955 01de FFF7FEFF bl HAL_DMA_Abort
6956 .LVL622:
6957 .L346:
2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6958 .loc 1 2527 9 is_stmt 1 view .LVU2300
2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6959 .loc 1 2527 28 is_stmt 0 view .LVU2301
6960 01e2 0223 movs r3, #2
6961 01e4 6363 str r3, [r4, #52]
2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6962 .loc 1 2534 9 is_stmt 1 view .LVU2302
2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6963 .loc 1 2534 49 is_stmt 0 view .LVU2303
6964 01e6 A18D ldrh r1, [r4, #44]
2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6965 .loc 1 2534 69 view .LVU2304
6966 01e8 E38D ldrh r3, [r4, #46]
6967 01ea 9BB2 uxth r3, r3
2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6968 .loc 1 2534 9 view .LVU2305
6969 01ec C91A subs r1, r1, r3
6970 01ee 89B2 uxth r1, r1
6971 01f0 2046 mov r0, r4
6972 01f2 FFF7FEFF bl HAL_UARTEx_RxEventCallback
6973 .LVL623:
6974 01f6 2BE7 b .L326
6975 .LVL624:
6976 .L345:
2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6977 .loc 1 2541 9 is_stmt 1 view .LVU2306
2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6978 .loc 1 2541 42 is_stmt 0 view .LVU2307
6979 01f8 A18D ldrh r1, [r4, #44]
2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6980 .loc 1 2541 12 view .LVU2308
6981 01fa 9942 cmp r1, r3
ARM GAS /tmp/cc4vHZRy.s page 235
6982 01fc 7FF428AF bne .L326
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6983 .loc 1 2543 11 is_stmt 1 view .LVU2309
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6984 .loc 1 2543 34 is_stmt 0 view .LVU2310
6985 0200 D369 ldr r3, [r2, #28]
6986 .LVL625:
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6987 .loc 1 2543 14 view .LVU2311
6988 0202 B3F5807F cmp r3, #256
6989 0206 7FF423AF bne .L326
2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6990 .loc 1 2547 13 is_stmt 1 view .LVU2312
2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6991 .loc 1 2547 32 is_stmt 0 view .LVU2313
6992 020a 0223 movs r3, #2
6993 020c 6363 str r3, [r4, #52]
2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
6994 .loc 1 2554 13 is_stmt 1 view .LVU2314
6995 020e 2046 mov r0, r4
6996 .LVL626:
2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
6997 .loc 1 2554 13 is_stmt 0 view .LVU2315
6998 0210 FFF7FEFF bl HAL_UARTEx_RxEventCallback
6999 .LVL627:
2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7000 .loc 1 2559 7 is_stmt 1 view .LVU2316
7001 0214 1CE7 b .L326
7002 .LVL628:
7003 .L344:
2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7004 .loc 1 2559 7 is_stmt 0 view .LVU2317
7005 .LBE520:
7006 .LBB541:
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
7007 .loc 1 2566 7 is_stmt 1 view .LVU2318
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
7008 .loc 1 2566 34 is_stmt 0 view .LVU2319
7009 0216 A18D ldrh r1, [r4, #44]
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
7010 .loc 1 2566 54 view .LVU2320
7011 0218 E38D ldrh r3, [r4, #46]
7012 021a 9BB2 uxth r3, r3
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
7013 .loc 1 2566 16 view .LVU2321
7014 021c C91A subs r1, r1, r3
7015 021e 89B2 uxth r1, r1
7016 .LVL629:
2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U))
7017 .loc 1 2567 7 is_stmt 1 view .LVU2322
2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U))
7018 .loc 1 2567 17 is_stmt 0 view .LVU2323
7019 0220 E38D ldrh r3, [r4, #46]
7020 0222 9BB2 uxth r3, r3
2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U))
7021 .loc 1 2567 10 view .LVU2324
7022 0224 002B cmp r3, #0
ARM GAS /tmp/cc4vHZRy.s page 236
7023 0226 3FF413AF beq .L326
2568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7024 .loc 1 2568 11 view .LVU2325
7025 022a 0029 cmp r1, #0
7026 022c 3FF410AF beq .L326
7027 .LVL630:
7028 .L353:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7029 .loc 1 2571 9 is_stmt 1 discriminator 1 view .LVU2326
7030 .LBB542:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7031 .loc 1 2571 9 discriminator 1 view .LVU2327
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7032 .loc 1 2571 9 discriminator 1 view .LVU2328
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7033 .loc 1 2571 9 discriminator 1 view .LVU2329
7034 0230 2268 ldr r2, [r4]
7035 .LVL631:
7036 .LBB543:
7037 .LBI543:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7038 .loc 2 476 31 discriminator 1 view .LVU2330
7039 .LBB544:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7040 .loc 2 478 5 discriminator 1 view .LVU2331
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7041 .loc 2 480 4 discriminator 1 view .LVU2332
7042 0232 02F10C03 add r3, r2, #12
7043 .LVL632:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7044 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2333
7045 .syntax unified
7046 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7047 0236 53E8003F ldrex r3, [r3]
7048 @ 0 "" 2
7049 .LVL633:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7050 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2334
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7051 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2335
7052 .thumb
7053 .syntax unified
7054 .LBE544:
7055 .LBE543:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7056 .loc 1 2571 9 discriminator 1 view .LVU2336
7057 023a 23F49073 bic r3, r3, #288
7058 .LVL634:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7059 .loc 1 2571 9 is_stmt 1 discriminator 1 view .LVU2337
7060 .LBB545:
7061 .LBI545:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7062 .loc 2 527 31 discriminator 1 view .LVU2338
7063 .LBB546:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7064 .loc 2 529 4 discriminator 1 view .LVU2339
ARM GAS /tmp/cc4vHZRy.s page 237
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7065 .loc 2 531 4 discriminator 1 view .LVU2340
7066 023e 0C32 adds r2, r2, #12
7067 .LVL635:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7068 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2341
7069 .syntax unified
7070 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7071 0240 42E80030 strex r0, r3, [r2]
7072 @ 0 "" 2
7073 .LVL636:
7074 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2342
7075 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2343
7076 .thumb
7077 .syntax unified
7078 .LBE546:
7079 .LBE545:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7080 .loc 1 2571 9 discriminator 1 view .LVU2344
7081 0244 0028 cmp r0, #0
7082 0246 F3D1 bne .L353
7083 .LVL637:
7084 .L354:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7085 .loc 1 2571 9 discriminator 1 view .LVU2345
7086 .LBE542:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7087 .loc 1 2571 9 is_stmt 1 discriminator 1 view .LVU2346
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7088 .loc 1 2574 9 discriminator 1 view .LVU2347
7089 .LBB547:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7090 .loc 1 2574 9 discriminator 1 view .LVU2348
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7091 .loc 1 2574 9 discriminator 1 view .LVU2349
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7092 .loc 1 2574 9 discriminator 1 view .LVU2350
7093 0248 2268 ldr r2, [r4]
7094 .LVL638:
7095 .LBB548:
7096 .LBI548:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7097 .loc 2 476 31 discriminator 1 view .LVU2351
7098 .LBB549:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7099 .loc 2 478 5 discriminator 1 view .LVU2352
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7100 .loc 2 480 4 discriminator 1 view .LVU2353
7101 024a 02F11403 add r3, r2, #20
7102 .LVL639:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7103 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2354
7104 .syntax unified
7105 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7106 024e 53E8003F ldrex r3, [r3]
7107 @ 0 "" 2
7108 .LVL640:
ARM GAS /tmp/cc4vHZRy.s page 238
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7109 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2355
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7110 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2356
7111 .thumb
7112 .syntax unified
7113 .LBE549:
7114 .LBE548:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7115 .loc 1 2574 9 discriminator 1 view .LVU2357
7116 0252 23F00103 bic r3, r3, #1
7117 .LVL641:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7118 .loc 1 2574 9 is_stmt 1 discriminator 1 view .LVU2358
7119 .LBB550:
7120 .LBI550:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7121 .loc 2 527 31 discriminator 1 view .LVU2359
7122 .LBB551:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7123 .loc 2 529 4 discriminator 1 view .LVU2360
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7124 .loc 2 531 4 discriminator 1 view .LVU2361
7125 0256 1432 adds r2, r2, #20
7126 .LVL642:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7127 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2362
7128 .syntax unified
7129 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7130 0258 42E80030 strex r0, r3, [r2]
7131 @ 0 "" 2
7132 .LVL643:
7133 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2363
7134 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2364
7135 .thumb
7136 .syntax unified
7137 .LBE551:
7138 .LBE550:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7139 .loc 1 2574 9 discriminator 1 view .LVU2365
7140 025c 0028 cmp r0, #0
7141 025e F3D1 bne .L354
7142 .LBE547:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7143 .loc 1 2574 9 is_stmt 1 discriminator 2 view .LVU2366
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
7144 .loc 1 2577 9 discriminator 2 view .LVU2367
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
7145 .loc 1 2577 24 is_stmt 0 discriminator 2 view .LVU2368
7146 0260 2023 movs r3, #32
7147 .LVL644:
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
7148 .loc 1 2577 24 discriminator 2 view .LVU2369
7149 0262 84F84230 strb r3, [r4, #66]
2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7150 .loc 1 2578 9 is_stmt 1 discriminator 2 view .LVU2370
2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 239
7151 .loc 1 2578 30 is_stmt 0 discriminator 2 view .LVU2371
7152 0266 0023 movs r3, #0
7153 0268 2363 str r3, [r4, #48]
7154 .L355:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7155 .loc 1 2580 9 is_stmt 1 discriminator 1 view .LVU2372
7156 .LBB552:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7157 .loc 1 2580 9 discriminator 1 view .LVU2373
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7158 .loc 1 2580 9 discriminator 1 view .LVU2374
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7159 .loc 1 2580 9 discriminator 1 view .LVU2375
7160 026a 2268 ldr r2, [r4]
7161 .LVL645:
7162 .LBB553:
7163 .LBI553:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7164 .loc 2 476 31 discriminator 1 view .LVU2376
7165 .LBB554:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7166 .loc 2 478 5 discriminator 1 view .LVU2377
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7167 .loc 2 480 4 discriminator 1 view .LVU2378
7168 026c 02F10C03 add r3, r2, #12
7169 .LVL646:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7170 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2379
7171 .syntax unified
7172 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7173 0270 53E8003F ldrex r3, [r3]
7174 @ 0 "" 2
7175 .LVL647:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7176 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2380
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7177 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2381
7178 .thumb
7179 .syntax unified
7180 .LBE554:
7181 .LBE553:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7182 .loc 1 2580 9 discriminator 1 view .LVU2382
7183 0274 23F01003 bic r3, r3, #16
7184 .LVL648:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7185 .loc 1 2580 9 is_stmt 1 discriminator 1 view .LVU2383
7186 .LBB555:
7187 .LBI555:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7188 .loc 2 527 31 discriminator 1 view .LVU2384
7189 .LBB556:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7190 .loc 2 529 4 discriminator 1 view .LVU2385
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7191 .loc 2 531 4 discriminator 1 view .LVU2386
7192 0278 0C32 adds r2, r2, #12
ARM GAS /tmp/cc4vHZRy.s page 240
7193 .LVL649:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7194 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2387
7195 .syntax unified
7196 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7197 027a 42E80030 strex r0, r3, [r2]
7198 @ 0 "" 2
7199 .LVL650:
7200 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2388
7201 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2389
7202 .thumb
7203 .syntax unified
7204 .LBE556:
7205 .LBE555:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7206 .loc 1 2580 9 discriminator 1 view .LVU2390
7207 027e 0028 cmp r0, #0
7208 0280 F3D1 bne .L355
7209 .LBE552:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7210 .loc 1 2580 9 is_stmt 1 discriminator 2 view .LVU2391
2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7211 .loc 1 2584 9 discriminator 2 view .LVU2392
2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7212 .loc 1 2584 28 is_stmt 0 discriminator 2 view .LVU2393
7213 0282 0223 movs r3, #2
7214 .LVL651:
2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7215 .loc 1 2584 28 discriminator 2 view .LVU2394
7216 0284 6363 str r3, [r4, #52]
2591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7217 .loc 1 2591 9 is_stmt 1 discriminator 2 view .LVU2395
7218 0286 2046 mov r0, r4
7219 0288 FFF7FEFF bl HAL_UARTEx_RxEventCallback
7220 .LVL652:
2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7221 .loc 1 2594 7 discriminator 2 view .LVU2396
7222 028c E0E6 b .L326
7223 .LVL653:
7224 .L360:
2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7225 .loc 1 2594 7 is_stmt 0 discriminator 2 view .LVU2397
7226 .LBE541:
2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
7227 .loc 1 2601 5 is_stmt 1 view .LVU2398
7228 028e 2046 mov r0, r4
7229 .LVL654:
2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
7230 .loc 1 2601 5 is_stmt 0 view .LVU2399
7231 0290 FFF7FEFF bl UART_Transmit_IT
7232 .LVL655:
2602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7233 .loc 1 2602 5 is_stmt 1 view .LVU2400
7234 0294 DCE6 b .L326
7235 .LVL656:
7236 .L361:
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
ARM GAS /tmp/cc4vHZRy.s page 241
7237 .loc 1 2608 5 view .LVU2401
7238 0296 2046 mov r0, r4
7239 .LVL657:
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
7240 .loc 1 2608 5 is_stmt 0 view .LVU2402
7241 0298 FFF7FEFF bl UART_EndTransmit_IT
7242 .LVL658:
2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7243 .loc 1 2609 5 is_stmt 1 view .LVU2403
7244 029c D8E6 b .L326
7245 .L364:
7246 029e 00BF .align 2
7247 .L363:
7248 02a0 00000000 .word UART_DMAAbortOnError
7249 .cfi_endproc
7250 .LFE160:
7252 .section .text.UART_DMARxHalfCplt,"ax",%progbits
7253 .align 1
7254 .syntax unified
7255 .thumb
7256 .thumb_func
7258 UART_DMARxHalfCplt:
7259 .LVL659:
7260 .LFB180:
3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
7261 .loc 1 3132 1 view -0
7262 .cfi_startproc
7263 @ args = 0, pretend = 0, frame = 0
7264 @ frame_needed = 0, uses_anonymous_args = 0
3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
7265 .loc 1 3132 1 is_stmt 0 view .LVU2405
7266 0000 08B5 push {r3, lr}
7267 .LCFI56:
7268 .cfi_def_cfa_offset 8
7269 .cfi_offset 3, -8
7270 .cfi_offset 14, -4
3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7271 .loc 1 3133 3 is_stmt 1 view .LVU2406
3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7272 .loc 1 3133 23 is_stmt 0 view .LVU2407
7273 0002 806B ldr r0, [r0, #56]
7274 .LVL660:
3137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7275 .loc 1 3137 3 is_stmt 1 view .LVU2408
3137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7276 .loc 1 3137 22 is_stmt 0 view .LVU2409
7277 0004 0123 movs r3, #1
7278 0006 4363 str r3, [r0, #52]
3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7279 .loc 1 3141 3 is_stmt 1 view .LVU2410
3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7280 .loc 1 3141 12 is_stmt 0 view .LVU2411
7281 0008 036B ldr r3, [r0, #48]
3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7282 .loc 1 3141 6 view .LVU2412
7283 000a 012B cmp r3, #1
7284 000c 02D0 beq .L369
ARM GAS /tmp/cc4vHZRy.s page 242
3159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7285 .loc 1 3159 5 is_stmt 1 view .LVU2413
7286 000e FFF7FEFF bl HAL_UART_RxHalfCpltCallback
7287 .LVL661:
7288 .L365:
3162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7289 .loc 1 3162 1 is_stmt 0 view .LVU2414
7290 0012 08BD pop {r3, pc}
7291 .LVL662:
7292 .L369:
3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7293 .loc 1 3148 5 is_stmt 1 view .LVU2415
3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7294 .loc 1 3148 44 is_stmt 0 view .LVU2416
7295 0014 818D ldrh r1, [r0, #44]
3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7296 .loc 1 3148 5 view .LVU2417
7297 0016 4908 lsrs r1, r1, #1
7298 0018 FFF7FEFF bl HAL_UARTEx_RxEventCallback
7299 .LVL663:
3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7300 .loc 1 3148 5 view .LVU2418
7301 001c F9E7 b .L365
7302 .cfi_endproc
7303 .LFE180:
7305 .section .text.UART_DMAReceiveCplt,"ax",%progbits
7306 .align 1
7307 .syntax unified
7308 .thumb
7309 .thumb_func
7311 UART_DMAReceiveCplt:
7312 .LVL664:
7313 .LFB179:
3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
7314 .loc 1 3070 1 is_stmt 1 view -0
7315 .cfi_startproc
7316 @ args = 0, pretend = 0, frame = 0
7317 @ frame_needed = 0, uses_anonymous_args = 0
3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
7318 .loc 1 3070 1 is_stmt 0 view .LVU2420
7319 0000 08B5 push {r3, lr}
7320 .LCFI57:
7321 .cfi_def_cfa_offset 8
7322 .cfi_offset 3, -8
7323 .cfi_offset 14, -4
7324 0002 0346 mov r3, r0
3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7325 .loc 1 3071 3 is_stmt 1 view .LVU2421
3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7326 .loc 1 3071 23 is_stmt 0 view .LVU2422
7327 0004 806B ldr r0, [r0, #56]
7328 .LVL665:
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7329 .loc 1 3074 3 is_stmt 1 view .LVU2423
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7330 .loc 1 3074 12 is_stmt 0 view .LVU2424
7331 0006 1B68 ldr r3, [r3]
ARM GAS /tmp/cc4vHZRy.s page 243
7332 .LVL666:
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7333 .loc 1 3074 22 view .LVU2425
7334 0008 1B68 ldr r3, [r3]
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7335 .loc 1 3074 6 view .LVU2426
7336 000a 13F4807F tst r3, #256
7337 000e 2BD1 bne .L371
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7338 .loc 1 3076 5 is_stmt 1 view .LVU2427
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7339 .loc 1 3076 24 is_stmt 0 view .LVU2428
7340 0010 0023 movs r3, #0
7341 0012 C385 strh r3, [r0, #46] @ movhi
7342 .L372:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7343 .loc 1 3079 5 is_stmt 1 discriminator 1 view .LVU2429
7344 .LBB557:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7345 .loc 1 3079 5 discriminator 1 view .LVU2430
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7346 .loc 1 3079 5 discriminator 1 view .LVU2431
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7347 .loc 1 3079 5 discriminator 1 view .LVU2432
7348 0014 0268 ldr r2, [r0]
7349 .LVL667:
7350 .LBB558:
7351 .LBI558:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7352 .loc 2 476 31 discriminator 1 view .LVU2433
7353 .LBB559:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7354 .loc 2 478 5 discriminator 1 view .LVU2434
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7355 .loc 2 480 4 discriminator 1 view .LVU2435
7356 0016 02F10C03 add r3, r2, #12
7357 .LVL668:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7358 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2436
7359 .syntax unified
7360 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7361 001a 53E8003F ldrex r3, [r3]
7362 @ 0 "" 2
7363 .LVL669:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7364 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2437
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7365 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2438
7366 .thumb
7367 .syntax unified
7368 .LBE559:
7369 .LBE558:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7370 .loc 1 3079 5 discriminator 1 view .LVU2439
7371 001e 23F48073 bic r3, r3, #256
7372 .LVL670:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
ARM GAS /tmp/cc4vHZRy.s page 244
7373 .loc 1 3079 5 is_stmt 1 discriminator 1 view .LVU2440
7374 .LBB560:
7375 .LBI560:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7376 .loc 2 527 31 discriminator 1 view .LVU2441
7377 .LBB561:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7378 .loc 2 529 4 discriminator 1 view .LVU2442
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7379 .loc 2 531 4 discriminator 1 view .LVU2443
7380 0022 0C32 adds r2, r2, #12
7381 .LVL671:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7382 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2444
7383 .syntax unified
7384 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7385 0024 42E80031 strex r1, r3, [r2]
7386 @ 0 "" 2
7387 .LVL672:
7388 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2445
7389 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2446
7390 .thumb
7391 .syntax unified
7392 .LBE561:
7393 .LBE560:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7394 .loc 1 3079 5 discriminator 1 view .LVU2447
7395 0028 0029 cmp r1, #0
7396 002a F3D1 bne .L372
7397 .LVL673:
7398 .L373:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7399 .loc 1 3079 5 discriminator 1 view .LVU2448
7400 .LBE557:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7401 .loc 1 3079 5 is_stmt 1 discriminator 1 view .LVU2449
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7402 .loc 1 3080 5 discriminator 1 view .LVU2450
7403 .LBB562:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7404 .loc 1 3080 5 discriminator 1 view .LVU2451
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7405 .loc 1 3080 5 discriminator 1 view .LVU2452
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7406 .loc 1 3080 5 discriminator 1 view .LVU2453
7407 002c 0268 ldr r2, [r0]
7408 .LVL674:
7409 .LBB563:
7410 .LBI563:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7411 .loc 2 476 31 discriminator 1 view .LVU2454
7412 .LBB564:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7413 .loc 2 478 5 discriminator 1 view .LVU2455
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7414 .loc 2 480 4 discriminator 1 view .LVU2456
7415 002e 02F11403 add r3, r2, #20
ARM GAS /tmp/cc4vHZRy.s page 245
7416 .LVL675:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7417 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2457
7418 .syntax unified
7419 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7420 0032 53E8003F ldrex r3, [r3]
7421 @ 0 "" 2
7422 .LVL676:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7423 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2458
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7424 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2459
7425 .thumb
7426 .syntax unified
7427 .LBE564:
7428 .LBE563:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7429 .loc 1 3080 5 discriminator 1 view .LVU2460
7430 0036 23F00103 bic r3, r3, #1
7431 .LVL677:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7432 .loc 1 3080 5 is_stmt 1 discriminator 1 view .LVU2461
7433 .LBB565:
7434 .LBI565:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7435 .loc 2 527 31 discriminator 1 view .LVU2462
7436 .LBB566:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7437 .loc 2 529 4 discriminator 1 view .LVU2463
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7438 .loc 2 531 4 discriminator 1 view .LVU2464
7439 003a 1432 adds r2, r2, #20
7440 .LVL678:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7441 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2465
7442 .syntax unified
7443 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7444 003c 42E80031 strex r1, r3, [r2]
7445 @ 0 "" 2
7446 .LVL679:
7447 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2466
7448 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2467
7449 .thumb
7450 .syntax unified
7451 .LBE566:
7452 .LBE565:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7453 .loc 1 3080 5 discriminator 1 view .LVU2468
7454 0040 0029 cmp r1, #0
7455 0042 F3D1 bne .L373
7456 .LVL680:
7457 .L374:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7458 .loc 1 3080 5 discriminator 1 view .LVU2469
7459 .LBE562:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7460 .loc 1 3080 5 is_stmt 1 discriminator 1 view .LVU2470
ARM GAS /tmp/cc4vHZRy.s page 246
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7461 .loc 1 3084 5 discriminator 1 view .LVU2471
7462 .LBB567:
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7463 .loc 1 3084 5 discriminator 1 view .LVU2472
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7464 .loc 1 3084 5 discriminator 1 view .LVU2473
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7465 .loc 1 3084 5 discriminator 1 view .LVU2474
7466 0044 0268 ldr r2, [r0]
7467 .LVL681:
7468 .LBB568:
7469 .LBI568:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7470 .loc 2 476 31 discriminator 1 view .LVU2475
7471 .LBB569:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7472 .loc 2 478 5 discriminator 1 view .LVU2476
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7473 .loc 2 480 4 discriminator 1 view .LVU2477
7474 0046 02F11403 add r3, r2, #20
7475 .LVL682:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7476 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2478
7477 .syntax unified
7478 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7479 004a 53E8003F ldrex r3, [r3]
7480 @ 0 "" 2
7481 .LVL683:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7482 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2479
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7483 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2480
7484 .thumb
7485 .syntax unified
7486 .LBE569:
7487 .LBE568:
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7488 .loc 1 3084 5 discriminator 1 view .LVU2481
7489 004e 23F04003 bic r3, r3, #64
7490 .LVL684:
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7491 .loc 1 3084 5 is_stmt 1 discriminator 1 view .LVU2482
7492 .LBB570:
7493 .LBI570:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7494 .loc 2 527 31 discriminator 1 view .LVU2483
7495 .LBB571:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7496 .loc 2 529 4 discriminator 1 view .LVU2484
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7497 .loc 2 531 4 discriminator 1 view .LVU2485
7498 0052 1432 adds r2, r2, #20
7499 .LVL685:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7500 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2486
7501 .syntax unified
ARM GAS /tmp/cc4vHZRy.s page 247
7502 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7503 0054 42E80031 strex r1, r3, [r2]
7504 @ 0 "" 2
7505 .LVL686:
7506 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2487
7507 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2488
7508 .thumb
7509 .syntax unified
7510 .LBE571:
7511 .LBE570:
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7512 .loc 1 3084 5 discriminator 1 view .LVU2489
7513 0058 0029 cmp r1, #0
7514 005a F3D1 bne .L374
7515 .LBE567:
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7516 .loc 1 3084 5 is_stmt 1 discriminator 2 view .LVU2490
3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7517 .loc 1 3087 5 discriminator 2 view .LVU2491
3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7518 .loc 1 3087 20 is_stmt 0 discriminator 2 view .LVU2492
7519 005c 2023 movs r3, #32
7520 .LVL687:
3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7521 .loc 1 3087 20 discriminator 2 view .LVU2493
7522 005e 80F84230 strb r3, [r0, #66]
3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7523 .loc 1 3090 5 is_stmt 1 discriminator 2 view .LVU2494
3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7524 .loc 1 3090 14 is_stmt 0 discriminator 2 view .LVU2495
7525 0062 036B ldr r3, [r0, #48]
3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7526 .loc 1 3090 8 discriminator 2 view .LVU2496
7527 0064 012B cmp r3, #1
7528 0066 07D0 beq .L375
7529 .L371:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7530 .loc 1 3092 7 is_stmt 1 discriminator 2 view .LVU2497
3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7531 .loc 1 3098 3 discriminator 2 view .LVU2498
3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7532 .loc 1 3098 22 is_stmt 0 discriminator 2 view .LVU2499
7533 0068 0023 movs r3, #0
7534 006a 4363 str r3, [r0, #52]
3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7535 .loc 1 3102 3 is_stmt 1 discriminator 2 view .LVU2500
3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7536 .loc 1 3102 12 is_stmt 0 discriminator 2 view .LVU2501
7537 006c 036B ldr r3, [r0, #48]
3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7538 .loc 1 3102 6 discriminator 2 view .LVU2502
7539 006e 012B cmp r3, #1
7540 0070 0FD0 beq .L379
3120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7541 .loc 1 3120 5 is_stmt 1 view .LVU2503
7542 0072 FFF7FEFF bl HAL_UART_RxCpltCallback
7543 .LVL688:
ARM GAS /tmp/cc4vHZRy.s page 248
7544 .L370:
3123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7545 .loc 1 3123 1 is_stmt 0 view .LVU2504
7546 0076 08BD pop {r3, pc}
7547 .LVL689:
7548 .L375:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7549 .loc 1 3092 7 is_stmt 1 discriminator 1 view .LVU2505
7550 .LBB572:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7551 .loc 1 3092 7 discriminator 1 view .LVU2506
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7552 .loc 1 3092 7 discriminator 1 view .LVU2507
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7553 .loc 1 3092 7 discriminator 1 view .LVU2508
7554 0078 0268 ldr r2, [r0]
7555 .LVL690:
7556 .LBB573:
7557 .LBI573:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7558 .loc 2 476 31 discriminator 1 view .LVU2509
7559 .LBB574:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7560 .loc 2 478 5 discriminator 1 view .LVU2510
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7561 .loc 2 480 4 discriminator 1 view .LVU2511
7562 007a 02F10C03 add r3, r2, #12
7563 .LVL691:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7564 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2512
7565 .syntax unified
7566 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7567 007e 53E8003F ldrex r3, [r3]
7568 @ 0 "" 2
7569 .LVL692:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7570 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2513
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7571 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2514
7572 .thumb
7573 .syntax unified
7574 .LBE574:
7575 .LBE573:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7576 .loc 1 3092 7 discriminator 1 view .LVU2515
7577 0082 23F01003 bic r3, r3, #16
7578 .LVL693:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7579 .loc 1 3092 7 is_stmt 1 discriminator 1 view .LVU2516
7580 .LBB575:
7581 .LBI575:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7582 .loc 2 527 31 discriminator 1 view .LVU2517
7583 .LBB576:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7584 .loc 2 529 4 discriminator 1 view .LVU2518
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc4vHZRy.s page 249
7585 .loc 2 531 4 discriminator 1 view .LVU2519
7586 0086 0C32 adds r2, r2, #12
7587 .LVL694:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7588 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2520
7589 .syntax unified
7590 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7591 0088 42E80031 strex r1, r3, [r2]
7592 @ 0 "" 2
7593 .LVL695:
7594 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2521
7595 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2522
7596 .thumb
7597 .syntax unified
7598 .LBE576:
7599 .LBE575:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7600 .loc 1 3092 7 discriminator 1 view .LVU2523
7601 008c 0029 cmp r1, #0
7602 008e F3D1 bne .L375
7603 0090 EAE7 b .L371
7604 .LVL696:
7605 .L379:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7606 .loc 1 3092 7 discriminator 1 view .LVU2524
7607 .LBE572:
3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7608 .loc 1 3109 5 is_stmt 1 view .LVU2525
7609 0092 818D ldrh r1, [r0, #44]
7610 0094 FFF7FEFF bl HAL_UARTEx_RxEventCallback
7611 .LVL697:
3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7612 .loc 1 3109 5 is_stmt 0 view .LVU2526
7613 0098 EDE7 b .L370
7614 .cfi_endproc
7615 .LFE179:
7617 .section .text.HAL_LIN_SendBreak,"ax",%progbits
7618 .align 1
7619 .global HAL_LIN_SendBreak
7620 .syntax unified
7621 .thumb
7622 .thumb_func
7624 HAL_LIN_SendBreak:
7625 .LVL698:
7626 .LFB170:
2781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
7627 .loc 1 2781 1 is_stmt 1 view -0
7628 .cfi_startproc
7629 @ args = 0, pretend = 0, frame = 0
7630 @ frame_needed = 0, uses_anonymous_args = 0
7631 @ link register save eliminated.
2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7632 .loc 1 2783 3 view .LVU2528
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7633 .loc 1 2786 3 view .LVU2529
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7634 .loc 1 2786 3 view .LVU2530
ARM GAS /tmp/cc4vHZRy.s page 250
7635 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
7636 0004 012B cmp r3, #1
7637 0006 19D0 beq .L383
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7638 .loc 1 2786 3 discriminator 2 view .LVU2531
7639 0008 0123 movs r3, #1
7640 000a 80F84030 strb r3, [r0, #64]
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7641 .loc 1 2786 3 discriminator 2 view .LVU2532
2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7642 .loc 1 2788 3 discriminator 2 view .LVU2533
2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7643 .loc 1 2788 17 is_stmt 0 discriminator 2 view .LVU2534
7644 000e 2423 movs r3, #36
7645 0010 80F84130 strb r3, [r0, #65]
7646 .L382:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7647 .loc 1 2791 3 is_stmt 1 discriminator 1 view .LVU2535
7648 .LBB577:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7649 .loc 1 2791 3 discriminator 1 view .LVU2536
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7650 .loc 1 2791 3 discriminator 1 view .LVU2537
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7651 .loc 1 2791 3 discriminator 1 view .LVU2538
7652 0014 0268 ldr r2, [r0]
7653 .LVL699:
7654 .LBB578:
7655 .LBI578:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7656 .loc 2 476 31 discriminator 1 view .LVU2539
7657 .LBB579:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7658 .loc 2 478 5 discriminator 1 view .LVU2540
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7659 .loc 2 480 4 discriminator 1 view .LVU2541
7660 0016 02F10C03 add r3, r2, #12
7661 .LVL700:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7662 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2542
7663 .syntax unified
7664 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7665 001a 53E8003F ldrex r3, [r3]
7666 @ 0 "" 2
7667 .LVL701:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7668 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2543
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7669 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2544
7670 .thumb
7671 .syntax unified
7672 .LBE579:
7673 .LBE578:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7674 .loc 1 2791 3 discriminator 1 view .LVU2545
7675 001e 43F00103 orr r3, r3, #1
7676 .LVL702:
ARM GAS /tmp/cc4vHZRy.s page 251
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7677 .loc 1 2791 3 is_stmt 1 discriminator 1 view .LVU2546
7678 .LBB580:
7679 .LBI580:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7680 .loc 2 527 31 discriminator 1 view .LVU2547
7681 .LBB581:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7682 .loc 2 529 4 discriminator 1 view .LVU2548
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7683 .loc 2 531 4 discriminator 1 view .LVU2549
7684 0022 0C32 adds r2, r2, #12
7685 .LVL703:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7686 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2550
7687 .syntax unified
7688 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7689 0024 42E80031 strex r1, r3, [r2]
7690 @ 0 "" 2
7691 .LVL704:
7692 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2551
7693 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2552
7694 .thumb
7695 .syntax unified
7696 .LBE581:
7697 .LBE580:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7698 .loc 1 2791 3 discriminator 1 view .LVU2553
7699 0028 0029 cmp r1, #0
7700 002a F3D1 bne .L382
7701 .LBE577:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7702 .loc 1 2791 3 is_stmt 1 discriminator 2 view .LVU2554
2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7703 .loc 1 2793 3 discriminator 2 view .LVU2555
2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7704 .loc 1 2793 17 is_stmt 0 discriminator 2 view .LVU2556
7705 002c 2023 movs r3, #32
7706 .LVL705:
2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7707 .loc 1 2793 17 discriminator 2 view .LVU2557
7708 002e 80F84130 strb r3, [r0, #65]
2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7709 .loc 1 2796 3 is_stmt 1 discriminator 2 view .LVU2558
2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7710 .loc 1 2796 3 discriminator 2 view .LVU2559
7711 0032 0023 movs r3, #0
7712 0034 80F84030 strb r3, [r0, #64]
2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7713 .loc 1 2796 3 discriminator 2 view .LVU2560
2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7714 .loc 1 2798 3 discriminator 2 view .LVU2561
2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7715 .loc 1 2798 10 is_stmt 0 discriminator 2 view .LVU2562
7716 0038 1846 mov r0, r3
7717 .LVL706:
2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 252
7718 .loc 1 2798 10 discriminator 2 view .LVU2563
7719 003a 7047 bx lr
7720 .LVL707:
7721 .L383:
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7722 .loc 1 2786 3 view .LVU2564
7723 003c 0220 movs r0, #2
7724 .LVL708:
2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7725 .loc 1 2799 1 view .LVU2565
7726 003e 7047 bx lr
7727 .cfi_endproc
7728 .LFE170:
7730 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
7731 .align 1
7732 .global HAL_MultiProcessor_EnterMuteMode
7733 .syntax unified
7734 .thumb
7735 .thumb_func
7737 HAL_MultiProcessor_EnterMuteMode:
7738 .LVL709:
7739 .LFB171:
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
7740 .loc 1 2808 1 is_stmt 1 view -0
7741 .cfi_startproc
7742 @ args = 0, pretend = 0, frame = 0
7743 @ frame_needed = 0, uses_anonymous_args = 0
7744 @ link register save eliminated.
2810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7745 .loc 1 2810 3 view .LVU2567
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7746 .loc 1 2813 3 view .LVU2568
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7747 .loc 1 2813 3 view .LVU2569
7748 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
7749 0004 012B cmp r3, #1
7750 0006 1AD0 beq .L387
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7751 .loc 1 2813 3 discriminator 2 view .LVU2570
7752 0008 0123 movs r3, #1
7753 000a 80F84030 strb r3, [r0, #64]
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7754 .loc 1 2813 3 discriminator 2 view .LVU2571
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7755 .loc 1 2815 3 discriminator 2 view .LVU2572
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7756 .loc 1 2815 17 is_stmt 0 discriminator 2 view .LVU2573
7757 000e 2423 movs r3, #36
7758 0010 80F84130 strb r3, [r0, #65]
7759 .L386:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7760 .loc 1 2818 3 is_stmt 1 discriminator 1 view .LVU2574
7761 .LBB582:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7762 .loc 1 2818 3 discriminator 1 view .LVU2575
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7763 .loc 1 2818 3 discriminator 1 view .LVU2576
ARM GAS /tmp/cc4vHZRy.s page 253
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7764 .loc 1 2818 3 discriminator 1 view .LVU2577
7765 0014 0268 ldr r2, [r0]
7766 .LVL710:
7767 .LBB583:
7768 .LBI583:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7769 .loc 2 476 31 discriminator 1 view .LVU2578
7770 .LBB584:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7771 .loc 2 478 5 discriminator 1 view .LVU2579
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7772 .loc 2 480 4 discriminator 1 view .LVU2580
7773 0016 02F10C03 add r3, r2, #12
7774 .LVL711:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7775 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2581
7776 .syntax unified
7777 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7778 001a 53E8003F ldrex r3, [r3]
7779 @ 0 "" 2
7780 .LVL712:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7781 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2582
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7782 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2583
7783 .thumb
7784 .syntax unified
7785 .LBE584:
7786 .LBE583:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7787 .loc 1 2818 3 discriminator 1 view .LVU2584
7788 001e 43F00203 orr r3, r3, #2
7789 .LVL713:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7790 .loc 1 2818 3 is_stmt 1 discriminator 1 view .LVU2585
7791 .LBB585:
7792 .LBI585:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7793 .loc 2 527 31 discriminator 1 view .LVU2586
7794 .LBB586:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7795 .loc 2 529 4 discriminator 1 view .LVU2587
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7796 .loc 2 531 4 discriminator 1 view .LVU2588
7797 0022 0C32 adds r2, r2, #12
7798 .LVL714:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7799 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2589
7800 .syntax unified
7801 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7802 0024 42E80031 strex r1, r3, [r2]
7803 @ 0 "" 2
7804 .LVL715:
7805 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2590
7806 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2591
7807 .thumb
ARM GAS /tmp/cc4vHZRy.s page 254
7808 .syntax unified
7809 .LBE586:
7810 .LBE585:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7811 .loc 1 2818 3 discriminator 1 view .LVU2592
7812 0028 0029 cmp r1, #0
7813 002a F3D1 bne .L386
7814 .LBE582:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7815 .loc 1 2818 3 is_stmt 1 discriminator 2 view .LVU2593
2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
7816 .loc 1 2820 3 discriminator 2 view .LVU2594
2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
7817 .loc 1 2820 17 is_stmt 0 discriminator 2 view .LVU2595
7818 002c 2023 movs r3, #32
7819 .LVL716:
2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
7820 .loc 1 2820 17 discriminator 2 view .LVU2596
7821 002e 80F84130 strb r3, [r0, #65]
2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7822 .loc 1 2821 3 is_stmt 1 discriminator 2 view .LVU2597
2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7823 .loc 1 2821 22 is_stmt 0 discriminator 2 view .LVU2598
7824 0032 0023 movs r3, #0
7825 0034 4363 str r3, [r0, #52]
2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7826 .loc 1 2824 3 is_stmt 1 discriminator 2 view .LVU2599
2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7827 .loc 1 2824 3 discriminator 2 view .LVU2600
7828 0036 80F84030 strb r3, [r0, #64]
2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7829 .loc 1 2824 3 discriminator 2 view .LVU2601
2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7830 .loc 1 2826 3 discriminator 2 view .LVU2602
2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7831 .loc 1 2826 10 is_stmt 0 discriminator 2 view .LVU2603
7832 003a 1846 mov r0, r3
7833 .LVL717:
2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7834 .loc 1 2826 10 discriminator 2 view .LVU2604
7835 003c 7047 bx lr
7836 .LVL718:
7837 .L387:
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7838 .loc 1 2813 3 view .LVU2605
7839 003e 0220 movs r0, #2
7840 .LVL719:
2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7841 .loc 1 2827 1 view .LVU2606
7842 0040 7047 bx lr
7843 .cfi_endproc
7844 .LFE171:
7846 .section .text.HAL_MultiProcessor_ExitMuteMode,"ax",%progbits
7847 .align 1
7848 .global HAL_MultiProcessor_ExitMuteMode
7849 .syntax unified
7850 .thumb
ARM GAS /tmp/cc4vHZRy.s page 255
7851 .thumb_func
7853 HAL_MultiProcessor_ExitMuteMode:
7854 .LVL720:
7855 .LFB172:
2836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
7856 .loc 1 2836 1 is_stmt 1 view -0
7857 .cfi_startproc
7858 @ args = 0, pretend = 0, frame = 0
7859 @ frame_needed = 0, uses_anonymous_args = 0
7860 @ link register save eliminated.
2838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7861 .loc 1 2838 3 view .LVU2608
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7862 .loc 1 2841 3 view .LVU2609
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7863 .loc 1 2841 3 view .LVU2610
7864 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
7865 0004 012B cmp r3, #1
7866 0006 1AD0 beq .L391
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7867 .loc 1 2841 3 discriminator 2 view .LVU2611
7868 0008 0123 movs r3, #1
7869 000a 80F84030 strb r3, [r0, #64]
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7870 .loc 1 2841 3 discriminator 2 view .LVU2612
2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7871 .loc 1 2843 3 discriminator 2 view .LVU2613
2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7872 .loc 1 2843 17 is_stmt 0 discriminator 2 view .LVU2614
7873 000e 2423 movs r3, #36
7874 0010 80F84130 strb r3, [r0, #65]
7875 .L390:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7876 .loc 1 2846 3 is_stmt 1 discriminator 1 view .LVU2615
7877 .LBB587:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7878 .loc 1 2846 3 discriminator 1 view .LVU2616
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7879 .loc 1 2846 3 discriminator 1 view .LVU2617
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7880 .loc 1 2846 3 discriminator 1 view .LVU2618
7881 0014 0268 ldr r2, [r0]
7882 .LVL721:
7883 .LBB588:
7884 .LBI588:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7885 .loc 2 476 31 discriminator 1 view .LVU2619
7886 .LBB589:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7887 .loc 2 478 5 discriminator 1 view .LVU2620
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7888 .loc 2 480 4 discriminator 1 view .LVU2621
7889 0016 02F10C03 add r3, r2, #12
7890 .LVL722:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7891 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2622
7892 .syntax unified
ARM GAS /tmp/cc4vHZRy.s page 256
7893 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7894 001a 53E8003F ldrex r3, [r3]
7895 @ 0 "" 2
7896 .LVL723:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7897 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2623
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7898 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2624
7899 .thumb
7900 .syntax unified
7901 .LBE589:
7902 .LBE588:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7903 .loc 1 2846 3 discriminator 1 view .LVU2625
7904 001e 23F00203 bic r3, r3, #2
7905 .LVL724:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7906 .loc 1 2846 3 is_stmt 1 discriminator 1 view .LVU2626
7907 .LBB590:
7908 .LBI590:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7909 .loc 2 527 31 discriminator 1 view .LVU2627
7910 .LBB591:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7911 .loc 2 529 4 discriminator 1 view .LVU2628
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7912 .loc 2 531 4 discriminator 1 view .LVU2629
7913 0022 0C32 adds r2, r2, #12
7914 .LVL725:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7915 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2630
7916 .syntax unified
7917 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7918 0024 42E80031 strex r1, r3, [r2]
7919 @ 0 "" 2
7920 .LVL726:
7921 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2631
7922 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2632
7923 .thumb
7924 .syntax unified
7925 .LBE591:
7926 .LBE590:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7927 .loc 1 2846 3 discriminator 1 view .LVU2633
7928 0028 0029 cmp r1, #0
7929 002a F3D1 bne .L390
7930 .LBE587:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7931 .loc 1 2846 3 is_stmt 1 discriminator 2 view .LVU2634
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
7932 .loc 1 2848 3 discriminator 2 view .LVU2635
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
7933 .loc 1 2848 17 is_stmt 0 discriminator 2 view .LVU2636
7934 002c 2023 movs r3, #32
7935 .LVL727:
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
7936 .loc 1 2848 17 discriminator 2 view .LVU2637
ARM GAS /tmp/cc4vHZRy.s page 257
7937 002e 80F84130 strb r3, [r0, #65]
2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7938 .loc 1 2849 3 is_stmt 1 discriminator 2 view .LVU2638
2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7939 .loc 1 2849 22 is_stmt 0 discriminator 2 view .LVU2639
7940 0032 0023 movs r3, #0
7941 0034 4363 str r3, [r0, #52]
2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7942 .loc 1 2852 3 is_stmt 1 discriminator 2 view .LVU2640
2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7943 .loc 1 2852 3 discriminator 2 view .LVU2641
7944 0036 80F84030 strb r3, [r0, #64]
2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7945 .loc 1 2852 3 discriminator 2 view .LVU2642
2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7946 .loc 1 2854 3 discriminator 2 view .LVU2643
2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7947 .loc 1 2854 10 is_stmt 0 discriminator 2 view .LVU2644
7948 003a 1846 mov r0, r3
7949 .LVL728:
2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7950 .loc 1 2854 10 discriminator 2 view .LVU2645
7951 003c 7047 bx lr
7952 .LVL729:
7953 .L391:
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7954 .loc 1 2841 3 view .LVU2646
7955 003e 0220 movs r0, #2
7956 .LVL730:
2855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7957 .loc 1 2855 1 view .LVU2647
7958 0040 7047 bx lr
7959 .cfi_endproc
7960 .LFE172:
7962 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
7963 .align 1
7964 .global HAL_HalfDuplex_EnableTransmitter
7965 .syntax unified
7966 .thumb
7967 .thumb_func
7969 HAL_HalfDuplex_EnableTransmitter:
7970 .LVL731:
7971 .LFB173:
2864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
7972 .loc 1 2864 1 is_stmt 1 view -0
7973 .cfi_startproc
7974 @ args = 0, pretend = 0, frame = 0
7975 @ frame_needed = 0, uses_anonymous_args = 0
7976 @ link register save eliminated.
2865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7977 .loc 1 2865 3 view .LVU2649
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7978 .loc 1 2868 3 view .LVU2650
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7979 .loc 1 2868 3 view .LVU2651
7980 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
7981 0004 012B cmp r3, #1
ARM GAS /tmp/cc4vHZRy.s page 258
7982 0006 14D0 beq .L394
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7983 .loc 1 2868 3 discriminator 2 view .LVU2652
7984 0008 0123 movs r3, #1
7985 000a 80F84030 strb r3, [r0, #64]
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7986 .loc 1 2868 3 discriminator 2 view .LVU2653
2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7987 .loc 1 2870 3 discriminator 2 view .LVU2654
2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7988 .loc 1 2870 17 is_stmt 0 discriminator 2 view .LVU2655
7989 000e 2423 movs r3, #36
7990 0010 80F84130 strb r3, [r0, #65]
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7991 .loc 1 2873 3 is_stmt 1 discriminator 2 view .LVU2656
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7992 .loc 1 2873 17 is_stmt 0 discriminator 2 view .LVU2657
7993 0014 0268 ldr r2, [r0]
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7994 .loc 1 2873 10 discriminator 2 view .LVU2658
7995 0016 D368 ldr r3, [r2, #12]
7996 .LVL732:
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7997 .loc 1 2876 3 is_stmt 1 discriminator 2 view .LVU2659
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7998 .loc 1 2876 10 is_stmt 0 discriminator 2 view .LVU2660
7999 0018 23F00C03 bic r3, r3, #12
8000 .LVL733:
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8001 .loc 1 2879 3 is_stmt 1 discriminator 2 view .LVU2661
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8002 .loc 1 2879 10 is_stmt 0 discriminator 2 view .LVU2662
8003 001c 43F00803 orr r3, r3, #8
8004 .LVL734:
2882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8005 .loc 1 2882 3 is_stmt 1 discriminator 2 view .LVU2663
8006 0020 D360 str r3, [r2, #12]
2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8007 .loc 1 2884 3 discriminator 2 view .LVU2664
2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8008 .loc 1 2884 17 is_stmt 0 discriminator 2 view .LVU2665
8009 0022 2023 movs r3, #32
8010 .LVL735:
2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8011 .loc 1 2884 17 discriminator 2 view .LVU2666
8012 0024 80F84130 strb r3, [r0, #65]
8013 .LVL736:
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8014 .loc 1 2887 3 is_stmt 1 discriminator 2 view .LVU2667
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8015 .loc 1 2887 3 discriminator 2 view .LVU2668
8016 0028 0023 movs r3, #0
8017 002a 80F84030 strb r3, [r0, #64]
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8018 .loc 1 2887 3 discriminator 2 view .LVU2669
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8019 .loc 1 2889 3 discriminator 2 view .LVU2670
ARM GAS /tmp/cc4vHZRy.s page 259
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8020 .loc 1 2889 10 is_stmt 0 discriminator 2 view .LVU2671
8021 002e 1846 mov r0, r3
8022 .LVL737:
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8023 .loc 1 2889 10 discriminator 2 view .LVU2672
8024 0030 7047 bx lr
8025 .LVL738:
8026 .L394:
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8027 .loc 1 2868 3 view .LVU2673
8028 0032 0220 movs r0, #2
8029 .LVL739:
2890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8030 .loc 1 2890 1 view .LVU2674
8031 0034 7047 bx lr
8032 .cfi_endproc
8033 .LFE173:
8035 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
8036 .align 1
8037 .global HAL_HalfDuplex_EnableReceiver
8038 .syntax unified
8039 .thumb
8040 .thumb_func
8042 HAL_HalfDuplex_EnableReceiver:
8043 .LVL740:
8044 .LFB174:
2899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
8045 .loc 1 2899 1 is_stmt 1 view -0
8046 .cfi_startproc
8047 @ args = 0, pretend = 0, frame = 0
8048 @ frame_needed = 0, uses_anonymous_args = 0
8049 @ link register save eliminated.
2900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8050 .loc 1 2900 3 view .LVU2676
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8051 .loc 1 2903 3 view .LVU2677
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8052 .loc 1 2903 3 view .LVU2678
8053 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
8054 0004 012B cmp r3, #1
8055 0006 14D0 beq .L397
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8056 .loc 1 2903 3 discriminator 2 view .LVU2679
8057 0008 0123 movs r3, #1
8058 000a 80F84030 strb r3, [r0, #64]
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8059 .loc 1 2903 3 discriminator 2 view .LVU2680
2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8060 .loc 1 2905 3 discriminator 2 view .LVU2681
2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8061 .loc 1 2905 17 is_stmt 0 discriminator 2 view .LVU2682
8062 000e 2423 movs r3, #36
8063 0010 80F84130 strb r3, [r0, #65]
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8064 .loc 1 2908 3 is_stmt 1 discriminator 2 view .LVU2683
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc4vHZRy.s page 260
8065 .loc 1 2908 17 is_stmt 0 discriminator 2 view .LVU2684
8066 0014 0268 ldr r2, [r0]
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8067 .loc 1 2908 10 discriminator 2 view .LVU2685
8068 0016 D368 ldr r3, [r2, #12]
8069 .LVL741:
2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8070 .loc 1 2911 3 is_stmt 1 discriminator 2 view .LVU2686
2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8071 .loc 1 2911 10 is_stmt 0 discriminator 2 view .LVU2687
8072 0018 23F00C03 bic r3, r3, #12
8073 .LVL742:
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8074 .loc 1 2914 3 is_stmt 1 discriminator 2 view .LVU2688
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8075 .loc 1 2914 10 is_stmt 0 discriminator 2 view .LVU2689
8076 001c 43F00403 orr r3, r3, #4
8077 .LVL743:
2917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8078 .loc 1 2917 3 is_stmt 1 discriminator 2 view .LVU2690
8079 0020 D360 str r3, [r2, #12]
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8080 .loc 1 2919 3 discriminator 2 view .LVU2691
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8081 .loc 1 2919 17 is_stmt 0 discriminator 2 view .LVU2692
8082 0022 2023 movs r3, #32
8083 .LVL744:
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8084 .loc 1 2919 17 discriminator 2 view .LVU2693
8085 0024 80F84130 strb r3, [r0, #65]
8086 .LVL745:
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8087 .loc 1 2922 3 is_stmt 1 discriminator 2 view .LVU2694
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8088 .loc 1 2922 3 discriminator 2 view .LVU2695
8089 0028 0023 movs r3, #0
8090 002a 80F84030 strb r3, [r0, #64]
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8091 .loc 1 2922 3 discriminator 2 view .LVU2696
2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8092 .loc 1 2924 3 discriminator 2 view .LVU2697
2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8093 .loc 1 2924 10 is_stmt 0 discriminator 2 view .LVU2698
8094 002e 1846 mov r0, r3
8095 .LVL746:
2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8096 .loc 1 2924 10 discriminator 2 view .LVU2699
8097 0030 7047 bx lr
8098 .LVL747:
8099 .L397:
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8100 .loc 1 2903 3 view .LVU2700
8101 0032 0220 movs r0, #2
8102 .LVL748:
2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8103 .loc 1 2925 1 view .LVU2701
8104 0034 7047 bx lr
ARM GAS /tmp/cc4vHZRy.s page 261
8105 .cfi_endproc
8106 .LFE174:
8108 .section .text.HAL_UART_GetState,"ax",%progbits
8109 .align 1
8110 .global HAL_UART_GetState
8111 .syntax unified
8112 .thumb
8113 .thumb_func
8115 HAL_UART_GetState:
8116 .LVL749:
8117 .LFB175:
2956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U;
8118 .loc 1 2956 1 is_stmt 1 view -0
8119 .cfi_startproc
8120 @ args = 0, pretend = 0, frame = 0
8121 @ frame_needed = 0, uses_anonymous_args = 0
8122 @ link register save eliminated.
2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp1 = huart->gState;
8123 .loc 1 2957 3 view .LVU2703
2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
8124 .loc 1 2958 3 view .LVU2704
2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
8125 .loc 1 2958 16 is_stmt 0 view .LVU2705
8126 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
8127 .LVL750:
2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8128 .loc 1 2959 3 is_stmt 1 view .LVU2706
2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8129 .loc 1 2959 16 is_stmt 0 view .LVU2707
8130 0004 90F84200 ldrb r0, [r0, #66] @ zero_extendqisi2
8131 .LVL751:
2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8132 .loc 1 2961 3 is_stmt 1 view .LVU2708
2962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8133 .loc 1 2962 1 is_stmt 0 view .LVU2709
8134 0008 1843 orrs r0, r0, r3
8135 .LVL752:
2962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8136 .loc 1 2962 1 view .LVU2710
8137 000a 7047 bx lr
8138 .cfi_endproc
8139 .LFE175:
8141 .section .text.HAL_UART_GetError,"ax",%progbits
8142 .align 1
8143 .global HAL_UART_GetError
8144 .syntax unified
8145 .thumb
8146 .thumb_func
8148 HAL_UART_GetError:
8149 .LVL753:
8150 .LFB176:
2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return huart->ErrorCode;
8151 .loc 1 2971 1 is_stmt 1 view -0
8152 .cfi_startproc
8153 @ args = 0, pretend = 0, frame = 0
8154 @ frame_needed = 0, uses_anonymous_args = 0
8155 @ link register save eliminated.
ARM GAS /tmp/cc4vHZRy.s page 262
2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8156 .loc 1 2972 3 view .LVU2712
2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8157 .loc 1 2972 15 is_stmt 0 view .LVU2713
8158 0000 406C ldr r0, [r0, #68]
8159 .LVL754:
2973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8160 .loc 1 2973 1 view .LVU2714
8161 0002 7047 bx lr
8162 .cfi_endproc
8163 .LFE176:
8165 .section .text.UART_Start_Receive_IT,"ax",%progbits
8166 .align 1
8167 .global UART_Start_Receive_IT
8168 .syntax unified
8169 .thumb
8170 .thumb_func
8172 UART_Start_Receive_IT:
8173 .LVL755:
8174 .LFB183:
3264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
8175 .loc 1 3264 1 is_stmt 1 view -0
8176 .cfi_startproc
8177 @ args = 0, pretend = 0, frame = 0
8178 @ frame_needed = 0, uses_anonymous_args = 0
8179 @ link register save eliminated.
3265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
8180 .loc 1 3265 3 view .LVU2716
3265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
8181 .loc 1 3265 21 is_stmt 0 view .LVU2717
8182 0000 8162 str r1, [r0, #40]
3266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
8183 .loc 1 3266 3 is_stmt 1 view .LVU2718
3266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
8184 .loc 1 3266 21 is_stmt 0 view .LVU2719
8185 0002 8285 strh r2, [r0, #44] @ movhi
3267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8186 .loc 1 3267 3 is_stmt 1 view .LVU2720
3267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8187 .loc 1 3267 22 is_stmt 0 view .LVU2721
8188 0004 C285 strh r2, [r0, #46] @ movhi
3269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
8189 .loc 1 3269 3 is_stmt 1 view .LVU2722
3269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
8190 .loc 1 3269 20 is_stmt 0 view .LVU2723
8191 0006 0023 movs r3, #0
8192 0008 4364 str r3, [r0, #68]
3270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8193 .loc 1 3270 3 is_stmt 1 view .LVU2724
3270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8194 .loc 1 3270 18 is_stmt 0 view .LVU2725
8195 000a 2223 movs r3, #34
8196 000c 80F84230 strb r3, [r0, #66]
3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8197 .loc 1 3272 3 is_stmt 1 view .LVU2726
3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8198 .loc 1 3272 18 is_stmt 0 view .LVU2727
ARM GAS /tmp/cc4vHZRy.s page 263
8199 0010 0369 ldr r3, [r0, #16]
3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8200 .loc 1 3272 6 view .LVU2728
8201 0012 23B1 cbz r3, .L401
3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8202 .loc 1 3275 5 is_stmt 1 view .LVU2729
8203 0014 0268 ldr r2, [r0]
8204 .LVL756:
3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8205 .loc 1 3275 5 is_stmt 0 view .LVU2730
8206 0016 D368 ldr r3, [r2, #12]
8207 0018 43F48073 orr r3, r3, #256
8208 001c D360 str r3, [r2, #12]
8209 .LVL757:
8210 .L401:
3279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8211 .loc 1 3279 3 is_stmt 1 view .LVU2731
8212 001e 0268 ldr r2, [r0]
8213 0020 5369 ldr r3, [r2, #20]
8214 0022 43F00103 orr r3, r3, #1
8215 0026 5361 str r3, [r2, #20]
3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8216 .loc 1 3282 3 view .LVU2732
8217 0028 0268 ldr r2, [r0]
8218 002a D368 ldr r3, [r2, #12]
8219 002c 43F02003 orr r3, r3, #32
8220 0030 D360 str r3, [r2, #12]
3284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8221 .loc 1 3284 3 view .LVU2733
3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8222 .loc 1 3285 1 is_stmt 0 view .LVU2734
8223 0032 0020 movs r0, #0
8224 .LVL758:
3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8225 .loc 1 3285 1 view .LVU2735
8226 0034 7047 bx lr
8227 .cfi_endproc
8228 .LFE183:
8230 .section .text.HAL_UART_Receive_IT,"ax",%progbits
8231 .align 1
8232 .global HAL_UART_Receive_IT
8233 .syntax unified
8234 .thumb
8235 .thumb_func
8237 HAL_UART_Receive_IT:
8238 .LVL759:
8239 .LFB144:
1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
8240 .loc 1 1348 1 is_stmt 1 view -0
8241 .cfi_startproc
8242 @ args = 0, pretend = 0, frame = 0
8243 @ frame_needed = 0, uses_anonymous_args = 0
1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
8244 .loc 1 1348 1 is_stmt 0 view .LVU2737
8245 0000 08B5 push {r3, lr}
8246 .LCFI58:
8247 .cfi_def_cfa_offset 8
ARM GAS /tmp/cc4vHZRy.s page 264
8248 .cfi_offset 3, -8
8249 .cfi_offset 14, -4
1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8250 .loc 1 1350 3 is_stmt 1 view .LVU2738
1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8251 .loc 1 1350 12 is_stmt 0 view .LVU2739
8252 0002 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
8253 0006 DBB2 uxtb r3, r3
1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8254 .loc 1 1350 6 view .LVU2740
8255 0008 202B cmp r3, #32
8256 000a 08D1 bne .L404
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8257 .loc 1 1352 5 is_stmt 1 view .LVU2741
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8258 .loc 1 1352 8 is_stmt 0 view .LVU2742
8259 000c 49B1 cbz r1, .L405
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8260 .loc 1 1352 25 discriminator 1 view .LVU2743
8261 000e 0AB9 cbnz r2, .L408
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8262 .loc 1 1354 14 view .LVU2744
8263 0010 0120 movs r0, #1
8264 .LVL760:
8265 .L403:
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8266 .loc 1 1366 1 view .LVU2745
8267 0012 08BD pop {r3, pc}
8268 .LVL761:
8269 .L408:
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8270 .loc 1 1358 5 is_stmt 1 view .LVU2746
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8271 .loc 1 1358 26 is_stmt 0 view .LVU2747
8272 0014 0023 movs r3, #0
8273 0016 0363 str r3, [r0, #48]
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8274 .loc 1 1360 5 is_stmt 1 view .LVU2748
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8275 .loc 1 1360 13 is_stmt 0 view .LVU2749
8276 0018 FFF7FEFF bl UART_Start_Receive_IT
8277 .LVL762:
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8278 .loc 1 1360 13 view .LVU2750
8279 001c F9E7 b .L403
8280 .LVL763:
8281 .L404:
1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8282 .loc 1 1364 12 view .LVU2751
8283 001e 0220 movs r0, #2
8284 .LVL764:
1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8285 .loc 1 1364 12 view .LVU2752
8286 0020 F7E7 b .L403
8287 .LVL765:
8288 .L405:
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc4vHZRy.s page 265
8289 .loc 1 1354 14 view .LVU2753
8290 0022 0120 movs r0, #1
8291 .LVL766:
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8292 .loc 1 1354 14 view .LVU2754
8293 0024 F5E7 b .L403
8294 .cfi_endproc
8295 .LFE144:
8297 .section .text.HAL_UARTEx_ReceiveToIdle_IT,"ax",%progbits
8298 .align 1
8299 .global HAL_UARTEx_ReceiveToIdle_IT
8300 .syntax unified
8301 .thumb
8302 .thumb_func
8304 HAL_UARTEx_ReceiveToIdle_IT:
8305 .LVL767:
8306 .LFB151:
1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
8307 .loc 1 1722 1 is_stmt 1 view -0
8308 .cfi_startproc
8309 @ args = 0, pretend = 0, frame = 8
8310 @ frame_needed = 0, uses_anonymous_args = 0
1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8311 .loc 1 1723 3 view .LVU2756
1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8312 .loc 1 1726 3 view .LVU2757
1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8313 .loc 1 1726 12 is_stmt 0 view .LVU2758
8314 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
8315 0004 DBB2 uxtb r3, r3
1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8316 .loc 1 1726 6 view .LVU2759
8317 0006 202B cmp r3, #32
8318 0008 29D1 bne .L413
1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
8319 .loc 1 1722 1 view .LVU2760
8320 000a 10B5 push {r4, lr}
8321 .LCFI59:
8322 .cfi_def_cfa_offset 8
8323 .cfi_offset 4, -8
8324 .cfi_offset 14, -4
8325 000c 82B0 sub sp, sp, #8
8326 .LCFI60:
8327 .cfi_def_cfa_offset 16
8328 000e 0446 mov r4, r0
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8329 .loc 1 1728 5 is_stmt 1 view .LVU2761
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8330 .loc 1 1728 8 is_stmt 0 view .LVU2762
8331 0010 39B3 cbz r1, .L414
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8332 .loc 1 1728 25 discriminator 1 view .LVU2763
8333 0012 12B9 cbnz r2, .L421
1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8334 .loc 1 1730 14 view .LVU2764
8335 0014 0120 movs r0, #1
8336 .LVL768:
ARM GAS /tmp/cc4vHZRy.s page 266
8337 .L410:
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8338 .loc 1 1763 1 view .LVU2765
8339 0016 02B0 add sp, sp, #8
8340 .LCFI61:
8341 .cfi_remember_state
8342 .cfi_def_cfa_offset 8
8343 @ sp needed
8344 0018 10BD pop {r4, pc}
8345 .LVL769:
8346 .L421:
8347 .LCFI62:
8348 .cfi_restore_state
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
8349 .loc 1 1734 5 is_stmt 1 view .LVU2766
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
8350 .loc 1 1734 26 is_stmt 0 view .LVU2767
8351 001a 0123 movs r3, #1
8352 001c 0363 str r3, [r0, #48]
1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8353 .loc 1 1735 5 is_stmt 1 view .LVU2768
1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8354 .loc 1 1735 24 is_stmt 0 view .LVU2769
8355 001e 0023 movs r3, #0
8356 0020 4363 str r3, [r0, #52]
1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8357 .loc 1 1737 5 is_stmt 1 view .LVU2770
1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8358 .loc 1 1737 15 is_stmt 0 view .LVU2771
8359 0022 FFF7FEFF bl UART_Start_Receive_IT
8360 .LVL770:
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8361 .loc 1 1740 5 is_stmt 1 view .LVU2772
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8362 .loc 1 1740 8 is_stmt 0 view .LVU2773
8363 0026 0028 cmp r0, #0
8364 0028 F5D1 bne .L410
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8365 .loc 1 1742 7 is_stmt 1 view .LVU2774
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8366 .loc 1 1742 16 is_stmt 0 view .LVU2775
8367 002a 236B ldr r3, [r4, #48]
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8368 .loc 1 1742 10 view .LVU2776
8369 002c 012B cmp r3, #1
8370 002e 01D0 beq .L422
1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8371 .loc 1 1753 16 view .LVU2777
8372 0030 0120 movs r0, #1
8373 .LVL771:
1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8374 .loc 1 1757 5 is_stmt 1 view .LVU2778
1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8375 .loc 1 1757 12 is_stmt 0 view .LVU2779
8376 0032 F0E7 b .L410
8377 .LVL772:
8378 .L422:
ARM GAS /tmp/cc4vHZRy.s page 267
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8379 .loc 1 1744 9 is_stmt 1 view .LVU2780
8380 .LBB592:
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8381 .loc 1 1744 9 view .LVU2781
8382 0034 0023 movs r3, #0
8383 0036 0193 str r3, [sp, #4]
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8384 .loc 1 1744 9 view .LVU2782
8385 0038 2368 ldr r3, [r4]
8386 003a 1A68 ldr r2, [r3]
8387 003c 0192 str r2, [sp, #4]
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8388 .loc 1 1744 9 view .LVU2783
8389 003e 5B68 ldr r3, [r3, #4]
8390 0040 0193 str r3, [sp, #4]
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8391 .loc 1 1744 9 view .LVU2784
8392 0042 019B ldr r3, [sp, #4]
8393 .L412:
8394 .LBE592:
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8395 .loc 1 1744 9 discriminator 1 view .LVU2785
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8396 .loc 1 1745 9 discriminator 1 view .LVU2786
8397 .LBB593:
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8398 .loc 1 1745 9 discriminator 1 view .LVU2787
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8399 .loc 1 1745 9 discriminator 1 view .LVU2788
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8400 .loc 1 1745 9 discriminator 1 view .LVU2789
8401 0044 2268 ldr r2, [r4]
8402 .LVL773:
8403 .LBB594:
8404 .LBI594:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8405 .loc 2 476 31 discriminator 1 view .LVU2790
8406 .LBB595:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
8407 .loc 2 478 5 discriminator 1 view .LVU2791
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8408 .loc 2 480 4 discriminator 1 view .LVU2792
8409 0046 02F10C03 add r3, r2, #12
8410 .LVL774:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8411 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2793
8412 .syntax unified
8413 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8414 004a 53E8003F ldrex r3, [r3]
8415 @ 0 "" 2
8416 .LVL775:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8417 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2794
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8418 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2795
8419 .thumb
ARM GAS /tmp/cc4vHZRy.s page 268
8420 .syntax unified
8421 .LBE595:
8422 .LBE594:
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8423 .loc 1 1745 9 discriminator 1 view .LVU2796
8424 004e 43F01003 orr r3, r3, #16
8425 .LVL776:
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8426 .loc 1 1745 9 is_stmt 1 discriminator 1 view .LVU2797
8427 .LBB596:
8428 .LBI596:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8429 .loc 2 527 31 discriminator 1 view .LVU2798
8430 .LBB597:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
8431 .loc 2 529 4 discriminator 1 view .LVU2799
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8432 .loc 2 531 4 discriminator 1 view .LVU2800
8433 0052 0C32 adds r2, r2, #12
8434 .LVL777:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8435 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2801
8436 .syntax unified
8437 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8438 0054 42E80031 strex r1, r3, [r2]
8439 @ 0 "" 2
8440 .LVL778:
8441 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2802
8442 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2803
8443 .thumb
8444 .syntax unified
8445 .LBE597:
8446 .LBE596:
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8447 .loc 1 1745 9 discriminator 1 view .LVU2804
8448 0058 0029 cmp r1, #0
8449 005a F3D1 bne .L412
8450 005c DBE7 b .L410
8451 .LVL779:
8452 .L413:
8453 .LCFI63:
8454 .cfi_def_cfa_offset 0
8455 .cfi_restore 4
8456 .cfi_restore 14
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8457 .loc 1 1745 9 discriminator 1 view .LVU2805
8458 .LBE593:
1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8459 .loc 1 1761 12 view .LVU2806
8460 005e 0220 movs r0, #2
8461 .LVL780:
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8462 .loc 1 1763 1 view .LVU2807
8463 0060 7047 bx lr
8464 .LVL781:
8465 .L414:
8466 .LCFI64:
ARM GAS /tmp/cc4vHZRy.s page 269
8467 .cfi_def_cfa_offset 16
8468 .cfi_offset 4, -8
8469 .cfi_offset 14, -4
1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8470 .loc 1 1730 14 view .LVU2808
8471 0062 0120 movs r0, #1
8472 .LVL782:
1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8473 .loc 1 1730 14 view .LVU2809
8474 0064 D7E7 b .L410
8475 .cfi_endproc
8476 .LFE151:
8478 .section .text.UART_Start_Receive_DMA,"ax",%progbits
8479 .align 1
8480 .global UART_Start_Receive_DMA
8481 .syntax unified
8482 .thumb
8483 .thumb_func
8485 UART_Start_Receive_DMA:
8486 .LVL783:
8487 .LFB184:
3299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
8488 .loc 1 3299 1 is_stmt 1 view -0
8489 .cfi_startproc
8490 @ args = 0, pretend = 0, frame = 8
8491 @ frame_needed = 0, uses_anonymous_args = 0
3299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
8492 .loc 1 3299 1 is_stmt 0 view .LVU2811
8493 0000 30B5 push {r4, r5, lr}
8494 .LCFI65:
8495 .cfi_def_cfa_offset 12
8496 .cfi_offset 4, -12
8497 .cfi_offset 5, -8
8498 .cfi_offset 14, -4
8499 0002 83B0 sub sp, sp, #12
8500 .LCFI66:
8501 .cfi_def_cfa_offset 24
8502 0004 0446 mov r4, r0
8503 0006 1346 mov r3, r2
3300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8504 .loc 1 3300 3 is_stmt 1 view .LVU2812
3302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
8505 .loc 1 3302 3 view .LVU2813
3302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
8506 .loc 1 3302 21 is_stmt 0 view .LVU2814
8507 0008 8162 str r1, [r0, #40]
3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8508 .loc 1 3303 3 is_stmt 1 view .LVU2815
3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8509 .loc 1 3303 21 is_stmt 0 view .LVU2816
8510 000a 8285 strh r2, [r0, #44] @ movhi
3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
8511 .loc 1 3305 3 is_stmt 1 view .LVU2817
3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
8512 .loc 1 3305 20 is_stmt 0 view .LVU2818
8513 000c 0022 movs r2, #0
8514 .LVL784:
ARM GAS /tmp/cc4vHZRy.s page 270
3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
8515 .loc 1 3305 20 view .LVU2819
8516 000e 4264 str r2, [r0, #68]
3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8517 .loc 1 3306 3 is_stmt 1 view .LVU2820
3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8518 .loc 1 3306 18 is_stmt 0 view .LVU2821
8519 0010 2220 movs r0, #34
8520 .LVL785:
3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8521 .loc 1 3306 18 view .LVU2822
8522 0012 84F84200 strb r0, [r4, #66]
3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8523 .loc 1 3309 3 is_stmt 1 view .LVU2823
3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8524 .loc 1 3309 8 is_stmt 0 view .LVU2824
8525 0016 E06B ldr r0, [r4, #60]
3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8526 .loc 1 3309 35 view .LVU2825
8527 0018 244D ldr r5, .L432
8528 001a C563 str r5, [r0, #60]
8529 .LVL786:
3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8530 .loc 1 3312 3 is_stmt 1 view .LVU2826
3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8531 .loc 1 3312 8 is_stmt 0 view .LVU2827
8532 001c E06B ldr r0, [r4, #60]
3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8533 .loc 1 3312 39 view .LVU2828
8534 001e 244D ldr r5, .L432+4
8535 0020 0564 str r5, [r0, #64]
3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8536 .loc 1 3315 3 is_stmt 1 view .LVU2829
3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8537 .loc 1 3315 8 is_stmt 0 view .LVU2830
8538 0022 E06B ldr r0, [r4, #60]
3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8539 .loc 1 3315 36 view .LVU2831
8540 0024 234D ldr r5, .L432+8
8541 0026 C564 str r5, [r0, #76]
3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8542 .loc 1 3318 3 is_stmt 1 view .LVU2832
3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8543 .loc 1 3318 8 is_stmt 0 view .LVU2833
8544 0028 E06B ldr r0, [r4, #60]
3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8545 .loc 1 3318 36 view .LVU2834
8546 002a 0265 str r2, [r0, #80]
3321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size) != HA
8547 .loc 1 3321 3 is_stmt 1 view .LVU2835
8548 .LVL787:
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8549 .loc 1 3322 3 view .LVU2836
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8550 .loc 1 3322 55 is_stmt 0 view .LVU2837
8551 002c 2068 ldr r0, [r4]
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 271
8552 .loc 1 3322 7 view .LVU2838
8553 002e 0A46 mov r2, r1
8554 0030 011D adds r1, r0, #4
8555 .LVL788:
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8556 .loc 1 3322 7 view .LVU2839
8557 0032 E06B ldr r0, [r4, #60]
8558 0034 FFF7FEFF bl HAL_DMA_Start_IT
8559 .LVL789:
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8560 .loc 1 3322 6 view .LVU2840
8561 0038 0028 cmp r0, #0
8562 003a 2FD1 bne .L431
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8563 .loc 1 3333 3 is_stmt 1 view .LVU2841
8564 .LBB598:
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8565 .loc 1 3333 3 view .LVU2842
8566 003c 0023 movs r3, #0
8567 003e 0193 str r3, [sp, #4]
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8568 .loc 1 3333 3 view .LVU2843
8569 0040 2368 ldr r3, [r4]
8570 0042 1A68 ldr r2, [r3]
8571 0044 0192 str r2, [sp, #4]
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8572 .loc 1 3333 3 view .LVU2844
8573 0046 5B68 ldr r3, [r3, #4]
8574 0048 0193 str r3, [sp, #4]
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8575 .loc 1 3333 3 view .LVU2845
8576 004a 019B ldr r3, [sp, #4]
8577 .LBE598:
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8578 .loc 1 3333 3 view .LVU2846
3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8579 .loc 1 3335 3 view .LVU2847
3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8580 .loc 1 3335 18 is_stmt 0 view .LVU2848
8581 004c 2369 ldr r3, [r4, #16]
3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8582 .loc 1 3335 6 view .LVU2849
8583 004e 5BB1 cbz r3, .L428
8584 .L427:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8585 .loc 1 3338 5 is_stmt 1 discriminator 1 view .LVU2850
8586 .LBB599:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8587 .loc 1 3338 5 discriminator 1 view .LVU2851
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8588 .loc 1 3338 5 discriminator 1 view .LVU2852
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8589 .loc 1 3338 5 discriminator 1 view .LVU2853
8590 0050 2268 ldr r2, [r4]
8591 .LVL790:
8592 .LBB600:
8593 .LBI600:
ARM GAS /tmp/cc4vHZRy.s page 272
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8594 .loc 2 476 31 discriminator 1 view .LVU2854
8595 .LBB601:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
8596 .loc 2 478 5 discriminator 1 view .LVU2855
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8597 .loc 2 480 4 discriminator 1 view .LVU2856
8598 0052 02F10C03 add r3, r2, #12
8599 .LVL791:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8600 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2857
8601 .syntax unified
8602 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8603 0056 53E8003F ldrex r3, [r3]
8604 @ 0 "" 2
8605 .LVL792:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8606 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2858
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8607 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2859
8608 .thumb
8609 .syntax unified
8610 .LBE601:
8611 .LBE600:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8612 .loc 1 3338 5 discriminator 1 view .LVU2860
8613 005a 43F48073 orr r3, r3, #256
8614 .LVL793:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8615 .loc 1 3338 5 is_stmt 1 discriminator 1 view .LVU2861
8616 .LBB602:
8617 .LBI602:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8618 .loc 2 527 31 discriminator 1 view .LVU2862
8619 .LBB603:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
8620 .loc 2 529 4 discriminator 1 view .LVU2863
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8621 .loc 2 531 4 discriminator 1 view .LVU2864
8622 005e 0C32 adds r2, r2, #12
8623 .LVL794:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8624 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2865
8625 .syntax unified
8626 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8627 0060 42E80031 strex r1, r3, [r2]
8628 @ 0 "" 2
8629 .LVL795:
8630 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2866
8631 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2867
8632 .thumb
8633 .syntax unified
8634 .LBE603:
8635 .LBE602:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8636 .loc 1 3338 5 discriminator 1 view .LVU2868
8637 0064 0029 cmp r1, #0
ARM GAS /tmp/cc4vHZRy.s page 273
8638 0066 F3D1 bne .L427
8639 .LVL796:
8640 .L428:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8641 .loc 1 3338 5 discriminator 1 view .LVU2869
8642 .LBE599:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8643 .loc 1 3338 5 is_stmt 1 discriminator 1 view .LVU2870
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8644 .loc 1 3342 3 discriminator 1 view .LVU2871
8645 .LBB604:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8646 .loc 1 3342 3 discriminator 1 view .LVU2872
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8647 .loc 1 3342 3 discriminator 1 view .LVU2873
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8648 .loc 1 3342 3 discriminator 1 view .LVU2874
8649 0068 2268 ldr r2, [r4]
8650 .LVL797:
8651 .LBB605:
8652 .LBI605:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8653 .loc 2 476 31 discriminator 1 view .LVU2875
8654 .LBB606:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
8655 .loc 2 478 5 discriminator 1 view .LVU2876
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8656 .loc 2 480 4 discriminator 1 view .LVU2877
8657 006a 02F11403 add r3, r2, #20
8658 .LVL798:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8659 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2878
8660 .syntax unified
8661 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8662 006e 53E8003F ldrex r3, [r3]
8663 @ 0 "" 2
8664 .LVL799:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8665 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2879
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8666 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2880
8667 .thumb
8668 .syntax unified
8669 .LBE606:
8670 .LBE605:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8671 .loc 1 3342 3 discriminator 1 view .LVU2881
8672 0072 43F00103 orr r3, r3, #1
8673 .LVL800:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8674 .loc 1 3342 3 is_stmt 1 discriminator 1 view .LVU2882
8675 .LBB607:
8676 .LBI607:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8677 .loc 2 527 31 discriminator 1 view .LVU2883
8678 .LBB608:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/cc4vHZRy.s page 274
8679 .loc 2 529 4 discriminator 1 view .LVU2884
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8680 .loc 2 531 4 discriminator 1 view .LVU2885
8681 0076 1432 adds r2, r2, #20
8682 .LVL801:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8683 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2886
8684 .syntax unified
8685 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8686 0078 42E80031 strex r1, r3, [r2]
8687 @ 0 "" 2
8688 .LVL802:
8689 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2887
8690 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2888
8691 .thumb
8692 .syntax unified
8693 .LBE608:
8694 .LBE607:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8695 .loc 1 3342 3 discriminator 1 view .LVU2889
8696 007c 0029 cmp r1, #0
8697 007e F3D1 bne .L428
8698 .LVL803:
8699 .L429:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8700 .loc 1 3342 3 discriminator 1 view .LVU2890
8701 .LBE604:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8702 .loc 1 3342 3 is_stmt 1 discriminator 1 view .LVU2891
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8703 .loc 1 3346 3 discriminator 1 view .LVU2892
8704 .LBB609:
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8705 .loc 1 3346 3 discriminator 1 view .LVU2893
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8706 .loc 1 3346 3 discriminator 1 view .LVU2894
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8707 .loc 1 3346 3 discriminator 1 view .LVU2895
8708 0080 2268 ldr r2, [r4]
8709 .LVL804:
8710 .LBB610:
8711 .LBI610:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8712 .loc 2 476 31 discriminator 1 view .LVU2896
8713 .LBB611:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
8714 .loc 2 478 5 discriminator 1 view .LVU2897
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8715 .loc 2 480 4 discriminator 1 view .LVU2898
8716 0082 02F11403 add r3, r2, #20
8717 .LVL805:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8718 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2899
8719 .syntax unified
8720 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8721 0086 53E8003F ldrex r3, [r3]
8722 @ 0 "" 2
ARM GAS /tmp/cc4vHZRy.s page 275
8723 .LVL806:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8724 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2900
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8725 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2901
8726 .thumb
8727 .syntax unified
8728 .LBE611:
8729 .LBE610:
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8730 .loc 1 3346 3 discriminator 1 view .LVU2902
8731 008a 43F04003 orr r3, r3, #64
8732 .LVL807:
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8733 .loc 1 3346 3 is_stmt 1 discriminator 1 view .LVU2903
8734 .LBB612:
8735 .LBI612:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8736 .loc 2 527 31 discriminator 1 view .LVU2904
8737 .LBB613:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
8738 .loc 2 529 4 discriminator 1 view .LVU2905
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8739 .loc 2 531 4 discriminator 1 view .LVU2906
8740 008e 1432 adds r2, r2, #20
8741 .LVL808:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8742 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2907
8743 .syntax unified
8744 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8745 0090 42E80031 strex r1, r3, [r2]
8746 @ 0 "" 2
8747 .LVL809:
8748 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2908
8749 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2909
8750 .thumb
8751 .syntax unified
8752 .LBE613:
8753 .LBE612:
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8754 .loc 1 3346 3 discriminator 1 view .LVU2910
8755 0094 0029 cmp r1, #0
8756 0096 F3D1 bne .L429
8757 .LVL810:
8758 .L425:
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8759 .loc 1 3346 3 discriminator 1 view .LVU2911
8760 .LBE609:
3349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8761 .loc 1 3349 1 view .LVU2912
8762 0098 03B0 add sp, sp, #12
8763 .LCFI67:
8764 .cfi_remember_state
8765 .cfi_def_cfa_offset 12
8766 @ sp needed
8767 009a 30BD pop {r4, r5, pc}
8768 .LVL811:
ARM GAS /tmp/cc4vHZRy.s page 276
8769 .L431:
8770 .LCFI68:
8771 .cfi_restore_state
3325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8772 .loc 1 3325 5 is_stmt 1 view .LVU2913
3325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8773 .loc 1 3325 22 is_stmt 0 view .LVU2914
8774 009c 1023 movs r3, #16
8775 009e 6364 str r3, [r4, #68]
3328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8776 .loc 1 3328 5 is_stmt 1 view .LVU2915
3328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8777 .loc 1 3328 20 is_stmt 0 view .LVU2916
8778 00a0 2023 movs r3, #32
8779 00a2 84F84230 strb r3, [r4, #66]
3330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8780 .loc 1 3330 5 is_stmt 1 view .LVU2917
3330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8781 .loc 1 3330 12 is_stmt 0 view .LVU2918
8782 00a6 0120 movs r0, #1
8783 00a8 F6E7 b .L425
8784 .L433:
8785 00aa 00BF .align 2
8786 .L432:
8787 00ac 00000000 .word UART_DMAReceiveCplt
8788 00b0 00000000 .word UART_DMARxHalfCplt
8789 00b4 00000000 .word UART_DMAError
8790 .cfi_endproc
8791 .LFE184:
8793 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
8794 .align 1
8795 .global HAL_UART_Receive_DMA
8796 .syntax unified
8797 .thumb
8798 .thumb_func
8800 HAL_UART_Receive_DMA:
8801 .LVL812:
8802 .LFB146:
1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
8803 .loc 1 1450 1 is_stmt 1 view -0
8804 .cfi_startproc
8805 @ args = 0, pretend = 0, frame = 0
8806 @ frame_needed = 0, uses_anonymous_args = 0
1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
8807 .loc 1 1450 1 is_stmt 0 view .LVU2920
8808 0000 08B5 push {r3, lr}
8809 .LCFI69:
8810 .cfi_def_cfa_offset 8
8811 .cfi_offset 3, -8
8812 .cfi_offset 14, -4
1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8813 .loc 1 1452 3 is_stmt 1 view .LVU2921
1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8814 .loc 1 1452 12 is_stmt 0 view .LVU2922
8815 0002 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
8816 0006 DBB2 uxtb r3, r3
1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc4vHZRy.s page 277
8817 .loc 1 1452 6 view .LVU2923
8818 0008 202B cmp r3, #32
8819 000a 08D1 bne .L436
1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8820 .loc 1 1454 5 is_stmt 1 view .LVU2924
1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8821 .loc 1 1454 8 is_stmt 0 view .LVU2925
8822 000c 49B1 cbz r1, .L437
1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8823 .loc 1 1454 25 discriminator 1 view .LVU2926
8824 000e 0AB9 cbnz r2, .L440
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8825 .loc 1 1456 14 view .LVU2927
8826 0010 0120 movs r0, #1
8827 .LVL813:
8828 .L435:
1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8829 .loc 1 1468 1 view .LVU2928
8830 0012 08BD pop {r3, pc}
8831 .LVL814:
8832 .L440:
1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8833 .loc 1 1460 5 is_stmt 1 view .LVU2929
1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8834 .loc 1 1460 26 is_stmt 0 view .LVU2930
8835 0014 0023 movs r3, #0
8836 0016 0363 str r3, [r0, #48]
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8837 .loc 1 1462 5 is_stmt 1 view .LVU2931
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8838 .loc 1 1462 13 is_stmt 0 view .LVU2932
8839 0018 FFF7FEFF bl UART_Start_Receive_DMA
8840 .LVL815:
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8841 .loc 1 1462 13 view .LVU2933
8842 001c F9E7 b .L435
8843 .LVL816:
8844 .L436:
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8845 .loc 1 1466 12 view .LVU2934
8846 001e 0220 movs r0, #2
8847 .LVL817:
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8848 .loc 1 1466 12 view .LVU2935
8849 0020 F7E7 b .L435
8850 .LVL818:
8851 .L437:
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8852 .loc 1 1456 14 view .LVU2936
8853 0022 0120 movs r0, #1
8854 .LVL819:
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8855 .loc 1 1456 14 view .LVU2937
8856 0024 F5E7 b .L435
8857 .cfi_endproc
8858 .LFE146:
8860 .section .text.HAL_UARTEx_ReceiveToIdle_DMA,"ax",%progbits
ARM GAS /tmp/cc4vHZRy.s page 278
8861 .align 1
8862 .global HAL_UARTEx_ReceiveToIdle_DMA
8863 .syntax unified
8864 .thumb
8865 .thumb_func
8867 HAL_UARTEx_ReceiveToIdle_DMA:
8868 .LVL820:
8869 .LFB152:
1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
8870 .loc 1 1782 1 is_stmt 1 view -0
8871 .cfi_startproc
8872 @ args = 0, pretend = 0, frame = 8
8873 @ frame_needed = 0, uses_anonymous_args = 0
1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8874 .loc 1 1783 3 view .LVU2939
1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8875 .loc 1 1786 3 view .LVU2940
1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8876 .loc 1 1786 12 is_stmt 0 view .LVU2941
8877 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
8878 0004 DBB2 uxtb r3, r3
1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8879 .loc 1 1786 6 view .LVU2942
8880 0006 202B cmp r3, #32
8881 0008 27D1 bne .L445
1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
8882 .loc 1 1782 1 view .LVU2943
8883 000a 10B5 push {r4, lr}
8884 .LCFI70:
8885 .cfi_def_cfa_offset 8
8886 .cfi_offset 4, -8
8887 .cfi_offset 14, -4
8888 000c 82B0 sub sp, sp, #8
8889 .LCFI71:
8890 .cfi_def_cfa_offset 16
8891 000e 0446 mov r4, r0
1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8892 .loc 1 1788 5 is_stmt 1 view .LVU2944
1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8893 .loc 1 1788 8 is_stmt 0 view .LVU2945
8894 0010 29B3 cbz r1, .L446
1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8895 .loc 1 1788 25 discriminator 1 view .LVU2946
8896 0012 12B9 cbnz r2, .L453
1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8897 .loc 1 1790 14 view .LVU2947
8898 0014 0120 movs r0, #1
8899 .LVL821:
8900 .L442:
1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8901 .loc 1 1820 1 view .LVU2948
8902 0016 02B0 add sp, sp, #8
8903 .LCFI72:
8904 .cfi_remember_state
8905 .cfi_def_cfa_offset 8
8906 @ sp needed
8907 0018 10BD pop {r4, pc}
ARM GAS /tmp/cc4vHZRy.s page 279
8908 .LVL822:
8909 .L453:
8910 .LCFI73:
8911 .cfi_restore_state
1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
8912 .loc 1 1794 5 is_stmt 1 view .LVU2949
1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
8913 .loc 1 1794 26 is_stmt 0 view .LVU2950
8914 001a 0123 movs r3, #1
8915 001c 0363 str r3, [r0, #48]
1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8916 .loc 1 1795 5 is_stmt 1 view .LVU2951
1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8917 .loc 1 1795 24 is_stmt 0 view .LVU2952
8918 001e 0023 movs r3, #0
8919 0020 4363 str r3, [r0, #52]
1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8920 .loc 1 1797 5 is_stmt 1 view .LVU2953
1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8921 .loc 1 1797 15 is_stmt 0 view .LVU2954
8922 0022 FFF7FEFF bl UART_Start_Receive_DMA
8923 .LVL823:
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8924 .loc 1 1800 5 is_stmt 1 view .LVU2955
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8925 .loc 1 1800 14 is_stmt 0 view .LVU2956
8926 0026 236B ldr r3, [r4, #48]
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8927 .loc 1 1800 8 view .LVU2957
8928 0028 012B cmp r3, #1
8929 002a 01D0 beq .L454
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8930 .loc 1 1811 14 view .LVU2958
8931 002c 0120 movs r0, #1
8932 .LVL824:
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8933 .loc 1 1814 5 is_stmt 1 view .LVU2959
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8934 .loc 1 1814 12 is_stmt 0 view .LVU2960
8935 002e F2E7 b .L442
8936 .LVL825:
8937 .L454:
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8938 .loc 1 1802 7 is_stmt 1 view .LVU2961
8939 .LBB614:
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8940 .loc 1 1802 7 view .LVU2962
8941 0030 0023 movs r3, #0
8942 0032 0193 str r3, [sp, #4]
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8943 .loc 1 1802 7 view .LVU2963
8944 0034 2368 ldr r3, [r4]
8945 0036 1A68 ldr r2, [r3]
8946 0038 0192 str r2, [sp, #4]
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8947 .loc 1 1802 7 view .LVU2964
8948 003a 5B68 ldr r3, [r3, #4]
ARM GAS /tmp/cc4vHZRy.s page 280
8949 003c 0193 str r3, [sp, #4]
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8950 .loc 1 1802 7 view .LVU2965
8951 003e 019B ldr r3, [sp, #4]
8952 .L444:
8953 .LBE614:
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8954 .loc 1 1802 7 discriminator 1 view .LVU2966
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8955 .loc 1 1803 7 discriminator 1 view .LVU2967
8956 .LBB615:
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8957 .loc 1 1803 7 discriminator 1 view .LVU2968
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8958 .loc 1 1803 7 discriminator 1 view .LVU2969
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8959 .loc 1 1803 7 discriminator 1 view .LVU2970
8960 0040 2268 ldr r2, [r4]
8961 .LVL826:
8962 .LBB616:
8963 .LBI616:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8964 .loc 2 476 31 discriminator 1 view .LVU2971
8965 .LBB617:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
8966 .loc 2 478 5 discriminator 1 view .LVU2972
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8967 .loc 2 480 4 discriminator 1 view .LVU2973
8968 0042 02F10C03 add r3, r2, #12
8969 .LVL827:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8970 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2974
8971 .syntax unified
8972 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8973 0046 53E8003F ldrex r3, [r3]
8974 @ 0 "" 2
8975 .LVL828:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8976 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2975
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8977 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2976
8978 .thumb
8979 .syntax unified
8980 .LBE617:
8981 .LBE616:
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8982 .loc 1 1803 7 discriminator 1 view .LVU2977
8983 004a 43F01003 orr r3, r3, #16
8984 .LVL829:
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8985 .loc 1 1803 7 is_stmt 1 discriminator 1 view .LVU2978
8986 .LBB618:
8987 .LBI618:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8988 .loc 2 527 31 discriminator 1 view .LVU2979
8989 .LBB619:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/cc4vHZRy.s page 281
8990 .loc 2 529 4 discriminator 1 view .LVU2980
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8991 .loc 2 531 4 discriminator 1 view .LVU2981
8992 004e 0C32 adds r2, r2, #12
8993 .LVL830:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8994 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2982
8995 .syntax unified
8996 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8997 0050 42E80031 strex r1, r3, [r2]
8998 @ 0 "" 2
8999 .LVL831:
9000 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2983
9001 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2984
9002 .thumb
9003 .syntax unified
9004 .LBE619:
9005 .LBE618:
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9006 .loc 1 1803 7 discriminator 1 view .LVU2985
9007 0054 0029 cmp r1, #0
9008 0056 F3D1 bne .L444
9009 0058 DDE7 b .L442
9010 .LVL832:
9011 .L445:
9012 .LCFI74:
9013 .cfi_def_cfa_offset 0
9014 .cfi_restore 4
9015 .cfi_restore 14
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9016 .loc 1 1803 7 discriminator 1 view .LVU2986
9017 .LBE615:
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9018 .loc 1 1818 12 view .LVU2987
9019 005a 0220 movs r0, #2
9020 .LVL833:
1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
9021 .loc 1 1820 1 view .LVU2988
9022 005c 7047 bx lr
9023 .LVL834:
9024 .L446:
9025 .LCFI75:
9026 .cfi_def_cfa_offset 16
9027 .cfi_offset 4, -8
9028 .cfi_offset 14, -4
1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9029 .loc 1 1790 14 view .LVU2989
9030 005e 0120 movs r0, #1
9031 .LVL835:
1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9032 .loc 1 1790 14 view .LVU2990
9033 0060 D9E7 b .L442
9034 .cfi_endproc
9035 .LFE152:
9037 .text
9038 .Letext0:
9039 .file 3 "/home/jfen/toolchain/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/machine/_defaul
ARM GAS /tmp/cc4vHZRy.s page 282
9040 .file 4 "/home/jfen/toolchain/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/sys/_stdint.h"
9041 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
9042 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
9043 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
9044 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
9045 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h"
9046 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h"
9047 .file 11 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
ARM GAS /tmp/cc4vHZRy.s page 283
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f4xx_hal_uart.c
/tmp/cc4vHZRy.s:20 .text.UART_EndTxTransfer:0000000000000000 $t
/tmp/cc4vHZRy.s:25 .text.UART_EndTxTransfer:0000000000000000 UART_EndTxTransfer
/tmp/cc4vHZRy.s:104 .text.UART_EndRxTransfer:0000000000000000 $t
/tmp/cc4vHZRy.s:109 .text.UART_EndRxTransfer:0000000000000000 UART_EndRxTransfer
/tmp/cc4vHZRy.s:313 .text.UART_Transmit_IT:0000000000000000 $t
/tmp/cc4vHZRy.s:318 .text.UART_Transmit_IT:0000000000000000 UART_Transmit_IT
/tmp/cc4vHZRy.s:421 .text.UART_SetConfig:0000000000000000 $t
/tmp/cc4vHZRy.s:426 .text.UART_SetConfig:0000000000000000 UART_SetConfig
/tmp/cc4vHZRy.s:601 .text.UART_SetConfig:0000000000000108 $d
/tmp/cc4vHZRy.s:607 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t
/tmp/cc4vHZRy.s:612 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout
/tmp/cc4vHZRy.s:744 .text.HAL_UART_MspInit:0000000000000000 $t
/tmp/cc4vHZRy.s:750 .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit
/tmp/cc4vHZRy.s:765 .text.HAL_UART_Init:0000000000000000 $t
/tmp/cc4vHZRy.s:771 .text.HAL_UART_Init:0000000000000000 HAL_UART_Init
/tmp/cc4vHZRy.s:869 .text.HAL_HalfDuplex_Init:0000000000000000 $t
/tmp/cc4vHZRy.s:875 .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init
/tmp/cc4vHZRy.s:978 .text.HAL_LIN_Init:0000000000000000 $t
/tmp/cc4vHZRy.s:984 .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init
/tmp/cc4vHZRy.s:1106 .text.HAL_MultiProcessor_Init:0000000000000000 $t
/tmp/cc4vHZRy.s:1112 .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init
/tmp/cc4vHZRy.s:1241 .text.HAL_UART_MspDeInit:0000000000000000 $t
/tmp/cc4vHZRy.s:1247 .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit
/tmp/cc4vHZRy.s:1262 .text.HAL_UART_DeInit:0000000000000000 $t
/tmp/cc4vHZRy.s:1268 .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit
/tmp/cc4vHZRy.s:1336 .text.HAL_UART_Transmit:0000000000000000 $t
/tmp/cc4vHZRy.s:1342 .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit
/tmp/cc4vHZRy.s:1562 .text.HAL_UART_Receive:0000000000000000 $t
/tmp/cc4vHZRy.s:1568 .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive
/tmp/cc4vHZRy.s:1798 .text.HAL_UART_Transmit_IT:0000000000000000 $t
/tmp/cc4vHZRy.s:1804 .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT
/tmp/cc4vHZRy.s:1882 .text.HAL_UART_Transmit_DMA:0000000000000000 $t
/tmp/cc4vHZRy.s:1888 .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA
/tmp/cc4vHZRy.s:2075 .text.HAL_UART_Transmit_DMA:0000000000000084 $d
/tmp/cc4vHZRy.s:4230 .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt
/tmp/cc4vHZRy.s:4456 .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt
/tmp/cc4vHZRy.s:4551 .text.UART_DMAError:0000000000000000 UART_DMAError
/tmp/cc4vHZRy.s:2082 .text.HAL_UART_DMAPause:0000000000000000 $t
/tmp/cc4vHZRy.s:2088 .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause
/tmp/cc4vHZRy.s:2384 .text.HAL_UART_DMAResume:0000000000000000 $t
/tmp/cc4vHZRy.s:2390 .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume
/tmp/cc4vHZRy.s:2696 .text.HAL_UART_DMAStop:0000000000000000 $t
/tmp/cc4vHZRy.s:2702 .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop
/tmp/cc4vHZRy.s:2912 .text.HAL_UARTEx_ReceiveToIdle:0000000000000000 $t
/tmp/cc4vHZRy.s:2918 .text.HAL_UARTEx_ReceiveToIdle:0000000000000000 HAL_UARTEx_ReceiveToIdle
/tmp/cc4vHZRy.s:3225 .text.HAL_UARTEx_GetRxEventType:0000000000000000 $t
/tmp/cc4vHZRy.s:3231 .text.HAL_UARTEx_GetRxEventType:0000000000000000 HAL_UARTEx_GetRxEventType
/tmp/cc4vHZRy.s:3249 .text.HAL_UART_Abort:0000000000000000 $t
/tmp/cc4vHZRy.s:3255 .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort
/tmp/cc4vHZRy.s:3682 .text.HAL_UART_AbortTransmit:0000000000000000 $t
/tmp/cc4vHZRy.s:3688 .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit
/tmp/cc4vHZRy.s:3879 .text.HAL_UART_AbortReceive:0000000000000000 $t
/tmp/cc4vHZRy.s:3885 .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive
/tmp/cc4vHZRy.s:4204 .text.HAL_UART_TxCpltCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:4210 .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback
ARM GAS /tmp/cc4vHZRy.s page 284
/tmp/cc4vHZRy.s:4225 .text.UART_DMATransmitCplt:0000000000000000 $t
/tmp/cc4vHZRy.s:4392 .text.UART_EndTransmit_IT:0000000000000000 $t
/tmp/cc4vHZRy.s:4397 .text.UART_EndTransmit_IT:0000000000000000 UART_EndTransmit_IT
/tmp/cc4vHZRy.s:4430 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:4436 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback
/tmp/cc4vHZRy.s:4451 .text.UART_DMATxHalfCplt:0000000000000000 $t
/tmp/cc4vHZRy.s:4483 .text.HAL_UART_RxCpltCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:4489 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
/tmp/cc4vHZRy.s:4504 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:4510 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback
/tmp/cc4vHZRy.s:4525 .text.HAL_UART_ErrorCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:4531 .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback
/tmp/cc4vHZRy.s:4546 .text.UART_DMAError:0000000000000000 $t
/tmp/cc4vHZRy.s:4648 .text.UART_DMAAbortOnError:0000000000000000 $t
/tmp/cc4vHZRy.s:4653 .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError
/tmp/cc4vHZRy.s:4683 .text.HAL_UART_AbortCpltCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:4689 .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback
/tmp/cc4vHZRy.s:4704 .text.HAL_UART_Abort_IT:0000000000000000 $t
/tmp/cc4vHZRy.s:4710 .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT
/tmp/cc4vHZRy.s:5183 .text.HAL_UART_Abort_IT:000000000000011c $d
/tmp/cc4vHZRy.s:5263 .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback
/tmp/cc4vHZRy.s:5194 .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback
/tmp/cc4vHZRy.s:5189 .text.UART_DMARxAbortCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:5258 .text.UART_DMATxAbortCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:5327 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:5333 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback
/tmp/cc4vHZRy.s:5348 .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t
/tmp/cc4vHZRy.s:5354 .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT
/tmp/cc4vHZRy.s:5562 .text.HAL_UART_AbortTransmit_IT:000000000000007c $d
/tmp/cc4vHZRy.s:5572 .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback
/tmp/cc4vHZRy.s:5567 .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:5606 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:5612 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback
/tmp/cc4vHZRy.s:5627 .text.HAL_UART_AbortReceive_IT:0000000000000000 $t
/tmp/cc4vHZRy.s:5633 .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT
/tmp/cc4vHZRy.s:5972 .text.HAL_UART_AbortReceive_IT:00000000000000b8 $d
/tmp/cc4vHZRy.s:5982 .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback
/tmp/cc4vHZRy.s:5977 .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:6019 .text.HAL_UARTEx_RxEventCallback:0000000000000000 $t
/tmp/cc4vHZRy.s:6025 .text.HAL_UARTEx_RxEventCallback:0000000000000000 HAL_UARTEx_RxEventCallback
/tmp/cc4vHZRy.s:6041 .text.UART_Receive_IT:0000000000000000 $t
/tmp/cc4vHZRy.s:6046 .text.UART_Receive_IT:0000000000000000 UART_Receive_IT
/tmp/cc4vHZRy.s:6323 .text.HAL_UART_IRQHandler:0000000000000000 $t
/tmp/cc4vHZRy.s:6329 .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler
/tmp/cc4vHZRy.s:7248 .text.HAL_UART_IRQHandler:00000000000002a0 $d
/tmp/cc4vHZRy.s:7253 .text.UART_DMARxHalfCplt:0000000000000000 $t
/tmp/cc4vHZRy.s:7258 .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt
/tmp/cc4vHZRy.s:7306 .text.UART_DMAReceiveCplt:0000000000000000 $t
/tmp/cc4vHZRy.s:7311 .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt
/tmp/cc4vHZRy.s:7618 .text.HAL_LIN_SendBreak:0000000000000000 $t
/tmp/cc4vHZRy.s:7624 .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak
/tmp/cc4vHZRy.s:7731 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t
/tmp/cc4vHZRy.s:7737 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode
/tmp/cc4vHZRy.s:7847 .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 $t
/tmp/cc4vHZRy.s:7853 .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 HAL_MultiProcessor_ExitMuteMode
/tmp/cc4vHZRy.s:7963 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t
/tmp/cc4vHZRy.s:7969 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter
ARM GAS /tmp/cc4vHZRy.s page 285
/tmp/cc4vHZRy.s:8036 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t
/tmp/cc4vHZRy.s:8042 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver
/tmp/cc4vHZRy.s:8109 .text.HAL_UART_GetState:0000000000000000 $t
/tmp/cc4vHZRy.s:8115 .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState
/tmp/cc4vHZRy.s:8142 .text.HAL_UART_GetError:0000000000000000 $t
/tmp/cc4vHZRy.s:8148 .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError
/tmp/cc4vHZRy.s:8166 .text.UART_Start_Receive_IT:0000000000000000 $t
/tmp/cc4vHZRy.s:8172 .text.UART_Start_Receive_IT:0000000000000000 UART_Start_Receive_IT
/tmp/cc4vHZRy.s:8231 .text.HAL_UART_Receive_IT:0000000000000000 $t
/tmp/cc4vHZRy.s:8237 .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT
/tmp/cc4vHZRy.s:8298 .text.HAL_UARTEx_ReceiveToIdle_IT:0000000000000000 $t
/tmp/cc4vHZRy.s:8304 .text.HAL_UARTEx_ReceiveToIdle_IT:0000000000000000 HAL_UARTEx_ReceiveToIdle_IT
/tmp/cc4vHZRy.s:8479 .text.UART_Start_Receive_DMA:0000000000000000 $t
/tmp/cc4vHZRy.s:8485 .text.UART_Start_Receive_DMA:0000000000000000 UART_Start_Receive_DMA
/tmp/cc4vHZRy.s:8787 .text.UART_Start_Receive_DMA:00000000000000ac $d
/tmp/cc4vHZRy.s:8794 .text.HAL_UART_Receive_DMA:0000000000000000 $t
/tmp/cc4vHZRy.s:8800 .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA
/tmp/cc4vHZRy.s:8861 .text.HAL_UARTEx_ReceiveToIdle_DMA:0000000000000000 $t
/tmp/cc4vHZRy.s:8867 .text.HAL_UARTEx_ReceiveToIdle_DMA:0000000000000000 HAL_UARTEx_ReceiveToIdle_DMA
UNDEFINED SYMBOLS
__aeabi_uldivmod
HAL_RCC_GetPCLK1Freq
HAL_RCC_GetPCLK2Freq
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_GetError
HAL_DMA_Abort_IT