Files
EEPROM_programmer/build/stm32f4xx_hal_uart.lst
2025-09-05 10:30:26 +02:00

17087 lines
1013 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

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

ARM GAS /tmp/cc8UBTH4.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
4 .eabi_attribute 20, 1
5 .eabi_attribute 21, 1
6 .eabi_attribute 23, 3
7 .eabi_attribute 24, 1
8 .eabi_attribute 25, 1
9 .eabi_attribute 26, 1
10 .eabi_attribute 30, 1
11 .eabi_attribute 34, 1
12 .eabi_attribute 18, 4
13 .file "stm32f4xx_hal_uart.c"
14 .text
15 .Ltext0:
16 .cfi_sections .debug_frame
17 .section .text.UART_EndTxTransfer,"ax",%progbits
18 .align 1
19 .arch armv7e-m
20 .syntax unified
21 .thumb
22 .thumb_func
23 .fpu fpv4-sp-d16
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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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/cc8UBTH4.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
108 .fpu fpv4-sp-d16
110 UART_EndRxTransfer:
111 .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 **** {
112 .loc 1 3371 1 is_stmt 1 view -0
113 .cfi_startproc
114 @ args = 0, pretend = 0, frame = 0
115 @ frame_needed = 0, uses_anonymous_args = 0
116 @ link register save eliminated.
117 .LVL8:
118 .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));
119 .loc 1 3373 3 discriminator 1 view .LVU26
120 .LBB315:
121 .loc 1 3373 3 discriminator 1 view .LVU27
122 .loc 1 3373 3 discriminator 1 view .LVU28
123 .loc 1 3373 3 discriminator 1 view .LVU29
124 0000 0268 ldr r2, [r0]
125 .LVL9:
126 .LBB316:
127 .LBI316:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
128 .loc 2 476 31 discriminator 1 view .LVU30
129 .LBB317:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
130 .loc 2 478 5 discriminator 1 view .LVU31
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
131 .loc 2 480 4 discriminator 1 view .LVU32
132 0002 02F10C03 add r3, r2, #12
133 .LVL10:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
134 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU33
135 .syntax unified
136 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
137 0006 53E8003F ldrex r3, [r3]
138 @ 0 "" 2
139 .LVL11:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
140 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU34
ARM GAS /tmp/cc8UBTH4.s page 72
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
141 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU35
142 .thumb
143 .syntax unified
144 .LBE317:
145 .LBE316:
146 .loc 1 3373 3 discriminator 1 view .LVU36
147 000a 23F49073 bic r3, r3, #288
148 .LVL12:
149 .loc 1 3373 3 is_stmt 1 discriminator 1 view .LVU37
150 .LBB318:
151 .LBI318:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
152 .loc 2 527 31 discriminator 1 view .LVU38
153 .LBB319:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
154 .loc 2 529 4 discriminator 1 view .LVU39
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
155 .loc 2 531 4 discriminator 1 view .LVU40
156 000e 0C32 adds r2, r2, #12
157 .LVL13:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
158 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU41
159 .syntax unified
160 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
161 0010 42E80031 strex r1, r3, [r2]
162 @ 0 "" 2
163 .LVL14:
164 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU42
165 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU43
166 .thumb
167 .syntax unified
168 .LBE319:
169 .LBE318:
170 .loc 1 3373 3 discriminator 1 view .LVU44
171 0014 0029 cmp r1, #0
172 0016 F3D1 bne .L4
173 .LVL15:
174 .L5:
175 .loc 1 3373 3 discriminator 1 view .LVU45
176 .LBE315:
177 .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);
178 .loc 1 3374 3 discriminator 1 view .LVU47
179 .LBB320:
180 .loc 1 3374 3 discriminator 1 view .LVU48
181 .loc 1 3374 3 discriminator 1 view .LVU49
182 .loc 1 3374 3 discriminator 1 view .LVU50
183 0018 0268 ldr r2, [r0]
184 .LVL16:
185 .LBB321:
186 .LBI321:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
187 .loc 2 476 31 discriminator 1 view .LVU51
188 .LBB322:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
189 .loc 2 478 5 discriminator 1 view .LVU52
ARM GAS /tmp/cc8UBTH4.s page 73
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
190 .loc 2 480 4 discriminator 1 view .LVU53
191 001a 02F11403 add r3, r2, #20
192 .LVL17:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
193 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU54
194 .syntax unified
195 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
196 001e 53E8003F ldrex r3, [r3]
197 @ 0 "" 2
198 .LVL18:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
199 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU55
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
200 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU56
201 .thumb
202 .syntax unified
203 .LBE322:
204 .LBE321:
205 .loc 1 3374 3 discriminator 1 view .LVU57
206 0022 23F00103 bic r3, r3, #1
207 .LVL19:
208 .loc 1 3374 3 is_stmt 1 discriminator 1 view .LVU58
209 .LBB323:
210 .LBI323:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
211 .loc 2 527 31 discriminator 1 view .LVU59
212 .LBB324:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
213 .loc 2 529 4 discriminator 1 view .LVU60
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
214 .loc 2 531 4 discriminator 1 view .LVU61
215 0026 1432 adds r2, r2, #20
216 .LVL20:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
217 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU62
218 .syntax unified
219 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
220 0028 42E80031 strex r1, r3, [r2]
221 @ 0 "" 2
222 .LVL21:
223 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU63
224 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU64
225 .thumb
226 .syntax unified
227 .LBE324:
228 .LBE323:
229 .loc 1 3374 3 discriminator 1 view .LVU65
230 002c 0029 cmp r1, #0
231 002e F3D1 bne .L5
232 .LBE320:
233 .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)
234 .loc 1 3377 3 discriminator 2 view .LVU67
235 .loc 1 3377 12 is_stmt 0 discriminator 2 view .LVU68
ARM GAS /tmp/cc8UBTH4.s page 74
236 0030 036B ldr r3, [r0, #48]
237 .LVL22:
238 .loc 1 3377 6 discriminator 2 view .LVU69
239 0032 012B cmp r3, #1
240 0034 05D0 beq .L7
241 .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);
242 .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;
243 .loc 1 3383 3 discriminator 2 view .LVU71
244 .loc 1 3383 18 is_stmt 0 discriminator 2 view .LVU72
245 0036 2023 movs r3, #32
246 0038 80F84230 strb r3, [r0, #66]
3384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
247 .loc 1 3384 3 is_stmt 1 discriminator 2 view .LVU73
248 .loc 1 3384 24 is_stmt 0 discriminator 2 view .LVU74
249 003c 0023 movs r3, #0
250 003e 0363 str r3, [r0, #48]
3385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
251 .loc 1 3385 1 discriminator 2 view .LVU75
252 0040 7047 bx lr
253 .L7:
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
254 .loc 1 3379 5 is_stmt 1 discriminator 1 view .LVU76
255 .LBB325:
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
256 .loc 1 3379 5 discriminator 1 view .LVU77
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
257 .loc 1 3379 5 discriminator 1 view .LVU78
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
258 .loc 1 3379 5 discriminator 1 view .LVU79
259 0042 0268 ldr r2, [r0]
260 .LVL23:
261 .LBB326:
262 .LBI326:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
263 .loc 2 476 31 discriminator 1 view .LVU80
264 .LBB327:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
265 .loc 2 478 5 discriminator 1 view .LVU81
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
266 .loc 2 480 4 discriminator 1 view .LVU82
267 0044 02F10C03 add r3, r2, #12
268 .LVL24:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
269 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU83
270 .syntax unified
271 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
272 0048 53E8003F ldrex r3, [r3]
273 @ 0 "" 2
274 .LVL25:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
275 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU84
ARM GAS /tmp/cc8UBTH4.s page 75
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
276 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU85
277 .thumb
278 .syntax unified
279 .LBE327:
280 .LBE326:
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
281 .loc 1 3379 5 discriminator 1 view .LVU86
282 004c 23F01003 bic r3, r3, #16
283 .LVL26:
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
284 .loc 1 3379 5 is_stmt 1 discriminator 1 view .LVU87
285 .LBB328:
286 .LBI328:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
287 .loc 2 527 31 discriminator 1 view .LVU88
288 .LBB329:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
289 .loc 2 529 4 discriminator 1 view .LVU89
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
290 .loc 2 531 4 discriminator 1 view .LVU90
291 0050 0C32 adds r2, r2, #12
292 .LVL27:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
293 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU91
294 .syntax unified
295 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
296 0052 42E80031 strex r1, r3, [r2]
297 @ 0 "" 2
298 .LVL28:
299 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU92
300 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU93
301 .thumb
302 .syntax unified
303 .LBE329:
304 .LBE328:
3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
305 .loc 1 3379 5 discriminator 1 view .LVU94
306 0056 0029 cmp r1, #0
307 0058 F3D1 bne .L7
308 005a ECE7 b .L6
309 .LBE325:
310 .cfi_endproc
311 .LFE186:
313 .section .text.UART_Transmit_IT,"ax",%progbits
314 .align 1
315 .syntax unified
316 .thumb
317 .thumb_func
318 .fpu fpv4-sp-d16
320 UART_Transmit_IT:
321 .LVL29:
322 .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).
ARM GAS /tmp/cc8UBTH4.s page 76
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.
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 */
ARM GAS /tmp/cc8UBTH4.s page 77
3447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
3448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
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
ARM GAS /tmp/cc8UBTH4.s page 78
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
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.
ARM GAS /tmp/cc8UBTH4.s page 79
3561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
3562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
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 **** {
323 .loc 1 3564 1 is_stmt 1 view -0
324 .cfi_startproc
325 @ args = 0, pretend = 0, frame = 0
326 @ frame_needed = 0, uses_anonymous_args = 0
327 @ link register save eliminated.
3565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *tmp;
328 .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)
329 .loc 1 3568 3 view .LVU97
330 .loc 1 3568 12 is_stmt 0 view .LVU98
331 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
332 0004 DBB2 uxtb r3, r3
333 .loc 1 3568 6 view .LVU99
334 0006 212B cmp r3, #33
335 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;
336 .loc 1 3593 12 view .LVU100
337 000a 0220 movs r0, #2
338 .LVL30:
3594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
339 .loc 1 3595 1 view .LVU101
340 000c 7047 bx lr
341 .LVL31:
342 .L14:
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
343 .loc 1 3570 5 is_stmt 1 view .LVU102
ARM GAS /tmp/cc8UBTH4.s page 80
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
344 .loc 1 3570 21 is_stmt 0 view .LVU103
345 000e 8368 ldr r3, [r0, #8]
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
346 .loc 1 3570 8 view .LVU104
347 0010 B3F5805F cmp r3, #4096
348 0014 17D0 beq .L15
349 .L10:
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
350 .loc 1 3578 7 is_stmt 1 view .LVU105
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
351 .loc 1 3578 45 is_stmt 0 view .LVU106
352 0016 036A ldr r3, [r0, #32]
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
353 .loc 1 3578 57 view .LVU107
354 0018 5A1C adds r2, r3, #1
355 001a 0262 str r2, [r0, #32]
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
356 .loc 1 3578 39 view .LVU108
357 001c 1A78 ldrb r2, [r3] @ zero_extendqisi2
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
358 .loc 1 3578 12 view .LVU109
359 001e 0368 ldr r3, [r0]
3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
360 .loc 1 3578 27 view .LVU110
361 0020 5A60 str r2, [r3, #4]
362 .L11:
3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
363 .loc 1 3581 5 is_stmt 1 view .LVU111
3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
364 .loc 1 3581 16 is_stmt 0 view .LVU112
365 0022 C38C ldrh r3, [r0, #38]
366 0024 9BB2 uxth r3, r3
3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
367 .loc 1 3581 9 view .LVU113
368 0026 013B subs r3, r3, #1
369 0028 9BB2 uxth r3, r3
3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
370 .loc 1 3581 8 view .LVU114
371 002a C384 strh r3, [r0, #38] @ movhi
372 002c 4BB9 cbnz r3, .L12
3584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
373 .loc 1 3584 7 is_stmt 1 view .LVU115
374 002e 0268 ldr r2, [r0]
375 0030 D368 ldr r3, [r2, #12]
376 0032 23F08003 bic r3, r3, #128
377 0036 D360 str r3, [r2, #12]
3587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
378 .loc 1 3587 7 view .LVU116
379 0038 0268 ldr r2, [r0]
380 003a D368 ldr r3, [r2, #12]
381 003c 43F04003 orr r3, r3, #64
382 0040 D360 str r3, [r2, #12]
383 .L12:
3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
384 .loc 1 3589 5 view .LVU117
3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 81
385 .loc 1 3589 12 is_stmt 0 view .LVU118
386 0042 0020 movs r0, #0
387 .LVL32:
3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
388 .loc 1 3589 12 view .LVU119
389 0044 7047 bx lr
390 .LVL33:
391 .L15:
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
392 .loc 1 3570 71 discriminator 1 view .LVU120
393 0046 0369 ldr r3, [r0, #16]
3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
394 .loc 1 3570 56 discriminator 1 view .LVU121
395 0048 002B cmp r3, #0
396 004a E4D1 bne .L10
3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
397 .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);
398 .loc 1 3572 11 is_stmt 0 view .LVU123
399 004c 036A ldr r3, [r0, #32]
400 .LVL34:
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
401 .loc 1 3573 7 is_stmt 1 view .LVU124
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
402 .loc 1 3573 40 is_stmt 0 view .LVU125
403 004e 1B88 ldrh r3, [r3]
404 .LVL35:
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
405 .loc 1 3573 12 view .LVU126
406 0050 0268 ldr r2, [r0]
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
407 .loc 1 3573 29 view .LVU127
408 0052 C3F30803 ubfx r3, r3, #0, #9
3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
409 .loc 1 3573 27 view .LVU128
410 0056 5360 str r3, [r2, #4]
411 .LVL36:
3574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
412 .loc 1 3574 7 is_stmt 1 view .LVU129
3574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
413 .loc 1 3574 25 is_stmt 0 view .LVU130
414 0058 036A ldr r3, [r0, #32]
415 005a 0233 adds r3, r3, #2
416 005c 0362 str r3, [r0, #32]
417 005e E0E7 b .L11
418 .cfi_endproc
419 .LFE192:
421 .global __aeabi_uldivmod
422 .section .text.UART_SetConfig,"ax",%progbits
423 .align 1
424 .syntax unified
425 .thumb
426 .thumb_func
427 .fpu fpv4-sp-d16
429 UART_SetConfig:
430 .LVL37:
431 .LFB195:
ARM GAS /tmp/cc8UBTH4.s page 82
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.
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);
ARM GAS /tmp/cc8UBTH4.s page 83
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 **** {
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
ARM GAS /tmp/cc8UBTH4.s page 84
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 */
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 **** {
432 .loc 1 3732 1 is_stmt 1 view -0
433 .cfi_startproc
434 @ args = 0, pretend = 0, frame = 0
435 @ frame_needed = 0, uses_anonymous_args = 0
436 .loc 1 3732 1 is_stmt 0 view .LVU132
437 0000 38B5 push {r3, r4, r5, lr}
438 .LCFI0:
439 .cfi_def_cfa_offset 16
440 .cfi_offset 3, -16
441 .cfi_offset 4, -12
442 .cfi_offset 5, -8
443 .cfi_offset 14, -4
444 0002 0446 mov r4, r0
3733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg;
445 .loc 1 3733 3 is_stmt 1 view .LVU133
3734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t pclk;
446 .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));
447 .loc 1 3737 3 view .LVU135
3738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
448 .loc 1 3738 3 view .LVU136
3739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
449 .loc 1 3739 3 view .LVU137
3740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
450 .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);
451 .loc 1 3745 3 view .LVU139
452 0004 0268 ldr r2, [r0]
ARM GAS /tmp/cc8UBTH4.s page 85
453 0006 1369 ldr r3, [r2, #16]
454 0008 23F44053 bic r3, r3, #12288
455 000c C168 ldr r1, [r0, #12]
456 000e 0B43 orrs r3, r3, r1
457 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
458 .loc 1 3754 3 view .LVU140
459 .loc 1 3754 33 is_stmt 0 view .LVU141
460 0012 8368 ldr r3, [r0, #8]
461 .loc 1 3754 58 view .LVU142
462 0014 0269 ldr r2, [r0, #16]
463 .loc 1 3754 45 view .LVU143
464 0016 1343 orrs r3, r3, r2
465 .loc 1 3754 79 view .LVU144
466 0018 4269 ldr r2, [r0, #20]
467 .loc 1 3754 66 view .LVU145
468 001a 1343 orrs r3, r3, r2
469 .loc 1 3754 98 view .LVU146
470 001c C269 ldr r2, [r0, #28]
471 .loc 1 3754 10 view .LVU147
472 001e 1A43 orrs r2, r2, r3
473 .LVL38:
3755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1,
474 .loc 1 3755 3 is_stmt 1 view .LVU148
475 0020 0168 ldr r1, [r0]
476 0022 CB68 ldr r3, [r1, #12]
477 0024 23F41643 bic r3, r3, #38400
478 0028 23F00C03 bic r3, r3, #12
479 002c 1343 orrs r3, r3, r2
480 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);
481 .loc 1 3761 3 view .LVU149
482 0030 0268 ldr r2, [r0]
483 .LVL39:
484 .loc 1 3761 3 is_stmt 0 view .LVU150
485 0032 5369 ldr r3, [r2, #20]
486 0034 23F44073 bic r3, r3, #768
487 0038 8169 ldr r1, [r0, #24]
488 003a 0B43 orrs r3, r3, r1
489 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) ||
ARM GAS /tmp/cc8UBTH4.s page 86
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 **** }
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))
490 .loc 1 3770 5 is_stmt 1 view .LVU151
491 .loc 1 3770 15 is_stmt 0 view .LVU152
492 003e 0368 ldr r3, [r0]
493 .loc 1 3770 8 view .LVU153
494 0040 314A ldr r2, .L24
495 0042 9342 cmp r3, r2
496 0044 06D0 beq .L17
497 .loc 1 3770 37 discriminator 1 view .LVU154
498 0046 02F58062 add r2, r2, #1024
499 004a 9342 cmp r3, r2
500 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();
501 .loc 1 3782 7 is_stmt 1 view .LVU155
502 .loc 1 3782 14 is_stmt 0 view .LVU156
503 004e FFF7FEFF bl HAL_RCC_GetPCLK1Freq
504 .LVL40:
505 .loc 1 3782 14 view .LVU157
506 0052 01E0 b .L19
507 .LVL41:
508 .L17:
3772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
509 .loc 1 3772 7 is_stmt 1 view .LVU158
3772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
510 .loc 1 3772 14 is_stmt 0 view .LVU159
511 0054 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
512 .LVL42:
513 .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)
514 .loc 1 3785 3 is_stmt 1 view .LVU160
515 .loc 1 3785 18 is_stmt 0 view .LVU161
516 0058 E369 ldr r3, [r4, #28]
517 .loc 1 3785 6 view .LVU162
518 005a B3F5004F cmp r3, #32768
519 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 **** {
ARM GAS /tmp/cc8UBTH4.s page 87
3791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate);
520 .loc 1 3791 5 is_stmt 1 view .LVU163
521 .loc 1 3791 28 is_stmt 0 view .LVU164
522 0060 0021 movs r1, #0
523 0062 0318 adds r3, r0, r0
524 0064 4941 adcs r1, r1, r1
525 0066 1B18 adds r3, r3, r0
526 0068 41F10001 adc r1, r1, #0
527 006c C900 lsls r1, r1, #3
528 006e 41EA5371 orr r1, r1, r3, lsr #29
529 0072 DB00 lsls r3, r3, #3
530 0074 1818 adds r0, r3, r0
531 .LVL43:
532 .loc 1 3791 28 view .LVU165
533 0076 6368 ldr r3, [r4, #4]
534 0078 4FEA8302 lsl r2, r3, #2
535 007c 4FEA9373 lsr r3, r3, #30
536 0080 41F10001 adc r1, r1, #0
537 0084 FFF7FEFF bl __aeabi_uldivmod
538 .LVL44:
539 0088 204D ldr r5, .L24+4
540 008a A5FB0032 umull r3, r2, r5, r0
541 008e 5109 lsrs r1, r2, #5
542 0090 6423 movs r3, #100
543 0092 03FB1103 mls r3, r3, r1, r0
544 0096 1B01 lsls r3, r3, #4
545 0098 3233 adds r3, r3, #50
546 009a A5FB0323 umull r2, r3, r5, r3
547 009e 5B09 lsrs r3, r3, #5
548 00a0 03F0F002 and r2, r3, #240
549 00a4 02EB0112 add r2, r2, r1, lsl #4
550 00a8 03F00F03 and r3, r3, #15
551 .loc 1 3791 10 view .LVU166
552 00ac 2168 ldr r1, [r4]
553 .loc 1 3791 28 view .LVU167
554 00ae 1344 add r3, r3, r2
555 .loc 1 3791 26 view .LVU168
556 00b0 8B60 str r3, [r1, #8]
557 .L16:
3792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
558 .loc 1 3793 1 view .LVU169
559 00b2 38BD pop {r3, r4, r5, pc}
560 .LVL45:
561 .L23:
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
562 .loc 1 3787 5 is_stmt 1 view .LVU170
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
563 .loc 1 3787 28 is_stmt 0 view .LVU171
564 00b4 0023 movs r3, #0
565 00b6 0218 adds r2, r0, r0
566 00b8 43EB0301 adc r1, r3, r3
567 00bc 1218 adds r2, r2, r0
568 00be 41F10001 adc r1, r1, #0
569 00c2 C900 lsls r1, r1, #3
570 00c4 41EA5271 orr r1, r1, r2, lsr #29
571 00c8 D200 lsls r2, r2, #3
ARM GAS /tmp/cc8UBTH4.s page 88
572 00ca 1018 adds r0, r2, r0
573 .LVL46:
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
574 .loc 1 3787 28 view .LVU172
575 00cc 41F10001 adc r1, r1, #0
576 00d0 6268 ldr r2, [r4, #4]
577 00d2 9218 adds r2, r2, r2
578 00d4 5B41 adcs r3, r3, r3
579 00d6 FFF7FEFF bl __aeabi_uldivmod
580 .LVL47:
581 00da 0C4D ldr r5, .L24+4
582 00dc A5FB0032 umull r3, r2, r5, r0
583 00e0 5109 lsrs r1, r2, #5
584 00e2 6423 movs r3, #100
585 00e4 03FB1103 mls r3, r3, r1, r0
586 00e8 DB00 lsls r3, r3, #3
587 00ea 3233 adds r3, r3, #50
588 00ec A5FB0323 umull r2, r3, r5, r3
589 00f0 5B09 lsrs r3, r3, #5
590 00f2 5A00 lsls r2, r3, #1
591 00f4 02F4F872 and r2, r2, #496
592 00f8 02EB0112 add r2, r2, r1, lsl #4
593 00fc 03F00703 and r3, r3, #7
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
594 .loc 1 3787 10 view .LVU173
595 0100 2168 ldr r1, [r4]
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
596 .loc 1 3787 28 view .LVU174
597 0102 1344 add r3, r3, r2
3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
598 .loc 1 3787 26 view .LVU175
599 0104 8B60 str r3, [r1, #8]
600 0106 D4E7 b .L16
601 .L25:
602 .align 2
603 .L24:
604 0108 00100140 .word 1073811456
605 010c 1F85EB51 .word 1374389535
606 .cfi_endproc
607 .LFE195:
609 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
610 .align 1
611 .syntax unified
612 .thumb
613 .thumb_func
614 .fpu fpv4-sp-d16
616 UART_WaitOnFlagUntilTimeout:
617 .LVL48:
618 .LFB182:
3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
619 .loc 1 3214 1 is_stmt 1 view -0
620 .cfi_startproc
621 @ args = 4, pretend = 0, frame = 8
622 @ frame_needed = 0, uses_anonymous_args = 0
3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
623 .loc 1 3214 1 is_stmt 0 view .LVU177
624 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
ARM GAS /tmp/cc8UBTH4.s page 89
625 .LCFI1:
626 .cfi_def_cfa_offset 28
627 .cfi_offset 4, -28
628 .cfi_offset 5, -24
629 .cfi_offset 6, -20
630 .cfi_offset 7, -16
631 .cfi_offset 8, -12
632 .cfi_offset 9, -8
633 .cfi_offset 14, -4
634 0004 83B0 sub sp, sp, #12
635 .LCFI2:
636 .cfi_def_cfa_offset 40
637 0006 0546 mov r5, r0
638 0008 0E46 mov r6, r1
639 000a 1746 mov r7, r2
640 000c 9946 mov r9, r3
641 000e DDF82880 ldr r8, [sp, #40]
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
642 .loc 1 3216 3 is_stmt 1 view .LVU178
643 .LVL49:
644 .L28:
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
645 .loc 1 3216 9 view .LVU179
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
646 .loc 1 3216 11 is_stmt 0 view .LVU180
647 0012 2C68 ldr r4, [r5]
648 0014 2468 ldr r4, [r4]
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
649 .loc 1 3216 50 view .LVU181
650 0016 36EA0403 bics r3, r6, r4
651 001a 0CBF ite eq
652 001c 4FF0010C moveq ip, #1
653 0020 4FF0000C movne ip, #0
3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
654 .loc 1 3216 9 view .LVU182
655 0024 BC45 cmp ip, r7
656 0026 28D1 bne .L34
3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
657 .loc 1 3219 5 is_stmt 1 view .LVU183
3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
658 .loc 1 3219 8 is_stmt 0 view .LVU184
659 0028 B8F1FF3F cmp r8, #-1
660 002c F1D0 beq .L28
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
661 .loc 1 3221 7 is_stmt 1 view .LVU185
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
662 .loc 1 3221 13 is_stmt 0 view .LVU186
663 002e FFF7FEFF bl HAL_GetTick
664 .LVL50:
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
665 .loc 1 3221 27 view .LVU187
666 0032 A0EB0900 sub r0, r0, r9
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
667 .loc 1 3221 10 view .LVU188
668 0036 4045 cmp r0, r8
669 0038 23D8 bhi .L31
3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc8UBTH4.s page 90
670 .loc 1 3221 51 discriminator 1 view .LVU189
671 003a B8F1000F cmp r8, #0
672 003e 22D0 beq .L32
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
673 .loc 1 3227 7 is_stmt 1 view .LVU190
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
674 .loc 1 3227 12 is_stmt 0 view .LVU191
675 0040 2B68 ldr r3, [r5]
676 0042 DA68 ldr r2, [r3, #12]
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
677 .loc 1 3227 10 view .LVU192
678 0044 12F0040F tst r2, #4
679 0048 E3D0 beq .L28
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
680 .loc 1 3227 64 discriminator 1 view .LVU193
681 004a 802E cmp r6, #128
682 004c E1D0 beq .L28
3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
683 .loc 1 3227 91 discriminator 2 view .LVU194
684 004e 402E cmp r6, #64
685 0050 DFD0 beq .L28
3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
686 .loc 1 3229 9 is_stmt 1 view .LVU195
3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
687 .loc 1 3229 13 is_stmt 0 view .LVU196
688 0052 1A68 ldr r2, [r3]
3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
689 .loc 1 3229 12 view .LVU197
690 0054 12F0080F tst r2, #8
691 0058 DBD0 beq .L28
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
692 .loc 1 3232 11 is_stmt 1 view .LVU198
693 .LBB330:
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
694 .loc 1 3232 11 view .LVU199
695 005a 0024 movs r4, #0
696 005c 0194 str r4, [sp, #4]
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
697 .loc 1 3232 11 view .LVU200
698 005e 1A68 ldr r2, [r3]
699 0060 0192 str r2, [sp, #4]
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
700 .loc 1 3232 11 view .LVU201
701 0062 5B68 ldr r3, [r3, #4]
702 0064 0193 str r3, [sp, #4]
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
703 .loc 1 3232 11 view .LVU202
704 0066 019B ldr r3, [sp, #4]
705 .LBE330:
3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
706 .loc 1 3232 11 view .LVU203
3237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
707 .loc 1 3237 11 view .LVU204
708 0068 2846 mov r0, r5
709 006a FFF7FEFF bl UART_EndRxTransfer
710 .LVL51:
3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 91
711 .loc 1 3239 11 view .LVU205
3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
712 .loc 1 3239 28 is_stmt 0 view .LVU206
713 006e 0823 movs r3, #8
714 0070 6B64 str r3, [r5, #68]
3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
715 .loc 1 3242 11 is_stmt 1 view .LVU207
3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
716 .loc 1 3242 11 view .LVU208
717 0072 85F84040 strb r4, [r5, #64]
3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
718 .loc 1 3242 11 view .LVU209
3244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
719 .loc 1 3244 11 view .LVU210
3244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
720 .loc 1 3244 18 is_stmt 0 view .LVU211
721 0076 0120 movs r0, #1
722 0078 00E0 b .L29
723 .L34:
3249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
724 .loc 1 3249 10 view .LVU212
725 007a 0020 movs r0, #0
726 .L29:
3250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
727 .loc 1 3250 1 view .LVU213
728 007c 03B0 add sp, sp, #12
729 .LCFI3:
730 .cfi_remember_state
731 .cfi_def_cfa_offset 28
732 @ sp needed
733 007e BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
734 .LVL52:
735 .L31:
736 .LCFI4:
737 .cfi_restore_state
3224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
738 .loc 1 3224 16 view .LVU214
739 0082 0320 movs r0, #3
740 0084 FAE7 b .L29
741 .L32:
742 0086 0320 movs r0, #3
743 0088 F8E7 b .L29
744 .cfi_endproc
745 .LFE182:
747 .section .text.HAL_UART_MspInit,"ax",%progbits
748 .align 1
749 .weak HAL_UART_MspInit
750 .syntax unified
751 .thumb
752 .thumb_func
753 .fpu fpv4-sp-d16
755 HAL_UART_MspInit:
756 .LVL53:
757 .LFB139:
716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
758 .loc 1 716 1 is_stmt 1 view -0
759 .cfi_startproc
ARM GAS /tmp/cc8UBTH4.s page 92
760 @ args = 0, pretend = 0, frame = 0
761 @ frame_needed = 0, uses_anonymous_args = 0
762 @ 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,
763 .loc 1 718 3 view .LVU216
722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
764 .loc 1 722 1 is_stmt 0 view .LVU217
765 0000 7047 bx lr
766 .cfi_endproc
767 .LFE139:
769 .section .text.HAL_UART_Init,"ax",%progbits
770 .align 1
771 .global HAL_UART_Init
772 .syntax unified
773 .thumb
774 .thumb_func
775 .fpu fpv4-sp-d16
777 HAL_UART_Init:
778 .LVL54:
779 .LFB134:
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
780 .loc 1 358 1 is_stmt 1 view -0
781 .cfi_startproc
782 @ args = 0, pretend = 0, frame = 0
783 @ frame_needed = 0, uses_anonymous_args = 0
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
784 .loc 1 360 3 view .LVU219
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
785 .loc 1 360 6 is_stmt 0 view .LVU220
786 0000 60B3 cbz r0, .L39
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
787 .loc 1 358 1 view .LVU221
788 0002 10B5 push {r4, lr}
789 .LCFI5:
790 .cfi_def_cfa_offset 8
791 .cfi_offset 4, -8
792 .cfi_offset 14, -4
793 0004 0446 mov r4, r0
366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
794 .loc 1 366 3 is_stmt 1 view .LVU222
376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
795 .loc 1 376 5 view .LVU223
378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
796 .loc 1 378 3 view .LVU224
379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
797 .loc 1 379 3 view .LVU225
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
798 .loc 1 381 3 view .LVU226
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
799 .loc 1 381 12 is_stmt 0 view .LVU227
800 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
801 .loc 1 381 6 view .LVU228
802 000a 13B3 cbz r3, .L44
803 .LVL55:
804 .L38:
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 93
805 .loc 1 402 3 is_stmt 1 view .LVU229
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
806 .loc 1 402 17 is_stmt 0 view .LVU230
807 000c 2423 movs r3, #36
808 000e 84F84130 strb r3, [r4, #65]
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
809 .loc 1 405 3 is_stmt 1 view .LVU231
810 0012 2268 ldr r2, [r4]
811 0014 D368 ldr r3, [r2, #12]
812 0016 23F40053 bic r3, r3, #8192
813 001a D360 str r3, [r2, #12]
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
814 .loc 1 408 3 view .LVU232
815 001c 2046 mov r0, r4
816 001e FFF7FEFF bl UART_SetConfig
817 .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));
818 .loc 1 413 3 view .LVU233
819 0022 2268 ldr r2, [r4]
820 0024 1369 ldr r3, [r2, #16]
821 0026 23F49043 bic r3, r3, #18432
822 002a 1361 str r3, [r2, #16]
414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
823 .loc 1 414 3 view .LVU234
824 002c 2268 ldr r2, [r4]
825 002e 5369 ldr r3, [r2, #20]
826 0030 23F02A03 bic r3, r3, #42
827 0034 5361 str r3, [r2, #20]
417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
828 .loc 1 417 3 view .LVU235
829 0036 2268 ldr r2, [r4]
830 0038 D368 ldr r3, [r2, #12]
831 003a 43F40053 orr r3, r3, #8192
832 003e D360 str r3, [r2, #12]
420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
833 .loc 1 420 3 view .LVU236
420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
834 .loc 1 420 20 is_stmt 0 view .LVU237
835 0040 0020 movs r0, #0
836 0042 6064 str r0, [r4, #68]
421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
837 .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;
838 .loc 1 421 17 is_stmt 0 view .LVU239
839 0044 2023 movs r3, #32
840 0046 84F84130 strb r3, [r4, #65]
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
841 .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;
842 .loc 1 422 18 is_stmt 0 view .LVU241
843 004a 84F84230 strb r3, [r4, #66]
423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
844 .loc 1 423 3 is_stmt 1 view .LVU242
423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
845 .loc 1 423 22 is_stmt 0 view .LVU243
846 004e 6063 str r0, [r4, #52]
425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 94
847 .loc 1 425 3 is_stmt 1 view .LVU244
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
848 .loc 1 426 1 is_stmt 0 view .LVU245
849 0050 10BD pop {r4, pc}
850 .LVL57:
851 .L44:
384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
852 .loc 1 384 5 is_stmt 1 view .LVU246
384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
853 .loc 1 384 17 is_stmt 0 view .LVU247
854 0052 80F84030 strb r3, [r0, #64]
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
855 .loc 1 398 5 is_stmt 1 view .LVU248
856 0056 FFF7FEFF bl HAL_UART_MspInit
857 .LVL58:
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
858 .loc 1 398 5 is_stmt 0 view .LVU249
859 005a D7E7 b .L38
860 .LVL59:
861 .L39:
862 .LCFI6:
863 .cfi_def_cfa_offset 0
864 .cfi_restore 4
865 .cfi_restore 14
362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
866 .loc 1 362 12 view .LVU250
867 005c 0120 movs r0, #1
868 .LVL60:
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
869 .loc 1 426 1 view .LVU251
870 005e 7047 bx lr
871 .cfi_endproc
872 .LFE134:
874 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
875 .align 1
876 .global HAL_HalfDuplex_Init
877 .syntax unified
878 .thumb
879 .thumb_func
880 .fpu fpv4-sp-d16
882 HAL_HalfDuplex_Init:
883 .LVL61:
884 .LFB135:
436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
885 .loc 1 436 1 is_stmt 1 view -0
886 .cfi_startproc
887 @ args = 0, pretend = 0, frame = 0
888 @ frame_needed = 0, uses_anonymous_args = 0
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
889 .loc 1 438 3 view .LVU253
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
890 .loc 1 438 6 is_stmt 0 view .LVU254
891 0000 0028 cmp r0, #0
892 0002 31D0 beq .L48
436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
893 .loc 1 436 1 view .LVU255
894 0004 10B5 push {r4, lr}
ARM GAS /tmp/cc8UBTH4.s page 95
895 .LCFI7:
896 .cfi_def_cfa_offset 8
897 .cfi_offset 4, -8
898 .cfi_offset 14, -4
899 0006 0446 mov r4, r0
444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
900 .loc 1 444 3 is_stmt 1 view .LVU256
445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
901 .loc 1 445 3 view .LVU257
446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
902 .loc 1 446 3 view .LVU258
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
903 .loc 1 448 3 view .LVU259
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
904 .loc 1 448 12 is_stmt 0 view .LVU260
905 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
906 .loc 1 448 6 view .LVU261
907 000c 3BB3 cbz r3, .L53
908 .LVL62:
909 .L47:
469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
910 .loc 1 469 3 is_stmt 1 view .LVU262
469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
911 .loc 1 469 17 is_stmt 0 view .LVU263
912 000e 2423 movs r3, #36
913 0010 84F84130 strb r3, [r4, #65]
472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
914 .loc 1 472 3 is_stmt 1 view .LVU264
915 0014 2268 ldr r2, [r4]
916 0016 D368 ldr r3, [r2, #12]
917 0018 23F40053 bic r3, r3, #8192
918 001c D360 str r3, [r2, #12]
475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
919 .loc 1 475 3 view .LVU265
920 001e 2046 mov r0, r4
921 0020 FFF7FEFF bl UART_SetConfig
922 .LVL63:
480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
923 .loc 1 480 3 view .LVU266
924 0024 2268 ldr r2, [r4]
925 0026 1369 ldr r3, [r2, #16]
926 0028 23F49043 bic r3, r3, #18432
927 002c 1361 str r3, [r2, #16]
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
928 .loc 1 481 3 view .LVU267
929 002e 2268 ldr r2, [r4]
930 0030 5369 ldr r3, [r2, #20]
931 0032 23F02203 bic r3, r3, #34
932 0036 5361 str r3, [r2, #20]
484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
933 .loc 1 484 3 view .LVU268
934 0038 2268 ldr r2, [r4]
935 003a 5369 ldr r3, [r2, #20]
936 003c 43F00803 orr r3, r3, #8
937 0040 5361 str r3, [r2, #20]
487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 96
938 .loc 1 487 3 view .LVU269
939 0042 2268 ldr r2, [r4]
940 0044 D368 ldr r3, [r2, #12]
941 0046 43F40053 orr r3, r3, #8192
942 004a D360 str r3, [r2, #12]
490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
943 .loc 1 490 3 view .LVU270
490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
944 .loc 1 490 20 is_stmt 0 view .LVU271
945 004c 0020 movs r0, #0
946 004e 6064 str r0, [r4, #68]
491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
947 .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;
948 .loc 1 491 17 is_stmt 0 view .LVU273
949 0050 2023 movs r3, #32
950 0052 84F84130 strb r3, [r4, #65]
492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
951 .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;
952 .loc 1 492 18 is_stmt 0 view .LVU275
953 0056 84F84230 strb r3, [r4, #66]
493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
954 .loc 1 493 3 is_stmt 1 view .LVU276
493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
955 .loc 1 493 22 is_stmt 0 view .LVU277
956 005a 6063 str r0, [r4, #52]
495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
957 .loc 1 495 3 is_stmt 1 view .LVU278
496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
958 .loc 1 496 1 is_stmt 0 view .LVU279
959 005c 10BD pop {r4, pc}
960 .LVL64:
961 .L53:
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
962 .loc 1 451 5 is_stmt 1 view .LVU280
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
963 .loc 1 451 17 is_stmt 0 view .LVU281
964 005e 80F84030 strb r3, [r0, #64]
465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
965 .loc 1 465 5 is_stmt 1 view .LVU282
966 0062 FFF7FEFF bl HAL_UART_MspInit
967 .LVL65:
465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
968 .loc 1 465 5 is_stmt 0 view .LVU283
969 0066 D2E7 b .L47
970 .LVL66:
971 .L48:
972 .LCFI8:
973 .cfi_def_cfa_offset 0
974 .cfi_restore 4
975 .cfi_restore 14
440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
976 .loc 1 440 12 view .LVU284
977 0068 0120 movs r0, #1
978 .LVL67:
496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 97
979 .loc 1 496 1 view .LVU285
980 006a 7047 bx lr
981 .cfi_endproc
982 .LFE135:
984 .section .text.HAL_LIN_Init,"ax",%progbits
985 .align 1
986 .global HAL_LIN_Init
987 .syntax unified
988 .thumb
989 .thumb_func
990 .fpu fpv4-sp-d16
992 HAL_LIN_Init:
993 .LVL68:
994 .LFB136:
510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
995 .loc 1 510 1 is_stmt 1 view -0
996 .cfi_startproc
997 @ args = 0, pretend = 0, frame = 0
998 @ frame_needed = 0, uses_anonymous_args = 0
512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
999 .loc 1 512 3 view .LVU287
512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1000 .loc 1 512 6 is_stmt 0 view .LVU288
1001 0000 0028 cmp r0, #0
1002 0002 3CD0 beq .L57
510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1003 .loc 1 510 1 view .LVU289
1004 0004 38B5 push {r3, r4, r5, lr}
1005 .LCFI9:
1006 .cfi_def_cfa_offset 16
1007 .cfi_offset 3, -16
1008 .cfi_offset 4, -12
1009 .cfi_offset 5, -8
1010 .cfi_offset 14, -4
1011 0006 0D46 mov r5, r1
1012 0008 0446 mov r4, r0
518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1013 .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));
1014 .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));
1015 .loc 1 522 3 view .LVU292
523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1016 .loc 1 523 3 view .LVU293
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1017 .loc 1 525 3 view .LVU294
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1018 .loc 1 525 12 is_stmt 0 view .LVU295
1019 000a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1020 .loc 1 525 6 view .LVU296
1021 000e 002B cmp r3, #0
1022 0010 30D0 beq .L62
1023 .LVL69:
1024 .L56:
546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1025 .loc 1 546 3 is_stmt 1 view .LVU297
ARM GAS /tmp/cc8UBTH4.s page 98
546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1026 .loc 1 546 17 is_stmt 0 view .LVU298
1027 0012 2423 movs r3, #36
1028 0014 84F84130 strb r3, [r4, #65]
549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1029 .loc 1 549 3 is_stmt 1 view .LVU299
1030 0018 2268 ldr r2, [r4]
1031 001a D368 ldr r3, [r2, #12]
1032 001c 23F40053 bic r3, r3, #8192
1033 0020 D360 str r3, [r2, #12]
552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1034 .loc 1 552 3 view .LVU300
1035 0022 2046 mov r0, r4
1036 0024 FFF7FEFF bl UART_SetConfig
1037 .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));
1038 .loc 1 557 3 view .LVU301
1039 0028 2268 ldr r2, [r4]
1040 002a 1369 ldr r3, [r2, #16]
1041 002c 23F40063 bic r3, r3, #2048
1042 0030 1361 str r3, [r2, #16]
558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1043 .loc 1 558 3 view .LVU302
1044 0032 2268 ldr r2, [r4]
1045 0034 5369 ldr r3, [r2, #20]
1046 0036 23F02A03 bic r3, r3, #42
1047 003a 5361 str r3, [r2, #20]
561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1048 .loc 1 561 3 view .LVU303
1049 003c 2268 ldr r2, [r4]
1050 003e 1369 ldr r3, [r2, #16]
1051 0040 43F48043 orr r3, r3, #16384
1052 0044 1361 str r3, [r2, #16]
564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength);
1053 .loc 1 564 3 view .LVU304
1054 0046 2268 ldr r2, [r4]
1055 0048 1369 ldr r3, [r2, #16]
1056 004a 23F02003 bic r3, r3, #32
1057 004e 1361 str r3, [r2, #16]
565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1058 .loc 1 565 3 view .LVU305
1059 0050 2368 ldr r3, [r4]
1060 0052 1969 ldr r1, [r3, #16]
1061 0054 0D43 orrs r5, r5, r1
1062 .LVL71:
565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1063 .loc 1 565 3 is_stmt 0 view .LVU306
1064 0056 1D61 str r5, [r3, #16]
568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1065 .loc 1 568 3 is_stmt 1 view .LVU307
1066 0058 2268 ldr r2, [r4]
1067 005a D368 ldr r3, [r2, #12]
1068 005c 43F40053 orr r3, r3, #8192
1069 0060 D360 str r3, [r2, #12]
571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1070 .loc 1 571 3 view .LVU308
571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
ARM GAS /tmp/cc8UBTH4.s page 99
1071 .loc 1 571 20 is_stmt 0 view .LVU309
1072 0062 0020 movs r0, #0
1073 0064 6064 str r0, [r4, #68]
572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1074 .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;
1075 .loc 1 572 17 is_stmt 0 view .LVU311
1076 0066 2023 movs r3, #32
1077 0068 84F84130 strb r3, [r4, #65]
573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1078 .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;
1079 .loc 1 573 18 is_stmt 0 view .LVU313
1080 006c 84F84230 strb r3, [r4, #66]
574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1081 .loc 1 574 3 is_stmt 1 view .LVU314
574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1082 .loc 1 574 22 is_stmt 0 view .LVU315
1083 0070 6063 str r0, [r4, #52]
576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1084 .loc 1 576 3 is_stmt 1 view .LVU316
577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1085 .loc 1 577 1 is_stmt 0 view .LVU317
1086 0072 38BD pop {r3, r4, r5, pc}
1087 .LVL72:
1088 .L62:
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1089 .loc 1 528 5 is_stmt 1 view .LVU318
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1090 .loc 1 528 17 is_stmt 0 view .LVU319
1091 0074 80F84030 strb r3, [r0, #64]
542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1092 .loc 1 542 5 is_stmt 1 view .LVU320
1093 0078 FFF7FEFF bl HAL_UART_MspInit
1094 .LVL73:
542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1095 .loc 1 542 5 is_stmt 0 view .LVU321
1096 007c C9E7 b .L56
1097 .LVL74:
1098 .L57:
1099 .LCFI10:
1100 .cfi_def_cfa_offset 0
1101 .cfi_restore 3
1102 .cfi_restore 4
1103 .cfi_restore 5
1104 .cfi_restore 14
514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1105 .loc 1 514 12 view .LVU322
1106 007e 0120 movs r0, #1
1107 .LVL75:
577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1108 .loc 1 577 1 view .LVU323
1109 0080 7047 bx lr
1110 .cfi_endproc
1111 .LFE136:
1113 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
1114 .align 1
ARM GAS /tmp/cc8UBTH4.s page 100
1115 .global HAL_MultiProcessor_Init
1116 .syntax unified
1117 .thumb
1118 .thumb_func
1119 .fpu fpv4-sp-d16
1121 HAL_MultiProcessor_Init:
1122 .LVL76:
1123 .LFB137:
592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1124 .loc 1 592 1 is_stmt 1 view -0
1125 .cfi_startproc
1126 @ args = 0, pretend = 0, frame = 0
1127 @ frame_needed = 0, uses_anonymous_args = 0
594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1128 .loc 1 594 3 view .LVU325
594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1129 .loc 1 594 6 is_stmt 0 view .LVU326
1130 0000 0028 cmp r0, #0
1131 0002 41D0 beq .L66
592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1132 .loc 1 592 1 view .LVU327
1133 0004 70B5 push {r4, r5, r6, lr}
1134 .LCFI11:
1135 .cfi_def_cfa_offset 16
1136 .cfi_offset 4, -16
1137 .cfi_offset 5, -12
1138 .cfi_offset 6, -8
1139 .cfi_offset 14, -4
1140 0006 0D46 mov r5, r1
1141 0008 1646 mov r6, r2
1142 000a 0446 mov r4, r0
600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1143 .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));
1144 .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));
1145 .loc 1 604 3 view .LVU330
605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
1146 .loc 1 605 3 view .LVU331
606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1147 .loc 1 606 3 view .LVU332
608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1148 .loc 1 608 3 view .LVU333
608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1149 .loc 1 608 12 is_stmt 0 view .LVU334
1150 000c 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1151 .loc 1 608 6 view .LVU335
1152 0010 002B cmp r3, #0
1153 0012 34D0 beq .L71
1154 .LVL77:
1155 .L65:
629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1156 .loc 1 629 3 is_stmt 1 view .LVU336
629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1157 .loc 1 629 17 is_stmt 0 view .LVU337
1158 0014 2423 movs r3, #36
ARM GAS /tmp/cc8UBTH4.s page 101
1159 0016 84F84130 strb r3, [r4, #65]
632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1160 .loc 1 632 3 is_stmt 1 view .LVU338
1161 001a 2268 ldr r2, [r4]
1162 001c D368 ldr r3, [r2, #12]
1163 001e 23F40053 bic r3, r3, #8192
1164 0022 D360 str r3, [r2, #12]
635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1165 .loc 1 635 3 view .LVU339
1166 0024 2046 mov r0, r4
1167 0026 FFF7FEFF bl UART_SetConfig
1168 .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));
1169 .loc 1 640 3 view .LVU340
1170 002a 2268 ldr r2, [r4]
1171 002c 1369 ldr r3, [r2, #16]
1172 002e 23F49043 bic r3, r3, #18432
1173 0032 1361 str r3, [r2, #16]
641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1174 .loc 1 641 3 view .LVU341
1175 0034 2268 ldr r2, [r4]
1176 0036 5369 ldr r3, [r2, #20]
1177 0038 23F02A03 bic r3, r3, #42
1178 003c 5361 str r3, [r2, #20]
644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address);
1179 .loc 1 644 3 view .LVU342
1180 003e 2268 ldr r2, [r4]
1181 0040 1369 ldr r3, [r2, #16]
1182 0042 23F00F03 bic r3, r3, #15
1183 0046 1361 str r3, [r2, #16]
645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1184 .loc 1 645 3 view .LVU343
1185 0048 2368 ldr r3, [r4]
1186 004a 1969 ldr r1, [r3, #16]
1187 004c 0D43 orrs r5, r5, r1
1188 004e 1D61 str r5, [r3, #16]
648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod);
1189 .loc 1 648 3 view .LVU344
1190 0050 2268 ldr r2, [r4]
1191 0052 D368 ldr r3, [r2, #12]
1192 0054 23F40063 bic r3, r3, #2048
1193 0058 D360 str r3, [r2, #12]
649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1194 .loc 1 649 3 view .LVU345
1195 005a 2368 ldr r3, [r4]
1196 005c DA68 ldr r2, [r3, #12]
1197 005e 1643 orrs r6, r6, r2
1198 .LVL79:
649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1199 .loc 1 649 3 is_stmt 0 view .LVU346
1200 0060 DE60 str r6, [r3, #12]
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1201 .loc 1 652 3 is_stmt 1 view .LVU347
1202 0062 2268 ldr r2, [r4]
1203 0064 D368 ldr r3, [r2, #12]
1204 0066 43F40053 orr r3, r3, #8192
1205 006a D360 str r3, [r2, #12]
ARM GAS /tmp/cc8UBTH4.s page 102
655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1206 .loc 1 655 3 view .LVU348
655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1207 .loc 1 655 20 is_stmt 0 view .LVU349
1208 006c 0020 movs r0, #0
1209 006e 6064 str r0, [r4, #68]
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1210 .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;
1211 .loc 1 656 17 is_stmt 0 view .LVU351
1212 0070 2023 movs r3, #32
1213 0072 84F84130 strb r3, [r4, #65]
657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1214 .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;
1215 .loc 1 657 18 is_stmt 0 view .LVU353
1216 0076 84F84230 strb r3, [r4, #66]
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1217 .loc 1 658 3 is_stmt 1 view .LVU354
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1218 .loc 1 658 22 is_stmt 0 view .LVU355
1219 007a 6063 str r0, [r4, #52]
660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1220 .loc 1 660 3 is_stmt 1 view .LVU356
661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1221 .loc 1 661 1 is_stmt 0 view .LVU357
1222 007c 70BD pop {r4, r5, r6, pc}
1223 .LVL80:
1224 .L71:
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1225 .loc 1 611 5 is_stmt 1 view .LVU358
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1226 .loc 1 611 17 is_stmt 0 view .LVU359
1227 007e 80F84030 strb r3, [r0, #64]
625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1228 .loc 1 625 5 is_stmt 1 view .LVU360
1229 0082 FFF7FEFF bl HAL_UART_MspInit
1230 .LVL81:
625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1231 .loc 1 625 5 is_stmt 0 view .LVU361
1232 0086 C5E7 b .L65
1233 .LVL82:
1234 .L66:
1235 .LCFI12:
1236 .cfi_def_cfa_offset 0
1237 .cfi_restore 4
1238 .cfi_restore 5
1239 .cfi_restore 6
1240 .cfi_restore 14
596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1241 .loc 1 596 12 view .LVU362
1242 0088 0120 movs r0, #1
1243 .LVL83:
661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1244 .loc 1 661 1 view .LVU363
1245 008a 7047 bx lr
1246 .cfi_endproc
ARM GAS /tmp/cc8UBTH4.s page 103
1247 .LFE137:
1249 .section .text.HAL_UART_MspDeInit,"ax",%progbits
1250 .align 1
1251 .weak HAL_UART_MspDeInit
1252 .syntax unified
1253 .thumb
1254 .thumb_func
1255 .fpu fpv4-sp-d16
1257 HAL_UART_MspDeInit:
1258 .LVL84:
1259 .LFB140:
731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
1260 .loc 1 731 1 is_stmt 1 view -0
1261 .cfi_startproc
1262 @ args = 0, pretend = 0, frame = 0
1263 @ frame_needed = 0, uses_anonymous_args = 0
1264 @ 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,
1265 .loc 1 733 3 view .LVU365
737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1266 .loc 1 737 1 is_stmt 0 view .LVU366
1267 0000 7047 bx lr
1268 .cfi_endproc
1269 .LFE140:
1271 .section .text.HAL_UART_DeInit,"ax",%progbits
1272 .align 1
1273 .global HAL_UART_DeInit
1274 .syntax unified
1275 .thumb
1276 .thumb_func
1277 .fpu fpv4-sp-d16
1279 HAL_UART_DeInit:
1280 .LVL85:
1281 .LFB138:
670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1282 .loc 1 670 1 is_stmt 1 view -0
1283 .cfi_startproc
1284 @ args = 0, pretend = 0, frame = 0
1285 @ frame_needed = 0, uses_anonymous_args = 0
672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1286 .loc 1 672 3 view .LVU368
672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1287 .loc 1 672 6 is_stmt 0 view .LVU369
1288 0000 B0B1 cbz r0, .L75
670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1289 .loc 1 670 1 view .LVU370
1290 0002 10B5 push {r4, lr}
1291 .LCFI13:
1292 .cfi_def_cfa_offset 8
1293 .cfi_offset 4, -8
1294 .cfi_offset 14, -4
1295 0004 0446 mov r4, r0
678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1296 .loc 1 678 3 is_stmt 1 view .LVU371
680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1297 .loc 1 680 3 view .LVU372
680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 104
1298 .loc 1 680 17 is_stmt 0 view .LVU373
1299 0006 2423 movs r3, #36
1300 0008 80F84130 strb r3, [r0, #65]
683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1301 .loc 1 683 3 is_stmt 1 view .LVU374
1302 000c 0268 ldr r2, [r0]
1303 000e D368 ldr r3, [r2, #12]
1304 0010 23F40053 bic r3, r3, #8192
1305 0014 D360 str r3, [r2, #12]
694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1306 .loc 1 694 3 view .LVU375
1307 0016 FFF7FEFF bl HAL_UART_MspDeInit
1308 .LVL86:
697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
1309 .loc 1 697 3 view .LVU376
697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
1310 .loc 1 697 20 is_stmt 0 view .LVU377
1311 001a 0020 movs r0, #0
1312 001c 6064 str r0, [r4, #68]
698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
1313 .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;
1314 .loc 1 698 17 is_stmt 0 view .LVU379
1315 001e 84F84100 strb r0, [r4, #65]
699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1316 .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;
1317 .loc 1 699 18 is_stmt 0 view .LVU381
1318 0022 84F84200 strb r0, [r4, #66]
700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
1319 .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;
1320 .loc 1 700 24 is_stmt 0 view .LVU383
1321 0026 2063 str r0, [r4, #48]
701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1322 .loc 1 701 3 is_stmt 1 view .LVU384
701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1323 .loc 1 701 22 is_stmt 0 view .LVU385
1324 0028 6063 str r0, [r4, #52]
704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1325 .loc 1 704 3 is_stmt 1 view .LVU386
704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1326 .loc 1 704 3 view .LVU387
1327 002a 84F84000 strb r0, [r4, #64]
704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1328 .loc 1 704 3 view .LVU388
706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1329 .loc 1 706 3 view .LVU389
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1330 .loc 1 707 1 is_stmt 0 view .LVU390
1331 002e 10BD pop {r4, pc}
1332 .LVL87:
1333 .L75:
1334 .LCFI14:
1335 .cfi_def_cfa_offset 0
1336 .cfi_restore 4
1337 .cfi_restore 14
ARM GAS /tmp/cc8UBTH4.s page 105
674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1338 .loc 1 674 12 view .LVU391
1339 0030 0120 movs r0, #1
1340 .LVL88:
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1341 .loc 1 707 1 view .LVU392
1342 0032 7047 bx lr
1343 .cfi_endproc
1344 .LFE138:
1346 .section .text.HAL_UART_Transmit,"ax",%progbits
1347 .align 1
1348 .global HAL_UART_Transmit
1349 .syntax unified
1350 .thumb
1351 .thumb_func
1352 .fpu fpv4-sp-d16
1354 HAL_UART_Transmit:
1355 .LVL89:
1356 .LFB141:
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint8_t *pdata8bits;
1357 .loc 1 1136 1 is_stmt 1 view -0
1358 .cfi_startproc
1359 @ args = 0, pretend = 0, frame = 0
1360 @ frame_needed = 0, uses_anonymous_args = 0
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint8_t *pdata8bits;
1361 .loc 1 1136 1 is_stmt 0 view .LVU394
1362 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1363 .LCFI15:
1364 .cfi_def_cfa_offset 24
1365 .cfi_offset 4, -24
1366 .cfi_offset 5, -20
1367 .cfi_offset 6, -16
1368 .cfi_offset 7, -12
1369 .cfi_offset 8, -8
1370 .cfi_offset 14, -4
1371 0004 82B0 sub sp, sp, #8
1372 .LCFI16:
1373 .cfi_def_cfa_offset 32
1374 0006 1E46 mov r6, r3
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint16_t *pdata16bits;
1375 .loc 1 1137 3 is_stmt 1 view .LVU395
1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
1376 .loc 1 1138 3 view .LVU396
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1377 .loc 1 1139 3 view .LVU397
1378 .LVL90:
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1379 .loc 1 1142 3 view .LVU398
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1380 .loc 1 1142 12 is_stmt 0 view .LVU399
1381 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
1382 .LVL91:
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1383 .loc 1 1142 12 view .LVU400
1384 000c DBB2 uxtb r3, r3
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1385 .loc 1 1142 6 view .LVU401
ARM GAS /tmp/cc8UBTH4.s page 106
1386 000e 202B cmp r3, #32
1387 0010 56D1 bne .L89
1388 0012 0446 mov r4, r0
1389 0014 0D46 mov r5, r1
1390 0016 9046 mov r8, r2
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1391 .loc 1 1144 5 is_stmt 1 view .LVU402
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1392 .loc 1 1144 8 is_stmt 0 view .LVU403
1393 0018 0029 cmp r1, #0
1394 001a 55D0 beq .L90
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1395 .loc 1 1144 25 discriminator 1 view .LVU404
1396 001c 0AB9 cbnz r2, .L95
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1397 .loc 1 1146 15 view .LVU405
1398 001e 0120 movs r0, #1
1399 .LVL92:
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1400 .loc 1 1146 15 view .LVU406
1401 0020 4FE0 b .L81
1402 .LVL93:
1403 .L95:
1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1404 .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;
1405 .loc 1 1149 22 is_stmt 0 view .LVU408
1406 0022 0023 movs r3, #0
1407 0024 4364 str r3, [r0, #68]
1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1408 .loc 1 1150 5 is_stmt 1 view .LVU409
1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1409 .loc 1 1150 19 is_stmt 0 view .LVU410
1410 0026 2123 movs r3, #33
1411 0028 80F84130 strb r3, [r0, #65]
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1412 .loc 1 1153 5 is_stmt 1 view .LVU411
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1413 .loc 1 1153 17 is_stmt 0 view .LVU412
1414 002c FFF7FEFF bl HAL_GetTick
1415 .LVL94:
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1416 .loc 1 1153 17 view .LVU413
1417 0030 0746 mov r7, r0
1418 .LVL95:
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1419 .loc 1 1155 5 is_stmt 1 view .LVU414
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1420 .loc 1 1155 23 is_stmt 0 view .LVU415
1421 0032 A4F82480 strh r8, [r4, #36] @ movhi
1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1422 .loc 1 1156 5 is_stmt 1 view .LVU416
1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1423 .loc 1 1156 24 is_stmt 0 view .LVU417
1424 0036 A4F82680 strh r8, [r4, #38] @ movhi
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1425 .loc 1 1159 5 is_stmt 1 view .LVU418
ARM GAS /tmp/cc8UBTH4.s page 107
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1426 .loc 1 1159 21 is_stmt 0 view .LVU419
1427 003a A368 ldr r3, [r4, #8]
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1428 .loc 1 1159 8 view .LVU420
1429 003c B3F5805F cmp r3, #4096
1430 0040 02D0 beq .L96
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1431 .loc 1 1167 19 view .LVU421
1432 0042 4FF00008 mov r8, #0
1433 0046 14E0 b .L86
1434 .L96:
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1435 .loc 1 1159 71 discriminator 1 view .LVU422
1436 0048 2369 ldr r3, [r4, #16]
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1437 .loc 1 1159 56 discriminator 1 view .LVU423
1438 004a 2BB3 cbz r3, .L93
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1439 .loc 1 1167 19 view .LVU424
1440 004c 4FF00008 mov r8, #0
1441 0050 0FE0 b .L86
1442 .LVL96:
1443 .L98:
1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1444 .loc 1 1174 9 is_stmt 1 view .LVU425
1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1445 .loc 1 1174 23 is_stmt 0 view .LVU426
1446 0052 2023 movs r3, #32
1447 0054 84F84130 strb r3, [r4, #65]
1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1448 .loc 1 1176 9 is_stmt 1 view .LVU427
1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1449 .loc 1 1176 16 is_stmt 0 view .LVU428
1450 0058 0320 movs r0, #3
1451 005a 32E0 b .L81
1452 .L99:
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1453 .loc 1 1180 9 is_stmt 1 view .LVU429
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1454 .loc 1 1180 42 is_stmt 0 view .LVU430
1455 005c 38F8023B ldrh r3, [r8], #2
1456 .LVL97:
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1457 .loc 1 1180 14 view .LVU431
1458 0060 2268 ldr r2, [r4]
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1459 .loc 1 1180 31 view .LVU432
1460 0062 C3F30803 ubfx r3, r3, #0, #9
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1461 .loc 1 1180 29 view .LVU433
1462 0066 5360 str r3, [r2, #4]
1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1463 .loc 1 1181 9 is_stmt 1 view .LVU434
1464 .LVL98:
1465 .L85:
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 108
1466 .loc 1 1188 7 view .LVU435
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1467 .loc 1 1188 12 is_stmt 0 view .LVU436
1468 0068 E28C ldrh r2, [r4, #38]
1469 006a 92B2 uxth r2, r2
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1470 .loc 1 1188 25 view .LVU437
1471 006c 013A subs r2, r2, #1
1472 006e 92B2 uxth r2, r2
1473 0070 E284 strh r2, [r4, #38] @ movhi
1474 .LVL99:
1475 .L86:
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1476 .loc 1 1170 11 is_stmt 1 view .LVU438
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1477 .loc 1 1170 17 is_stmt 0 view .LVU439
1478 0072 E38C ldrh r3, [r4, #38]
1479 0074 9BB2 uxth r3, r3
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1480 .loc 1 1170 11 view .LVU440
1481 0076 93B1 cbz r3, .L97
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1482 .loc 1 1172 7 is_stmt 1 view .LVU441
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1483 .loc 1 1172 11 is_stmt 0 view .LVU442
1484 0078 0096 str r6, [sp]
1485 007a 3B46 mov r3, r7
1486 007c 0022 movs r2, #0
1487 007e 8021 movs r1, #128
1488 0080 2046 mov r0, r4
1489 0082 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1490 .LVL100:
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1491 .loc 1 1172 10 view .LVU443
1492 0086 0028 cmp r0, #0
1493 0088 E3D1 bne .L98
1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1494 .loc 1 1178 7 is_stmt 1 view .LVU444
1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1495 .loc 1 1178 10 is_stmt 0 view .LVU445
1496 008a 002D cmp r5, #0
1497 008c E6D0 beq .L99
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1498 .loc 1 1185 9 is_stmt 1 view .LVU446
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1499 .loc 1 1185 41 is_stmt 0 view .LVU447
1500 008e 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2
1501 .LVL101:
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1502 .loc 1 1185 14 view .LVU448
1503 0092 2368 ldr r3, [r4]
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata8bits++;
1504 .loc 1 1185 29 view .LVU449
1505 0094 5A60 str r2, [r3, #4]
1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1506 .loc 1 1186 9 is_stmt 1 view .LVU450
1507 .LVL102:
ARM GAS /tmp/cc8UBTH4.s page 109
1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1508 .loc 1 1186 9 is_stmt 0 view .LVU451
1509 0096 E7E7 b .L85
1510 .LVL103:
1511 .L93:
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1512 .loc 1 1162 19 view .LVU452
1513 0098 A846 mov r8, r5
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
1514 .loc 1 1161 19 view .LVU453
1515 009a 0025 movs r5, #0
1516 .LVL104:
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (const uint16_t *) pData;
1517 .loc 1 1161 19 view .LVU454
1518 009c E9E7 b .L86
1519 .LVL105:
1520 .L97:
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1521 .loc 1 1191 5 is_stmt 1 view .LVU455
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1522 .loc 1 1191 9 is_stmt 0 view .LVU456
1523 009e 0096 str r6, [sp]
1524 00a0 3B46 mov r3, r7
1525 00a2 0022 movs r2, #0
1526 00a4 4021 movs r1, #64
1527 00a6 2046 mov r0, r4
1528 00a8 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1529 .LVL106:
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1530 .loc 1 1191 8 view .LVU457
1531 00ac 18B9 cbnz r0, .L100
1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1532 .loc 1 1199 5 is_stmt 1 view .LVU458
1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1533 .loc 1 1199 19 is_stmt 0 view .LVU459
1534 00ae 2023 movs r3, #32
1535 00b0 84F84130 strb r3, [r4, #65]
1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1536 .loc 1 1201 5 is_stmt 1 view .LVU460
1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1537 .loc 1 1201 12 is_stmt 0 view .LVU461
1538 00b4 05E0 b .L81
1539 .L100:
1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1540 .loc 1 1193 7 is_stmt 1 view .LVU462
1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1541 .loc 1 1193 21 is_stmt 0 view .LVU463
1542 00b6 2023 movs r3, #32
1543 00b8 84F84130 strb r3, [r4, #65]
1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1544 .loc 1 1195 7 is_stmt 1 view .LVU464
1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1545 .loc 1 1195 14 is_stmt 0 view .LVU465
1546 00bc 0320 movs r0, #3
1547 00be 00E0 b .L81
1548 .LVL107:
1549 .L89:
ARM GAS /tmp/cc8UBTH4.s page 110
1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1550 .loc 1 1205 12 view .LVU466
1551 00c0 0220 movs r0, #2
1552 .LVL108:
1553 .L81:
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1554 .loc 1 1207 1 view .LVU467
1555 00c2 02B0 add sp, sp, #8
1556 .LCFI17:
1557 .cfi_remember_state
1558 .cfi_def_cfa_offset 24
1559 @ sp needed
1560 00c4 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1561 .LVL109:
1562 .L90:
1563 .LCFI18:
1564 .cfi_restore_state
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1565 .loc 1 1146 15 view .LVU468
1566 00c8 0120 movs r0, #1
1567 .LVL110:
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1568 .loc 1 1146 15 view .LVU469
1569 00ca FAE7 b .L81
1570 .cfi_endproc
1571 .LFE141:
1573 .section .text.HAL_UART_Receive,"ax",%progbits
1574 .align 1
1575 .global HAL_UART_Receive
1576 .syntax unified
1577 .thumb
1578 .thumb_func
1579 .fpu fpv4-sp-d16
1581 HAL_UART_Receive:
1582 .LVL111:
1583 .LFB142:
1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
1584 .loc 1 1222 1 is_stmt 1 view -0
1585 .cfi_startproc
1586 @ args = 0, pretend = 0, frame = 0
1587 @ frame_needed = 0, uses_anonymous_args = 0
1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
1588 .loc 1 1222 1 is_stmt 0 view .LVU471
1589 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1590 .LCFI19:
1591 .cfi_def_cfa_offset 24
1592 .cfi_offset 4, -24
1593 .cfi_offset 5, -20
1594 .cfi_offset 6, -16
1595 .cfi_offset 7, -12
1596 .cfi_offset 8, -8
1597 .cfi_offset 14, -4
1598 0004 82B0 sub sp, sp, #8
1599 .LCFI20:
1600 .cfi_def_cfa_offset 32
1601 0006 1E46 mov r6, r3
1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
ARM GAS /tmp/cc8UBTH4.s page 111
1602 .loc 1 1223 3 is_stmt 1 view .LVU472
1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
1603 .loc 1 1224 3 view .LVU473
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1604 .loc 1 1225 3 view .LVU474
1605 .LVL112:
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1606 .loc 1 1228 3 view .LVU475
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1607 .loc 1 1228 12 is_stmt 0 view .LVU476
1608 0008 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
1609 .LVL113:
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1610 .loc 1 1228 12 view .LVU477
1611 000c DBB2 uxtb r3, r3
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1612 .loc 1 1228 6 view .LVU478
1613 000e 202B cmp r3, #32
1614 0010 59D1 bne .L112
1615 0012 0446 mov r4, r0
1616 0014 0D46 mov r5, r1
1617 0016 9046 mov r8, r2
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1618 .loc 1 1230 5 is_stmt 1 view .LVU479
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1619 .loc 1 1230 8 is_stmt 0 view .LVU480
1620 0018 0029 cmp r1, #0
1621 001a 58D0 beq .L113
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1622 .loc 1 1230 25 discriminator 1 view .LVU481
1623 001c 0AB9 cbnz r2, .L118
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1624 .loc 1 1232 15 view .LVU482
1625 001e 0120 movs r0, #1
1626 .LVL114:
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1627 .loc 1 1232 15 view .LVU483
1628 0020 52E0 b .L102
1629 .LVL115:
1630 .L118:
1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1631 .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;
1632 .loc 1 1235 22 is_stmt 0 view .LVU485
1633 0022 0023 movs r3, #0
1634 0024 4364 str r3, [r0, #68]
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1635 .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;
1636 .loc 1 1236 20 is_stmt 0 view .LVU487
1637 0026 2222 movs r2, #34
1638 .LVL116:
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1639 .loc 1 1236 20 view .LVU488
1640 0028 80F84220 strb r2, [r0, #66]
1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1641 .loc 1 1237 5 is_stmt 1 view .LVU489
ARM GAS /tmp/cc8UBTH4.s page 112
1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1642 .loc 1 1237 26 is_stmt 0 view .LVU490
1643 002c 0363 str r3, [r0, #48]
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1644 .loc 1 1240 5 is_stmt 1 view .LVU491
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1645 .loc 1 1240 17 is_stmt 0 view .LVU492
1646 002e FFF7FEFF bl HAL_GetTick
1647 .LVL117:
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1648 .loc 1 1240 17 view .LVU493
1649 0032 0746 mov r7, r0
1650 .LVL118:
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1651 .loc 1 1242 5 is_stmt 1 view .LVU494
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1652 .loc 1 1242 23 is_stmt 0 view .LVU495
1653 0034 A4F82C80 strh r8, [r4, #44] @ movhi
1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1654 .loc 1 1243 5 is_stmt 1 view .LVU496
1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1655 .loc 1 1243 24 is_stmt 0 view .LVU497
1656 0038 A4F82E80 strh r8, [r4, #46] @ movhi
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1657 .loc 1 1246 5 is_stmt 1 view .LVU498
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1658 .loc 1 1246 21 is_stmt 0 view .LVU499
1659 003c A368 ldr r3, [r4, #8]
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1660 .loc 1 1246 8 view .LVU500
1661 003e B3F5805F cmp r3, #4096
1662 0042 02D0 beq .L119
1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1663 .loc 1 1254 19 view .LVU501
1664 0044 4FF00008 mov r8, #0
1665 0048 1CE0 b .L104
1666 .L119:
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1667 .loc 1 1246 71 discriminator 1 view .LVU502
1668 004a 2369 ldr r3, [r4, #16]
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1669 .loc 1 1246 56 discriminator 1 view .LVU503
1670 004c 13B1 cbz r3, .L116
1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1671 .loc 1 1254 19 view .LVU504
1672 004e 4FF00008 mov r8, #0
1673 0052 17E0 b .L104
1674 .L116:
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1675 .loc 1 1249 19 view .LVU505
1676 0054 A846 mov r8, r5
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1677 .loc 1 1248 19 view .LVU506
1678 0056 0025 movs r5, #0
1679 .LVL119:
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1680 .loc 1 1248 19 view .LVU507
ARM GAS /tmp/cc8UBTH4.s page 113
1681 0058 14E0 b .L104
1682 .LVL120:
1683 .L121:
1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1684 .loc 1 1262 9 is_stmt 1 view .LVU508
1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1685 .loc 1 1262 24 is_stmt 0 view .LVU509
1686 005a 2023 movs r3, #32
1687 005c 84F84230 strb r3, [r4, #66]
1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1688 .loc 1 1264 9 is_stmt 1 view .LVU510
1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1689 .loc 1 1264 16 is_stmt 0 view .LVU511
1690 0060 0320 movs r0, #3
1691 0062 31E0 b .L102
1692 .L122:
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1693 .loc 1 1268 9 is_stmt 1 view .LVU512
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1694 .loc 1 1268 40 is_stmt 0 view .LVU513
1695 0064 2368 ldr r3, [r4]
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1696 .loc 1 1268 50 view .LVU514
1697 0066 5B68 ldr r3, [r3, #4]
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1698 .loc 1 1268 24 view .LVU515
1699 0068 C3F30803 ubfx r3, r3, #0, #9
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
1700 .loc 1 1268 22 view .LVU516
1701 006c 28F8023B strh r3, [r8], #2 @ movhi
1702 .LVL121:
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1703 .loc 1 1269 9 is_stmt 1 view .LVU517
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1704 .loc 1 1269 9 is_stmt 0 view .LVU518
1705 0070 03E0 b .L107
1706 .L108:
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1707 .loc 1 1275 11 is_stmt 1 view .LVU519
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1708 .loc 1 1275 40 is_stmt 0 view .LVU520
1709 0072 2368 ldr r3, [r4]
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1710 .loc 1 1275 50 view .LVU521
1711 0074 5B68 ldr r3, [r3, #4]
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1712 .loc 1 1275 23 view .LVU522
1713 0076 2B70 strb r3, [r5]
1714 .L110:
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1715 .loc 1 1281 9 is_stmt 1 view .LVU523
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1716 .loc 1 1281 19 is_stmt 0 view .LVU524
1717 0078 0135 adds r5, r5, #1
1718 .LVL122:
1719 .L107:
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 114
1720 .loc 1 1283 7 is_stmt 1 view .LVU525
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1721 .loc 1 1283 12 is_stmt 0 view .LVU526
1722 007a E28D ldrh r2, [r4, #46]
1723 007c 92B2 uxth r2, r2
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1724 .loc 1 1283 25 view .LVU527
1725 007e 013A subs r2, r2, #1
1726 0080 92B2 uxth r2, r2
1727 0082 E285 strh r2, [r4, #46] @ movhi
1728 .LVL123:
1729 .L104:
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1730 .loc 1 1258 11 is_stmt 1 view .LVU528
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1731 .loc 1 1258 17 is_stmt 0 view .LVU529
1732 0084 E38D ldrh r3, [r4, #46]
1733 0086 9BB2 uxth r3, r3
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1734 .loc 1 1258 11 view .LVU530
1735 0088 C3B1 cbz r3, .L120
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1736 .loc 1 1260 7 is_stmt 1 view .LVU531
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1737 .loc 1 1260 11 is_stmt 0 view .LVU532
1738 008a 0096 str r6, [sp]
1739 008c 3B46 mov r3, r7
1740 008e 0022 movs r2, #0
1741 0090 2021 movs r1, #32
1742 0092 2046 mov r0, r4
1743 0094 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1744 .LVL124:
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1745 .loc 1 1260 10 view .LVU533
1746 0098 0028 cmp r0, #0
1747 009a DED1 bne .L121
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1748 .loc 1 1266 7 is_stmt 1 view .LVU534
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1749 .loc 1 1266 10 is_stmt 0 view .LVU535
1750 009c 002D cmp r5, #0
1751 009e E1D0 beq .L122
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1752 .loc 1 1273 9 is_stmt 1 view .LVU536
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1753 .loc 1 1273 25 is_stmt 0 view .LVU537
1754 00a0 A368 ldr r3, [r4, #8]
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1755 .loc 1 1273 12 view .LVU538
1756 00a2 B3F5805F cmp r3, #4096
1757 00a6 E4D0 beq .L108
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1758 .loc 1 1273 60 discriminator 1 view .LVU539
1759 00a8 13B9 cbnz r3, .L109
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1760 .loc 1 1273 126 discriminator 2 view .LVU540
1761 00aa 2369 ldr r3, [r4, #16]
ARM GAS /tmp/cc8UBTH4.s page 115
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1762 .loc 1 1273 111 discriminator 2 view .LVU541
1763 00ac 002B cmp r3, #0
1764 00ae E0D0 beq .L108
1765 .L109:
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1766 .loc 1 1279 11 is_stmt 1 view .LVU542
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1767 .loc 1 1279 40 is_stmt 0 view .LVU543
1768 00b0 2368 ldr r3, [r4]
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1769 .loc 1 1279 50 view .LVU544
1770 00b2 5B68 ldr r3, [r3, #4]
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1771 .loc 1 1279 25 view .LVU545
1772 00b4 03F07F03 and r3, r3, #127
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1773 .loc 1 1279 23 view .LVU546
1774 00b8 2B70 strb r3, [r5]
1775 00ba DDE7 b .L110
1776 .L120:
1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1777 .loc 1 1287 5 is_stmt 1 view .LVU547
1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1778 .loc 1 1287 20 is_stmt 0 view .LVU548
1779 00bc 2023 movs r3, #32
1780 00be 84F84230 strb r3, [r4, #66]
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1781 .loc 1 1289 5 is_stmt 1 view .LVU549
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1782 .loc 1 1289 12 is_stmt 0 view .LVU550
1783 00c2 0020 movs r0, #0
1784 00c4 00E0 b .L102
1785 .LVL125:
1786 .L112:
1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1787 .loc 1 1293 12 view .LVU551
1788 00c6 0220 movs r0, #2
1789 .LVL126:
1790 .L102:
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1791 .loc 1 1295 1 view .LVU552
1792 00c8 02B0 add sp, sp, #8
1793 .LCFI21:
1794 .cfi_remember_state
1795 .cfi_def_cfa_offset 24
1796 @ sp needed
1797 00ca BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1798 .LVL127:
1799 .L113:
1800 .LCFI22:
1801 .cfi_restore_state
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1802 .loc 1 1232 15 view .LVU553
1803 00ce 0120 movs r0, #1
1804 .LVL128:
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 116
1805 .loc 1 1232 15 view .LVU554
1806 00d0 FAE7 b .L102
1807 .cfi_endproc
1808 .LFE142:
1810 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
1811 .align 1
1812 .global HAL_UART_Transmit_IT
1813 .syntax unified
1814 .thumb
1815 .thumb_func
1816 .fpu fpv4-sp-d16
1818 HAL_UART_Transmit_IT:
1819 .LVL129:
1820 .LFB143:
1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1821 .loc 1 1309 1 is_stmt 1 view -0
1822 .cfi_startproc
1823 @ args = 0, pretend = 0, frame = 0
1824 @ frame_needed = 0, uses_anonymous_args = 0
1825 @ link register save eliminated.
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1826 .loc 1 1311 3 view .LVU556
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1827 .loc 1 1311 12 is_stmt 0 view .LVU557
1828 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
1829 0004 DBB2 uxtb r3, r3
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1830 .loc 1 1311 6 view .LVU558
1831 0006 202B cmp r3, #32
1832 0008 10D1 bne .L125
1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1833 .loc 1 1313 5 is_stmt 1 view .LVU559
1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1834 .loc 1 1313 8 is_stmt 0 view .LVU560
1835 000a 89B1 cbz r1, .L126
1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1836 .loc 1 1313 25 discriminator 1 view .LVU561
1837 000c 92B1 cbz r2, .L127
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1838 .loc 1 1318 5 is_stmt 1 view .LVU562
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1839 .loc 1 1318 23 is_stmt 0 view .LVU563
1840 000e 0162 str r1, [r0, #32]
1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1841 .loc 1 1319 5 is_stmt 1 view .LVU564
1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1842 .loc 1 1319 23 is_stmt 0 view .LVU565
1843 0010 8284 strh r2, [r0, #36] @ movhi
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1844 .loc 1 1320 5 is_stmt 1 view .LVU566
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1845 .loc 1 1320 24 is_stmt 0 view .LVU567
1846 0012 C284 strh r2, [r0, #38] @ movhi
1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1847 .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;
1848 .loc 1 1322 22 is_stmt 0 view .LVU569
ARM GAS /tmp/cc8UBTH4.s page 117
1849 0014 0023 movs r3, #0
1850 0016 4364 str r3, [r0, #68]
1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1851 .loc 1 1323 5 is_stmt 1 view .LVU570
1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1852 .loc 1 1323 19 is_stmt 0 view .LVU571
1853 0018 2122 movs r2, #33
1854 .LVL130:
1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1855 .loc 1 1323 19 view .LVU572
1856 001a 80F84120 strb r2, [r0, #65]
1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1857 .loc 1 1326 5 is_stmt 1 view .LVU573
1858 001e 0168 ldr r1, [r0]
1859 .LVL131:
1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1860 .loc 1 1326 5 is_stmt 0 view .LVU574
1861 0020 CA68 ldr r2, [r1, #12]
1862 0022 42F08002 orr r2, r2, #128
1863 0026 CA60 str r2, [r1, #12]
1864 .LVL132:
1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1865 .loc 1 1328 5 is_stmt 1 view .LVU575
1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1866 .loc 1 1328 12 is_stmt 0 view .LVU576
1867 0028 1846 mov r0, r3
1868 .LVL133:
1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1869 .loc 1 1328 12 view .LVU577
1870 002a 7047 bx lr
1871 .LVL134:
1872 .L125:
1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1873 .loc 1 1332 12 view .LVU578
1874 002c 0220 movs r0, #2
1875 .LVL135:
1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1876 .loc 1 1332 12 view .LVU579
1877 002e 7047 bx lr
1878 .LVL136:
1879 .L126:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1880 .loc 1 1315 14 view .LVU580
1881 0030 0120 movs r0, #1
1882 .LVL137:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1883 .loc 1 1315 14 view .LVU581
1884 0032 7047 bx lr
1885 .LVL138:
1886 .L127:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1887 .loc 1 1315 14 view .LVU582
1888 0034 0120 movs r0, #1
1889 .LVL139:
1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1890 .loc 1 1334 1 view .LVU583
1891 0036 7047 bx lr
ARM GAS /tmp/cc8UBTH4.s page 118
1892 .cfi_endproc
1893 .LFE143:
1895 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
1896 .align 1
1897 .global HAL_UART_Transmit_DMA
1898 .syntax unified
1899 .thumb
1900 .thumb_func
1901 .fpu fpv4-sp-d16
1903 HAL_UART_Transmit_DMA:
1904 .LVL140:
1905 .LFB145:
1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint32_t *tmp;
1906 .loc 1 1380 1 is_stmt 1 view -0
1907 .cfi_startproc
1908 @ args = 0, pretend = 0, frame = 0
1909 @ frame_needed = 0, uses_anonymous_args = 0
1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** const uint32_t *tmp;
1910 .loc 1 1380 1 is_stmt 0 view .LVU585
1911 0000 38B5 push {r3, r4, r5, lr}
1912 .LCFI23:
1913 .cfi_def_cfa_offset 16
1914 .cfi_offset 3, -16
1915 .cfi_offset 4, -12
1916 .cfi_offset 5, -8
1917 .cfi_offset 14, -4
1918 0002 1346 mov r3, r2
1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1919 .loc 1 1381 3 is_stmt 1 view .LVU586
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1920 .loc 1 1384 3 view .LVU587
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1921 .loc 1 1384 12 is_stmt 0 view .LVU588
1922 0004 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2
1923 .LVL141:
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1924 .loc 1 1384 12 view .LVU589
1925 0008 D2B2 uxtb r2, r2
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1926 .loc 1 1384 6 view .LVU590
1927 000a 202A cmp r2, #32
1928 000c 36D1 bne .L132
1929 000e 0446 mov r4, r0
1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1930 .loc 1 1386 5 is_stmt 1 view .LVU591
1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1931 .loc 1 1386 8 is_stmt 0 view .LVU592
1932 0010 0029 cmp r1, #0
1933 0012 35D0 beq .L133
1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1934 .loc 1 1386 25 discriminator 1 view .LVU593
1935 0014 0BB9 cbnz r3, .L136
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1936 .loc 1 1388 14 view .LVU594
1937 0016 0120 movs r0, #1
1938 .LVL142:
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 119
1939 .loc 1 1388 14 view .LVU595
1940 0018 31E0 b .L129
1941 .LVL143:
1942 .L136:
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1943 .loc 1 1391 5 is_stmt 1 view .LVU596
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1944 .loc 1 1391 23 is_stmt 0 view .LVU597
1945 001a 0162 str r1, [r0, #32]
1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1946 .loc 1 1392 5 is_stmt 1 view .LVU598
1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1947 .loc 1 1392 23 is_stmt 0 view .LVU599
1948 001c 8384 strh r3, [r0, #36] @ movhi
1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1949 .loc 1 1393 5 is_stmt 1 view .LVU600
1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1950 .loc 1 1393 24 is_stmt 0 view .LVU601
1951 001e C384 strh r3, [r0, #38] @ movhi
1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1952 .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;
1953 .loc 1 1395 22 is_stmt 0 view .LVU603
1954 0020 0022 movs r2, #0
1955 0022 4264 str r2, [r0, #68]
1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1956 .loc 1 1396 5 is_stmt 1 view .LVU604
1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1957 .loc 1 1396 19 is_stmt 0 view .LVU605
1958 0024 2120 movs r0, #33
1959 .LVL144:
1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1960 .loc 1 1396 19 view .LVU606
1961 0026 84F84100 strb r0, [r4, #65]
1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1962 .loc 1 1399 5 is_stmt 1 view .LVU607
1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1963 .loc 1 1399 10 is_stmt 0 view .LVU608
1964 002a A06B ldr r0, [r4, #56]
1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1965 .loc 1 1399 37 view .LVU609
1966 002c 154D ldr r5, .L137
1967 002e C563 str r5, [r0, #60]
1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1968 .loc 1 1402 5 is_stmt 1 view .LVU610
1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1969 .loc 1 1402 10 is_stmt 0 view .LVU611
1970 0030 A06B ldr r0, [r4, #56]
1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1971 .loc 1 1402 41 view .LVU612
1972 0032 154D ldr r5, .L137+4
1973 0034 0564 str r5, [r0, #64]
1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1974 .loc 1 1405 5 is_stmt 1 view .LVU613
1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1975 .loc 1 1405 10 is_stmt 0 view .LVU614
1976 0036 A06B ldr r0, [r4, #56]
ARM GAS /tmp/cc8UBTH4.s page 120
1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1977 .loc 1 1405 38 view .LVU615
1978 0038 144D ldr r5, .L137+8
1979 003a C564 str r5, [r0, #76]
1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1980 .loc 1 1408 5 is_stmt 1 view .LVU616
1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1981 .loc 1 1408 10 is_stmt 0 view .LVU617
1982 003c A06B ldr r0, [r4, #56]
1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1983 .loc 1 1408 38 view .LVU618
1984 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
1985 .loc 1 1411 5 is_stmt 1 view .LVU619
1986 .LVL145:
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1987 .loc 1 1412 5 view .LVU620
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1988 .loc 1 1412 81 is_stmt 0 view .LVU621
1989 0040 2268 ldr r2, [r4]
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1990 .loc 1 1412 9 view .LVU622
1991 0042 0432 adds r2, r2, #4
1992 0044 A06B ldr r0, [r4, #56]
1993 0046 FFF7FEFF bl HAL_DMA_Start_IT
1994 .LVL146:
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1995 .loc 1 1412 8 view .LVU623
1996 004a 30B1 cbz r0, .L130
1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1997 .loc 1 1415 7 is_stmt 1 view .LVU624
1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1998 .loc 1 1415 24 is_stmt 0 view .LVU625
1999 004c 1023 movs r3, #16
2000 004e 6364 str r3, [r4, #68]
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2001 .loc 1 1418 7 is_stmt 1 view .LVU626
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2002 .loc 1 1418 21 is_stmt 0 view .LVU627
2003 0050 2023 movs r3, #32
2004 0052 84F84130 strb r3, [r4, #65]
1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2005 .loc 1 1420 7 is_stmt 1 view .LVU628
1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2006 .loc 1 1420 14 is_stmt 0 view .LVU629
2007 0056 0120 movs r0, #1
2008 0058 11E0 b .L129
2009 .L130:
1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2010 .loc 1 1423 5 is_stmt 1 view .LVU630
2011 005a 2368 ldr r3, [r4]
2012 005c 6FF04002 mvn r2, #64
2013 0060 1A60 str r2, [r3]
2014 .L131:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2015 .loc 1 1427 5 discriminator 1 view .LVU631
2016 .LBB331:
ARM GAS /tmp/cc8UBTH4.s page 121
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2017 .loc 1 1427 5 discriminator 1 view .LVU632
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2018 .loc 1 1427 5 discriminator 1 view .LVU633
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2019 .loc 1 1427 5 discriminator 1 view .LVU634
2020 0062 2268 ldr r2, [r4]
2021 .LVL147:
2022 .LBB332:
2023 .LBI332:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2024 .loc 2 476 31 discriminator 1 view .LVU635
2025 .LBB333:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2026 .loc 2 478 5 discriminator 1 view .LVU636
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2027 .loc 2 480 4 discriminator 1 view .LVU637
2028 0064 02F11403 add r3, r2, #20
2029 .LVL148:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2030 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU638
2031 .syntax unified
2032 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2033 0068 53E8003F ldrex r3, [r3]
2034 @ 0 "" 2
2035 .LVL149:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2036 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU639
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2037 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU640
2038 .thumb
2039 .syntax unified
2040 .LBE333:
2041 .LBE332:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2042 .loc 1 1427 5 discriminator 1 view .LVU641
2043 006c 43F08003 orr r3, r3, #128
2044 .LVL150:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2045 .loc 1 1427 5 is_stmt 1 discriminator 1 view .LVU642
2046 .LBB334:
2047 .LBI334:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2048 .loc 2 527 31 discriminator 1 view .LVU643
2049 .LBB335:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2050 .loc 2 529 4 discriminator 1 view .LVU644
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2051 .loc 2 531 4 discriminator 1 view .LVU645
2052 0070 1432 adds r2, r2, #20
2053 .LVL151:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2054 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU646
2055 .syntax unified
2056 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2057 0072 42E80031 strex r1, r3, [r2]
2058 @ 0 "" 2
ARM GAS /tmp/cc8UBTH4.s page 122
2059 .LVL152:
2060 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU647
2061 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU648
2062 .thumb
2063 .syntax unified
2064 .LBE335:
2065 .LBE334:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2066 .loc 1 1427 5 discriminator 1 view .LVU649
2067 0076 0029 cmp r1, #0
2068 0078 F3D1 bne .L131
2069 007a 00E0 b .L129
2070 .LVL153:
2071 .L132:
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2072 .loc 1 1427 5 discriminator 1 view .LVU650
2073 .LBE331:
1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2074 .loc 1 1433 12 view .LVU651
2075 007c 0220 movs r0, #2
2076 .LVL154:
2077 .L129:
1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2078 .loc 1 1435 1 view .LVU652
2079 007e 38BD pop {r3, r4, r5, pc}
2080 .LVL155:
2081 .L133:
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2082 .loc 1 1388 14 view .LVU653
2083 0080 0120 movs r0, #1
2084 .LVL156:
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2085 .loc 1 1388 14 view .LVU654
2086 0082 FCE7 b .L129
2087 .L138:
2088 .align 2
2089 .L137:
2090 0084 00000000 .word UART_DMATransmitCplt
2091 0088 00000000 .word UART_DMATxHalfCplt
2092 008c 00000000 .word UART_DMAError
2093 .cfi_endproc
2094 .LFE145:
2096 .section .text.HAL_UART_DMAPause,"ax",%progbits
2097 .align 1
2098 .global HAL_UART_DMAPause
2099 .syntax unified
2100 .thumb
2101 .thumb_func
2102 .fpu fpv4-sp-d16
2104 HAL_UART_DMAPause:
2105 .LVL157:
2106 .LFB147:
1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2107 .loc 1 1477 1 is_stmt 1 view -0
2108 .cfi_startproc
2109 @ args = 0, pretend = 0, frame = 0
2110 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/cc8UBTH4.s page 123
2111 @ link register save eliminated.
1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2112 .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)
2113 .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)
2114 .loc 1 1480 16 is_stmt 0 view .LVU658
2115 0000 0368 ldr r3, [r0]
2116 0002 5A69 ldr r2, [r3, #20]
2117 0004 02F08002 and r2, r2, #128
2118 .LVL158:
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2119 .loc 1 1481 3 is_stmt 1 view .LVU659
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2120 .loc 1 1481 13 is_stmt 0 view .LVU660
2121 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
2122 000c DBB2 uxtb r3, r3
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2123 .loc 1 1481 6 view .LVU661
2124 000e 212B cmp r3, #33
2125 0010 0AD0 beq .L146
2126 .LVL159:
2127 .L140:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2128 .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)
2129 .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)
2130 .loc 1 1487 16 is_stmt 0 discriminator 2 view .LVU664
2131 0012 0368 ldr r3, [r0]
2132 0014 5A69 ldr r2, [r3, #20]
2133 0016 02F04002 and r2, r2, #64
2134 .LVL160:
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2135 .loc 1 1488 3 is_stmt 1 discriminator 2 view .LVU665
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2136 .loc 1 1488 13 is_stmt 0 discriminator 2 view .LVU666
2137 001a 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
2138 001e DBB2 uxtb r3, r3
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2139 .loc 1 1488 6 discriminator 2 view .LVU667
2140 0020 222B cmp r3, #34
2141 0022 10D0 beq .L147
2142 .LVL161:
2143 .L142:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2144 .loc 1 1495 5 is_stmt 1 discriminator 2 view .LVU668
1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2145 .loc 1 1498 3 discriminator 2 view .LVU669
1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2146 .loc 1 1499 1 is_stmt 0 discriminator 2 view .LVU670
2147 0024 0020 movs r0, #0
2148 .LVL162:
1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2149 .loc 1 1499 1 discriminator 2 view .LVU671
2150 0026 7047 bx lr
2151 .LVL163:
ARM GAS /tmp/cc8UBTH4.s page 124
2152 .L146:
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2153 .loc 1 1481 49 discriminator 1 view .LVU672
2154 0028 002A cmp r2, #0
2155 002a F2D0 beq .L140
2156 .LVL164:
2157 .L141:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2158 .loc 1 1484 5 is_stmt 1 discriminator 1 view .LVU673
2159 .LBB336:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2160 .loc 1 1484 5 discriminator 1 view .LVU674
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2161 .loc 1 1484 5 discriminator 1 view .LVU675
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2162 .loc 1 1484 5 discriminator 1 view .LVU676
2163 002c 0268 ldr r2, [r0]
2164 .LVL165:
2165 .LBB337:
2166 .LBI337:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2167 .loc 2 476 31 discriminator 1 view .LVU677
2168 .LBB338:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2169 .loc 2 478 5 discriminator 1 view .LVU678
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2170 .loc 2 480 4 discriminator 1 view .LVU679
2171 002e 02F11403 add r3, r2, #20
2172 .LVL166:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2173 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU680
2174 .syntax unified
2175 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2176 0032 53E8003F ldrex r3, [r3]
2177 @ 0 "" 2
2178 .LVL167:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2179 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU681
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2180 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU682
2181 .thumb
2182 .syntax unified
2183 .LBE338:
2184 .LBE337:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2185 .loc 1 1484 5 discriminator 1 view .LVU683
2186 0036 23F08003 bic r3, r3, #128
2187 .LVL168:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2188 .loc 1 1484 5 is_stmt 1 discriminator 1 view .LVU684
2189 .LBB339:
2190 .LBI339:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2191 .loc 2 527 31 discriminator 1 view .LVU685
2192 .LBB340:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2193 .loc 2 529 4 discriminator 1 view .LVU686
ARM GAS /tmp/cc8UBTH4.s page 125
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2194 .loc 2 531 4 discriminator 1 view .LVU687
2195 003a 1432 adds r2, r2, #20
2196 .LVL169:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2197 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU688
2198 .syntax unified
2199 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2200 003c 42E80031 strex r1, r3, [r2]
2201 @ 0 "" 2
2202 .LVL170:
2203 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU689
2204 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU690
2205 .thumb
2206 .syntax unified
2207 .LBE340:
2208 .LBE339:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2209 .loc 1 1484 5 discriminator 1 view .LVU691
2210 0040 0029 cmp r1, #0
2211 0042 F3D1 bne .L141
2212 0044 E5E7 b .L140
2213 .LVL171:
2214 .L147:
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2215 .loc 1 1484 5 discriminator 1 view .LVU692
2216 .LBE336:
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2217 .loc 1 1488 50 discriminator 1 view .LVU693
2218 0046 002A cmp r2, #0
2219 0048 ECD0 beq .L142
2220 .LVL172:
2221 .L143:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2222 .loc 1 1491 5 is_stmt 1 discriminator 1 view .LVU694
2223 .LBB341:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2224 .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);
2225 .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);
2226 .loc 1 1491 5 discriminator 1 view .LVU697
2227 004a 0268 ldr r2, [r0]
2228 .LVL173:
2229 .LBB342:
2230 .LBI342:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2231 .loc 2 476 31 discriminator 1 view .LVU698
2232 .LBB343:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2233 .loc 2 478 5 discriminator 1 view .LVU699
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2234 .loc 2 480 4 discriminator 1 view .LVU700
2235 004c 02F10C03 add r3, r2, #12
2236 .LVL174:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2237 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU701
ARM GAS /tmp/cc8UBTH4.s page 126
2238 .syntax unified
2239 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2240 0050 53E8003F ldrex r3, [r3]
2241 @ 0 "" 2
2242 .LVL175:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2243 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU702
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2244 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU703
2245 .thumb
2246 .syntax unified
2247 .LBE343:
2248 .LBE342:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2249 .loc 1 1491 5 discriminator 1 view .LVU704
2250 0054 23F48073 bic r3, r3, #256
2251 .LVL176:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2252 .loc 1 1491 5 is_stmt 1 discriminator 1 view .LVU705
2253 .LBB344:
2254 .LBI344:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2255 .loc 2 527 31 discriminator 1 view .LVU706
2256 .LBB345:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2257 .loc 2 529 4 discriminator 1 view .LVU707
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2258 .loc 2 531 4 discriminator 1 view .LVU708
2259 0058 0C32 adds r2, r2, #12
2260 .LVL177:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2261 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU709
2262 .syntax unified
2263 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2264 005a 42E80031 strex r1, r3, [r2]
2265 @ 0 "" 2
2266 .LVL178:
2267 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU710
2268 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU711
2269 .thumb
2270 .syntax unified
2271 .LBE345:
2272 .LBE344:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2273 .loc 1 1491 5 discriminator 1 view .LVU712
2274 005e 0029 cmp r1, #0
2275 0060 F3D1 bne .L143
2276 .LVL179:
2277 .L144:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2278 .loc 1 1491 5 discriminator 1 view .LVU713
2279 .LBE341:
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2280 .loc 1 1491 5 is_stmt 1 discriminator 1 view .LVU714
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2281 .loc 1 1492 5 discriminator 1 view .LVU715
2282 .LBB346:
ARM GAS /tmp/cc8UBTH4.s page 127
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2283 .loc 1 1492 5 discriminator 1 view .LVU716
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2284 .loc 1 1492 5 discriminator 1 view .LVU717
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2285 .loc 1 1492 5 discriminator 1 view .LVU718
2286 0062 0268 ldr r2, [r0]
2287 .LVL180:
2288 .LBB347:
2289 .LBI347:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2290 .loc 2 476 31 discriminator 1 view .LVU719
2291 .LBB348:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2292 .loc 2 478 5 discriminator 1 view .LVU720
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2293 .loc 2 480 4 discriminator 1 view .LVU721
2294 0064 02F11403 add r3, r2, #20
2295 .LVL181:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2296 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU722
2297 .syntax unified
2298 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2299 0068 53E8003F ldrex r3, [r3]
2300 @ 0 "" 2
2301 .LVL182:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2302 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU723
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2303 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU724
2304 .thumb
2305 .syntax unified
2306 .LBE348:
2307 .LBE347:
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2308 .loc 1 1492 5 discriminator 1 view .LVU725
2309 006c 23F00103 bic r3, r3, #1
2310 .LVL183:
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2311 .loc 1 1492 5 is_stmt 1 discriminator 1 view .LVU726
2312 .LBB349:
2313 .LBI349:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2314 .loc 2 527 31 discriminator 1 view .LVU727
2315 .LBB350:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2316 .loc 2 529 4 discriminator 1 view .LVU728
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2317 .loc 2 531 4 discriminator 1 view .LVU729
2318 0070 1432 adds r2, r2, #20
2319 .LVL184:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2320 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU730
2321 .syntax unified
2322 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2323 0072 42E80031 strex r1, r3, [r2]
2324 @ 0 "" 2
ARM GAS /tmp/cc8UBTH4.s page 128
2325 .LVL185:
2326 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU731
2327 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU732
2328 .thumb
2329 .syntax unified
2330 .LBE350:
2331 .LBE349:
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2332 .loc 1 1492 5 discriminator 1 view .LVU733
2333 0076 0029 cmp r1, #0
2334 0078 F3D1 bne .L144
2335 .LVL186:
2336 .L145:
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2337 .loc 1 1492 5 discriminator 1 view .LVU734
2338 .LBE346:
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2339 .loc 1 1492 5 is_stmt 1 discriminator 1 view .LVU735
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2340 .loc 1 1495 5 discriminator 1 view .LVU736
2341 .LBB351:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2342 .loc 1 1495 5 discriminator 1 view .LVU737
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2343 .loc 1 1495 5 discriminator 1 view .LVU738
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2344 .loc 1 1495 5 discriminator 1 view .LVU739
2345 007a 0268 ldr r2, [r0]
2346 .LVL187:
2347 .LBB352:
2348 .LBI352:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2349 .loc 2 476 31 discriminator 1 view .LVU740
2350 .LBB353:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2351 .loc 2 478 5 discriminator 1 view .LVU741
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2352 .loc 2 480 4 discriminator 1 view .LVU742
2353 007c 02F11403 add r3, r2, #20
2354 .LVL188:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2355 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU743
2356 .syntax unified
2357 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2358 0080 53E8003F ldrex r3, [r3]
2359 @ 0 "" 2
2360 .LVL189:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2361 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU744
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2362 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU745
2363 .thumb
2364 .syntax unified
2365 .LBE353:
2366 .LBE352:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2367 .loc 1 1495 5 discriminator 1 view .LVU746
ARM GAS /tmp/cc8UBTH4.s page 129
2368 0084 23F04003 bic r3, r3, #64
2369 .LVL190:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2370 .loc 1 1495 5 is_stmt 1 discriminator 1 view .LVU747
2371 .LBB354:
2372 .LBI354:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2373 .loc 2 527 31 discriminator 1 view .LVU748
2374 .LBB355:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2375 .loc 2 529 4 discriminator 1 view .LVU749
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2376 .loc 2 531 4 discriminator 1 view .LVU750
2377 0088 1432 adds r2, r2, #20
2378 .LVL191:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2379 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU751
2380 .syntax unified
2381 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2382 008a 42E80031 strex r1, r3, [r2]
2383 @ 0 "" 2
2384 .LVL192:
2385 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU752
2386 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU753
2387 .thumb
2388 .syntax unified
2389 .LBE355:
2390 .LBE354:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2391 .loc 1 1495 5 discriminator 1 view .LVU754
2392 008e 0029 cmp r1, #0
2393 0090 F3D1 bne .L145
2394 0092 C7E7 b .L142
2395 .LBE351:
2396 .cfi_endproc
2397 .LFE147:
2399 .section .text.HAL_UART_DMAResume,"ax",%progbits
2400 .align 1
2401 .global HAL_UART_DMAResume
2402 .syntax unified
2403 .thumb
2404 .thumb_func
2405 .fpu fpv4-sp-d16
2407 HAL_UART_DMAResume:
2408 .LVL193:
2409 .LFB148:
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2410 .loc 1 1508 1 is_stmt 1 view -0
2411 .cfi_startproc
2412 @ args = 0, pretend = 0, frame = 8
2413 @ frame_needed = 0, uses_anonymous_args = 0
2414 @ link register save eliminated.
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2415 .loc 1 1510 3 view .LVU756
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2416 .loc 1 1510 12 is_stmt 0 view .LVU757
2417 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
ARM GAS /tmp/cc8UBTH4.s page 130
2418 0004 DBB2 uxtb r3, r3
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2419 .loc 1 1510 6 view .LVU758
2420 0006 212B cmp r3, #33
2421 0008 06D0 beq .L150
2422 .L149:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2423 .loc 1 1513 5 is_stmt 1 discriminator 2 view .LVU759
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2424 .loc 1 1516 3 discriminator 2 view .LVU760
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2425 .loc 1 1516 12 is_stmt 0 discriminator 2 view .LVU761
2426 000a 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
2427 000e DBB2 uxtb r3, r3
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2428 .loc 1 1516 6 discriminator 2 view .LVU762
2429 0010 222B cmp r3, #34
2430 0012 0ED0 beq .L160
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2431 .loc 1 1529 5 is_stmt 1 view .LVU763
1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2432 .loc 1 1532 3 view .LVU764
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2433 .loc 1 1533 1 is_stmt 0 view .LVU765
2434 0014 0020 movs r0, #0
2435 .LVL194:
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2436 .loc 1 1533 1 view .LVU766
2437 0016 7047 bx lr
2438 .LVL195:
2439 .L150:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2440 .loc 1 1513 5 is_stmt 1 discriminator 1 view .LVU767
2441 .LBB356:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2442 .loc 1 1513 5 discriminator 1 view .LVU768
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2443 .loc 1 1513 5 discriminator 1 view .LVU769
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2444 .loc 1 1513 5 discriminator 1 view .LVU770
2445 0018 0268 ldr r2, [r0]
2446 .LVL196:
2447 .LBB357:
2448 .LBI357:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2449 .loc 2 476 31 discriminator 1 view .LVU771
2450 .LBB358:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2451 .loc 2 478 5 discriminator 1 view .LVU772
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2452 .loc 2 480 4 discriminator 1 view .LVU773
2453 001a 02F11403 add r3, r2, #20
2454 .LVL197:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2455 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU774
2456 .syntax unified
2457 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
ARM GAS /tmp/cc8UBTH4.s page 131
2458 001e 53E8003F ldrex r3, [r3]
2459 @ 0 "" 2
2460 .LVL198:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2461 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU775
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2462 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU776
2463 .thumb
2464 .syntax unified
2465 .LBE358:
2466 .LBE357:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2467 .loc 1 1513 5 discriminator 1 view .LVU777
2468 0022 43F08003 orr r3, r3, #128
2469 .LVL199:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2470 .loc 1 1513 5 is_stmt 1 discriminator 1 view .LVU778
2471 .LBB359:
2472 .LBI359:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2473 .loc 2 527 31 discriminator 1 view .LVU779
2474 .LBB360:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2475 .loc 2 529 4 discriminator 1 view .LVU780
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2476 .loc 2 531 4 discriminator 1 view .LVU781
2477 0026 1432 adds r2, r2, #20
2478 .LVL200:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2479 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU782
2480 .syntax unified
2481 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2482 0028 42E80031 strex r1, r3, [r2]
2483 @ 0 "" 2
2484 .LVL201:
2485 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU783
2486 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU784
2487 .thumb
2488 .syntax unified
2489 .LBE360:
2490 .LBE359:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2491 .loc 1 1513 5 discriminator 1 view .LVU785
2492 002c 0029 cmp r1, #0
2493 002e F3D1 bne .L150
2494 0030 EBE7 b .L149
2495 .LVL202:
2496 .L160:
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2497 .loc 1 1513 5 discriminator 1 view .LVU786
2498 .LBE356:
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2499 .loc 1 1508 1 view .LVU787
2500 0032 82B0 sub sp, sp, #8
2501 .LCFI24:
2502 .cfi_def_cfa_offset 8
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 132
2503 .loc 1 1519 5 is_stmt 1 view .LVU788
2504 .LBB361:
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2505 .loc 1 1519 5 view .LVU789
2506 0034 0023 movs r3, #0
2507 0036 0193 str r3, [sp, #4]
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2508 .loc 1 1519 5 view .LVU790
2509 0038 0368 ldr r3, [r0]
2510 003a 1A68 ldr r2, [r3]
2511 003c 0192 str r2, [sp, #4]
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2512 .loc 1 1519 5 view .LVU791
2513 003e 5B68 ldr r3, [r3, #4]
2514 0040 0193 str r3, [sp, #4]
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2515 .loc 1 1519 5 view .LVU792
2516 0042 019B ldr r3, [sp, #4]
2517 .LBE361:
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2518 .loc 1 1519 5 view .LVU793
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2519 .loc 1 1522 5 view .LVU794
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2520 .loc 1 1522 20 is_stmt 0 view .LVU795
2521 0044 0369 ldr r3, [r0, #16]
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2522 .loc 1 1522 8 view .LVU796
2523 0046 5BB1 cbz r3, .L154
2524 .L153:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2525 .loc 1 1524 7 is_stmt 1 discriminator 1 view .LVU797
2526 .LBB362:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2527 .loc 1 1524 7 discriminator 1 view .LVU798
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2528 .loc 1 1524 7 discriminator 1 view .LVU799
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2529 .loc 1 1524 7 discriminator 1 view .LVU800
2530 0048 0268 ldr r2, [r0]
2531 .LVL203:
2532 .LBB363:
2533 .LBI363:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2534 .loc 2 476 31 discriminator 1 view .LVU801
2535 .LBB364:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2536 .loc 2 478 5 discriminator 1 view .LVU802
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2537 .loc 2 480 4 discriminator 1 view .LVU803
2538 004a 02F10C03 add r3, r2, #12
2539 .LVL204:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2540 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU804
2541 .syntax unified
2542 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2543 004e 53E8003F ldrex r3, [r3]
ARM GAS /tmp/cc8UBTH4.s page 133
2544 @ 0 "" 2
2545 .LVL205:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2546 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU805
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2547 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU806
2548 .thumb
2549 .syntax unified
2550 .LBE364:
2551 .LBE363:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2552 .loc 1 1524 7 discriminator 1 view .LVU807
2553 0052 43F48073 orr r3, r3, #256
2554 .LVL206:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2555 .loc 1 1524 7 is_stmt 1 discriminator 1 view .LVU808
2556 .LBB365:
2557 .LBI365:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2558 .loc 2 527 31 discriminator 1 view .LVU809
2559 .LBB366:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2560 .loc 2 529 4 discriminator 1 view .LVU810
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2561 .loc 2 531 4 discriminator 1 view .LVU811
2562 0056 0C32 adds r2, r2, #12
2563 .LVL207:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2564 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU812
2565 .syntax unified
2566 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2567 0058 42E80031 strex r1, r3, [r2]
2568 @ 0 "" 2
2569 .LVL208:
2570 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU813
2571 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU814
2572 .thumb
2573 .syntax unified
2574 .LBE366:
2575 .LBE365:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2576 .loc 1 1524 7 discriminator 1 view .LVU815
2577 005c 0029 cmp r1, #0
2578 005e F3D1 bne .L153
2579 .LVL209:
2580 .L154:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2581 .loc 1 1524 7 discriminator 1 view .LVU816
2582 .LBE362:
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2583 .loc 1 1524 7 is_stmt 1 discriminator 1 view .LVU817
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2584 .loc 1 1526 5 discriminator 1 view .LVU818
2585 .LBB367:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2586 .loc 1 1526 5 discriminator 1 view .LVU819
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 134
2587 .loc 1 1526 5 discriminator 1 view .LVU820
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2588 .loc 1 1526 5 discriminator 1 view .LVU821
2589 0060 0268 ldr r2, [r0]
2590 .LVL210:
2591 .LBB368:
2592 .LBI368:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2593 .loc 2 476 31 discriminator 1 view .LVU822
2594 .LBB369:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2595 .loc 2 478 5 discriminator 1 view .LVU823
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2596 .loc 2 480 4 discriminator 1 view .LVU824
2597 0062 02F11403 add r3, r2, #20
2598 .LVL211:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2599 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU825
2600 .syntax unified
2601 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2602 0066 53E8003F ldrex r3, [r3]
2603 @ 0 "" 2
2604 .LVL212:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2605 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU826
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2606 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU827
2607 .thumb
2608 .syntax unified
2609 .LBE369:
2610 .LBE368:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2611 .loc 1 1526 5 discriminator 1 view .LVU828
2612 006a 43F00103 orr r3, r3, #1
2613 .LVL213:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2614 .loc 1 1526 5 is_stmt 1 discriminator 1 view .LVU829
2615 .LBB370:
2616 .LBI370:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2617 .loc 2 527 31 discriminator 1 view .LVU830
2618 .LBB371:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2619 .loc 2 529 4 discriminator 1 view .LVU831
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2620 .loc 2 531 4 discriminator 1 view .LVU832
2621 006e 1432 adds r2, r2, #20
2622 .LVL214:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2623 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU833
2624 .syntax unified
2625 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2626 0070 42E80031 strex r1, r3, [r2]
2627 @ 0 "" 2
2628 .LVL215:
2629 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU834
2630 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU835
ARM GAS /tmp/cc8UBTH4.s page 135
2631 .thumb
2632 .syntax unified
2633 .LBE371:
2634 .LBE370:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2635 .loc 1 1526 5 discriminator 1 view .LVU836
2636 0074 0029 cmp r1, #0
2637 0076 F3D1 bne .L154
2638 .LVL216:
2639 .L155:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2640 .loc 1 1526 5 discriminator 1 view .LVU837
2641 .LBE367:
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2642 .loc 1 1526 5 is_stmt 1 discriminator 1 view .LVU838
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2643 .loc 1 1529 5 discriminator 1 view .LVU839
2644 .LBB372:
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2645 .loc 1 1529 5 discriminator 1 view .LVU840
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2646 .loc 1 1529 5 discriminator 1 view .LVU841
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2647 .loc 1 1529 5 discriminator 1 view .LVU842
2648 0078 0268 ldr r2, [r0]
2649 .LVL217:
2650 .LBB373:
2651 .LBI373:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2652 .loc 2 476 31 discriminator 1 view .LVU843
2653 .LBB374:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2654 .loc 2 478 5 discriminator 1 view .LVU844
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2655 .loc 2 480 4 discriminator 1 view .LVU845
2656 007a 02F11403 add r3, r2, #20
2657 .LVL218:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2658 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU846
2659 .syntax unified
2660 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2661 007e 53E8003F ldrex r3, [r3]
2662 @ 0 "" 2
2663 .LVL219:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2664 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU847
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2665 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU848
2666 .thumb
2667 .syntax unified
2668 .LBE374:
2669 .LBE373:
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2670 .loc 1 1529 5 discriminator 1 view .LVU849
2671 0082 43F04003 orr r3, r3, #64
2672 .LVL220:
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 136
2673 .loc 1 1529 5 is_stmt 1 discriminator 1 view .LVU850
2674 .LBB375:
2675 .LBI375:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2676 .loc 2 527 31 discriminator 1 view .LVU851
2677 .LBB376:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2678 .loc 2 529 4 discriminator 1 view .LVU852
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2679 .loc 2 531 4 discriminator 1 view .LVU853
2680 0086 1432 adds r2, r2, #20
2681 .LVL221:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2682 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU854
2683 .syntax unified
2684 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2685 0088 42E80031 strex r1, r3, [r2]
2686 @ 0 "" 2
2687 .LVL222:
2688 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU855
2689 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU856
2690 .thumb
2691 .syntax unified
2692 .LBE376:
2693 .LBE375:
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2694 .loc 1 1529 5 discriminator 1 view .LVU857
2695 008c 0029 cmp r1, #0
2696 008e F3D1 bne .L155
2697 .LBE372:
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2698 .loc 1 1529 5 is_stmt 1 discriminator 2 view .LVU858
1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2699 .loc 1 1532 3 discriminator 2 view .LVU859
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2700 .loc 1 1533 1 is_stmt 0 discriminator 2 view .LVU860
2701 0090 0020 movs r0, #0
2702 .LVL223:
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2703 .loc 1 1533 1 discriminator 2 view .LVU861
2704 0092 02B0 add sp, sp, #8
2705 .LCFI25:
2706 .cfi_def_cfa_offset 0
2707 @ sp needed
2708 0094 7047 bx lr
2709 .cfi_endproc
2710 .LFE148:
2712 .section .text.HAL_UART_DMAStop,"ax",%progbits
2713 .align 1
2714 .global HAL_UART_DMAStop
2715 .syntax unified
2716 .thumb
2717 .thumb_func
2718 .fpu fpv4-sp-d16
2720 HAL_UART_DMAStop:
2721 .LVL224:
2722 .LFB149:
ARM GAS /tmp/cc8UBTH4.s page 137
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2723 .loc 1 1542 1 is_stmt 1 view -0
2724 .cfi_startproc
2725 @ args = 0, pretend = 0, frame = 0
2726 @ frame_needed = 0, uses_anonymous_args = 0
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2727 .loc 1 1542 1 is_stmt 0 view .LVU863
2728 0000 10B5 push {r4, lr}
2729 .LCFI26:
2730 .cfi_def_cfa_offset 8
2731 .cfi_offset 4, -8
2732 .cfi_offset 14, -4
2733 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
2734 .loc 1 1543 3 is_stmt 1 view .LVU864
2735 .LVL225:
1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2736 .loc 1 1551 3 view .LVU865
1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2737 .loc 1 1551 16 is_stmt 0 view .LVU866
2738 0004 0368 ldr r3, [r0]
2739 0006 5A69 ldr r2, [r3, #20]
2740 .LVL226:
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2741 .loc 1 1552 3 is_stmt 1 view .LVU867
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2742 .loc 1 1552 13 is_stmt 0 view .LVU868
2743 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
2744 000c DBB2 uxtb r3, r3
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2745 .loc 1 1552 6 view .LVU869
2746 000e 212B cmp r3, #33
2747 0010 0AD0 beq .L169
2748 .LVL227:
2749 .L162:
1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2750 .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)
2751 .loc 1 1565 16 is_stmt 0 view .LVU871
2752 0012 2368 ldr r3, [r4]
2753 0014 5A69 ldr r2, [r3, #20]
2754 0016 02F04002 and r2, r2, #64
2755 .LVL228:
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2756 .loc 1 1566 3 is_stmt 1 view .LVU872
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2757 .loc 1 1566 13 is_stmt 0 view .LVU873
2758 001a 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2
2759 001e DBB2 uxtb r3, r3
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2760 .loc 1 1566 6 view .LVU874
2761 0020 222B cmp r3, #34
2762 0022 19D0 beq .L170
2763 .LVL229:
2764 .L165:
1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2765 .loc 1 1578 3 is_stmt 1 view .LVU875
ARM GAS /tmp/cc8UBTH4.s page 138
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2766 .loc 1 1579 1 is_stmt 0 view .LVU876
2767 0024 0020 movs r0, #0
2768 0026 10BD pop {r4, pc}
2769 .LVL230:
2770 .L169:
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2771 .loc 1 1579 1 view .LVU877
2772 0028 02F08002 and r2, r2, #128
2773 .LVL231:
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2774 .loc 1 1552 49 discriminator 1 view .LVU878
2775 002c 002A cmp r2, #0
2776 002e F0D0 beq .L162
2777 .L163:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2778 .loc 1 1554 5 is_stmt 1 discriminator 1 view .LVU879
2779 .LBB377:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2780 .loc 1 1554 5 discriminator 1 view .LVU880
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2781 .loc 1 1554 5 discriminator 1 view .LVU881
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2782 .loc 1 1554 5 discriminator 1 view .LVU882
2783 0030 2268 ldr r2, [r4]
2784 .LVL232:
2785 .LBB378:
2786 .LBI378:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2787 .loc 2 476 31 discriminator 1 view .LVU883
2788 .LBB379:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2789 .loc 2 478 5 discriminator 1 view .LVU884
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2790 .loc 2 480 4 discriminator 1 view .LVU885
2791 0032 02F11403 add r3, r2, #20
2792 .LVL233:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2793 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU886
2794 .syntax unified
2795 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2796 0036 53E8003F ldrex r3, [r3]
2797 @ 0 "" 2
2798 .LVL234:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2799 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU887
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2800 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU888
2801 .thumb
2802 .syntax unified
2803 .LBE379:
2804 .LBE378:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2805 .loc 1 1554 5 discriminator 1 view .LVU889
2806 003a 23F08003 bic r3, r3, #128
2807 .LVL235:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 139
2808 .loc 1 1554 5 is_stmt 1 discriminator 1 view .LVU890
2809 .LBB380:
2810 .LBI380:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2811 .loc 2 527 31 discriminator 1 view .LVU891
2812 .LBB381:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2813 .loc 2 529 4 discriminator 1 view .LVU892
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2814 .loc 2 531 4 discriminator 1 view .LVU893
2815 003e 1432 adds r2, r2, #20
2816 .LVL236:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2817 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU894
2818 .syntax unified
2819 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2820 0040 42E80031 strex r1, r3, [r2]
2821 @ 0 "" 2
2822 .LVL237:
2823 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU895
2824 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU896
2825 .thumb
2826 .syntax unified
2827 .LBE381:
2828 .LBE380:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2829 .loc 1 1554 5 discriminator 1 view .LVU897
2830 0044 0029 cmp r1, #0
2831 0046 F3D1 bne .L163
2832 .LBE377:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2833 .loc 1 1554 5 is_stmt 1 discriminator 2 view .LVU898
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2834 .loc 1 1557 5 discriminator 2 view .LVU899
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2835 .loc 1 1557 14 is_stmt 0 discriminator 2 view .LVU900
2836 0048 A06B ldr r0, [r4, #56]
2837 .LVL238:
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2838 .loc 1 1557 8 discriminator 2 view .LVU901
2839 004a 08B1 cbz r0, .L164
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2840 .loc 1 1559 7 is_stmt 1 view .LVU902
2841 004c FFF7FEFF bl HAL_DMA_Abort
2842 .LVL239:
2843 .L164:
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2844 .loc 1 1561 5 view .LVU903
2845 0050 2046 mov r0, r4
2846 0052 FFF7FEFF bl UART_EndTxTransfer
2847 .LVL240:
2848 0056 DCE7 b .L162
2849 .LVL241:
2850 .L170:
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2851 .loc 1 1566 50 is_stmt 0 discriminator 1 view .LVU904
2852 0058 002A cmp r2, #0
ARM GAS /tmp/cc8UBTH4.s page 140
2853 005a E3D0 beq .L165
2854 .LVL242:
2855 .L166:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2856 .loc 1 1568 5 is_stmt 1 discriminator 1 view .LVU905
2857 .LBB382:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2858 .loc 1 1568 5 discriminator 1 view .LVU906
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2859 .loc 1 1568 5 discriminator 1 view .LVU907
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2860 .loc 1 1568 5 discriminator 1 view .LVU908
2861 005c 2268 ldr r2, [r4]
2862 .LVL243:
2863 .LBB383:
2864 .LBI383:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2865 .loc 2 476 31 discriminator 1 view .LVU909
2866 .LBB384:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
2867 .loc 2 478 5 discriminator 1 view .LVU910
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2868 .loc 2 480 4 discriminator 1 view .LVU911
2869 005e 02F11403 add r3, r2, #20
2870 .LVL244:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2871 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU912
2872 .syntax unified
2873 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2874 0062 53E8003F ldrex r3, [r3]
2875 @ 0 "" 2
2876 .LVL245:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2877 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU913
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2878 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU914
2879 .thumb
2880 .syntax unified
2881 .LBE384:
2882 .LBE383:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2883 .loc 1 1568 5 discriminator 1 view .LVU915
2884 0066 23F04003 bic r3, r3, #64
2885 .LVL246:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2886 .loc 1 1568 5 is_stmt 1 discriminator 1 view .LVU916
2887 .LBB385:
2888 .LBI385:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2889 .loc 2 527 31 discriminator 1 view .LVU917
2890 .LBB386:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
2891 .loc 2 529 4 discriminator 1 view .LVU918
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2892 .loc 2 531 4 discriminator 1 view .LVU919
2893 006a 1432 adds r2, r2, #20
2894 .LVL247:
ARM GAS /tmp/cc8UBTH4.s page 141
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2895 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU920
2896 .syntax unified
2897 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2898 006c 42E80031 strex r1, r3, [r2]
2899 @ 0 "" 2
2900 .LVL248:
2901 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU921
2902 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU922
2903 .thumb
2904 .syntax unified
2905 .LBE386:
2906 .LBE385:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2907 .loc 1 1568 5 discriminator 1 view .LVU923
2908 0070 0029 cmp r1, #0
2909 0072 F3D1 bne .L166
2910 .LBE382:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2911 .loc 1 1568 5 is_stmt 1 discriminator 2 view .LVU924
1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2912 .loc 1 1571 5 discriminator 2 view .LVU925
1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2913 .loc 1 1571 14 is_stmt 0 discriminator 2 view .LVU926
2914 0074 E06B ldr r0, [r4, #60]
1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2915 .loc 1 1571 8 discriminator 2 view .LVU927
2916 0076 08B1 cbz r0, .L167
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2917 .loc 1 1573 7 is_stmt 1 view .LVU928
2918 0078 FFF7FEFF bl HAL_DMA_Abort
2919 .LVL249:
2920 .L167:
1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2921 .loc 1 1575 5 view .LVU929
2922 007c 2046 mov r0, r4
2923 007e FFF7FEFF bl UART_EndRxTransfer
2924 .LVL250:
2925 0082 CFE7 b .L165
2926 .cfi_endproc
2927 .LFE149:
2929 .section .text.HAL_UARTEx_ReceiveToIdle,"ax",%progbits
2930 .align 1
2931 .global HAL_UARTEx_ReceiveToIdle
2932 .syntax unified
2933 .thumb
2934 .thumb_func
2935 .fpu fpv4-sp-d16
2937 HAL_UARTEx_ReceiveToIdle:
2938 .LVL251:
2939 .LFB150:
1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
2940 .loc 1 1598 1 view -0
2941 .cfi_startproc
2942 @ args = 4, pretend = 0, frame = 8
2943 @ frame_needed = 0, uses_anonymous_args = 0
1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits;
ARM GAS /tmp/cc8UBTH4.s page 142
2944 .loc 1 1598 1 is_stmt 0 view .LVU931
2945 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
2946 .LCFI27:
2947 .cfi_def_cfa_offset 28
2948 .cfi_offset 4, -28
2949 .cfi_offset 5, -24
2950 .cfi_offset 6, -20
2951 .cfi_offset 7, -16
2952 .cfi_offset 8, -12
2953 .cfi_offset 9, -8
2954 .cfi_offset 14, -4
2955 0004 83B0 sub sp, sp, #12
2956 .LCFI28:
2957 .cfi_def_cfa_offset 40
2958 0006 1E46 mov r6, r3
2959 0008 0A9F ldr r7, [sp, #40]
1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits;
2960 .loc 1 1599 3 is_stmt 1 view .LVU932
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart;
2961 .loc 1 1600 3 view .LVU933
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2962 .loc 1 1601 3 view .LVU934
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2963 .loc 1 1604 3 view .LVU935
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2964 .loc 1 1604 12 is_stmt 0 view .LVU936
2965 000a 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
2966 .LVL252:
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2967 .loc 1 1604 12 view .LVU937
2968 000e DBB2 uxtb r3, r3
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2969 .loc 1 1604 6 view .LVU938
2970 0010 202B cmp r3, #32
2971 0012 7FD1 bne .L185
2972 0014 0446 mov r4, r0
2973 0016 0D46 mov r5, r1
2974 0018 9146 mov r9, r2
1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2975 .loc 1 1606 5 is_stmt 1 view .LVU939
1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2976 .loc 1 1606 8 is_stmt 0 view .LVU940
2977 001a 0029 cmp r1, #0
2978 001c 7ED0 beq .L186
1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2979 .loc 1 1606 25 discriminator 1 view .LVU941
2980 001e 0AB9 cbnz r2, .L191
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2981 .loc 1 1608 15 view .LVU942
2982 0020 0120 movs r0, #1
2983 .LVL253:
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2984 .loc 1 1608 15 view .LVU943
2985 0022 78E0 b .L172
2986 .LVL254:
2987 .L191:
1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
ARM GAS /tmp/cc8UBTH4.s page 143
2988 .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;
2989 .loc 1 1611 22 is_stmt 0 view .LVU945
2990 0024 0023 movs r3, #0
2991 0026 4364 str r3, [r0, #68]
1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
2992 .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;
2993 .loc 1 1612 20 is_stmt 0 view .LVU947
2994 0028 2222 movs r2, #34
2995 .LVL255:
1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
2996 .loc 1 1612 20 view .LVU948
2997 002a 80F84220 strb r2, [r0, #66]
1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
2998 .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;
2999 .loc 1 1613 26 is_stmt 0 view .LVU950
3000 002e 0122 movs r2, #1
3001 0030 0263 str r2, [r0, #48]
1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3002 .loc 1 1614 5 is_stmt 1 view .LVU951
1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3003 .loc 1 1614 24 is_stmt 0 view .LVU952
3004 0032 4363 str r3, [r0, #52]
1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3005 .loc 1 1617 5 is_stmt 1 view .LVU953
1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3006 .loc 1 1617 17 is_stmt 0 view .LVU954
3007 0034 FFF7FEFF bl HAL_GetTick
3008 .LVL256:
1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3009 .loc 1 1617 17 view .LVU955
3010 0038 8046 mov r8, r0
3011 .LVL257:
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
3012 .loc 1 1619 5 is_stmt 1 view .LVU956
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
3013 .loc 1 1619 24 is_stmt 0 view .LVU957
3014 003a A4F82C90 strh r9, [r4, #44] @ movhi
1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3015 .loc 1 1620 5 is_stmt 1 view .LVU958
1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3016 .loc 1 1620 24 is_stmt 0 view .LVU959
3017 003e A4F82E90 strh r9, [r4, #46] @ movhi
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3018 .loc 1 1623 5 is_stmt 1 view .LVU960
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3019 .loc 1 1623 21 is_stmt 0 view .LVU961
3020 0042 A368 ldr r3, [r4, #8]
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3021 .loc 1 1623 8 view .LVU962
3022 0044 B3F5805F cmp r3, #4096
3023 0048 04D0 beq .L192
1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3024 .loc 1 1631 19 view .LVU963
3025 004a 4FF00009 mov r9, #0
ARM GAS /tmp/cc8UBTH4.s page 144
3026 .LVL258:
3027 .L173:
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3028 .loc 1 1635 5 is_stmt 1 view .LVU964
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3029 .loc 1 1635 12 is_stmt 0 view .LVU965
3030 004e 0023 movs r3, #0
3031 0050 3380 strh r3, [r6] @ movhi
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3032 .loc 1 1638 5 is_stmt 1 view .LVU966
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3033 .loc 1 1638 11 is_stmt 0 view .LVU967
3034 0052 22E0 b .L174
3035 .LVL259:
3036 .L192:
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3037 .loc 1 1623 71 discriminator 1 view .LVU968
3038 0054 2369 ldr r3, [r4, #16]
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3039 .loc 1 1623 56 discriminator 1 view .LVU969
3040 0056 13B1 cbz r3, .L189
1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3041 .loc 1 1631 19 view .LVU970
3042 0058 4FF00009 mov r9, #0
3043 005c F7E7 b .L173
3044 .L189:
1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3045 .loc 1 1626 19 view .LVU971
3046 005e A946 mov r9, r5
1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
3047 .loc 1 1625 19 view .LVU972
3048 0060 0025 movs r5, #0
3049 .LVL260:
1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
3050 .loc 1 1625 19 view .LVU973
3051 0062 F4E7 b .L173
3052 .LVL261:
3053 .L195:
1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3054 .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;
3055 .loc 1 1650 30 is_stmt 0 view .LVU975
3056 0064 0223 movs r3, #2
3057 0066 6363 str r3, [r4, #52]
1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3058 .loc 1 1651 11 is_stmt 1 view .LVU976
1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3059 .loc 1 1651 26 is_stmt 0 view .LVU977
3060 0068 2023 movs r3, #32
3061 006a 84F84230 strb r3, [r4, #66]
1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3062 .loc 1 1653 11 is_stmt 1 view .LVU978
1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3063 .loc 1 1653 18 is_stmt 0 view .LVU979
3064 006e 0020 movs r0, #0
3065 0070 51E0 b .L172
3066 .L196:
ARM GAS /tmp/cc8UBTH4.s page 145
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
3067 .loc 1 1662 11 is_stmt 1 view .LVU980
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
3068 .loc 1 1662 52 is_stmt 0 view .LVU981
3069 0072 5368 ldr r3, [r2, #4]
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
3070 .loc 1 1662 26 view .LVU982
3071 0074 C3F30803 ubfx r3, r3, #0, #9
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits++;
3072 .loc 1 1662 24 view .LVU983
3073 0078 29F8023B strh r3, [r9], #2 @ movhi
3074 .LVL262:
1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3075 .loc 1 1663 11 is_stmt 1 view .LVU984
1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3076 .loc 1 1663 11 is_stmt 0 view .LVU985
3077 007c 02E0 b .L178
3078 .L179:
1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3079 .loc 1 1669 13 is_stmt 1 view .LVU986
1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3080 .loc 1 1669 52 is_stmt 0 view .LVU987
3081 007e 5368 ldr r3, [r2, #4]
1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3082 .loc 1 1669 25 view .LVU988
3083 0080 2B70 strb r3, [r5]
3084 .L181:
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3085 .loc 1 1676 11 is_stmt 1 view .LVU989
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3086 .loc 1 1676 21 is_stmt 0 view .LVU990
3087 0082 0135 adds r5, r5, #1
3088 .LVL263:
3089 .L178:
1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
3090 .loc 1 1679 9 is_stmt 1 view .LVU991
1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
3091 .loc 1 1679 16 is_stmt 0 view .LVU992
3092 0084 3388 ldrh r3, [r6]
3093 0086 0133 adds r3, r3, #1
3094 0088 3380 strh r3, [r6] @ movhi
1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3095 .loc 1 1680 9 is_stmt 1 view .LVU993
1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3096 .loc 1 1680 14 is_stmt 0 view .LVU994
3097 008a E38D ldrh r3, [r4, #46]
3098 008c 9BB2 uxth r3, r3
1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3099 .loc 1 1680 27 view .LVU995
3100 008e 013B subs r3, r3, #1
3101 0090 9BB2 uxth r3, r3
3102 0092 E385 strh r3, [r4, #46] @ movhi
3103 .L176:
1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3104 .loc 1 1684 7 is_stmt 1 view .LVU996
1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3105 .loc 1 1684 10 is_stmt 0 view .LVU997
ARM GAS /tmp/cc8UBTH4.s page 146
3106 0094 B7F1FF3F cmp r7, #-1
3107 0098 25D1 bne .L193
3108 .L174:
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3109 .loc 1 1638 11 is_stmt 1 view .LVU998
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3110 .loc 1 1638 17 is_stmt 0 view .LVU999
3111 009a E28D ldrh r2, [r4, #46]
3112 009c 92B2 uxth r2, r2
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3113 .loc 1 1638 11 view .LVU1000
3114 009e 002A cmp r2, #0
3115 00a0 2ED0 beq .L194
1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3116 .loc 1 1641 7 is_stmt 1 view .LVU1001
1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3117 .loc 1 1641 11 is_stmt 0 view .LVU1002
3118 00a2 2268 ldr r2, [r4]
3119 00a4 1368 ldr r3, [r2]
1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3120 .loc 1 1641 10 view .LVU1003
3121 00a6 13F0100F tst r3, #16
3122 00aa 09D0 beq .L175
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3123 .loc 1 1644 9 is_stmt 1 view .LVU1004
3124 .LBB387:
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3125 .loc 1 1644 9 view .LVU1005
3126 00ac 0023 movs r3, #0
3127 00ae 0193 str r3, [sp, #4]
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3128 .loc 1 1644 9 view .LVU1006
3129 00b0 1368 ldr r3, [r2]
3130 00b2 0193 str r3, [sp, #4]
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3131 .loc 1 1644 9 view .LVU1007
3132 00b4 5368 ldr r3, [r2, #4]
3133 00b6 0193 str r3, [sp, #4]
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3134 .loc 1 1644 9 view .LVU1008
3135 00b8 019B ldr r3, [sp, #4]
3136 .LBE387:
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3137 .loc 1 1644 9 view .LVU1009
1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3138 .loc 1 1648 9 view .LVU1010
1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3139 .loc 1 1648 13 is_stmt 0 view .LVU1011
3140 00ba 3388 ldrh r3, [r6]
1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3141 .loc 1 1648 12 view .LVU1012
3142 00bc 002B cmp r3, #0
3143 00be D1D1 bne .L195
3144 .L175:
1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3145 .loc 1 1658 7 is_stmt 1 view .LVU1013
1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc8UBTH4.s page 147
3146 .loc 1 1658 11 is_stmt 0 view .LVU1014
3147 00c0 1368 ldr r3, [r2]
1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3148 .loc 1 1658 10 view .LVU1015
3149 00c2 13F0200F tst r3, #32
3150 00c6 E5D0 beq .L176
1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3151 .loc 1 1660 9 is_stmt 1 view .LVU1016
1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3152 .loc 1 1660 12 is_stmt 0 view .LVU1017
3153 00c8 002D cmp r5, #0
3154 00ca D2D0 beq .L196
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3155 .loc 1 1667 11 is_stmt 1 view .LVU1018
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3156 .loc 1 1667 27 is_stmt 0 view .LVU1019
3157 00cc A368 ldr r3, [r4, #8]
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3158 .loc 1 1667 14 view .LVU1020
3159 00ce B3F5805F cmp r3, #4096
3160 00d2 D4D0 beq .L179
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3161 .loc 1 1667 62 discriminator 1 view .LVU1021
3162 00d4 13B9 cbnz r3, .L180
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3163 .loc 1 1667 128 discriminator 2 view .LVU1022
3164 00d6 2369 ldr r3, [r4, #16]
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3165 .loc 1 1667 113 discriminator 2 view .LVU1023
3166 00d8 002B cmp r3, #0
3167 00da D0D0 beq .L179
3168 .L180:
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3169 .loc 1 1673 13 is_stmt 1 view .LVU1024
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3170 .loc 1 1673 52 is_stmt 0 view .LVU1025
3171 00dc 5368 ldr r3, [r2, #4]
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3172 .loc 1 1673 27 view .LVU1026
3173 00de 03F07F03 and r3, r3, #127
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3174 .loc 1 1673 25 view .LVU1027
3175 00e2 2B70 strb r3, [r5]
3176 00e4 CDE7 b .L181
3177 .L193:
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3178 .loc 1 1686 9 is_stmt 1 view .LVU1028
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3179 .loc 1 1686 15 is_stmt 0 view .LVU1029
3180 00e6 FFF7FEFF bl HAL_GetTick
3181 .LVL264:
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3182 .loc 1 1686 29 view .LVU1030
3183 00ea A0EB0800 sub r0, r0, r8
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3184 .loc 1 1686 12 view .LVU1031
3185 00ee B842 cmp r0, r7
ARM GAS /tmp/cc8UBTH4.s page 148
3186 00f0 01D8 bhi .L183
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3187 .loc 1 1686 53 discriminator 1 view .LVU1032
3188 00f2 002F cmp r7, #0
3189 00f4 D1D1 bne .L174
3190 .L183:
1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3191 .loc 1 1688 11 is_stmt 1 view .LVU1033
1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3192 .loc 1 1688 26 is_stmt 0 view .LVU1034
3193 00f6 2023 movs r3, #32
3194 00f8 84F84230 strb r3, [r4, #66]
1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3195 .loc 1 1690 11 is_stmt 1 view .LVU1035
1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3196 .loc 1 1690 18 is_stmt 0 view .LVU1036
3197 00fc 0320 movs r0, #3
3198 00fe 0AE0 b .L172
3199 .L194:
1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3200 .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 */
3201 .loc 1 1696 19 is_stmt 0 view .LVU1038
3202 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 */
3203 .loc 1 1696 39 view .LVU1039
3204 0102 E28D ldrh r2, [r4, #46]
3205 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 */
3206 .loc 1 1696 32 view .LVU1040
3207 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 */
3208 .loc 1 1696 12 view .LVU1041
3209 0108 3380 strh r3, [r6] @ movhi
1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3210 .loc 1 1698 5 is_stmt 1 view .LVU1042
1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3211 .loc 1 1698 20 is_stmt 0 view .LVU1043
3212 010a 2023 movs r3, #32
3213 010c 84F84230 strb r3, [r4, #66]
1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3214 .loc 1 1700 5 is_stmt 1 view .LVU1044
1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3215 .loc 1 1700 12 is_stmt 0 view .LVU1045
3216 0110 0020 movs r0, #0
3217 0112 00E0 b .L172
3218 .LVL265:
3219 .L185:
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3220 .loc 1 1704 12 view .LVU1046
3221 0114 0220 movs r0, #2
3222 .LVL266:
3223 .L172:
1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3224 .loc 1 1706 1 view .LVU1047
3225 0116 03B0 add sp, sp, #12
3226 .LCFI29:
ARM GAS /tmp/cc8UBTH4.s page 149
3227 .cfi_remember_state
3228 .cfi_def_cfa_offset 28
3229 @ sp needed
3230 0118 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
3231 .LVL267:
3232 .L186:
3233 .LCFI30:
3234 .cfi_restore_state
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3235 .loc 1 1608 15 view .LVU1048
3236 011c 0120 movs r0, #1
3237 .LVL268:
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3238 .loc 1 1608 15 view .LVU1049
3239 011e FAE7 b .L172
3240 .cfi_endproc
3241 .LFE150:
3243 .section .text.HAL_UARTEx_GetRxEventType,"ax",%progbits
3244 .align 1
3245 .global HAL_UARTEx_GetRxEventType
3246 .syntax unified
3247 .thumb
3248 .thumb_func
3249 .fpu fpv4-sp-d16
3251 HAL_UARTEx_GetRxEventType:
3252 .LVL269:
3253 .LFB153:
1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return Rx Event type value, as stored in UART handle */
3254 .loc 1 1847 1 is_stmt 1 view -0
3255 .cfi_startproc
3256 @ args = 0, pretend = 0, frame = 0
3257 @ frame_needed = 0, uses_anonymous_args = 0
3258 @ link register save eliminated.
1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3259 .loc 1 1849 3 view .LVU1051
1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3260 .loc 1 1849 15 is_stmt 0 view .LVU1052
3261 0000 406B ldr r0, [r0, #52]
3262 .LVL270:
1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3263 .loc 1 1850 1 view .LVU1053
3264 0002 7047 bx lr
3265 .cfi_endproc
3266 .LFE153:
3268 .section .text.HAL_UART_Abort,"ax",%progbits
3269 .align 1
3270 .global HAL_UART_Abort
3271 .syntax unified
3272 .thumb
3273 .thumb_func
3274 .fpu fpv4-sp-d16
3276 HAL_UART_Abort:
3277 .LVL271:
3278 .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 */
3279 .loc 1 1865 1 is_stmt 1 view -0
3280 .cfi_startproc
ARM GAS /tmp/cc8UBTH4.s page 150
3281 @ args = 0, pretend = 0, frame = 0
3282 @ 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 */
3283 .loc 1 1865 1 is_stmt 0 view .LVU1055
3284 0000 10B5 push {r4, lr}
3285 .LCFI31:
3286 .cfi_def_cfa_offset 8
3287 .cfi_offset 4, -8
3288 .cfi_offset 14, -4
3289 0002 0446 mov r4, r0
3290 .L199:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3291 .loc 1 1867 3 is_stmt 1 discriminator 1 view .LVU1056
3292 .LBB388:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3293 .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);
3294 .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);
3295 .loc 1 1867 3 discriminator 1 view .LVU1059
3296 0004 2268 ldr r2, [r4]
3297 .LVL272:
3298 .LBB389:
3299 .LBI389:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3300 .loc 2 476 31 discriminator 1 view .LVU1060
3301 .LBB390:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3302 .loc 2 478 5 discriminator 1 view .LVU1061
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3303 .loc 2 480 4 discriminator 1 view .LVU1062
3304 0006 02F10C03 add r3, r2, #12
3305 .LVL273:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3306 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1063
3307 .syntax unified
3308 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3309 000a 53E8003F ldrex r3, [r3]
3310 @ 0 "" 2
3311 .LVL274:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3312 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1064
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3313 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1065
3314 .thumb
3315 .syntax unified
3316 .LBE390:
3317 .LBE389:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3318 .loc 1 1867 3 discriminator 1 view .LVU1066
3319 000e 23F4F073 bic r3, r3, #480
3320 .LVL275:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3321 .loc 1 1867 3 is_stmt 1 discriminator 1 view .LVU1067
3322 .LBB391:
3323 .LBI391:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/cc8UBTH4.s page 151
3324 .loc 2 527 31 discriminator 1 view .LVU1068
3325 .LBB392:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3326 .loc 2 529 4 discriminator 1 view .LVU1069
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3327 .loc 2 531 4 discriminator 1 view .LVU1070
3328 0012 0C32 adds r2, r2, #12
3329 .LVL276:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3330 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1071
3331 .syntax unified
3332 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3333 0014 42E80031 strex r1, r3, [r2]
3334 @ 0 "" 2
3335 .LVL277:
3336 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1072
3337 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1073
3338 .thumb
3339 .syntax unified
3340 .LBE392:
3341 .LBE391:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3342 .loc 1 1867 3 discriminator 1 view .LVU1074
3343 0018 0029 cmp r1, #0
3344 001a F3D1 bne .L199
3345 .LVL278:
3346 .L200:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3347 .loc 1 1867 3 discriminator 1 view .LVU1075
3348 .LBE388:
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3349 .loc 1 1867 3 is_stmt 1 discriminator 1 view .LVU1076
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3350 .loc 1 1868 3 discriminator 1 view .LVU1077
3351 .LBB393:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3352 .loc 1 1868 3 discriminator 1 view .LVU1078
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3353 .loc 1 1868 3 discriminator 1 view .LVU1079
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3354 .loc 1 1868 3 discriminator 1 view .LVU1080
3355 001c 2268 ldr r2, [r4]
3356 .LVL279:
3357 .LBB394:
3358 .LBI394:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3359 .loc 2 476 31 discriminator 1 view .LVU1081
3360 .LBB395:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3361 .loc 2 478 5 discriminator 1 view .LVU1082
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3362 .loc 2 480 4 discriminator 1 view .LVU1083
3363 001e 02F11403 add r3, r2, #20
3364 .LVL280:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3365 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1084
3366 .syntax unified
ARM GAS /tmp/cc8UBTH4.s page 152
3367 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3368 0022 53E8003F ldrex r3, [r3]
3369 @ 0 "" 2
3370 .LVL281:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3371 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1085
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3372 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1086
3373 .thumb
3374 .syntax unified
3375 .LBE395:
3376 .LBE394:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3377 .loc 1 1868 3 discriminator 1 view .LVU1087
3378 0026 23F00103 bic r3, r3, #1
3379 .LVL282:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3380 .loc 1 1868 3 is_stmt 1 discriminator 1 view .LVU1088
3381 .LBB396:
3382 .LBI396:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3383 .loc 2 527 31 discriminator 1 view .LVU1089
3384 .LBB397:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3385 .loc 2 529 4 discriminator 1 view .LVU1090
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3386 .loc 2 531 4 discriminator 1 view .LVU1091
3387 002a 1432 adds r2, r2, #20
3388 .LVL283:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3389 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1092
3390 .syntax unified
3391 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3392 002c 42E80031 strex r1, r3, [r2]
3393 @ 0 "" 2
3394 .LVL284:
3395 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1093
3396 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1094
3397 .thumb
3398 .syntax unified
3399 .LBE397:
3400 .LBE396:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3401 .loc 1 1868 3 discriminator 1 view .LVU1095
3402 0030 0029 cmp r1, #0
3403 0032 F3D1 bne .L200
3404 .LBE393:
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3405 .loc 1 1868 3 is_stmt 1 discriminator 2 view .LVU1096
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3406 .loc 1 1871 3 discriminator 2 view .LVU1097
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3407 .loc 1 1871 12 is_stmt 0 discriminator 2 view .LVU1098
3408 0034 236B ldr r3, [r4, #48]
3409 .LVL285:
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3410 .loc 1 1871 6 discriminator 2 view .LVU1099
ARM GAS /tmp/cc8UBTH4.s page 153
3411 0036 012B cmp r3, #1
3412 0038 3CD0 beq .L202
3413 .L201:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3414 .loc 1 1873 5 is_stmt 1 discriminator 2 view .LVU1100
1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3415 .loc 1 1877 3 discriminator 2 view .LVU1101
1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3416 .loc 1 1877 7 is_stmt 0 discriminator 2 view .LVU1102
3417 003a 2368 ldr r3, [r4]
3418 003c 5B69 ldr r3, [r3, #20]
1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3419 .loc 1 1877 6 discriminator 2 view .LVU1103
3420 003e 13F0800F tst r3, #128
3421 0042 13D0 beq .L203
3422 .L204:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3423 .loc 1 1879 5 is_stmt 1 discriminator 1 view .LVU1104
3424 .LBB398:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3425 .loc 1 1879 5 discriminator 1 view .LVU1105
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3426 .loc 1 1879 5 discriminator 1 view .LVU1106
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3427 .loc 1 1879 5 discriminator 1 view .LVU1107
3428 0044 2268 ldr r2, [r4]
3429 .LVL286:
3430 .LBB399:
3431 .LBI399:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3432 .loc 2 476 31 discriminator 1 view .LVU1108
3433 .LBB400:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3434 .loc 2 478 5 discriminator 1 view .LVU1109
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3435 .loc 2 480 4 discriminator 1 view .LVU1110
3436 0046 02F11403 add r3, r2, #20
3437 .LVL287:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3438 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1111
3439 .syntax unified
3440 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3441 004a 53E8003F ldrex r3, [r3]
3442 @ 0 "" 2
3443 .LVL288:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3444 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1112
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3445 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1113
3446 .thumb
3447 .syntax unified
3448 .LBE400:
3449 .LBE399:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3450 .loc 1 1879 5 discriminator 1 view .LVU1114
3451 004e 23F08003 bic r3, r3, #128
3452 .LVL289:
ARM GAS /tmp/cc8UBTH4.s page 154
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3453 .loc 1 1879 5 is_stmt 1 discriminator 1 view .LVU1115
3454 .LBB401:
3455 .LBI401:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3456 .loc 2 527 31 discriminator 1 view .LVU1116
3457 .LBB402:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3458 .loc 2 529 4 discriminator 1 view .LVU1117
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3459 .loc 2 531 4 discriminator 1 view .LVU1118
3460 0052 1432 adds r2, r2, #20
3461 .LVL290:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3462 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1119
3463 .syntax unified
3464 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3465 0054 42E80031 strex r1, r3, [r2]
3466 @ 0 "" 2
3467 .LVL291:
3468 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1120
3469 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1121
3470 .thumb
3471 .syntax unified
3472 .LBE402:
3473 .LBE401:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3474 .loc 1 1879 5 discriminator 1 view .LVU1122
3475 0058 0029 cmp r1, #0
3476 005a F3D1 bne .L204
3477 .LBE398:
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3478 .loc 1 1879 5 is_stmt 1 discriminator 2 view .LVU1123
1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3479 .loc 1 1882 5 discriminator 2 view .LVU1124
1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3480 .loc 1 1882 14 is_stmt 0 discriminator 2 view .LVU1125
3481 005c A36B ldr r3, [r4, #56]
3482 .LVL292:
1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3483 .loc 1 1882 8 discriminator 2 view .LVU1126
3484 005e 2BB1 cbz r3, .L203
1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3485 .loc 1 1886 7 is_stmt 1 view .LVU1127
1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3486 .loc 1 1886 40 is_stmt 0 view .LVU1128
3487 0060 0022 movs r2, #0
3488 0062 1A65 str r2, [r3, #80]
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3489 .loc 1 1888 7 is_stmt 1 view .LVU1129
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3490 .loc 1 1888 11 is_stmt 0 view .LVU1130
3491 0064 A06B ldr r0, [r4, #56]
3492 .LVL293:
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3493 .loc 1 1888 11 view .LVU1131
3494 0066 FFF7FEFF bl HAL_DMA_Abort
ARM GAS /tmp/cc8UBTH4.s page 155
3495 .LVL294:
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3496 .loc 1 1888 10 view .LVU1132
3497 006a 80BB cbnz r0, .L209
3498 .L203:
1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3499 .loc 1 1902 3 is_stmt 1 view .LVU1133
1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3500 .loc 1 1902 7 is_stmt 0 view .LVU1134
3501 006c 2368 ldr r3, [r4]
3502 006e 5B69 ldr r3, [r3, #20]
1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3503 .loc 1 1902 6 view .LVU1135
3504 0070 13F0400F tst r3, #64
3505 0074 13D0 beq .L206
3506 .L207:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3507 .loc 1 1904 5 is_stmt 1 discriminator 1 view .LVU1136
3508 .LBB403:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3509 .loc 1 1904 5 discriminator 1 view .LVU1137
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3510 .loc 1 1904 5 discriminator 1 view .LVU1138
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3511 .loc 1 1904 5 discriminator 1 view .LVU1139
3512 0076 2268 ldr r2, [r4]
3513 .LVL295:
3514 .LBB404:
3515 .LBI404:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3516 .loc 2 476 31 discriminator 1 view .LVU1140
3517 .LBB405:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3518 .loc 2 478 5 discriminator 1 view .LVU1141
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3519 .loc 2 480 4 discriminator 1 view .LVU1142
3520 0078 02F11403 add r3, r2, #20
3521 .LVL296:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3522 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1143
3523 .syntax unified
3524 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3525 007c 53E8003F ldrex r3, [r3]
3526 @ 0 "" 2
3527 .LVL297:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3528 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1144
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3529 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1145
3530 .thumb
3531 .syntax unified
3532 .LBE405:
3533 .LBE404:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3534 .loc 1 1904 5 discriminator 1 view .LVU1146
3535 0080 23F04003 bic r3, r3, #64
3536 .LVL298:
ARM GAS /tmp/cc8UBTH4.s page 156
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3537 .loc 1 1904 5 is_stmt 1 discriminator 1 view .LVU1147
3538 .LBB406:
3539 .LBI406:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3540 .loc 2 527 31 discriminator 1 view .LVU1148
3541 .LBB407:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3542 .loc 2 529 4 discriminator 1 view .LVU1149
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3543 .loc 2 531 4 discriminator 1 view .LVU1150
3544 0084 1432 adds r2, r2, #20
3545 .LVL299:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3546 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1151
3547 .syntax unified
3548 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3549 0086 42E80031 strex r1, r3, [r2]
3550 @ 0 "" 2
3551 .LVL300:
3552 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1152
3553 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1153
3554 .thumb
3555 .syntax unified
3556 .LBE407:
3557 .LBE406:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3558 .loc 1 1904 5 discriminator 1 view .LVU1154
3559 008a 0029 cmp r1, #0
3560 008c F3D1 bne .L207
3561 .LBE403:
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3562 .loc 1 1904 5 is_stmt 1 discriminator 2 view .LVU1155
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3563 .loc 1 1907 5 discriminator 2 view .LVU1156
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3564 .loc 1 1907 14 is_stmt 0 discriminator 2 view .LVU1157
3565 008e E36B ldr r3, [r4, #60]
3566 .LVL301:
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3567 .loc 1 1907 8 discriminator 2 view .LVU1158
3568 0090 2BB1 cbz r3, .L206
1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3569 .loc 1 1911 7 is_stmt 1 view .LVU1159
1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3570 .loc 1 1911 40 is_stmt 0 view .LVU1160
3571 0092 0022 movs r2, #0
3572 0094 1A65 str r2, [r3, #80]
1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3573 .loc 1 1913 7 is_stmt 1 view .LVU1161
1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3574 .loc 1 1913 11 is_stmt 0 view .LVU1162
3575 0096 E06B ldr r0, [r4, #60]
3576 0098 FFF7FEFF bl HAL_DMA_Abort
3577 .LVL302:
1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3578 .loc 1 1913 10 view .LVU1163
ARM GAS /tmp/cc8UBTH4.s page 157
3579 009c 00BB cbnz r0, .L210
3580 .L206:
1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3581 .loc 1 1927 3 is_stmt 1 view .LVU1164
1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3582 .loc 1 1927 22 is_stmt 0 view .LVU1165
3583 009e 0020 movs r0, #0
3584 00a0 E084 strh r0, [r4, #38] @ movhi
1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3585 .loc 1 1928 3 is_stmt 1 view .LVU1166
1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3586 .loc 1 1928 22 is_stmt 0 view .LVU1167
3587 00a2 E085 strh r0, [r4, #46] @ movhi
1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3588 .loc 1 1931 3 is_stmt 1 view .LVU1168
1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3589 .loc 1 1931 20 is_stmt 0 view .LVU1169
3590 00a4 6064 str r0, [r4, #68]
1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3591 .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;
3592 .loc 1 1934 18 is_stmt 0 view .LVU1171
3593 00a6 2023 movs r3, #32
3594 00a8 84F84230 strb r3, [r4, #66]
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3595 .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;
3596 .loc 1 1935 17 is_stmt 0 view .LVU1173
3597 00ac 84F84130 strb r3, [r4, #65]
1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3598 .loc 1 1936 3 is_stmt 1 view .LVU1174
1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3599 .loc 1 1936 24 is_stmt 0 view .LVU1175
3600 00b0 2063 str r0, [r4, #48]
1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3601 .loc 1 1938 3 is_stmt 1 view .LVU1176
3602 .L205:
1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3603 .loc 1 1939 1 is_stmt 0 view .LVU1177
3604 00b2 10BD pop {r4, pc}
3605 .LVL303:
3606 .L202:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3607 .loc 1 1873 5 is_stmt 1 discriminator 1 view .LVU1178
3608 .LBB408:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3609 .loc 1 1873 5 discriminator 1 view .LVU1179
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3610 .loc 1 1873 5 discriminator 1 view .LVU1180
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3611 .loc 1 1873 5 discriminator 1 view .LVU1181
3612 00b4 2268 ldr r2, [r4]
3613 .LVL304:
3614 .LBB409:
3615 .LBI409:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3616 .loc 2 476 31 discriminator 1 view .LVU1182
ARM GAS /tmp/cc8UBTH4.s page 158
3617 .LBB410:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3618 .loc 2 478 5 discriminator 1 view .LVU1183
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3619 .loc 2 480 4 discriminator 1 view .LVU1184
3620 00b6 02F10C03 add r3, r2, #12
3621 .LVL305:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3622 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1185
3623 .syntax unified
3624 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3625 00ba 53E8003F ldrex r3, [r3]
3626 @ 0 "" 2
3627 .LVL306:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3628 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1186
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3629 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1187
3630 .thumb
3631 .syntax unified
3632 .LBE410:
3633 .LBE409:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3634 .loc 1 1873 5 discriminator 1 view .LVU1188
3635 00be 23F01003 bic r3, r3, #16
3636 .LVL307:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3637 .loc 1 1873 5 is_stmt 1 discriminator 1 view .LVU1189
3638 .LBB411:
3639 .LBI411:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3640 .loc 2 527 31 discriminator 1 view .LVU1190
3641 .LBB412:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3642 .loc 2 529 4 discriminator 1 view .LVU1191
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3643 .loc 2 531 4 discriminator 1 view .LVU1192
3644 00c2 0C32 adds r2, r2, #12
3645 .LVL308:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3646 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1193
3647 .syntax unified
3648 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3649 00c4 42E80031 strex r1, r3, [r2]
3650 @ 0 "" 2
3651 .LVL309:
3652 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1194
3653 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1195
3654 .thumb
3655 .syntax unified
3656 .LBE412:
3657 .LBE411:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3658 .loc 1 1873 5 discriminator 1 view .LVU1196
3659 00c8 0029 cmp r1, #0
3660 00ca F3D1 bne .L202
3661 00cc B5E7 b .L201
ARM GAS /tmp/cc8UBTH4.s page 159
3662 .LVL310:
3663 .L209:
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3664 .loc 1 1873 5 discriminator 1 view .LVU1197
3665 .LBE408:
1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3666 .loc 1 1890 9 is_stmt 1 view .LVU1198
1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3667 .loc 1 1890 13 is_stmt 0 view .LVU1199
3668 00ce A06B ldr r0, [r4, #56]
3669 00d0 FFF7FEFF bl HAL_DMA_GetError
3670 .LVL311:
1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3671 .loc 1 1890 12 view .LVU1200
3672 00d4 2028 cmp r0, #32
3673 00d6 C9D1 bne .L203
1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3674 .loc 1 1893 11 is_stmt 1 view .LVU1201
1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3675 .loc 1 1893 28 is_stmt 0 view .LVU1202
3676 00d8 1023 movs r3, #16
3677 00da 6364 str r3, [r4, #68]
1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3678 .loc 1 1895 11 is_stmt 1 view .LVU1203
1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3679 .loc 1 1895 18 is_stmt 0 view .LVU1204
3680 00dc 0320 movs r0, #3
3681 00de E8E7 b .L205
3682 .L210:
1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3683 .loc 1 1915 9 is_stmt 1 view .LVU1205
1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3684 .loc 1 1915 13 is_stmt 0 view .LVU1206
3685 00e0 E06B ldr r0, [r4, #60]
3686 00e2 FFF7FEFF bl HAL_DMA_GetError
3687 .LVL312:
1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3688 .loc 1 1915 12 view .LVU1207
3689 00e6 2028 cmp r0, #32
3690 00e8 D9D1 bne .L206
1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3691 .loc 1 1918 11 is_stmt 1 view .LVU1208
1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3692 .loc 1 1918 28 is_stmt 0 view .LVU1209
3693 00ea 1023 movs r3, #16
3694 00ec 6364 str r3, [r4, #68]
1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3695 .loc 1 1920 11 is_stmt 1 view .LVU1210
1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3696 .loc 1 1920 18 is_stmt 0 view .LVU1211
3697 00ee 0320 movs r0, #3
3698 00f0 DFE7 b .L205
3699 .cfi_endproc
3700 .LFE154:
3702 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
3703 .align 1
3704 .global HAL_UART_AbortTransmit
ARM GAS /tmp/cc8UBTH4.s page 160
3705 .syntax unified
3706 .thumb
3707 .thumb_func
3708 .fpu fpv4-sp-d16
3710 HAL_UART_AbortTransmit:
3711 .LVL313:
3712 .LFB155:
1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
3713 .loc 1 1954 1 is_stmt 1 view -0
3714 .cfi_startproc
3715 @ args = 0, pretend = 0, frame = 0
3716 @ frame_needed = 0, uses_anonymous_args = 0
1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
3717 .loc 1 1954 1 is_stmt 0 view .LVU1213
3718 0000 10B5 push {r4, lr}
3719 .LCFI32:
3720 .cfi_def_cfa_offset 8
3721 .cfi_offset 4, -8
3722 .cfi_offset 14, -4
3723 0002 0446 mov r4, r0
3724 .L212:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3725 .loc 1 1956 3 is_stmt 1 discriminator 1 view .LVU1214
3726 .LBB413:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3727 .loc 1 1956 3 discriminator 1 view .LVU1215
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3728 .loc 1 1956 3 discriminator 1 view .LVU1216
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3729 .loc 1 1956 3 discriminator 1 view .LVU1217
3730 0004 2268 ldr r2, [r4]
3731 .LVL314:
3732 .LBB414:
3733 .LBI414:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3734 .loc 2 476 31 discriminator 1 view .LVU1218
3735 .LBB415:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3736 .loc 2 478 5 discriminator 1 view .LVU1219
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3737 .loc 2 480 4 discriminator 1 view .LVU1220
3738 0006 02F10C03 add r3, r2, #12
3739 .LVL315:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3740 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1221
3741 .syntax unified
3742 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3743 000a 53E8003F ldrex r3, [r3]
3744 @ 0 "" 2
3745 .LVL316:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3746 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1222
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3747 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1223
3748 .thumb
3749 .syntax unified
3750 .LBE415:
ARM GAS /tmp/cc8UBTH4.s page 161
3751 .LBE414:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3752 .loc 1 1956 3 discriminator 1 view .LVU1224
3753 000e 23F0C003 bic r3, r3, #192
3754 .LVL317:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3755 .loc 1 1956 3 is_stmt 1 discriminator 1 view .LVU1225
3756 .LBB416:
3757 .LBI416:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3758 .loc 2 527 31 discriminator 1 view .LVU1226
3759 .LBB417:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3760 .loc 2 529 4 discriminator 1 view .LVU1227
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3761 .loc 2 531 4 discriminator 1 view .LVU1228
3762 0012 0C32 adds r2, r2, #12
3763 .LVL318:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3764 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1229
3765 .syntax unified
3766 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3767 0014 42E80031 strex r1, r3, [r2]
3768 @ 0 "" 2
3769 .LVL319:
3770 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1230
3771 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1231
3772 .thumb
3773 .syntax unified
3774 .LBE417:
3775 .LBE416:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3776 .loc 1 1956 3 discriminator 1 view .LVU1232
3777 0018 0029 cmp r1, #0
3778 001a F3D1 bne .L212
3779 .LBE413:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3780 .loc 1 1956 3 is_stmt 1 discriminator 2 view .LVU1233
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3781 .loc 1 1959 3 discriminator 2 view .LVU1234
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3782 .loc 1 1959 7 is_stmt 0 discriminator 2 view .LVU1235
3783 001c 2368 ldr r3, [r4]
3784 .LVL320:
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3785 .loc 1 1959 7 discriminator 2 view .LVU1236
3786 001e 5B69 ldr r3, [r3, #20]
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3787 .loc 1 1959 6 discriminator 2 view .LVU1237
3788 0020 13F0800F tst r3, #128
3789 0024 13D0 beq .L213
3790 .L214:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3791 .loc 1 1961 5 is_stmt 1 discriminator 1 view .LVU1238
3792 .LBB418:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3793 .loc 1 1961 5 discriminator 1 view .LVU1239
ARM GAS /tmp/cc8UBTH4.s page 162
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3794 .loc 1 1961 5 discriminator 1 view .LVU1240
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3795 .loc 1 1961 5 discriminator 1 view .LVU1241
3796 0026 2268 ldr r2, [r4]
3797 .LVL321:
3798 .LBB419:
3799 .LBI419:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3800 .loc 2 476 31 discriminator 1 view .LVU1242
3801 .LBB420:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3802 .loc 2 478 5 discriminator 1 view .LVU1243
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3803 .loc 2 480 4 discriminator 1 view .LVU1244
3804 0028 02F11403 add r3, r2, #20
3805 .LVL322:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3806 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1245
3807 .syntax unified
3808 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3809 002c 53E8003F ldrex r3, [r3]
3810 @ 0 "" 2
3811 .LVL323:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3812 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1246
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3813 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1247
3814 .thumb
3815 .syntax unified
3816 .LBE420:
3817 .LBE419:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3818 .loc 1 1961 5 discriminator 1 view .LVU1248
3819 0030 23F08003 bic r3, r3, #128
3820 .LVL324:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3821 .loc 1 1961 5 is_stmt 1 discriminator 1 view .LVU1249
3822 .LBB421:
3823 .LBI421:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3824 .loc 2 527 31 discriminator 1 view .LVU1250
3825 .LBB422:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3826 .loc 2 529 4 discriminator 1 view .LVU1251
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3827 .loc 2 531 4 discriminator 1 view .LVU1252
3828 0034 1432 adds r2, r2, #20
3829 .LVL325:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3830 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1253
3831 .syntax unified
3832 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3833 0036 42E80031 strex r1, r3, [r2]
3834 @ 0 "" 2
3835 .LVL326:
3836 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1254
ARM GAS /tmp/cc8UBTH4.s page 163
3837 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1255
3838 .thumb
3839 .syntax unified
3840 .LBE422:
3841 .LBE421:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3842 .loc 1 1961 5 discriminator 1 view .LVU1256
3843 003a 0029 cmp r1, #0
3844 003c F3D1 bne .L214
3845 .LBE418:
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3846 .loc 1 1961 5 is_stmt 1 discriminator 2 view .LVU1257
1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3847 .loc 1 1964 5 discriminator 2 view .LVU1258
1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3848 .loc 1 1964 14 is_stmt 0 discriminator 2 view .LVU1259
3849 003e A36B ldr r3, [r4, #56]
3850 .LVL327:
1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3851 .loc 1 1964 8 discriminator 2 view .LVU1260
3852 0040 2BB1 cbz r3, .L213
1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3853 .loc 1 1968 7 is_stmt 1 view .LVU1261
1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3854 .loc 1 1968 40 is_stmt 0 view .LVU1262
3855 0042 0022 movs r2, #0
3856 0044 1A65 str r2, [r3, #80]
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3857 .loc 1 1970 7 is_stmt 1 view .LVU1263
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3858 .loc 1 1970 11 is_stmt 0 view .LVU1264
3859 0046 A06B ldr r0, [r4, #56]
3860 .LVL328:
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3861 .loc 1 1970 11 view .LVU1265
3862 0048 FFF7FEFF bl HAL_DMA_Abort
3863 .LVL329:
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3864 .loc 1 1970 10 view .LVU1266
3865 004c 28B9 cbnz r0, .L217
3866 .L213:
1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3867 .loc 1 1984 3 is_stmt 1 view .LVU1267
1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3868 .loc 1 1984 22 is_stmt 0 view .LVU1268
3869 004e 0020 movs r0, #0
3870 0050 E084 strh r0, [r4, #38] @ movhi
1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3871 .loc 1 1987 3 is_stmt 1 view .LVU1269
1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3872 .loc 1 1987 17 is_stmt 0 view .LVU1270
3873 0052 2023 movs r3, #32
3874 0054 84F84130 strb r3, [r4, #65]
1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3875 .loc 1 1989 3 is_stmt 1 view .LVU1271
3876 .L215:
1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 164
3877 .loc 1 1990 1 is_stmt 0 view .LVU1272
3878 0058 10BD pop {r4, pc}
3879 .LVL330:
3880 .L217:
1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3881 .loc 1 1972 9 is_stmt 1 view .LVU1273
1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3882 .loc 1 1972 13 is_stmt 0 view .LVU1274
3883 005a A06B ldr r0, [r4, #56]
3884 005c FFF7FEFF bl HAL_DMA_GetError
3885 .LVL331:
1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3886 .loc 1 1972 12 view .LVU1275
3887 0060 2028 cmp r0, #32
3888 0062 F4D1 bne .L213
1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3889 .loc 1 1975 11 is_stmt 1 view .LVU1276
1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3890 .loc 1 1975 28 is_stmt 0 view .LVU1277
3891 0064 1023 movs r3, #16
3892 0066 6364 str r3, [r4, #68]
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3893 .loc 1 1977 11 is_stmt 1 view .LVU1278
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3894 .loc 1 1977 18 is_stmt 0 view .LVU1279
3895 0068 0320 movs r0, #3
3896 006a F5E7 b .L215
3897 .cfi_endproc
3898 .LFE155:
3900 .section .text.HAL_UART_AbortReceive,"ax",%progbits
3901 .align 1
3902 .global HAL_UART_AbortReceive
3903 .syntax unified
3904 .thumb
3905 .thumb_func
3906 .fpu fpv4-sp-d16
3908 HAL_UART_AbortReceive:
3909 .LVL332:
3910 .LFB156:
2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3911 .loc 1 2005 1 is_stmt 1 view -0
3912 .cfi_startproc
3913 @ args = 0, pretend = 0, frame = 0
3914 @ 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 */
3915 .loc 1 2005 1 is_stmt 0 view .LVU1281
3916 0000 10B5 push {r4, lr}
3917 .LCFI33:
3918 .cfi_def_cfa_offset 8
3919 .cfi_offset 4, -8
3920 .cfi_offset 14, -4
3921 0002 0446 mov r4, r0
3922 .L219:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3923 .loc 1 2007 3 is_stmt 1 discriminator 1 view .LVU1282
3924 .LBB423:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
ARM GAS /tmp/cc8UBTH4.s page 165
3925 .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);
3926 .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);
3927 .loc 1 2007 3 discriminator 1 view .LVU1285
3928 0004 2268 ldr r2, [r4]
3929 .LVL333:
3930 .LBB424:
3931 .LBI424:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3932 .loc 2 476 31 discriminator 1 view .LVU1286
3933 .LBB425:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3934 .loc 2 478 5 discriminator 1 view .LVU1287
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3935 .loc 2 480 4 discriminator 1 view .LVU1288
3936 0006 02F10C03 add r3, r2, #12
3937 .LVL334:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3938 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1289
3939 .syntax unified
3940 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3941 000a 53E8003F ldrex r3, [r3]
3942 @ 0 "" 2
3943 .LVL335:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3944 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1290
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3945 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1291
3946 .thumb
3947 .syntax unified
3948 .LBE425:
3949 .LBE424:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3950 .loc 1 2007 3 discriminator 1 view .LVU1292
3951 000e 23F49073 bic r3, r3, #288
3952 .LVL336:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3953 .loc 1 2007 3 is_stmt 1 discriminator 1 view .LVU1293
3954 .LBB426:
3955 .LBI426:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3956 .loc 2 527 31 discriminator 1 view .LVU1294
3957 .LBB427:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
3958 .loc 2 529 4 discriminator 1 view .LVU1295
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3959 .loc 2 531 4 discriminator 1 view .LVU1296
3960 0012 0C32 adds r2, r2, #12
3961 .LVL337:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3962 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1297
3963 .syntax unified
3964 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3965 0014 42E80031 strex r1, r3, [r2]
3966 @ 0 "" 2
3967 .LVL338:
ARM GAS /tmp/cc8UBTH4.s page 166
3968 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1298
3969 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1299
3970 .thumb
3971 .syntax unified
3972 .LBE427:
3973 .LBE426:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3974 .loc 1 2007 3 discriminator 1 view .LVU1300
3975 0018 0029 cmp r1, #0
3976 001a F3D1 bne .L219
3977 .LVL339:
3978 .L220:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3979 .loc 1 2007 3 discriminator 1 view .LVU1301
3980 .LBE423:
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3981 .loc 1 2007 3 is_stmt 1 discriminator 1 view .LVU1302
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3982 .loc 1 2008 3 discriminator 1 view .LVU1303
3983 .LBB428:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3984 .loc 1 2008 3 discriminator 1 view .LVU1304
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3985 .loc 1 2008 3 discriminator 1 view .LVU1305
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3986 .loc 1 2008 3 discriminator 1 view .LVU1306
3987 001c 2268 ldr r2, [r4]
3988 .LVL340:
3989 .LBB429:
3990 .LBI429:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3991 .loc 2 476 31 discriminator 1 view .LVU1307
3992 .LBB430:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
3993 .loc 2 478 5 discriminator 1 view .LVU1308
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3994 .loc 2 480 4 discriminator 1 view .LVU1309
3995 001e 02F11403 add r3, r2, #20
3996 .LVL341:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3997 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1310
3998 .syntax unified
3999 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4000 0022 53E8003F ldrex r3, [r3]
4001 @ 0 "" 2
4002 .LVL342:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4003 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1311
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4004 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1312
4005 .thumb
4006 .syntax unified
4007 .LBE430:
4008 .LBE429:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4009 .loc 1 2008 3 discriminator 1 view .LVU1313
4010 0026 23F00103 bic r3, r3, #1
ARM GAS /tmp/cc8UBTH4.s page 167
4011 .LVL343:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4012 .loc 1 2008 3 is_stmt 1 discriminator 1 view .LVU1314
4013 .LBB431:
4014 .LBI431:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4015 .loc 2 527 31 discriminator 1 view .LVU1315
4016 .LBB432:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4017 .loc 2 529 4 discriminator 1 view .LVU1316
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4018 .loc 2 531 4 discriminator 1 view .LVU1317
4019 002a 1432 adds r2, r2, #20
4020 .LVL344:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4021 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1318
4022 .syntax unified
4023 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4024 002c 42E80031 strex r1, r3, [r2]
4025 @ 0 "" 2
4026 .LVL345:
4027 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1319
4028 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1320
4029 .thumb
4030 .syntax unified
4031 .LBE432:
4032 .LBE431:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4033 .loc 1 2008 3 discriminator 1 view .LVU1321
4034 0030 0029 cmp r1, #0
4035 0032 F3D1 bne .L220
4036 .LBE428:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4037 .loc 1 2008 3 is_stmt 1 discriminator 2 view .LVU1322
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4038 .loc 1 2011 3 discriminator 2 view .LVU1323
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4039 .loc 1 2011 12 is_stmt 0 discriminator 2 view .LVU1324
4040 0034 236B ldr r3, [r4, #48]
4041 .LVL346:
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4042 .loc 1 2011 6 discriminator 2 view .LVU1325
4043 0036 012B cmp r3, #1
4044 0038 1FD0 beq .L222
4045 .L221:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4046 .loc 1 2013 5 is_stmt 1 discriminator 2 view .LVU1326
2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4047 .loc 1 2017 3 discriminator 2 view .LVU1327
2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4048 .loc 1 2017 7 is_stmt 0 discriminator 2 view .LVU1328
4049 003a 2368 ldr r3, [r4]
4050 003c 5B69 ldr r3, [r3, #20]
2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4051 .loc 1 2017 6 discriminator 2 view .LVU1329
4052 003e 13F0400F tst r3, #64
4053 0042 13D0 beq .L223
ARM GAS /tmp/cc8UBTH4.s page 168
4054 .L224:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4055 .loc 1 2019 5 is_stmt 1 discriminator 1 view .LVU1330
4056 .LBB433:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4057 .loc 1 2019 5 discriminator 1 view .LVU1331
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4058 .loc 1 2019 5 discriminator 1 view .LVU1332
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4059 .loc 1 2019 5 discriminator 1 view .LVU1333
4060 0044 2268 ldr r2, [r4]
4061 .LVL347:
4062 .LBB434:
4063 .LBI434:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4064 .loc 2 476 31 discriminator 1 view .LVU1334
4065 .LBB435:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4066 .loc 2 478 5 discriminator 1 view .LVU1335
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4067 .loc 2 480 4 discriminator 1 view .LVU1336
4068 0046 02F11403 add r3, r2, #20
4069 .LVL348:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4070 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1337
4071 .syntax unified
4072 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4073 004a 53E8003F ldrex r3, [r3]
4074 @ 0 "" 2
4075 .LVL349:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4076 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1338
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4077 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1339
4078 .thumb
4079 .syntax unified
4080 .LBE435:
4081 .LBE434:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4082 .loc 1 2019 5 discriminator 1 view .LVU1340
4083 004e 23F04003 bic r3, r3, #64
4084 .LVL350:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4085 .loc 1 2019 5 is_stmt 1 discriminator 1 view .LVU1341
4086 .LBB436:
4087 .LBI436:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4088 .loc 2 527 31 discriminator 1 view .LVU1342
4089 .LBB437:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4090 .loc 2 529 4 discriminator 1 view .LVU1343
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4091 .loc 2 531 4 discriminator 1 view .LVU1344
4092 0052 1432 adds r2, r2, #20
4093 .LVL351:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4094 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1345
ARM GAS /tmp/cc8UBTH4.s page 169
4095 .syntax unified
4096 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4097 0054 42E80031 strex r1, r3, [r2]
4098 @ 0 "" 2
4099 .LVL352:
4100 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1346
4101 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1347
4102 .thumb
4103 .syntax unified
4104 .LBE437:
4105 .LBE436:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4106 .loc 1 2019 5 discriminator 1 view .LVU1348
4107 0058 0029 cmp r1, #0
4108 005a F3D1 bne .L224
4109 .LBE433:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4110 .loc 1 2019 5 is_stmt 1 discriminator 2 view .LVU1349
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4111 .loc 1 2022 5 discriminator 2 view .LVU1350
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4112 .loc 1 2022 14 is_stmt 0 discriminator 2 view .LVU1351
4113 005c E36B ldr r3, [r4, #60]
4114 .LVL353:
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4115 .loc 1 2022 8 discriminator 2 view .LVU1352
4116 005e 2BB1 cbz r3, .L223
2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4117 .loc 1 2026 7 is_stmt 1 view .LVU1353
2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4118 .loc 1 2026 40 is_stmt 0 view .LVU1354
4119 0060 0022 movs r2, #0
4120 0062 1A65 str r2, [r3, #80]
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4121 .loc 1 2028 7 is_stmt 1 view .LVU1355
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4122 .loc 1 2028 11 is_stmt 0 view .LVU1356
4123 0064 E06B ldr r0, [r4, #60]
4124 .LVL354:
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4125 .loc 1 2028 11 view .LVU1357
4126 0066 FFF7FEFF bl HAL_DMA_Abort
4127 .LVL355:
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4128 .loc 1 2028 10 view .LVU1358
4129 006a 98B9 cbnz r0, .L227
4130 .L223:
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4131 .loc 1 2042 3 is_stmt 1 view .LVU1359
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4132 .loc 1 2042 22 is_stmt 0 view .LVU1360
4133 006c 0020 movs r0, #0
4134 006e E085 strh r0, [r4, #46] @ movhi
2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4135 .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;
4136 .loc 1 2045 18 is_stmt 0 view .LVU1362
ARM GAS /tmp/cc8UBTH4.s page 170
4137 0070 2023 movs r3, #32
4138 0072 84F84230 strb r3, [r4, #66]
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4139 .loc 1 2046 3 is_stmt 1 view .LVU1363
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4140 .loc 1 2046 24 is_stmt 0 view .LVU1364
4141 0076 2063 str r0, [r4, #48]
2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4142 .loc 1 2048 3 is_stmt 1 view .LVU1365
4143 .L225:
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4144 .loc 1 2049 1 is_stmt 0 view .LVU1366
4145 0078 10BD pop {r4, pc}
4146 .LVL356:
4147 .L222:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4148 .loc 1 2013 5 is_stmt 1 discriminator 1 view .LVU1367
4149 .LBB438:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4150 .loc 1 2013 5 discriminator 1 view .LVU1368
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4151 .loc 1 2013 5 discriminator 1 view .LVU1369
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4152 .loc 1 2013 5 discriminator 1 view .LVU1370
4153 007a 2268 ldr r2, [r4]
4154 .LVL357:
4155 .LBB439:
4156 .LBI439:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4157 .loc 2 476 31 discriminator 1 view .LVU1371
4158 .LBB440:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4159 .loc 2 478 5 discriminator 1 view .LVU1372
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4160 .loc 2 480 4 discriminator 1 view .LVU1373
4161 007c 02F10C03 add r3, r2, #12
4162 .LVL358:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4163 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1374
4164 .syntax unified
4165 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4166 0080 53E8003F ldrex r3, [r3]
4167 @ 0 "" 2
4168 .LVL359:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4169 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1375
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4170 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1376
4171 .thumb
4172 .syntax unified
4173 .LBE440:
4174 .LBE439:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4175 .loc 1 2013 5 discriminator 1 view .LVU1377
4176 0084 23F01003 bic r3, r3, #16
4177 .LVL360:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 171
4178 .loc 1 2013 5 is_stmt 1 discriminator 1 view .LVU1378
4179 .LBB441:
4180 .LBI441:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4181 .loc 2 527 31 discriminator 1 view .LVU1379
4182 .LBB442:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4183 .loc 2 529 4 discriminator 1 view .LVU1380
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4184 .loc 2 531 4 discriminator 1 view .LVU1381
4185 0088 0C32 adds r2, r2, #12
4186 .LVL361:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4187 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1382
4188 .syntax unified
4189 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4190 008a 42E80031 strex r1, r3, [r2]
4191 @ 0 "" 2
4192 .LVL362:
4193 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1383
4194 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1384
4195 .thumb
4196 .syntax unified
4197 .LBE442:
4198 .LBE441:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4199 .loc 1 2013 5 discriminator 1 view .LVU1385
4200 008e 0029 cmp r1, #0
4201 0090 F3D1 bne .L222
4202 0092 D2E7 b .L221
4203 .LVL363:
4204 .L227:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4205 .loc 1 2013 5 discriminator 1 view .LVU1386
4206 .LBE438:
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4207 .loc 1 2030 9 is_stmt 1 view .LVU1387
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4208 .loc 1 2030 13 is_stmt 0 view .LVU1388
4209 0094 E06B ldr r0, [r4, #60]
4210 0096 FFF7FEFF bl HAL_DMA_GetError
4211 .LVL364:
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4212 .loc 1 2030 12 view .LVU1389
4213 009a 2028 cmp r0, #32
4214 009c E6D1 bne .L223
2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4215 .loc 1 2033 11 is_stmt 1 view .LVU1390
2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4216 .loc 1 2033 28 is_stmt 0 view .LVU1391
4217 009e 1023 movs r3, #16
4218 00a0 6364 str r3, [r4, #68]
2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4219 .loc 1 2035 11 is_stmt 1 view .LVU1392
2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4220 .loc 1 2035 18 is_stmt 0 view .LVU1393
4221 00a2 0320 movs r0, #3
ARM GAS /tmp/cc8UBTH4.s page 172
4222 00a4 E8E7 b .L225
4223 .cfi_endproc
4224 .LFE156:
4226 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
4227 .align 1
4228 .weak HAL_UART_TxCpltCallback
4229 .syntax unified
4230 .thumb
4231 .thumb_func
4232 .fpu fpv4-sp-d16
4234 HAL_UART_TxCpltCallback:
4235 .LVL365:
4236 .LFB161:
2620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4237 .loc 1 2620 1 is_stmt 1 view -0
4238 .cfi_startproc
4239 @ args = 0, pretend = 0, frame = 0
4240 @ frame_needed = 0, uses_anonymous_args = 0
4241 @ 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,
4242 .loc 1 2622 3 view .LVU1395
2626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4243 .loc 1 2626 1 is_stmt 0 view .LVU1396
4244 0000 7047 bx lr
4245 .cfi_endproc
4246 .LFE161:
4248 .section .text.UART_DMATransmitCplt,"ax",%progbits
4249 .align 1
4250 .syntax unified
4251 .thumb
4252 .thumb_func
4253 .fpu fpv4-sp-d16
4255 UART_DMATransmitCplt:
4256 .LVL366:
4257 .LFB177:
3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4258 .loc 1 3016 1 is_stmt 1 view -0
4259 .cfi_startproc
4260 @ args = 0, pretend = 0, frame = 0
4261 @ 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;
4262 .loc 1 3016 1 is_stmt 0 view .LVU1398
4263 0000 08B5 push {r3, lr}
4264 .LCFI34:
4265 .cfi_def_cfa_offset 8
4266 .cfi_offset 3, -8
4267 .cfi_offset 14, -4
4268 0002 0346 mov r3, r0
3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
4269 .loc 1 3017 3 is_stmt 1 view .LVU1399
3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
4270 .loc 1 3017 23 is_stmt 0 view .LVU1400
4271 0004 806B ldr r0, [r0, #56]
4272 .LVL367:
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4273 .loc 1 3019 3 is_stmt 1 view .LVU1401
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc8UBTH4.s page 173
4274 .loc 1 3019 12 is_stmt 0 view .LVU1402
4275 0006 1B68 ldr r3, [r3]
4276 .LVL368:
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4277 .loc 1 3019 22 view .LVU1403
4278 0008 1B68 ldr r3, [r3]
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4279 .loc 1 3019 6 view .LVU1404
4280 000a 13F4807F tst r3, #256
4281 000e 1AD1 bne .L230
3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4282 .loc 1 3021 5 is_stmt 1 view .LVU1405
3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4283 .loc 1 3021 24 is_stmt 0 view .LVU1406
4284 0010 0023 movs r3, #0
4285 0012 C384 strh r3, [r0, #38] @ movhi
4286 .L231:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4287 .loc 1 3025 5 is_stmt 1 discriminator 1 view .LVU1407
4288 .LBB443:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4289 .loc 1 3025 5 discriminator 1 view .LVU1408
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4290 .loc 1 3025 5 discriminator 1 view .LVU1409
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4291 .loc 1 3025 5 discriminator 1 view .LVU1410
4292 0014 0268 ldr r2, [r0]
4293 .LVL369:
4294 .LBB444:
4295 .LBI444:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4296 .loc 2 476 31 discriminator 1 view .LVU1411
4297 .LBB445:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4298 .loc 2 478 5 discriminator 1 view .LVU1412
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4299 .loc 2 480 4 discriminator 1 view .LVU1413
4300 0016 02F11403 add r3, r2, #20
4301 .LVL370:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4302 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1414
4303 .syntax unified
4304 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4305 001a 53E8003F ldrex r3, [r3]
4306 @ 0 "" 2
4307 .LVL371:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4308 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1415
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4309 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1416
4310 .thumb
4311 .syntax unified
4312 .LBE445:
4313 .LBE444:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4314 .loc 1 3025 5 discriminator 1 view .LVU1417
4315 001e 23F08003 bic r3, r3, #128
ARM GAS /tmp/cc8UBTH4.s page 174
4316 .LVL372:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4317 .loc 1 3025 5 is_stmt 1 discriminator 1 view .LVU1418
4318 .LBB446:
4319 .LBI446:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4320 .loc 2 527 31 discriminator 1 view .LVU1419
4321 .LBB447:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4322 .loc 2 529 4 discriminator 1 view .LVU1420
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4323 .loc 2 531 4 discriminator 1 view .LVU1421
4324 0022 1432 adds r2, r2, #20
4325 .LVL373:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4326 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1422
4327 .syntax unified
4328 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4329 0024 42E80031 strex r1, r3, [r2]
4330 @ 0 "" 2
4331 .LVL374:
4332 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1423
4333 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1424
4334 .thumb
4335 .syntax unified
4336 .LBE447:
4337 .LBE446:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4338 .loc 1 3025 5 discriminator 1 view .LVU1425
4339 0028 0029 cmp r1, #0
4340 002a F3D1 bne .L231
4341 .LVL375:
4342 .L232:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4343 .loc 1 3025 5 discriminator 1 view .LVU1426
4344 .LBE443:
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4345 .loc 1 3025 5 is_stmt 1 discriminator 1 view .LVU1427
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4346 .loc 1 3028 5 discriminator 1 view .LVU1428
4347 .LBB448:
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4348 .loc 1 3028 5 discriminator 1 view .LVU1429
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4349 .loc 1 3028 5 discriminator 1 view .LVU1430
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4350 .loc 1 3028 5 discriminator 1 view .LVU1431
4351 002c 0268 ldr r2, [r0]
4352 .LVL376:
4353 .LBB449:
4354 .LBI449:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4355 .loc 2 476 31 discriminator 1 view .LVU1432
4356 .LBB450:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4357 .loc 2 478 5 discriminator 1 view .LVU1433
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc8UBTH4.s page 175
4358 .loc 2 480 4 discriminator 1 view .LVU1434
4359 002e 02F10C03 add r3, r2, #12
4360 .LVL377:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4361 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1435
4362 .syntax unified
4363 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4364 0032 53E8003F ldrex r3, [r3]
4365 @ 0 "" 2
4366 .LVL378:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4367 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1436
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4368 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1437
4369 .thumb
4370 .syntax unified
4371 .LBE450:
4372 .LBE449:
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4373 .loc 1 3028 5 discriminator 1 view .LVU1438
4374 0036 43F04003 orr r3, r3, #64
4375 .LVL379:
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4376 .loc 1 3028 5 is_stmt 1 discriminator 1 view .LVU1439
4377 .LBB451:
4378 .LBI451:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4379 .loc 2 527 31 discriminator 1 view .LVU1440
4380 .LBB452:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4381 .loc 2 529 4 discriminator 1 view .LVU1441
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4382 .loc 2 531 4 discriminator 1 view .LVU1442
4383 003a 0C32 adds r2, r2, #12
4384 .LVL380:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4385 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1443
4386 .syntax unified
4387 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4388 003c 42E80031 strex r1, r3, [r2]
4389 @ 0 "" 2
4390 .LVL381:
4391 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1444
4392 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1445
4393 .thumb
4394 .syntax unified
4395 .LBE452:
4396 .LBE451:
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4397 .loc 1 3028 5 discriminator 1 view .LVU1446
4398 0040 0029 cmp r1, #0
4399 0042 F3D1 bne .L232
4400 .LVL382:
4401 .L229:
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4402 .loc 1 3028 5 discriminator 1 view .LVU1447
4403 .LBE448:
ARM GAS /tmp/cc8UBTH4.s page 176
3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4404 .loc 1 3042 1 view .LVU1448
4405 0044 08BD pop {r3, pc}
4406 .LVL383:
4407 .L230:
3039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4408 .loc 1 3039 5 is_stmt 1 view .LVU1449
4409 0046 FFF7FEFF bl HAL_UART_TxCpltCallback
4410 .LVL384:
3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4411 .loc 1 3042 1 is_stmt 0 view .LVU1450
4412 004a FBE7 b .L229
4413 .cfi_endproc
4414 .LFE177:
4416 .section .text.UART_EndTransmit_IT,"ax",%progbits
4417 .align 1
4418 .syntax unified
4419 .thumb
4420 .thumb_func
4421 .fpu fpv4-sp-d16
4423 UART_EndTransmit_IT:
4424 .LVL385:
4425 .LFB193:
3604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
4426 .loc 1 3604 1 is_stmt 1 view -0
4427 .cfi_startproc
4428 @ args = 0, pretend = 0, frame = 0
4429 @ frame_needed = 0, uses_anonymous_args = 0
3604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
4430 .loc 1 3604 1 is_stmt 0 view .LVU1452
4431 0000 08B5 push {r3, lr}
4432 .LCFI35:
4433 .cfi_def_cfa_offset 8
4434 .cfi_offset 3, -8
4435 .cfi_offset 14, -4
3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4436 .loc 1 3606 3 is_stmt 1 view .LVU1453
4437 0002 0168 ldr r1, [r0]
4438 0004 CA68 ldr r2, [r1, #12]
4439 0006 22F04002 bic r2, r2, #64
4440 000a CA60 str r2, [r1, #12]
3609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4441 .loc 1 3609 3 view .LVU1454
3609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4442 .loc 1 3609 17 is_stmt 0 view .LVU1455
4443 000c 2022 movs r2, #32
4444 000e 80F84120 strb r2, [r0, #65]
3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4445 .loc 1 3616 3 is_stmt 1 view .LVU1456
4446 0012 FFF7FEFF bl HAL_UART_TxCpltCallback
4447 .LVL386:
3619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4448 .loc 1 3619 3 view .LVU1457
3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4449 .loc 1 3620 1 is_stmt 0 view .LVU1458
4450 0016 0020 movs r0, #0
4451 0018 08BD pop {r3, pc}
ARM GAS /tmp/cc8UBTH4.s page 177
4452 .cfi_endproc
4453 .LFE193:
4455 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
4456 .align 1
4457 .weak HAL_UART_TxHalfCpltCallback
4458 .syntax unified
4459 .thumb
4460 .thumb_func
4461 .fpu fpv4-sp-d16
4463 HAL_UART_TxHalfCpltCallback:
4464 .LVL387:
4465 .LFB162:
2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4466 .loc 1 2635 1 is_stmt 1 view -0
4467 .cfi_startproc
4468 @ args = 0, pretend = 0, frame = 0
4469 @ frame_needed = 0, uses_anonymous_args = 0
4470 @ 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,
4471 .loc 1 2637 3 view .LVU1460
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4472 .loc 1 2641 1 is_stmt 0 view .LVU1461
4473 0000 7047 bx lr
4474 .cfi_endproc
4475 .LFE162:
4477 .section .text.UART_DMATxHalfCplt,"ax",%progbits
4478 .align 1
4479 .syntax unified
4480 .thumb
4481 .thumb_func
4482 .fpu fpv4-sp-d16
4484 UART_DMATxHalfCplt:
4485 .LVL388:
4486 .LFB178:
3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4487 .loc 1 3051 1 is_stmt 1 view -0
4488 .cfi_startproc
4489 @ args = 0, pretend = 0, frame = 0
4490 @ 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;
4491 .loc 1 3051 1 is_stmt 0 view .LVU1463
4492 0000 08B5 push {r3, lr}
4493 .LCFI36:
4494 .cfi_def_cfa_offset 8
4495 .cfi_offset 3, -8
4496 .cfi_offset 14, -4
3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4497 .loc 1 3052 3 is_stmt 1 view .LVU1464
4498 .LVL389:
3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4499 .loc 1 3059 3 view .LVU1465
4500 0002 806B ldr r0, [r0, #56]
4501 .LVL390:
3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4502 .loc 1 3059 3 is_stmt 0 view .LVU1466
4503 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
4504 .LVL391:
ARM GAS /tmp/cc8UBTH4.s page 178
3061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4505 .loc 1 3061 1 view .LVU1467
4506 0008 08BD pop {r3, pc}
4507 .cfi_endproc
4508 .LFE178:
4510 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
4511 .align 1
4512 .weak HAL_UART_RxCpltCallback
4513 .syntax unified
4514 .thumb
4515 .thumb_func
4516 .fpu fpv4-sp-d16
4518 HAL_UART_RxCpltCallback:
4519 .LVL392:
4520 .LFB163:
2650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4521 .loc 1 2650 1 is_stmt 1 view -0
4522 .cfi_startproc
4523 @ args = 0, pretend = 0, frame = 0
4524 @ frame_needed = 0, uses_anonymous_args = 0
4525 @ 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,
4526 .loc 1 2652 3 view .LVU1469
2656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4527 .loc 1 2656 1 is_stmt 0 view .LVU1470
4528 0000 7047 bx lr
4529 .cfi_endproc
4530 .LFE163:
4532 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
4533 .align 1
4534 .weak HAL_UART_RxHalfCpltCallback
4535 .syntax unified
4536 .thumb
4537 .thumb_func
4538 .fpu fpv4-sp-d16
4540 HAL_UART_RxHalfCpltCallback:
4541 .LVL393:
4542 .LFB164:
2665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4543 .loc 1 2665 1 is_stmt 1 view -0
4544 .cfi_startproc
4545 @ args = 0, pretend = 0, frame = 0
4546 @ frame_needed = 0, uses_anonymous_args = 0
4547 @ 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,
4548 .loc 1 2667 3 view .LVU1472
2671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4549 .loc 1 2671 1 is_stmt 0 view .LVU1473
4550 0000 7047 bx lr
4551 .cfi_endproc
4552 .LFE164:
4554 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
4555 .align 1
4556 .weak HAL_UART_ErrorCallback
4557 .syntax unified
4558 .thumb
4559 .thumb_func
ARM GAS /tmp/cc8UBTH4.s page 179
4560 .fpu fpv4-sp-d16
4562 HAL_UART_ErrorCallback:
4563 .LVL394:
4564 .LFB165:
2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4565 .loc 1 2680 1 is_stmt 1 view -0
4566 .cfi_startproc
4567 @ args = 0, pretend = 0, frame = 0
4568 @ frame_needed = 0, uses_anonymous_args = 0
4569 @ 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,
4570 .loc 1 2682 3 view .LVU1475
2686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4571 .loc 1 2686 1 is_stmt 0 view .LVU1476
4572 0000 7047 bx lr
4573 .cfi_endproc
4574 .LFE165:
4576 .section .text.UART_DMAError,"ax",%progbits
4577 .align 1
4578 .syntax unified
4579 .thumb
4580 .thumb_func
4581 .fpu fpv4-sp-d16
4583 UART_DMAError:
4584 .LVL395:
4585 .LFB181:
3171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
4586 .loc 1 3171 1 is_stmt 1 view -0
4587 .cfi_startproc
4588 @ args = 0, pretend = 0, frame = 0
4589 @ frame_needed = 0, uses_anonymous_args = 0
3171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
4590 .loc 1 3171 1 is_stmt 0 view .LVU1478
4591 0000 10B5 push {r4, lr}
4592 .LCFI37:
4593 .cfi_def_cfa_offset 8
4594 .cfi_offset 4, -8
4595 .cfi_offset 14, -4
3172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4596 .loc 1 3172 3 is_stmt 1 view .LVU1479
4597 .LVL396:
3173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4598 .loc 1 3173 3 view .LVU1480
3173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4599 .loc 1 3173 23 is_stmt 0 view .LVU1481
4600 0002 846B ldr r4, [r0, #56]
4601 .LVL397:
3176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
4602 .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)
4603 .loc 1 3176 16 is_stmt 0 view .LVU1483
4604 0004 2368 ldr r3, [r4]
4605 0006 5A69 ldr r2, [r3, #20]
4606 .LVL398:
3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4607 .loc 1 3177 3 is_stmt 1 view .LVU1484
3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc8UBTH4.s page 180
4608 .loc 1 3177 13 is_stmt 0 view .LVU1485
4609 0008 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2
4610 000c DBB2 uxtb r3, r3
3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4611 .loc 1 3177 6 view .LVU1486
4612 000e 212B cmp r3, #33
4613 0010 10D0 beq .L247
4614 .LVL399:
4615 .L244:
3184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
4616 .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)
4617 .loc 1 3184 16 is_stmt 0 view .LVU1488
4618 0012 2368 ldr r3, [r4]
4619 0014 5A69 ldr r2, [r3, #20]
4620 0016 02F04002 and r2, r2, #64
4621 .LVL400:
3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4622 .loc 1 3185 3 is_stmt 1 view .LVU1489
3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4623 .loc 1 3185 13 is_stmt 0 view .LVU1490
4624 001a 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2
4625 001e DBB2 uxtb r3, r3
3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4626 .loc 1 3185 6 view .LVU1491
4627 0020 222B cmp r3, #34
4628 0022 11D0 beq .L248
4629 .LVL401:
4630 .L245:
3191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4631 .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)
4632 .loc 1 3191 20 is_stmt 0 view .LVU1493
4633 0024 636C ldr r3, [r4, #68]
4634 0026 43F01003 orr r3, r3, #16
4635 002a 6364 str r3, [r4, #68]
3197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4636 .loc 1 3197 3 is_stmt 1 view .LVU1494
4637 002c 2046 mov r0, r4
4638 002e FFF7FEFF bl HAL_UART_ErrorCallback
4639 .LVL402:
3199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4640 .loc 1 3199 1 is_stmt 0 view .LVU1495
4641 0032 10BD pop {r4, pc}
4642 .LVL403:
4643 .L247:
3199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4644 .loc 1 3199 1 view .LVU1496
4645 0034 02F08002 and r2, r2, #128
4646 .LVL404:
3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4647 .loc 1 3177 49 discriminator 1 view .LVU1497
4648 0038 002A cmp r2, #0
4649 003a EAD0 beq .L244
3179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
4650 .loc 1 3179 5 is_stmt 1 view .LVU1498
3179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
ARM GAS /tmp/cc8UBTH4.s page 181
4651 .loc 1 3179 24 is_stmt 0 view .LVU1499
4652 003c 0023 movs r3, #0
4653 003e E384 strh r3, [r4, #38] @ movhi
3180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4654 .loc 1 3180 5 is_stmt 1 view .LVU1500
4655 0040 2046 mov r0, r4
4656 .LVL405:
3180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4657 .loc 1 3180 5 is_stmt 0 view .LVU1501
4658 0042 FFF7FEFF bl UART_EndTxTransfer
4659 .LVL406:
4660 0046 E4E7 b .L244
4661 .LVL407:
4662 .L248:
3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4663 .loc 1 3185 50 discriminator 1 view .LVU1502
4664 0048 002A cmp r2, #0
4665 004a EBD0 beq .L245
3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
4666 .loc 1 3187 5 is_stmt 1 view .LVU1503
3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
4667 .loc 1 3187 24 is_stmt 0 view .LVU1504
4668 004c 0023 movs r3, #0
4669 004e E385 strh r3, [r4, #46] @ movhi
3188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4670 .loc 1 3188 5 is_stmt 1 view .LVU1505
4671 0050 2046 mov r0, r4
4672 0052 FFF7FEFF bl UART_EndRxTransfer
4673 .LVL408:
3188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4674 .loc 1 3188 5 is_stmt 0 view .LVU1506
4675 0056 E5E7 b .L245
4676 .cfi_endproc
4677 .LFE181:
4679 .section .text.UART_DMAAbortOnError,"ax",%progbits
4680 .align 1
4681 .syntax unified
4682 .thumb
4683 .thumb_func
4684 .fpu fpv4-sp-d16
4686 UART_DMAAbortOnError:
4687 .LVL409:
4688 .LFB187:
3395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4689 .loc 1 3395 1 is_stmt 1 view -0
4690 .cfi_startproc
4691 @ args = 0, pretend = 0, frame = 0
4692 @ 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;
4693 .loc 1 3395 1 is_stmt 0 view .LVU1508
4694 0000 08B5 push {r3, lr}
4695 .LCFI38:
4696 .cfi_def_cfa_offset 8
4697 .cfi_offset 3, -8
4698 .cfi_offset 14, -4
3396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
4699 .loc 1 3396 3 is_stmt 1 view .LVU1509
ARM GAS /tmp/cc8UBTH4.s page 182
3396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
4700 .loc 1 3396 23 is_stmt 0 view .LVU1510
4701 0002 806B ldr r0, [r0, #56]
4702 .LVL410:
3397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4703 .loc 1 3397 3 is_stmt 1 view .LVU1511
3397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4704 .loc 1 3397 22 is_stmt 0 view .LVU1512
4705 0004 0023 movs r3, #0
4706 0006 C385 strh r3, [r0, #46] @ movhi
3404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4707 .loc 1 3404 3 is_stmt 1 view .LVU1513
4708 0008 FFF7FEFF bl HAL_UART_ErrorCallback
4709 .LVL411:
3406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4710 .loc 1 3406 1 is_stmt 0 view .LVU1514
4711 000c 08BD pop {r3, pc}
4712 .cfi_endproc
4713 .LFE187:
4715 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
4716 .align 1
4717 .weak HAL_UART_AbortCpltCallback
4718 .syntax unified
4719 .thumb
4720 .thumb_func
4721 .fpu fpv4-sp-d16
4723 HAL_UART_AbortCpltCallback:
4724 .LVL412:
4725 .LFB166:
2694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4726 .loc 1 2694 1 is_stmt 1 view -0
4727 .cfi_startproc
4728 @ args = 0, pretend = 0, frame = 0
4729 @ frame_needed = 0, uses_anonymous_args = 0
4730 @ link register save eliminated.
2696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4731 .loc 1 2696 3 view .LVU1516
2701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4732 .loc 1 2701 1 is_stmt 0 view .LVU1517
4733 0000 7047 bx lr
4734 .cfi_endproc
4735 .LFE166:
4737 .section .text.HAL_UART_Abort_IT,"ax",%progbits
4738 .align 1
4739 .global HAL_UART_Abort_IT
4740 .syntax unified
4741 .thumb
4742 .thumb_func
4743 .fpu fpv4-sp-d16
4745 HAL_UART_Abort_IT:
4746 .LVL413:
4747 .LFB157:
2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
4748 .loc 1 2066 1 is_stmt 1 view -0
4749 .cfi_startproc
4750 @ args = 0, pretend = 0, frame = 0
4751 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/cc8UBTH4.s page 183
2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
4752 .loc 1 2066 1 is_stmt 0 view .LVU1519
4753 0000 38B5 push {r3, r4, r5, lr}
4754 .LCFI39:
4755 .cfi_def_cfa_offset 16
4756 .cfi_offset 3, -16
4757 .cfi_offset 4, -12
4758 .cfi_offset 5, -8
4759 .cfi_offset 14, -4
4760 0002 0446 mov r4, r0
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4761 .loc 1 2067 3 is_stmt 1 view .LVU1520
4762 .LVL414:
4763 .L253:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4764 .loc 1 2070 3 discriminator 1 view .LVU1521
4765 .LBB453:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4766 .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);
4767 .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);
4768 .loc 1 2070 3 discriminator 1 view .LVU1524
4769 0004 2268 ldr r2, [r4]
4770 .LVL415:
4771 .LBB454:
4772 .LBI454:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4773 .loc 2 476 31 discriminator 1 view .LVU1525
4774 .LBB455:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4775 .loc 2 478 5 discriminator 1 view .LVU1526
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4776 .loc 2 480 4 discriminator 1 view .LVU1527
4777 0006 02F10C03 add r3, r2, #12
4778 .LVL416:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4779 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1528
4780 .syntax unified
4781 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4782 000a 53E8003F ldrex r3, [r3]
4783 @ 0 "" 2
4784 .LVL417:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4785 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1529
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4786 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1530
4787 .thumb
4788 .syntax unified
4789 .LBE455:
4790 .LBE454:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4791 .loc 1 2070 3 discriminator 1 view .LVU1531
4792 000e 23F4F073 bic r3, r3, #480
4793 .LVL418:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4794 .loc 1 2070 3 is_stmt 1 discriminator 1 view .LVU1532
ARM GAS /tmp/cc8UBTH4.s page 184
4795 .LBB456:
4796 .LBI456:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4797 .loc 2 527 31 discriminator 1 view .LVU1533
4798 .LBB457:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4799 .loc 2 529 4 discriminator 1 view .LVU1534
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4800 .loc 2 531 4 discriminator 1 view .LVU1535
4801 0012 0C32 adds r2, r2, #12
4802 .LVL419:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4803 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1536
4804 .syntax unified
4805 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4806 0014 42E80031 strex r1, r3, [r2]
4807 @ 0 "" 2
4808 .LVL420:
4809 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1537
4810 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1538
4811 .thumb
4812 .syntax unified
4813 .LBE457:
4814 .LBE456:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4815 .loc 1 2070 3 discriminator 1 view .LVU1539
4816 0018 0029 cmp r1, #0
4817 001a F3D1 bne .L253
4818 .LVL421:
4819 .L254:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4820 .loc 1 2070 3 discriminator 1 view .LVU1540
4821 .LBE453:
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4822 .loc 1 2070 3 is_stmt 1 discriminator 1 view .LVU1541
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4823 .loc 1 2071 3 discriminator 1 view .LVU1542
4824 .LBB458:
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4825 .loc 1 2071 3 discriminator 1 view .LVU1543
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4826 .loc 1 2071 3 discriminator 1 view .LVU1544
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4827 .loc 1 2071 3 discriminator 1 view .LVU1545
4828 001c 2268 ldr r2, [r4]
4829 .LVL422:
4830 .LBB459:
4831 .LBI459:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4832 .loc 2 476 31 discriminator 1 view .LVU1546
4833 .LBB460:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4834 .loc 2 478 5 discriminator 1 view .LVU1547
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4835 .loc 2 480 4 discriminator 1 view .LVU1548
4836 001e 02F11403 add r3, r2, #20
4837 .LVL423:
ARM GAS /tmp/cc8UBTH4.s page 185
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4838 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1549
4839 .syntax unified
4840 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4841 0022 53E8003F ldrex r3, [r3]
4842 @ 0 "" 2
4843 .LVL424:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4844 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1550
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4845 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1551
4846 .thumb
4847 .syntax unified
4848 .LBE460:
4849 .LBE459:
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4850 .loc 1 2071 3 discriminator 1 view .LVU1552
4851 0026 23F00103 bic r3, r3, #1
4852 .LVL425:
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4853 .loc 1 2071 3 is_stmt 1 discriminator 1 view .LVU1553
4854 .LBB461:
4855 .LBI461:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4856 .loc 2 527 31 discriminator 1 view .LVU1554
4857 .LBB462:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4858 .loc 2 529 4 discriminator 1 view .LVU1555
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4859 .loc 2 531 4 discriminator 1 view .LVU1556
4860 002a 1432 adds r2, r2, #20
4861 .LVL426:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4862 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1557
4863 .syntax unified
4864 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4865 002c 42E80031 strex r1, r3, [r2]
4866 @ 0 "" 2
4867 .LVL427:
4868 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1558
4869 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1559
4870 .thumb
4871 .syntax unified
4872 .LBE462:
4873 .LBE461:
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4874 .loc 1 2071 3 discriminator 1 view .LVU1560
4875 0030 0029 cmp r1, #0
4876 0032 F3D1 bne .L254
4877 .LBE458:
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4878 .loc 1 2071 3 is_stmt 1 discriminator 2 view .LVU1561
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4879 .loc 1 2074 3 discriminator 2 view .LVU1562
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4880 .loc 1 2074 12 is_stmt 0 discriminator 2 view .LVU1563
4881 0034 236B ldr r3, [r4, #48]
ARM GAS /tmp/cc8UBTH4.s page 186
4882 .LVL428:
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4883 .loc 1 2074 6 discriminator 2 view .LVU1564
4884 0036 012B cmp r3, #1
4885 0038 2ED0 beq .L256
4886 .L255:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4887 .loc 1 2076 5 is_stmt 1 discriminator 2 view .LVU1565
2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4888 .loc 1 2082 3 discriminator 2 view .LVU1566
2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4889 .loc 1 2082 12 is_stmt 0 discriminator 2 view .LVU1567
4890 003a A36B ldr r3, [r4, #56]
2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4891 .loc 1 2082 6 discriminator 2 view .LVU1568
4892 003c 33B1 cbz r3, .L257
2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4893 .loc 1 2086 5 is_stmt 1 view .LVU1569
2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4894 .loc 1 2086 9 is_stmt 0 view .LVU1570
4895 003e 2268 ldr r2, [r4]
4896 0040 5269 ldr r2, [r2, #20]
2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4897 .loc 1 2086 8 view .LVU1571
4898 0042 12F0800F tst r2, #128
4899 0046 34D0 beq .L258
2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4900 .loc 1 2088 7 is_stmt 1 view .LVU1572
2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4901 .loc 1 2088 40 is_stmt 0 view .LVU1573
4902 0048 344A ldr r2, .L270
4903 004a 1A65 str r2, [r3, #80]
4904 .L257:
2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4905 .loc 1 2096 3 is_stmt 1 view .LVU1574
2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4906 .loc 1 2096 12 is_stmt 0 view .LVU1575
4907 004c E36B ldr r3, [r4, #60]
2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4908 .loc 1 2096 6 view .LVU1576
4909 004e 33B1 cbz r3, .L259
2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4910 .loc 1 2100 5 is_stmt 1 view .LVU1577
2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4911 .loc 1 2100 9 is_stmt 0 view .LVU1578
4912 0050 2268 ldr r2, [r4]
4913 0052 5269 ldr r2, [r2, #20]
2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4914 .loc 1 2100 8 view .LVU1579
4915 0054 12F0400F tst r2, #64
4916 0058 2ED0 beq .L260
2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4917 .loc 1 2102 7 is_stmt 1 view .LVU1580
2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4918 .loc 1 2102 40 is_stmt 0 view .LVU1581
4919 005a 314A ldr r2, .L270+4
4920 005c 1A65 str r2, [r3, #80]
ARM GAS /tmp/cc8UBTH4.s page 187
4921 .L259:
2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4922 .loc 1 2111 3 is_stmt 1 view .LVU1582
2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4923 .loc 1 2111 7 is_stmt 0 view .LVU1583
4924 005e 2368 ldr r3, [r4]
4925 0060 5B69 ldr r3, [r3, #20]
2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4926 .loc 1 2111 6 view .LVU1584
4927 0062 13F0800F tst r3, #128
4928 0066 2AD0 beq .L267
4929 .L262:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4930 .loc 1 2114 5 is_stmt 1 discriminator 1 view .LVU1585
4931 .LBB463:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4932 .loc 1 2114 5 discriminator 1 view .LVU1586
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4933 .loc 1 2114 5 discriminator 1 view .LVU1587
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4934 .loc 1 2114 5 discriminator 1 view .LVU1588
4935 0068 2168 ldr r1, [r4]
4936 .LVL429:
4937 .LBB464:
4938 .LBI464:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4939 .loc 2 476 31 discriminator 1 view .LVU1589
4940 .LBB465:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
4941 .loc 2 478 5 discriminator 1 view .LVU1590
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4942 .loc 2 480 4 discriminator 1 view .LVU1591
4943 006a 01F11403 add r3, r1, #20
4944 .LVL430:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4945 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1592
4946 .syntax unified
4947 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4948 006e 53E8003F ldrex r3, [r3]
4949 @ 0 "" 2
4950 .LVL431:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4951 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1593
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4952 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1594
4953 .thumb
4954 .syntax unified
4955 .LBE465:
4956 .LBE464:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4957 .loc 1 2114 5 discriminator 1 view .LVU1595
4958 0072 23F08003 bic r3, r3, #128
4959 .LVL432:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4960 .loc 1 2114 5 is_stmt 1 discriminator 1 view .LVU1596
4961 .LBB466:
4962 .LBI466:
ARM GAS /tmp/cc8UBTH4.s page 188
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4963 .loc 2 527 31 discriminator 1 view .LVU1597
4964 .LBB467:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
4965 .loc 2 529 4 discriminator 1 view .LVU1598
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4966 .loc 2 531 4 discriminator 1 view .LVU1599
4967 0076 1431 adds r1, r1, #20
4968 .LVL433:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4969 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1600
4970 .syntax unified
4971 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4972 0078 41E80032 strex r2, r3, [r1]
4973 @ 0 "" 2
4974 .thumb
4975 .syntax unified
4976 007c 1546 mov r5, r2
4977 .LVL434:
4978 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1601
4979 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1602
4980 .LBE467:
4981 .LBE466:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4982 .loc 1 2114 5 discriminator 1 view .LVU1603
4983 007e 002A cmp r2, #0
4984 0080 F2D1 bne .L262
4985 .LBE463:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4986 .loc 1 2114 5 is_stmt 1 discriminator 2 view .LVU1604
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4987 .loc 1 2117 5 discriminator 2 view .LVU1605
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4988 .loc 1 2117 14 is_stmt 0 discriminator 2 view .LVU1606
4989 0082 A06B ldr r0, [r4, #56]
4990 .LVL435:
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4991 .loc 1 2117 8 discriminator 2 view .LVU1607
4992 0084 0028 cmp r0, #0
4993 0086 42D0 beq .L268
2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4994 .loc 1 2123 7 is_stmt 1 view .LVU1608
2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4995 .loc 1 2123 11 is_stmt 0 view .LVU1609
4996 0088 FFF7FEFF bl HAL_DMA_Abort_IT
4997 .LVL436:
2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4998 .loc 1 2123 10 view .LVU1610
4999 008c C0B1 cbz r0, .L261
2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5000 .loc 1 2125 9 is_stmt 1 view .LVU1611
2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5001 .loc 1 2125 14 is_stmt 0 view .LVU1612
5002 008e A36B ldr r3, [r4, #56]
2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5003 .loc 1 2125 42 view .LVU1613
5004 0090 0022 movs r2, #0
ARM GAS /tmp/cc8UBTH4.s page 189
5005 0092 1A65 str r2, [r3, #80]
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5006 .loc 1 2067 12 view .LVU1614
5007 0094 0125 movs r5, #1
5008 0096 13E0 b .L261
5009 .LVL437:
5010 .L256:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5011 .loc 1 2076 5 is_stmt 1 discriminator 1 view .LVU1615
5012 .LBB468:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5013 .loc 1 2076 5 discriminator 1 view .LVU1616
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5014 .loc 1 2076 5 discriminator 1 view .LVU1617
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5015 .loc 1 2076 5 discriminator 1 view .LVU1618
5016 0098 2268 ldr r2, [r4]
5017 .LVL438:
5018 .LBB469:
5019 .LBI469:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5020 .loc 2 476 31 discriminator 1 view .LVU1619
5021 .LBB470:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5022 .loc 2 478 5 discriminator 1 view .LVU1620
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5023 .loc 2 480 4 discriminator 1 view .LVU1621
5024 009a 02F10C03 add r3, r2, #12
5025 .LVL439:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5026 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1622
5027 .syntax unified
5028 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5029 009e 53E8003F ldrex r3, [r3]
5030 @ 0 "" 2
5031 .LVL440:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5032 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1623
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5033 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1624
5034 .thumb
5035 .syntax unified
5036 .LBE470:
5037 .LBE469:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5038 .loc 1 2076 5 discriminator 1 view .LVU1625
5039 00a2 23F01003 bic r3, r3, #16
5040 .LVL441:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5041 .loc 1 2076 5 is_stmt 1 discriminator 1 view .LVU1626
5042 .LBB471:
5043 .LBI471:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5044 .loc 2 527 31 discriminator 1 view .LVU1627
5045 .LBB472:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5046 .loc 2 529 4 discriminator 1 view .LVU1628
ARM GAS /tmp/cc8UBTH4.s page 190
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5047 .loc 2 531 4 discriminator 1 view .LVU1629
5048 00a6 0C32 adds r2, r2, #12
5049 .LVL442:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5050 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1630
5051 .syntax unified
5052 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5053 00a8 42E80031 strex r1, r3, [r2]
5054 @ 0 "" 2
5055 .LVL443:
5056 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1631
5057 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1632
5058 .thumb
5059 .syntax unified
5060 .LBE472:
5061 .LBE471:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5062 .loc 1 2076 5 discriminator 1 view .LVU1633
5063 00ac 0029 cmp r1, #0
5064 00ae F3D1 bne .L256
5065 00b0 C3E7 b .L255
5066 .LVL444:
5067 .L258:
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5068 .loc 1 2076 5 discriminator 1 view .LVU1634
5069 .LBE468:
2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5070 .loc 1 2092 7 is_stmt 1 view .LVU1635
2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5071 .loc 1 2092 40 is_stmt 0 view .LVU1636
5072 00b2 0022 movs r2, #0
5073 00b4 1A65 str r2, [r3, #80]
5074 00b6 C9E7 b .L257
5075 .L260:
2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5076 .loc 1 2106 7 is_stmt 1 view .LVU1637
2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5077 .loc 1 2106 40 is_stmt 0 view .LVU1638
5078 00b8 0022 movs r2, #0
5079 00ba 1A65 str r2, [r3, #80]
5080 00bc CFE7 b .L259
5081 .L267:
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5082 .loc 1 2067 12 view .LVU1639
5083 00be 0125 movs r5, #1
5084 .LVL445:
5085 .L261:
2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5086 .loc 1 2135 3 is_stmt 1 view .LVU1640
2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5087 .loc 1 2135 7 is_stmt 0 view .LVU1641
5088 00c0 2368 ldr r3, [r4]
5089 00c2 5B69 ldr r3, [r3, #20]
2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5090 .loc 1 2135 6 view .LVU1642
5091 00c4 13F0400F tst r3, #64
ARM GAS /tmp/cc8UBTH4.s page 191
5092 00c8 23D0 beq .L263
5093 .L264:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5094 .loc 1 2137 5 is_stmt 1 discriminator 1 view .LVU1643
5095 .LBB473:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5096 .loc 1 2137 5 discriminator 1 view .LVU1644
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5097 .loc 1 2137 5 discriminator 1 view .LVU1645
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5098 .loc 1 2137 5 discriminator 1 view .LVU1646
5099 00ca 2268 ldr r2, [r4]
5100 .LVL446:
5101 .LBB474:
5102 .LBI474:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5103 .loc 2 476 31 discriminator 1 view .LVU1647
5104 .LBB475:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5105 .loc 2 478 5 discriminator 1 view .LVU1648
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5106 .loc 2 480 4 discriminator 1 view .LVU1649
5107 00cc 02F11403 add r3, r2, #20
5108 .LVL447:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5109 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1650
5110 .syntax unified
5111 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5112 00d0 53E8003F ldrex r3, [r3]
5113 @ 0 "" 2
5114 .LVL448:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5115 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1651
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5116 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1652
5117 .thumb
5118 .syntax unified
5119 .LBE475:
5120 .LBE474:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5121 .loc 1 2137 5 discriminator 1 view .LVU1653
5122 00d4 23F04003 bic r3, r3, #64
5123 .LVL449:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5124 .loc 1 2137 5 is_stmt 1 discriminator 1 view .LVU1654
5125 .LBB476:
5126 .LBI476:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5127 .loc 2 527 31 discriminator 1 view .LVU1655
5128 .LBB477:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5129 .loc 2 529 4 discriminator 1 view .LVU1656
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5130 .loc 2 531 4 discriminator 1 view .LVU1657
5131 00d8 1432 adds r2, r2, #20
5132 .LVL450:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc8UBTH4.s page 192
5133 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1658
5134 .syntax unified
5135 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5136 00da 42E80031 strex r1, r3, [r2]
5137 @ 0 "" 2
5138 .LVL451:
5139 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1659
5140 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1660
5141 .thumb
5142 .syntax unified
5143 .LBE477:
5144 .LBE476:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5145 .loc 1 2137 5 discriminator 1 view .LVU1661
5146 00de 0029 cmp r1, #0
5147 00e0 F3D1 bne .L264
5148 .LBE473:
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5149 .loc 1 2137 5 is_stmt 1 discriminator 2 view .LVU1662
2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5150 .loc 1 2140 5 discriminator 2 view .LVU1663
2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5151 .loc 1 2140 14 is_stmt 0 discriminator 2 view .LVU1664
5152 00e2 E06B ldr r0, [r4, #60]
2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5153 .loc 1 2140 8 discriminator 2 view .LVU1665
5154 00e4 A8B1 cbz r0, .L263
2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5155 .loc 1 2146 7 is_stmt 1 view .LVU1666
2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5156 .loc 1 2146 11 is_stmt 0 view .LVU1667
5157 00e6 FFF7FEFF bl HAL_DMA_Abort_IT
5158 .LVL452:
2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5159 .loc 1 2146 10 view .LVU1668
5160 00ea A0B1 cbz r0, .L265
2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
5161 .loc 1 2148 9 is_stmt 1 view .LVU1669
2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
5162 .loc 1 2148 14 is_stmt 0 view .LVU1670
5163 00ec E36B ldr r3, [r4, #60]
2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
5164 .loc 1 2148 42 view .LVU1671
5165 00ee 0022 movs r2, #0
5166 00f0 1A65 str r2, [r3, #80]
2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5167 .loc 1 2149 9 is_stmt 1 view .LVU1672
5168 .LVL453:
2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5169 .loc 1 2159 3 view .LVU1673
5170 .L266:
2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5171 .loc 1 2162 5 view .LVU1674
2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5172 .loc 1 2162 24 is_stmt 0 view .LVU1675
5173 00f2 0023 movs r3, #0
5174 00f4 E384 strh r3, [r4, #38] @ movhi
ARM GAS /tmp/cc8UBTH4.s page 193
2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5175 .loc 1 2163 5 is_stmt 1 view .LVU1676
2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5176 .loc 1 2163 24 is_stmt 0 view .LVU1677
5177 00f6 E385 strh r3, [r4, #46] @ movhi
2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5178 .loc 1 2166 5 is_stmt 1 view .LVU1678
2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5179 .loc 1 2166 22 is_stmt 0 view .LVU1679
5180 00f8 6364 str r3, [r4, #68]
2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5181 .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;
5182 .loc 1 2169 20 is_stmt 0 view .LVU1681
5183 00fa 2022 movs r2, #32
5184 00fc 84F84120 strb r2, [r4, #65]
2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5185 .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;
5186 .loc 1 2170 20 is_stmt 0 view .LVU1683
5187 0100 84F84220 strb r2, [r4, #66]
2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5188 .loc 1 2171 5 is_stmt 1 view .LVU1684
2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5189 .loc 1 2171 26 is_stmt 0 view .LVU1685
5190 0104 2363 str r3, [r4, #48]
2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5191 .loc 1 2179 5 is_stmt 1 view .LVU1686
5192 0106 2046 mov r0, r4
5193 0108 FFF7FEFF bl HAL_UART_AbortCpltCallback
5194 .LVL454:
5195 010c 03E0 b .L265
5196 .LVL455:
5197 .L268:
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5198 .loc 1 2067 12 is_stmt 0 view .LVU1687
5199 010e 0125 movs r5, #1
5200 0110 D6E7 b .L261
5201 .LVL456:
5202 .L263:
2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5203 .loc 1 2159 3 is_stmt 1 view .LVU1688
2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5204 .loc 1 2159 6 is_stmt 0 view .LVU1689
5205 0112 012D cmp r5, #1
5206 0114 EDD0 beq .L266
5207 .LVL457:
5208 .L265:
2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5209 .loc 1 2183 3 is_stmt 1 view .LVU1690
2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5210 .loc 1 2184 1 is_stmt 0 view .LVU1691
5211 0116 0020 movs r0, #0
5212 0118 38BD pop {r3, r4, r5, pc}
5213 .LVL458:
5214 .L271:
2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 194
5215 .loc 1 2184 1 view .LVU1692
5216 011a 00BF .align 2
5217 .L270:
5218 011c 00000000 .word UART_DMATxAbortCallback
5219 0120 00000000 .word UART_DMARxAbortCallback
5220 .cfi_endproc
5221 .LFE157:
5223 .section .text.UART_DMARxAbortCallback,"ax",%progbits
5224 .align 1
5225 .syntax unified
5226 .thumb
5227 .thumb_func
5228 .fpu fpv4-sp-d16
5230 UART_DMARxAbortCallback:
5231 .LVL459:
5232 .LFB189:
3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5233 .loc 1 3464 1 is_stmt 1 view -0
5234 .cfi_startproc
5235 @ args = 0, pretend = 0, frame = 0
5236 @ 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;
5237 .loc 1 3464 1 is_stmt 0 view .LVU1694
5238 0000 08B5 push {r3, lr}
5239 .LCFI40:
5240 .cfi_def_cfa_offset 8
5241 .cfi_offset 3, -8
5242 .cfi_offset 14, -4
3465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5243 .loc 1 3465 3 is_stmt 1 view .LVU1695
3465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5244 .loc 1 3465 23 is_stmt 0 view .LVU1696
5245 0002 806B ldr r0, [r0, #56]
5246 .LVL460:
3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5247 .loc 1 3467 3 is_stmt 1 view .LVU1697
3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5248 .loc 1 3467 8 is_stmt 0 view .LVU1698
5249 0004 C36B ldr r3, [r0, #60]
3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5250 .loc 1 3467 36 view .LVU1699
5251 0006 0022 movs r2, #0
5252 0008 1A65 str r2, [r3, #80]
3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5253 .loc 1 3470 3 is_stmt 1 view .LVU1700
3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5254 .loc 1 3470 12 is_stmt 0 view .LVU1701
5255 000a 836B ldr r3, [r0, #56]
3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5256 .loc 1 3470 6 view .LVU1702
5257 000c 0BB1 cbz r3, .L273
3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5258 .loc 1 3472 5 is_stmt 1 view .LVU1703
3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5259 .loc 1 3472 22 is_stmt 0 view .LVU1704
5260 000e 1B6D ldr r3, [r3, #80]
3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc8UBTH4.s page 195
5261 .loc 1 3472 8 view .LVU1705
5262 0010 5BB9 cbnz r3, .L272
5263 .L273:
3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5264 .loc 1 3479 3 is_stmt 1 view .LVU1706
3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5265 .loc 1 3479 22 is_stmt 0 view .LVU1707
5266 0012 0023 movs r3, #0
5267 0014 C384 strh r3, [r0, #38] @ movhi
3480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5268 .loc 1 3480 3 is_stmt 1 view .LVU1708
3480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5269 .loc 1 3480 22 is_stmt 0 view .LVU1709
5270 0016 C385 strh r3, [r0, #46] @ movhi
3483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5271 .loc 1 3483 3 is_stmt 1 view .LVU1710
3483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5272 .loc 1 3483 20 is_stmt 0 view .LVU1711
5273 0018 4364 str r3, [r0, #68]
3486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5274 .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;
5275 .loc 1 3486 18 is_stmt 0 view .LVU1713
5276 001a 2022 movs r2, #32
5277 001c 80F84120 strb r2, [r0, #65]
3487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5278 .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;
5279 .loc 1 3487 18 is_stmt 0 view .LVU1715
5280 0020 80F84220 strb r2, [r0, #66]
3488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5281 .loc 1 3488 3 is_stmt 1 view .LVU1716
3488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5282 .loc 1 3488 24 is_stmt 0 view .LVU1717
5283 0024 0363 str r3, [r0, #48]
3496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5284 .loc 1 3496 3 is_stmt 1 view .LVU1718
5285 0026 FFF7FEFF bl HAL_UART_AbortCpltCallback
5286 .LVL461:
5287 .L272:
3498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5288 .loc 1 3498 1 is_stmt 0 view .LVU1719
5289 002a 08BD pop {r3, pc}
5290 .cfi_endproc
5291 .LFE189:
5293 .section .text.UART_DMATxAbortCallback,"ax",%progbits
5294 .align 1
5295 .syntax unified
5296 .thumb
5297 .thumb_func
5298 .fpu fpv4-sp-d16
5300 UART_DMATxAbortCallback:
5301 .LVL462:
5302 .LFB188:
3418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5303 .loc 1 3418 1 is_stmt 1 view -0
5304 .cfi_startproc
ARM GAS /tmp/cc8UBTH4.s page 196
5305 @ args = 0, pretend = 0, frame = 0
5306 @ 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;
5307 .loc 1 3418 1 is_stmt 0 view .LVU1721
5308 0000 08B5 push {r3, lr}
5309 .LCFI41:
5310 .cfi_def_cfa_offset 8
5311 .cfi_offset 3, -8
5312 .cfi_offset 14, -4
3419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5313 .loc 1 3419 3 is_stmt 1 view .LVU1722
3419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5314 .loc 1 3419 23 is_stmt 0 view .LVU1723
5315 0002 806B ldr r0, [r0, #56]
5316 .LVL463:
3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5317 .loc 1 3421 3 is_stmt 1 view .LVU1724
3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5318 .loc 1 3421 8 is_stmt 0 view .LVU1725
5319 0004 836B ldr r3, [r0, #56]
3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5320 .loc 1 3421 36 view .LVU1726
5321 0006 0022 movs r2, #0
5322 0008 1A65 str r2, [r3, #80]
3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5323 .loc 1 3424 3 is_stmt 1 view .LVU1727
3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5324 .loc 1 3424 12 is_stmt 0 view .LVU1728
5325 000a C36B ldr r3, [r0, #60]
3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5326 .loc 1 3424 6 view .LVU1729
5327 000c 0BB1 cbz r3, .L277
3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5328 .loc 1 3426 5 is_stmt 1 view .LVU1730
3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5329 .loc 1 3426 22 is_stmt 0 view .LVU1731
5330 000e 1B6D ldr r3, [r3, #80]
3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5331 .loc 1 3426 8 view .LVU1732
5332 0010 5BB9 cbnz r3, .L276
5333 .L277:
3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5334 .loc 1 3433 3 is_stmt 1 view .LVU1733
3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
5335 .loc 1 3433 22 is_stmt 0 view .LVU1734
5336 0012 0023 movs r3, #0
5337 0014 C384 strh r3, [r0, #38] @ movhi
3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5338 .loc 1 3434 3 is_stmt 1 view .LVU1735
3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5339 .loc 1 3434 22 is_stmt 0 view .LVU1736
5340 0016 C385 strh r3, [r0, #46] @ movhi
3437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5341 .loc 1 3437 3 is_stmt 1 view .LVU1737
3437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5342 .loc 1 3437 20 is_stmt 0 view .LVU1738
5343 0018 4364 str r3, [r0, #68]
ARM GAS /tmp/cc8UBTH4.s page 197
3440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5344 .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;
5345 .loc 1 3440 18 is_stmt 0 view .LVU1740
5346 001a 2022 movs r2, #32
5347 001c 80F84120 strb r2, [r0, #65]
3441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5348 .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;
5349 .loc 1 3441 18 is_stmt 0 view .LVU1742
5350 0020 80F84220 strb r2, [r0, #66]
3442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5351 .loc 1 3442 3 is_stmt 1 view .LVU1743
3442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5352 .loc 1 3442 24 is_stmt 0 view .LVU1744
5353 0024 0363 str r3, [r0, #48]
3450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5354 .loc 1 3450 3 is_stmt 1 view .LVU1745
5355 0026 FFF7FEFF bl HAL_UART_AbortCpltCallback
5356 .LVL464:
5357 .L276:
3452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5358 .loc 1 3452 1 is_stmt 0 view .LVU1746
5359 002a 08BD pop {r3, pc}
5360 .cfi_endproc
5361 .LFE188:
5363 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
5364 .align 1
5365 .weak HAL_UART_AbortTransmitCpltCallback
5366 .syntax unified
5367 .thumb
5368 .thumb_func
5369 .fpu fpv4-sp-d16
5371 HAL_UART_AbortTransmitCpltCallback:
5372 .LVL465:
5373 .LFB167:
2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
5374 .loc 1 2709 1 is_stmt 1 view -0
5375 .cfi_startproc
5376 @ args = 0, pretend = 0, frame = 0
5377 @ frame_needed = 0, uses_anonymous_args = 0
5378 @ link register save eliminated.
2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5379 .loc 1 2711 3 view .LVU1748
2716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5380 .loc 1 2716 1 is_stmt 0 view .LVU1749
5381 0000 7047 bx lr
5382 .cfi_endproc
5383 .LFE167:
5385 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
5386 .align 1
5387 .global HAL_UART_AbortTransmit_IT
5388 .syntax unified
5389 .thumb
5390 .thumb_func
5391 .fpu fpv4-sp-d16
5393 HAL_UART_AbortTransmit_IT:
ARM GAS /tmp/cc8UBTH4.s page 198
5394 .LVL466:
5395 .LFB158:
2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
5396 .loc 1 2201 1 is_stmt 1 view -0
5397 .cfi_startproc
5398 @ args = 0, pretend = 0, frame = 0
5399 @ frame_needed = 0, uses_anonymous_args = 0
2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
5400 .loc 1 2201 1 is_stmt 0 view .LVU1751
5401 0000 10B5 push {r4, lr}
5402 .LCFI42:
5403 .cfi_def_cfa_offset 8
5404 .cfi_offset 4, -8
5405 .cfi_offset 14, -4
5406 0002 0446 mov r4, r0
5407 .L282:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5408 .loc 1 2203 3 is_stmt 1 discriminator 1 view .LVU1752
5409 .LBB478:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5410 .loc 1 2203 3 discriminator 1 view .LVU1753
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5411 .loc 1 2203 3 discriminator 1 view .LVU1754
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5412 .loc 1 2203 3 discriminator 1 view .LVU1755
5413 0004 2268 ldr r2, [r4]
5414 .LVL467:
5415 .LBB479:
5416 .LBI479:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5417 .loc 2 476 31 discriminator 1 view .LVU1756
5418 .LBB480:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5419 .loc 2 478 5 discriminator 1 view .LVU1757
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5420 .loc 2 480 4 discriminator 1 view .LVU1758
5421 0006 02F10C03 add r3, r2, #12
5422 .LVL468:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5423 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1759
5424 .syntax unified
5425 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5426 000a 53E8003F ldrex r3, [r3]
5427 @ 0 "" 2
5428 .LVL469:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5429 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1760
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5430 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1761
5431 .thumb
5432 .syntax unified
5433 .LBE480:
5434 .LBE479:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5435 .loc 1 2203 3 discriminator 1 view .LVU1762
5436 000e 23F0C003 bic r3, r3, #192
5437 .LVL470:
ARM GAS /tmp/cc8UBTH4.s page 199
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5438 .loc 1 2203 3 is_stmt 1 discriminator 1 view .LVU1763
5439 .LBB481:
5440 .LBI481:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5441 .loc 2 527 31 discriminator 1 view .LVU1764
5442 .LBB482:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5443 .loc 2 529 4 discriminator 1 view .LVU1765
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5444 .loc 2 531 4 discriminator 1 view .LVU1766
5445 0012 0C32 adds r2, r2, #12
5446 .LVL471:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5447 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1767
5448 .syntax unified
5449 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5450 0014 42E80031 strex r1, r3, [r2]
5451 @ 0 "" 2
5452 .LVL472:
5453 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1768
5454 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1769
5455 .thumb
5456 .syntax unified
5457 .LBE482:
5458 .LBE481:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5459 .loc 1 2203 3 discriminator 1 view .LVU1770
5460 0018 0029 cmp r1, #0
5461 001a F3D1 bne .L282
5462 .LBE478:
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5463 .loc 1 2203 3 is_stmt 1 discriminator 2 view .LVU1771
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5464 .loc 1 2206 3 discriminator 2 view .LVU1772
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5465 .loc 1 2206 7 is_stmt 0 discriminator 2 view .LVU1773
5466 001c 2368 ldr r3, [r4]
5467 .LVL473:
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5468 .loc 1 2206 7 discriminator 2 view .LVU1774
5469 001e 5B69 ldr r3, [r3, #20]
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5470 .loc 1 2206 6 discriminator 2 view .LVU1775
5471 0020 13F0800F tst r3, #128
5472 0024 20D0 beq .L283
5473 .L284:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5474 .loc 1 2208 5 is_stmt 1 discriminator 1 view .LVU1776
5475 .LBB483:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5476 .loc 1 2208 5 discriminator 1 view .LVU1777
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5477 .loc 1 2208 5 discriminator 1 view .LVU1778
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5478 .loc 1 2208 5 discriminator 1 view .LVU1779
5479 0026 2268 ldr r2, [r4]
ARM GAS /tmp/cc8UBTH4.s page 200
5480 .LVL474:
5481 .LBB484:
5482 .LBI484:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5483 .loc 2 476 31 discriminator 1 view .LVU1780
5484 .LBB485:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5485 .loc 2 478 5 discriminator 1 view .LVU1781
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5486 .loc 2 480 4 discriminator 1 view .LVU1782
5487 0028 02F11403 add r3, r2, #20
5488 .LVL475:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5489 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1783
5490 .syntax unified
5491 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5492 002c 53E8003F ldrex r3, [r3]
5493 @ 0 "" 2
5494 .LVL476:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5495 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1784
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5496 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1785
5497 .thumb
5498 .syntax unified
5499 .LBE485:
5500 .LBE484:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5501 .loc 1 2208 5 discriminator 1 view .LVU1786
5502 0030 23F08003 bic r3, r3, #128
5503 .LVL477:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5504 .loc 1 2208 5 is_stmt 1 discriminator 1 view .LVU1787
5505 .LBB486:
5506 .LBI486:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5507 .loc 2 527 31 discriminator 1 view .LVU1788
5508 .LBB487:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5509 .loc 2 529 4 discriminator 1 view .LVU1789
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5510 .loc 2 531 4 discriminator 1 view .LVU1790
5511 0034 1432 adds r2, r2, #20
5512 .LVL478:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5513 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1791
5514 .syntax unified
5515 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5516 0036 42E80031 strex r1, r3, [r2]
5517 @ 0 "" 2
5518 .LVL479:
5519 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1792
5520 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1793
5521 .thumb
5522 .syntax unified
5523 .LBE487:
5524 .LBE486:
ARM GAS /tmp/cc8UBTH4.s page 201
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5525 .loc 1 2208 5 discriminator 1 view .LVU1794
5526 003a 0029 cmp r1, #0
5527 003c F3D1 bne .L284
5528 .LBE483:
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5529 .loc 1 2208 5 is_stmt 1 discriminator 2 view .LVU1795
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5530 .loc 1 2211 5 discriminator 2 view .LVU1796
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5531 .loc 1 2211 14 is_stmt 0 discriminator 2 view .LVU1797
5532 003e A36B ldr r3, [r4, #56]
5533 .LVL480:
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5534 .loc 1 2211 8 discriminator 2 view .LVU1798
5535 0040 4BB1 cbz r3, .L285
2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5536 .loc 1 2215 7 is_stmt 1 view .LVU1799
2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5537 .loc 1 2215 40 is_stmt 0 view .LVU1800
5538 0042 0E4A ldr r2, .L288
5539 0044 1A65 str r2, [r3, #80]
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5540 .loc 1 2218 7 is_stmt 1 view .LVU1801
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5541 .loc 1 2218 11 is_stmt 0 view .LVU1802
5542 0046 A06B ldr r0, [r4, #56]
5543 .LVL481:
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5544 .loc 1 2218 11 view .LVU1803
5545 0048 FFF7FEFF bl HAL_DMA_Abort_IT
5546 .LVL482:
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5547 .loc 1 2218 10 view .LVU1804
5548 004c A0B1 cbz r0, .L286
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5549 .loc 1 2221 9 is_stmt 1 view .LVU1805
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5550 .loc 1 2221 14 is_stmt 0 view .LVU1806
5551 004e A06B ldr r0, [r4, #56]
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5552 .loc 1 2221 22 view .LVU1807
5553 0050 036D ldr r3, [r0, #80]
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5554 .loc 1 2221 9 view .LVU1808
5555 0052 9847 blx r3
5556 .LVL483:
5557 0054 10E0 b .L286
5558 .LVL484:
5559 .L285:
2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5560 .loc 1 2227 7 is_stmt 1 view .LVU1809
2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5561 .loc 1 2227 26 is_stmt 0 view .LVU1810
5562 0056 0023 movs r3, #0
5563 0058 E384 strh r3, [r4, #38] @ movhi
2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 202
5564 .loc 1 2230 7 is_stmt 1 view .LVU1811
2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5565 .loc 1 2230 21 is_stmt 0 view .LVU1812
5566 005a 2023 movs r3, #32
5567 005c 84F84130 strb r3, [r4, #65]
2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5568 .loc 1 2238 7 is_stmt 1 view .LVU1813
5569 0060 2046 mov r0, r4
5570 .LVL485:
2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5571 .loc 1 2238 7 is_stmt 0 view .LVU1814
5572 0062 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
5573 .LVL486:
5574 0066 07E0 b .L286
5575 .LVL487:
5576 .L283:
2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5577 .loc 1 2245 5 is_stmt 1 view .LVU1815
2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5578 .loc 1 2245 24 is_stmt 0 view .LVU1816
5579 0068 0023 movs r3, #0
5580 006a E384 strh r3, [r4, #38] @ movhi
2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5581 .loc 1 2248 5 is_stmt 1 view .LVU1817
2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5582 .loc 1 2248 19 is_stmt 0 view .LVU1818
5583 006c 2023 movs r3, #32
5584 006e 84F84130 strb r3, [r4, #65]
2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5585 .loc 1 2256 5 is_stmt 1 view .LVU1819
5586 0072 2046 mov r0, r4
5587 .LVL488:
2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5588 .loc 1 2256 5 is_stmt 0 view .LVU1820
5589 0074 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
5590 .LVL489:
5591 .L286:
2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5592 .loc 1 2260 3 is_stmt 1 view .LVU1821
2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5593 .loc 1 2261 1 is_stmt 0 view .LVU1822
5594 0078 0020 movs r0, #0
5595 007a 10BD pop {r4, pc}
5596 .LVL490:
5597 .L289:
2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5598 .loc 1 2261 1 view .LVU1823
5599 .align 2
5600 .L288:
5601 007c 00000000 .word UART_DMATxOnlyAbortCallback
5602 .cfi_endproc
5603 .LFE158:
5605 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
5606 .align 1
5607 .syntax unified
5608 .thumb
5609 .thumb_func
ARM GAS /tmp/cc8UBTH4.s page 203
5610 .fpu fpv4-sp-d16
5612 UART_DMATxOnlyAbortCallback:
5613 .LVL491:
5614 .LFB190:
3510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5615 .loc 1 3510 1 is_stmt 1 view -0
5616 .cfi_startproc
5617 @ args = 0, pretend = 0, frame = 0
5618 @ 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;
5619 .loc 1 3510 1 is_stmt 0 view .LVU1825
5620 0000 08B5 push {r3, lr}
5621 .LCFI43:
5622 .cfi_def_cfa_offset 8
5623 .cfi_offset 3, -8
5624 .cfi_offset 14, -4
3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5625 .loc 1 3511 3 is_stmt 1 view .LVU1826
3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5626 .loc 1 3511 23 is_stmt 0 view .LVU1827
5627 0002 806B ldr r0, [r0, #56]
5628 .LVL492:
3513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5629 .loc 1 3513 3 is_stmt 1 view .LVU1828
3513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5630 .loc 1 3513 22 is_stmt 0 view .LVU1829
5631 0004 0023 movs r3, #0
5632 0006 C384 strh r3, [r0, #38] @ movhi
3516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5633 .loc 1 3516 3 is_stmt 1 view .LVU1830
3516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5634 .loc 1 3516 17 is_stmt 0 view .LVU1831
5635 0008 2023 movs r3, #32
5636 000a 80F84130 strb r3, [r0, #65]
3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5637 .loc 1 3524 3 is_stmt 1 view .LVU1832
5638 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
5639 .LVL493:
3526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5640 .loc 1 3526 1 is_stmt 0 view .LVU1833
5641 0012 08BD pop {r3, pc}
5642 .cfi_endproc
5643 .LFE190:
5645 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
5646 .align 1
5647 .weak HAL_UART_AbortReceiveCpltCallback
5648 .syntax unified
5649 .thumb
5650 .thumb_func
5651 .fpu fpv4-sp-d16
5653 HAL_UART_AbortReceiveCpltCallback:
5654 .LVL494:
5655 .LFB168:
2724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
5656 .loc 1 2724 1 is_stmt 1 view -0
5657 .cfi_startproc
5658 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/cc8UBTH4.s page 204
5659 @ frame_needed = 0, uses_anonymous_args = 0
5660 @ link register save eliminated.
2726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5661 .loc 1 2726 3 view .LVU1835
2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5662 .loc 1 2731 1 is_stmt 0 view .LVU1836
5663 0000 7047 bx lr
5664 .cfi_endproc
5665 .LFE168:
5667 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
5668 .align 1
5669 .global HAL_UART_AbortReceive_IT
5670 .syntax unified
5671 .thumb
5672 .thumb_func
5673 .fpu fpv4-sp-d16
5675 HAL_UART_AbortReceive_IT:
5676 .LVL495:
5677 .LFB159:
2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
5678 .loc 1 2278 1 is_stmt 1 view -0
5679 .cfi_startproc
5680 @ args = 0, pretend = 0, frame = 0
5681 @ 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 */
5682 .loc 1 2278 1 is_stmt 0 view .LVU1838
5683 0000 10B5 push {r4, lr}
5684 .LCFI44:
5685 .cfi_def_cfa_offset 8
5686 .cfi_offset 4, -8
5687 .cfi_offset 14, -4
5688 0002 0446 mov r4, r0
5689 .L294:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5690 .loc 1 2280 3 is_stmt 1 discriminator 1 view .LVU1839
5691 .LBB488:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5692 .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);
5693 .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);
5694 .loc 1 2280 3 discriminator 1 view .LVU1842
5695 0004 2268 ldr r2, [r4]
5696 .LVL496:
5697 .LBB489:
5698 .LBI489:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5699 .loc 2 476 31 discriminator 1 view .LVU1843
5700 .LBB490:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5701 .loc 2 478 5 discriminator 1 view .LVU1844
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5702 .loc 2 480 4 discriminator 1 view .LVU1845
5703 0006 02F10C03 add r3, r2, #12
5704 .LVL497:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5705 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1846
ARM GAS /tmp/cc8UBTH4.s page 205
5706 .syntax unified
5707 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5708 000a 53E8003F ldrex r3, [r3]
5709 @ 0 "" 2
5710 .LVL498:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5711 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1847
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5712 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1848
5713 .thumb
5714 .syntax unified
5715 .LBE490:
5716 .LBE489:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5717 .loc 1 2280 3 discriminator 1 view .LVU1849
5718 000e 23F49073 bic r3, r3, #288
5719 .LVL499:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5720 .loc 1 2280 3 is_stmt 1 discriminator 1 view .LVU1850
5721 .LBB491:
5722 .LBI491:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5723 .loc 2 527 31 discriminator 1 view .LVU1851
5724 .LBB492:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5725 .loc 2 529 4 discriminator 1 view .LVU1852
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5726 .loc 2 531 4 discriminator 1 view .LVU1853
5727 0012 0C32 adds r2, r2, #12
5728 .LVL500:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5729 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1854
5730 .syntax unified
5731 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5732 0014 42E80031 strex r1, r3, [r2]
5733 @ 0 "" 2
5734 .LVL501:
5735 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1855
5736 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1856
5737 .thumb
5738 .syntax unified
5739 .LBE492:
5740 .LBE491:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5741 .loc 1 2280 3 discriminator 1 view .LVU1857
5742 0018 0029 cmp r1, #0
5743 001a F3D1 bne .L294
5744 .LVL502:
5745 .L295:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5746 .loc 1 2280 3 discriminator 1 view .LVU1858
5747 .LBE488:
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5748 .loc 1 2280 3 is_stmt 1 discriminator 1 view .LVU1859
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5749 .loc 1 2281 3 discriminator 1 view .LVU1860
5750 .LBB493:
ARM GAS /tmp/cc8UBTH4.s page 206
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5751 .loc 1 2281 3 discriminator 1 view .LVU1861
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5752 .loc 1 2281 3 discriminator 1 view .LVU1862
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5753 .loc 1 2281 3 discriminator 1 view .LVU1863
5754 001c 2268 ldr r2, [r4]
5755 .LVL503:
5756 .LBB494:
5757 .LBI494:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5758 .loc 2 476 31 discriminator 1 view .LVU1864
5759 .LBB495:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5760 .loc 2 478 5 discriminator 1 view .LVU1865
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5761 .loc 2 480 4 discriminator 1 view .LVU1866
5762 001e 02F11403 add r3, r2, #20
5763 .LVL504:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5764 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1867
5765 .syntax unified
5766 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5767 0022 53E8003F ldrex r3, [r3]
5768 @ 0 "" 2
5769 .LVL505:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5770 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1868
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5771 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1869
5772 .thumb
5773 .syntax unified
5774 .LBE495:
5775 .LBE494:
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5776 .loc 1 2281 3 discriminator 1 view .LVU1870
5777 0026 23F00103 bic r3, r3, #1
5778 .LVL506:
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5779 .loc 1 2281 3 is_stmt 1 discriminator 1 view .LVU1871
5780 .LBB496:
5781 .LBI496:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5782 .loc 2 527 31 discriminator 1 view .LVU1872
5783 .LBB497:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5784 .loc 2 529 4 discriminator 1 view .LVU1873
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5785 .loc 2 531 4 discriminator 1 view .LVU1874
5786 002a 1432 adds r2, r2, #20
5787 .LVL507:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5788 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1875
5789 .syntax unified
5790 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5791 002c 42E80031 strex r1, r3, [r2]
5792 @ 0 "" 2
ARM GAS /tmp/cc8UBTH4.s page 207
5793 .LVL508:
5794 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1876
5795 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1877
5796 .thumb
5797 .syntax unified
5798 .LBE497:
5799 .LBE496:
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5800 .loc 1 2281 3 discriminator 1 view .LVU1878
5801 0030 0029 cmp r1, #0
5802 0032 F3D1 bne .L295
5803 .LBE493:
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5804 .loc 1 2281 3 is_stmt 1 discriminator 2 view .LVU1879
2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5805 .loc 1 2284 3 discriminator 2 view .LVU1880
2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5806 .loc 1 2284 12 is_stmt 0 discriminator 2 view .LVU1881
5807 0034 236B ldr r3, [r4, #48]
5808 .LVL509:
2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5809 .loc 1 2284 6 discriminator 2 view .LVU1882
5810 0036 012B cmp r3, #1
5811 0038 1CD0 beq .L297
5812 .L296:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5813 .loc 1 2286 5 is_stmt 1 discriminator 2 view .LVU1883
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5814 .loc 1 2290 3 discriminator 2 view .LVU1884
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5815 .loc 1 2290 7 is_stmt 0 discriminator 2 view .LVU1885
5816 003a 2368 ldr r3, [r4]
5817 003c 5B69 ldr r3, [r3, #20]
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5818 .loc 1 2290 6 discriminator 2 view .LVU1886
5819 003e 13F0400F tst r3, #64
5820 0042 2ED0 beq .L298
5821 .L299:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5822 .loc 1 2292 5 is_stmt 1 discriminator 1 view .LVU1887
5823 .LBB498:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5824 .loc 1 2292 5 discriminator 1 view .LVU1888
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5825 .loc 1 2292 5 discriminator 1 view .LVU1889
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5826 .loc 1 2292 5 discriminator 1 view .LVU1890
5827 0044 2268 ldr r2, [r4]
5828 .LVL510:
5829 .LBB499:
5830 .LBI499:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5831 .loc 2 476 31 discriminator 1 view .LVU1891
5832 .LBB500:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5833 .loc 2 478 5 discriminator 1 view .LVU1892
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc8UBTH4.s page 208
5834 .loc 2 480 4 discriminator 1 view .LVU1893
5835 0046 02F11403 add r3, r2, #20
5836 .LVL511:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5837 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1894
5838 .syntax unified
5839 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5840 004a 53E8003F ldrex r3, [r3]
5841 @ 0 "" 2
5842 .LVL512:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5843 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1895
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5844 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1896
5845 .thumb
5846 .syntax unified
5847 .LBE500:
5848 .LBE499:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5849 .loc 1 2292 5 discriminator 1 view .LVU1897
5850 004e 23F04003 bic r3, r3, #64
5851 .LVL513:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5852 .loc 1 2292 5 is_stmt 1 discriminator 1 view .LVU1898
5853 .LBB501:
5854 .LBI501:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5855 .loc 2 527 31 discriminator 1 view .LVU1899
5856 .LBB502:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5857 .loc 2 529 4 discriminator 1 view .LVU1900
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5858 .loc 2 531 4 discriminator 1 view .LVU1901
5859 0052 1432 adds r2, r2, #20
5860 .LVL514:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5861 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1902
5862 .syntax unified
5863 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5864 0054 42E80031 strex r1, r3, [r2]
5865 @ 0 "" 2
5866 .LVL515:
5867 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1903
5868 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1904
5869 .thumb
5870 .syntax unified
5871 .LBE502:
5872 .LBE501:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5873 .loc 1 2292 5 discriminator 1 view .LVU1905
5874 0058 0029 cmp r1, #0
5875 005a F3D1 bne .L299
5876 .LBE498:
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5877 .loc 1 2292 5 is_stmt 1 discriminator 2 view .LVU1906
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5878 .loc 1 2295 5 discriminator 2 view .LVU1907
ARM GAS /tmp/cc8UBTH4.s page 209
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5879 .loc 1 2295 14 is_stmt 0 discriminator 2 view .LVU1908
5880 005c E36B ldr r3, [r4, #60]
5881 .LVL516:
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5882 .loc 1 2295 8 discriminator 2 view .LVU1909
5883 005e B3B1 cbz r3, .L300
2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5884 .loc 1 2299 7 is_stmt 1 view .LVU1910
2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5885 .loc 1 2299 40 is_stmt 0 view .LVU1911
5886 0060 154A ldr r2, .L303
5887 0062 1A65 str r2, [r3, #80]
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5888 .loc 1 2302 7 is_stmt 1 view .LVU1912
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5889 .loc 1 2302 11 is_stmt 0 view .LVU1913
5890 0064 E06B ldr r0, [r4, #60]
5891 .LVL517:
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5892 .loc 1 2302 11 view .LVU1914
5893 0066 FFF7FEFF bl HAL_DMA_Abort_IT
5894 .LVL518:
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
5895 .loc 1 2302 10 view .LVU1915
5896 006a 18B3 cbz r0, .L301
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5897 .loc 1 2305 9 is_stmt 1 view .LVU1916
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5898 .loc 1 2305 14 is_stmt 0 view .LVU1917
5899 006c E06B ldr r0, [r4, #60]
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5900 .loc 1 2305 22 view .LVU1918
5901 006e 036D ldr r3, [r0, #80]
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5902 .loc 1 2305 9 view .LVU1919
5903 0070 9847 blx r3
5904 .LVL519:
5905 0072 1FE0 b .L301
5906 .LVL520:
5907 .L297:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5908 .loc 1 2286 5 is_stmt 1 discriminator 1 view .LVU1920
5909 .LBB503:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5910 .loc 1 2286 5 discriminator 1 view .LVU1921
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5911 .loc 1 2286 5 discriminator 1 view .LVU1922
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5912 .loc 1 2286 5 discriminator 1 view .LVU1923
5913 0074 2268 ldr r2, [r4]
5914 .LVL521:
5915 .LBB504:
5916 .LBI504:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5917 .loc 2 476 31 discriminator 1 view .LVU1924
5918 .LBB505:
ARM GAS /tmp/cc8UBTH4.s page 210
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
5919 .loc 2 478 5 discriminator 1 view .LVU1925
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5920 .loc 2 480 4 discriminator 1 view .LVU1926
5921 0076 02F10C03 add r3, r2, #12
5922 .LVL522:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5923 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU1927
5924 .syntax unified
5925 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5926 007a 53E8003F ldrex r3, [r3]
5927 @ 0 "" 2
5928 .LVL523:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5929 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU1928
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5930 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU1929
5931 .thumb
5932 .syntax unified
5933 .LBE505:
5934 .LBE504:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5935 .loc 1 2286 5 discriminator 1 view .LVU1930
5936 007e 23F01003 bic r3, r3, #16
5937 .LVL524:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5938 .loc 1 2286 5 is_stmt 1 discriminator 1 view .LVU1931
5939 .LBB506:
5940 .LBI506:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5941 .loc 2 527 31 discriminator 1 view .LVU1932
5942 .LBB507:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
5943 .loc 2 529 4 discriminator 1 view .LVU1933
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5944 .loc 2 531 4 discriminator 1 view .LVU1934
5945 0082 0C32 adds r2, r2, #12
5946 .LVL525:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5947 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU1935
5948 .syntax unified
5949 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5950 0084 42E80031 strex r1, r3, [r2]
5951 @ 0 "" 2
5952 .LVL526:
5953 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU1936
5954 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU1937
5955 .thumb
5956 .syntax unified
5957 .LBE507:
5958 .LBE506:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5959 .loc 1 2286 5 discriminator 1 view .LVU1938
5960 0088 0029 cmp r1, #0
5961 008a F3D1 bne .L297
5962 008c D5E7 b .L296
5963 .LVL527:
ARM GAS /tmp/cc8UBTH4.s page 211
5964 .L300:
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
5965 .loc 1 2286 5 discriminator 1 view .LVU1939
5966 .LBE503:
2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5967 .loc 1 2311 7 is_stmt 1 view .LVU1940
2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5968 .loc 1 2311 26 is_stmt 0 view .LVU1941
5969 008e 0023 movs r3, #0
5970 0090 E385 strh r3, [r4, #46] @ movhi
2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5971 .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;
5972 .loc 1 2314 22 is_stmt 0 view .LVU1943
5973 0092 2022 movs r2, #32
5974 0094 84F84220 strb r2, [r4, #66]
2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5975 .loc 1 2315 7 is_stmt 1 view .LVU1944
2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5976 .loc 1 2315 28 is_stmt 0 view .LVU1945
5977 0098 2363 str r3, [r4, #48]
2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5978 .loc 1 2323 7 is_stmt 1 view .LVU1946
5979 009a 2046 mov r0, r4
5980 .LVL528:
2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5981 .loc 1 2323 7 is_stmt 0 view .LVU1947
5982 009c FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
5983 .LVL529:
5984 00a0 08E0 b .L301
5985 .LVL530:
5986 .L298:
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5987 .loc 1 2330 5 is_stmt 1 view .LVU1948
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5988 .loc 1 2330 24 is_stmt 0 view .LVU1949
5989 00a2 0023 movs r3, #0
5990 00a4 E385 strh r3, [r4, #46] @ movhi
2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5991 .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;
5992 .loc 1 2333 20 is_stmt 0 view .LVU1951
5993 00a6 2022 movs r2, #32
5994 00a8 84F84220 strb r2, [r4, #66]
2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5995 .loc 1 2334 5 is_stmt 1 view .LVU1952
2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
5996 .loc 1 2334 26 is_stmt 0 view .LVU1953
5997 00ac 2363 str r3, [r4, #48]
2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5998 .loc 1 2342 5 is_stmt 1 view .LVU1954
5999 00ae 2046 mov r0, r4
6000 .LVL531:
2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6001 .loc 1 2342 5 is_stmt 0 view .LVU1955
6002 00b0 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
6003 .LVL532:
ARM GAS /tmp/cc8UBTH4.s page 212
6004 .L301:
2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6005 .loc 1 2346 3 is_stmt 1 view .LVU1956
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6006 .loc 1 2347 1 is_stmt 0 view .LVU1957
6007 00b4 0020 movs r0, #0
6008 00b6 10BD pop {r4, pc}
6009 .LVL533:
6010 .L304:
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6011 .loc 1 2347 1 view .LVU1958
6012 .align 2
6013 .L303:
6014 00b8 00000000 .word UART_DMARxOnlyAbortCallback
6015 .cfi_endproc
6016 .LFE159:
6018 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
6019 .align 1
6020 .syntax unified
6021 .thumb
6022 .thumb_func
6023 .fpu fpv4-sp-d16
6025 UART_DMARxOnlyAbortCallback:
6026 .LVL534:
6027 .LFB191:
3538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
6028 .loc 1 3538 1 is_stmt 1 view -0
6029 .cfi_startproc
6030 @ args = 0, pretend = 0, frame = 0
6031 @ 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;
6032 .loc 1 3538 1 is_stmt 0 view .LVU1960
6033 0000 08B5 push {r3, lr}
6034 .LCFI45:
6035 .cfi_def_cfa_offset 8
6036 .cfi_offset 3, -8
6037 .cfi_offset 14, -4
3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6038 .loc 1 3539 3 is_stmt 1 view .LVU1961
3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6039 .loc 1 3539 23 is_stmt 0 view .LVU1962
6040 0002 806B ldr r0, [r0, #56]
6041 .LVL535:
3541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6042 .loc 1 3541 3 is_stmt 1 view .LVU1963
3541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6043 .loc 1 3541 22 is_stmt 0 view .LVU1964
6044 0004 0023 movs r3, #0
6045 0006 C385 strh r3, [r0, #46] @ movhi
3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6046 .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;
6047 .loc 1 3544 18 is_stmt 0 view .LVU1966
6048 0008 2022 movs r2, #32
6049 000a 80F84220 strb r2, [r0, #66]
3545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6050 .loc 1 3545 3 is_stmt 1 view .LVU1967
ARM GAS /tmp/cc8UBTH4.s page 213
3545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6051 .loc 1 3545 24 is_stmt 0 view .LVU1968
6052 000e 0363 str r3, [r0, #48]
3553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6053 .loc 1 3553 3 is_stmt 1 view .LVU1969
6054 0010 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
6055 .LVL536:
3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6056 .loc 1 3555 1 is_stmt 0 view .LVU1970
6057 0014 08BD pop {r3, pc}
6058 .cfi_endproc
6059 .LFE191:
6061 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits
6062 .align 1
6063 .weak HAL_UARTEx_RxEventCallback
6064 .syntax unified
6065 .thumb
6066 .thumb_func
6067 .fpu fpv4-sp-d16
6069 HAL_UARTEx_RxEventCallback:
6070 .LVL537:
6071 .LFB169:
2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
6072 .loc 1 2741 1 is_stmt 1 view -0
6073 .cfi_startproc
6074 @ args = 0, pretend = 0, frame = 0
6075 @ frame_needed = 0, uses_anonymous_args = 0
6076 @ link register save eliminated.
2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(Size);
6077 .loc 1 2743 3 view .LVU1972
2744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6078 .loc 1 2744 3 view .LVU1973
2749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6079 .loc 1 2749 1 is_stmt 0 view .LVU1974
6080 0000 7047 bx lr
6081 .cfi_endproc
6082 .LFE169:
6084 .section .text.UART_Receive_IT,"ax",%progbits
6085 .align 1
6086 .syntax unified
6087 .thumb
6088 .thumb_func
6089 .fpu fpv4-sp-d16
6091 UART_Receive_IT:
6092 .LVL538:
6093 .LFB194:
3629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits = NULL;
6094 .loc 1 3629 1 is_stmt 1 view -0
6095 .cfi_startproc
6096 @ args = 0, pretend = 0, frame = 8
6097 @ frame_needed = 0, uses_anonymous_args = 0
3630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *pdata16bits = NULL;
6098 .loc 1 3630 3 view .LVU1976
3631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6099 .loc 1 3631 3 view .LVU1977
3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6100 .loc 1 3634 3 view .LVU1978
ARM GAS /tmp/cc8UBTH4.s page 214
3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6101 .loc 1 3634 12 is_stmt 0 view .LVU1979
6102 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
6103 0004 DBB2 uxtb r3, r3
3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6104 .loc 1 3634 6 view .LVU1980
6105 0006 222B cmp r3, #34
6106 0008 69D1 bne .L319
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6107 .loc 1 3636 5 is_stmt 1 view .LVU1981
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6108 .loc 1 3636 21 is_stmt 0 view .LVU1982
6109 000a 8368 ldr r3, [r0, #8]
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6110 .loc 1 3636 8 view .LVU1983
6111 000c B3F5805F cmp r3, #4096
6112 0010 4FD0 beq .L325
6113 .L310:
3646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Unused pdata16bits */
6114 .loc 1 3646 7 is_stmt 1 view .LVU1984
3646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Unused pdata16bits */
6115 .loc 1 3646 18 is_stmt 0 view .LVU1985
6116 0012 826A ldr r2, [r0, #40]
6117 .LVL539:
3648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6118 .loc 1 3648 7 is_stmt 1 view .LVU1986
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6119 .loc 1 3650 7 view .LVU1987
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6120 .loc 1 3650 10 is_stmt 0 view .LVU1988
6121 0014 B3F5805F cmp r3, #4096
6122 0018 04D0 beq .L312
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6123 .loc 1 3650 58 discriminator 1 view .LVU1989
6124 001a 002B cmp r3, #0
6125 001c 56D1 bne .L313
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6126 .loc 1 3650 124 discriminator 2 view .LVU1990
6127 001e 0369 ldr r3, [r0, #16]
3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6128 .loc 1 3650 109 discriminator 2 view .LVU1991
6129 0020 002B cmp r3, #0
6130 0022 53D1 bne .L313
6131 .L312:
3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6132 .loc 1 3652 9 is_stmt 1 view .LVU1992
3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6133 .loc 1 3652 38 is_stmt 0 view .LVU1993
6134 0024 0368 ldr r3, [r0]
3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6135 .loc 1 3652 48 view .LVU1994
6136 0026 5B68 ldr r3, [r3, #4]
3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6137 .loc 1 3652 21 view .LVU1995
6138 0028 1370 strb r3, [r2]
6139 .L314:
3658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 215
6140 .loc 1 3658 7 is_stmt 1 view .LVU1996
3658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6141 .loc 1 3658 25 is_stmt 0 view .LVU1997
6142 002a 836A ldr r3, [r0, #40]
6143 002c 0133 adds r3, r3, #1
6144 002e 8362 str r3, [r0, #40]
6145 .LVL540:
6146 .L311:
3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6147 .loc 1 3661 5 is_stmt 1 view .LVU1998
3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6148 .loc 1 3661 16 is_stmt 0 view .LVU1999
6149 0030 C38D ldrh r3, [r0, #46]
6150 0032 9BB2 uxth r3, r3
3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6151 .loc 1 3661 9 view .LVU2000
6152 0034 013B subs r3, r3, #1
6153 0036 9BB2 uxth r3, r3
3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6154 .loc 1 3661 8 view .LVU2001
6155 0038 C385 strh r3, [r0, #46] @ movhi
6156 003a 002B cmp r3, #0
6157 003c 51D1 bne .L320
3629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint8_t *pdata8bits = NULL;
6158 .loc 1 3629 1 view .LVU2002
6159 003e 00B5 push {lr}
6160 .LCFI46:
6161 .cfi_def_cfa_offset 4
6162 .cfi_offset 14, -4
6163 0040 83B0 sub sp, sp, #12
6164 .LCFI47:
6165 .cfi_def_cfa_offset 16
3664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6166 .loc 1 3664 7 is_stmt 1 view .LVU2003
6167 0042 0268 ldr r2, [r0]
6168 0044 D368 ldr r3, [r2, #12]
6169 0046 23F02003 bic r3, r3, #32
6170 004a D360 str r3, [r2, #12]
3667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6171 .loc 1 3667 7 view .LVU2004
6172 004c 0268 ldr r2, [r0]
6173 004e D368 ldr r3, [r2, #12]
6174 0050 23F48073 bic r3, r3, #256
6175 0054 D360 str r3, [r2, #12]
3670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6176 .loc 1 3670 7 view .LVU2005
6177 0056 0268 ldr r2, [r0]
6178 0058 5369 ldr r3, [r2, #20]
6179 005a 23F00103 bic r3, r3, #1
6180 005e 5361 str r3, [r2, #20]
3673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6181 .loc 1 3673 7 view .LVU2006
3673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6182 .loc 1 3673 22 is_stmt 0 view .LVU2007
6183 0060 2023 movs r3, #32
6184 0062 80F84230 strb r3, [r0, #66]
3676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 216
6185 .loc 1 3676 7 is_stmt 1 view .LVU2008
3676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6186 .loc 1 3676 26 is_stmt 0 view .LVU2009
6187 0066 0023 movs r3, #0
6188 0068 4363 str r3, [r0, #52]
3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6189 .loc 1 3680 7 is_stmt 1 view .LVU2010
3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6190 .loc 1 3680 16 is_stmt 0 view .LVU2011
6191 006a 036B ldr r3, [r0, #48]
3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6192 .loc 1 3680 10 view .LVU2012
6193 006c 012B cmp r3, #1
6194 006e 33D1 bne .L315
3683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6195 .loc 1 3683 9 is_stmt 1 view .LVU2013
3683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6196 .loc 1 3683 30 is_stmt 0 view .LVU2014
6197 0070 0023 movs r3, #0
6198 0072 0363 str r3, [r0, #48]
6199 .L316:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6200 .loc 1 3686 9 is_stmt 1 discriminator 1 view .LVU2015
6201 .LBB508:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6202 .loc 1 3686 9 discriminator 1 view .LVU2016
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6203 .loc 1 3686 9 discriminator 1 view .LVU2017
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6204 .loc 1 3686 9 discriminator 1 view .LVU2018
6205 0074 0268 ldr r2, [r0]
6206 .LVL541:
6207 .LBB509:
6208 .LBI509:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6209 .loc 2 476 31 discriminator 1 view .LVU2019
6210 .LBB510:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6211 .loc 2 478 5 discriminator 1 view .LVU2020
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6212 .loc 2 480 4 discriminator 1 view .LVU2021
6213 0076 02F10C03 add r3, r2, #12
6214 .LVL542:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6215 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2022
6216 .syntax unified
6217 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6218 007a 53E8003F ldrex r3, [r3]
6219 @ 0 "" 2
6220 .LVL543:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6221 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2023
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6222 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2024
6223 .thumb
6224 .syntax unified
6225 .LBE510:
ARM GAS /tmp/cc8UBTH4.s page 217
6226 .LBE509:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6227 .loc 1 3686 9 discriminator 1 view .LVU2025
6228 007e 23F01003 bic r3, r3, #16
6229 .LVL544:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6230 .loc 1 3686 9 is_stmt 1 discriminator 1 view .LVU2026
6231 .LBB511:
6232 .LBI511:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6233 .loc 2 527 31 discriminator 1 view .LVU2027
6234 .LBB512:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6235 .loc 2 529 4 discriminator 1 view .LVU2028
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6236 .loc 2 531 4 discriminator 1 view .LVU2029
6237 0082 0C32 adds r2, r2, #12
6238 .LVL545:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6239 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2030
6240 .syntax unified
6241 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6242 0084 42E80031 strex r1, r3, [r2]
6243 @ 0 "" 2
6244 .LVL546:
6245 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2031
6246 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2032
6247 .thumb
6248 .syntax unified
6249 .LBE512:
6250 .LBE511:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6251 .loc 1 3686 9 discriminator 1 view .LVU2033
6252 0088 0029 cmp r1, #0
6253 008a F3D1 bne .L316
6254 .LBE508:
3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6255 .loc 1 3686 9 is_stmt 1 discriminator 2 view .LVU2034
3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6256 .loc 1 3689 9 discriminator 2 view .LVU2035
3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6257 .loc 1 3689 13 is_stmt 0 discriminator 2 view .LVU2036
6258 008c 0368 ldr r3, [r0]
6259 .LVL547:
3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6260 .loc 1 3689 13 discriminator 2 view .LVU2037
6261 008e 1A68 ldr r2, [r3]
3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6262 .loc 1 3689 12 discriminator 2 view .LVU2038
6263 0090 12F0100F tst r2, #16
6264 0094 06D0 beq .L317
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6265 .loc 1 3692 11 is_stmt 1 view .LVU2039
6266 .LBB513:
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6267 .loc 1 3692 11 view .LVU2040
6268 0096 0022 movs r2, #0
ARM GAS /tmp/cc8UBTH4.s page 218
6269 0098 0192 str r2, [sp, #4]
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6270 .loc 1 3692 11 view .LVU2041
6271 009a 1A68 ldr r2, [r3]
6272 009c 0192 str r2, [sp, #4]
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6273 .loc 1 3692 11 view .LVU2042
6274 009e 5B68 ldr r3, [r3, #4]
6275 00a0 0193 str r3, [sp, #4]
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6276 .loc 1 3692 11 view .LVU2043
6277 00a2 019B ldr r3, [sp, #4]
6278 .L317:
6279 .LBE513:
3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6280 .loc 1 3692 11 discriminator 1 view .LVU2044
3700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6281 .loc 1 3700 9 discriminator 1 view .LVU2045
6282 00a4 818D ldrh r1, [r0, #44]
6283 00a6 FFF7FEFF bl HAL_UARTEx_RxEventCallback
6284 .LVL548:
6285 .L318:
3715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6286 .loc 1 3715 7 view .LVU2046
3715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6287 .loc 1 3715 14 is_stmt 0 view .LVU2047
6288 00aa 0020 movs r0, #0
3723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6289 .loc 1 3723 1 view .LVU2048
6290 00ac 03B0 add sp, sp, #12
6291 .LCFI48:
6292 .cfi_def_cfa_offset 4
6293 @ sp needed
6294 00ae 5DF804FB ldr pc, [sp], #4
6295 .LVL549:
6296 .L325:
6297 .LCFI49:
6298 .cfi_def_cfa_offset 0
6299 .cfi_restore 14
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6300 .loc 1 3636 71 discriminator 1 view .LVU2049
6301 00b2 0269 ldr r2, [r0, #16]
3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6302 .loc 1 3636 56 discriminator 1 view .LVU2050
6303 00b4 002A cmp r2, #0
6304 00b6 ACD1 bne .L310
3639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pdata16bits = (uint16_t *) huart->pRxBuffPtr;
6305 .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);
6306 .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);
6307 .loc 1 3640 19 is_stmt 0 view .LVU2053
6308 00b8 826A ldr r2, [r0, #40]
6309 .LVL550:
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6310 .loc 1 3641 7 is_stmt 1 view .LVU2054
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
ARM GAS /tmp/cc8UBTH4.s page 219
6311 .loc 1 3641 38 is_stmt 0 view .LVU2055
6312 00ba 0368 ldr r3, [r0]
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6313 .loc 1 3641 48 view .LVU2056
6314 00bc 5B68 ldr r3, [r3, #4]
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6315 .loc 1 3641 22 view .LVU2057
6316 00be C3F30803 ubfx r3, r3, #0, #9
3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6317 .loc 1 3641 20 view .LVU2058
6318 00c2 1380 strh r3, [r2] @ movhi
3642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6319 .loc 1 3642 7 is_stmt 1 view .LVU2059
3642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6320 .loc 1 3642 25 is_stmt 0 view .LVU2060
6321 00c4 836A ldr r3, [r0, #40]
6322 00c6 0233 adds r3, r3, #2
6323 00c8 8362 str r3, [r0, #40]
6324 00ca B1E7 b .L311
6325 .LVL551:
6326 .L313:
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6327 .loc 1 3656 9 is_stmt 1 view .LVU2061
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6328 .loc 1 3656 38 is_stmt 0 view .LVU2062
6329 00cc 0368 ldr r3, [r0]
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6330 .loc 1 3656 48 view .LVU2063
6331 00ce 5B68 ldr r3, [r3, #4]
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6332 .loc 1 3656 23 view .LVU2064
6333 00d0 03F07F03 and r3, r3, #127
3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6334 .loc 1 3656 21 view .LVU2065
6335 00d4 1370 strb r3, [r2]
6336 00d6 A8E7 b .L314
6337 .LVL552:
6338 .L315:
6339 .LCFI50:
6340 .cfi_def_cfa_offset 16
6341 .cfi_offset 14, -4
3711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6342 .loc 1 3711 9 is_stmt 1 view .LVU2066
6343 00d8 FFF7FEFF bl HAL_UART_RxCpltCallback
6344 .LVL553:
3711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6345 .loc 1 3711 9 is_stmt 0 view .LVU2067
6346 00dc E5E7 b .L318
6347 .LVL554:
6348 .L319:
6349 .LCFI51:
6350 .cfi_def_cfa_offset 0
6351 .cfi_restore 14
3721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6352 .loc 1 3721 12 view .LVU2068
6353 00de 0220 movs r0, #2
6354 .LVL555:
ARM GAS /tmp/cc8UBTH4.s page 220
3721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6355 .loc 1 3721 12 view .LVU2069
6356 00e0 7047 bx lr
6357 .LVL556:
6358 .L320:
3717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6359 .loc 1 3717 12 view .LVU2070
6360 00e2 0020 movs r0, #0
6361 .LVL557:
3723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6362 .loc 1 3723 1 view .LVU2071
6363 00e4 7047 bx lr
6364 .cfi_endproc
6365 .LFE194:
6367 .section .text.HAL_UART_IRQHandler,"ax",%progbits
6368 .align 1
6369 .global HAL_UART_IRQHandler
6370 .syntax unified
6371 .thumb
6372 .thumb_func
6373 .fpu fpv4-sp-d16
6375 HAL_UART_IRQHandler:
6376 .LVL558:
6377 .LFB160:
2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
6378 .loc 1 2356 1 is_stmt 1 view -0
6379 .cfi_startproc
6380 @ args = 0, pretend = 0, frame = 8
6381 @ 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);
6382 .loc 1 2356 1 is_stmt 0 view .LVU2073
6383 0000 30B5 push {r4, r5, lr}
6384 .LCFI52:
6385 .cfi_def_cfa_offset 12
6386 .cfi_offset 4, -12
6387 .cfi_offset 5, -8
6388 .cfi_offset 14, -4
6389 0002 83B0 sub sp, sp, #12
6390 .LCFI53:
6391 .cfi_def_cfa_offset 24
6392 0004 0446 mov r4, r0
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
6393 .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);
6394 .loc 1 2357 25 is_stmt 0 view .LVU2075
6395 0006 0268 ldr r2, [r0]
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
6396 .loc 1 2357 12 view .LVU2076
6397 0008 1368 ldr r3, [r2]
6398 .LVL559:
2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
6399 .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);
6400 .loc 1 2358 12 is_stmt 0 view .LVU2078
6401 000a D068 ldr r0, [r2, #12]
6402 .LVL560:
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
ARM GAS /tmp/cc8UBTH4.s page 221
6403 .loc 1 2359 3 is_stmt 1 view .LVU2079
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
6404 .loc 1 2359 12 is_stmt 0 view .LVU2080
6405 000c 5169 ldr r1, [r2, #20]
6406 .LVL561:
2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
6407 .loc 1 2360 3 is_stmt 1 view .LVU2081
2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6408 .loc 1 2361 3 view .LVU2082
2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (errorflags == RESET)
6409 .loc 1 2364 3 view .LVU2083
2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6410 .loc 1 2365 3 view .LVU2084
2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6411 .loc 1 2365 6 is_stmt 0 view .LVU2085
6412 000e 13F00F05 ands r5, r3, #15
6413 .LVL562:
2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6414 .loc 1 2365 6 view .LVU2086
6415 0012 05D1 bne .L327
2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6416 .loc 1 2368 5 is_stmt 1 view .LVU2087
2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6417 .loc 1 2368 8 is_stmt 0 view .LVU2088
6418 0014 13F0200F tst r3, #32
6419 0018 02D0 beq .L327
2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6420 .loc 1 2368 47 discriminator 1 view .LVU2089
6421 001a 10F0200F tst r0, #32
6422 001e 19D1 bne .L358
6423 .L327:
2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
6424 .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)))
6425 .loc 1 2376 6 is_stmt 0 view .LVU2091
6426 0020 2DB1 cbz r5, .L329
2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
6427 .loc 1 2376 29 discriminator 1 view .LVU2092
6428 0022 11F00101 ands r1, r1, #1
6429 .LVL563:
2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
6430 .loc 1 2376 29 discriminator 1 view .LVU2093
6431 0026 19D1 bne .L330
2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6432 .loc 1 2377 33 view .LVU2094
6433 0028 10F4907F tst r0, #288
6434 002c 16D1 bne .L330
6435 .L329:
2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U)
6436 .loc 1 2484 3 is_stmt 1 view .LVU2095
2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U)
6437 .loc 1 2484 13 is_stmt 0 view .LVU2096
6438 002e 216B ldr r1, [r4, #48]
2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((isrflags & USART_SR_IDLE) != 0U)
6439 .loc 1 2484 6 view .LVU2097
6440 0030 0129 cmp r1, #1
6441 0032 7DD0 beq .L359
ARM GAS /tmp/cc8UBTH4.s page 222
6442 .L343:
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6443 .loc 1 2599 3 is_stmt 1 view .LVU2098
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6444 .loc 1 2599 6 is_stmt 0 view .LVU2099
6445 0034 13F0800F tst r3, #128
6446 0038 03D0 beq .L356
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6447 .loc 1 2599 44 discriminator 1 view .LVU2100
6448 003a 10F0800F tst r0, #128
6449 003e 40F02681 bne .L360
6450 .L356:
2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6451 .loc 1 2606 3 is_stmt 1 view .LVU2101
2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6452 .loc 1 2606 6 is_stmt 0 view .LVU2102
6453 0042 13F0400F tst r3, #64
6454 0046 03D0 beq .L326
2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6455 .loc 1 2606 43 discriminator 1 view .LVU2103
6456 0048 10F0400F tst r0, #64
6457 004c 40F02381 bne .L361
6458 .LVL564:
6459 .L326:
2611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6460 .loc 1 2611 1 view .LVU2104
6461 0050 03B0 add sp, sp, #12
6462 .LCFI54:
6463 .cfi_remember_state
6464 .cfi_def_cfa_offset 12
6465 @ sp needed
6466 0052 30BD pop {r4, r5, pc}
6467 .LVL565:
6468 .L358:
6469 .LCFI55:
6470 .cfi_restore_state
2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
6471 .loc 1 2370 7 is_stmt 1 view .LVU2105
6472 0054 2046 mov r0, r4
6473 .LVL566:
2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
6474 .loc 1 2370 7 is_stmt 0 view .LVU2106
6475 0056 FFF7FEFF bl UART_Receive_IT
6476 .LVL567:
2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6477 .loc 1 2371 7 is_stmt 1 view .LVU2107
6478 005a F9E7 b .L326
6479 .LVL568:
6480 .L330:
2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6481 .loc 1 2380 5 view .LVU2108
2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6482 .loc 1 2380 8 is_stmt 0 view .LVU2109
6483 005c 13F0010F tst r3, #1
6484 0060 06D0 beq .L331
2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6485 .loc 1 2380 45 discriminator 1 view .LVU2110
ARM GAS /tmp/cc8UBTH4.s page 223
6486 0062 10F4807F tst r0, #256
6487 0066 03D0 beq .L331
2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6488 .loc 1 2382 7 is_stmt 1 view .LVU2111
2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6489 .loc 1 2382 24 is_stmt 0 view .LVU2112
6490 0068 626C ldr r2, [r4, #68]
6491 006a 42F00102 orr r2, r2, #1
6492 006e 6264 str r2, [r4, #68]
6493 .L331:
2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6494 .loc 1 2386 5 is_stmt 1 view .LVU2113
2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6495 .loc 1 2386 8 is_stmt 0 view .LVU2114
6496 0070 13F0040F tst r3, #4
6497 0074 04D0 beq .L332
2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6498 .loc 1 2386 45 discriminator 1 view .LVU2115
6499 0076 19B1 cbz r1, .L332
2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6500 .loc 1 2388 7 is_stmt 1 view .LVU2116
2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6501 .loc 1 2388 24 is_stmt 0 view .LVU2117
6502 0078 626C ldr r2, [r4, #68]
6503 007a 42F00202 orr r2, r2, #2
6504 007e 6264 str r2, [r4, #68]
6505 .L332:
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6506 .loc 1 2392 5 is_stmt 1 view .LVU2118
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6507 .loc 1 2392 8 is_stmt 0 view .LVU2119
6508 0080 13F0020F tst r3, #2
6509 0084 04D0 beq .L333
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6510 .loc 1 2392 45 discriminator 1 view .LVU2120
6511 0086 19B1 cbz r1, .L333
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6512 .loc 1 2394 7 is_stmt 1 view .LVU2121
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6513 .loc 1 2394 24 is_stmt 0 view .LVU2122
6514 0088 626C ldr r2, [r4, #68]
6515 008a 42F00402 orr r2, r2, #4
6516 008e 6264 str r2, [r4, #68]
6517 .L333:
2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET)))
6518 .loc 1 2398 5 is_stmt 1 view .LVU2123
2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET)))
6519 .loc 1 2398 8 is_stmt 0 view .LVU2124
6520 0090 13F0080F tst r3, #8
6521 0094 07D0 beq .L334
2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** || ((cr3its & USART_CR3_EIE) != RESET)))
6522 .loc 1 2398 46 discriminator 1 view .LVU2125
6523 0096 10F0200F tst r0, #32
6524 009a 00D1 bne .L335
2399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6525 .loc 1 2399 50 view .LVU2126
6526 009c 19B1 cbz r1, .L334
ARM GAS /tmp/cc8UBTH4.s page 224
6527 .L335:
2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6528 .loc 1 2401 7 is_stmt 1 view .LVU2127
2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6529 .loc 1 2401 24 is_stmt 0 view .LVU2128
6530 009e 626C ldr r2, [r4, #68]
6531 00a0 42F00802 orr r2, r2, #8
6532 00a4 6264 str r2, [r4, #68]
6533 .L334:
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6534 .loc 1 2405 5 is_stmt 1 view .LVU2129
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6535 .loc 1 2405 14 is_stmt 0 view .LVU2130
6536 00a6 626C ldr r2, [r4, #68]
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6537 .loc 1 2405 8 view .LVU2131
6538 00a8 002A cmp r2, #0
6539 00aa D1D0 beq .L326
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6540 .loc 1 2408 7 is_stmt 1 view .LVU2132
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6541 .loc 1 2408 10 is_stmt 0 view .LVU2133
6542 00ac 13F0200F tst r3, #32
6543 00b0 02D0 beq .L337
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6544 .loc 1 2408 49 discriminator 1 view .LVU2134
6545 00b2 10F0200F tst r0, #32
6546 00b6 29D1 bne .L362
6547 .LVL569:
6548 .L337:
2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
6549 .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)
6550 .loc 1 2415 20 is_stmt 0 view .LVU2136
6551 00b8 2368 ldr r3, [r4]
6552 00ba 5B69 ldr r3, [r3, #20]
6553 00bc 03F04003 and r3, r3, #64
6554 .LVL570:
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6555 .loc 1 2416 7 is_stmt 1 view .LVU2137
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6556 .loc 1 2416 18 is_stmt 0 view .LVU2138
6557 00c0 626C ldr r2, [r4, #68]
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6558 .loc 1 2416 10 view .LVU2139
6559 00c2 12F0080F tst r2, #8
6560 00c6 00D1 bne .L338
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6561 .loc 1 2416 62 discriminator 1 view .LVU2140
6562 00c8 63B3 cbz r3, .L339
6563 .L338:
2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6564 .loc 1 2421 9 is_stmt 1 view .LVU2141
6565 00ca 2046 mov r0, r4
6566 00cc FFF7FEFF bl UART_EndRxTransfer
6567 .LVL571:
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/cc8UBTH4.s page 225
6568 .loc 1 2424 9 view .LVU2142
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6569 .loc 1 2424 13 is_stmt 0 view .LVU2143
6570 00d0 2368 ldr r3, [r4]
6571 00d2 5B69 ldr r3, [r3, #20]
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6572 .loc 1 2424 12 view .LVU2144
6573 00d4 13F0400F tst r3, #64
6574 00d8 20D0 beq .L340
6575 .L341:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6576 .loc 1 2426 11 is_stmt 1 discriminator 1 view .LVU2145
6577 .LBB514:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6578 .loc 1 2426 11 discriminator 1 view .LVU2146
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6579 .loc 1 2426 11 discriminator 1 view .LVU2147
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6580 .loc 1 2426 11 discriminator 1 view .LVU2148
6581 00da 2268 ldr r2, [r4]
6582 .LVL572:
6583 .LBB515:
6584 .LBI515:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6585 .loc 2 476 31 discriminator 1 view .LVU2149
6586 .LBB516:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6587 .loc 2 478 5 discriminator 1 view .LVU2150
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6588 .loc 2 480 4 discriminator 1 view .LVU2151
6589 00dc 02F11403 add r3, r2, #20
6590 .LVL573:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6591 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2152
6592 .syntax unified
6593 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6594 00e0 53E8003F ldrex r3, [r3]
6595 @ 0 "" 2
6596 .LVL574:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6597 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2153
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6598 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2154
6599 .thumb
6600 .syntax unified
6601 .LBE516:
6602 .LBE515:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6603 .loc 1 2426 11 discriminator 1 view .LVU2155
6604 00e4 23F04003 bic r3, r3, #64
6605 .LVL575:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6606 .loc 1 2426 11 is_stmt 1 discriminator 1 view .LVU2156
6607 .LBB517:
6608 .LBI517:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6609 .loc 2 527 31 discriminator 1 view .LVU2157
ARM GAS /tmp/cc8UBTH4.s page 226
6610 .LBB518:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6611 .loc 2 529 4 discriminator 1 view .LVU2158
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6612 .loc 2 531 4 discriminator 1 view .LVU2159
6613 00e8 1432 adds r2, r2, #20
6614 .LVL576:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6615 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2160
6616 .syntax unified
6617 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6618 00ea 42E80031 strex r1, r3, [r2]
6619 @ 0 "" 2
6620 .LVL577:
6621 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2161
6622 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2162
6623 .thumb
6624 .syntax unified
6625 .LBE518:
6626 .LBE517:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6627 .loc 1 2426 11 discriminator 1 view .LVU2163
6628 00ee 0029 cmp r1, #0
6629 00f0 F3D1 bne .L341
6630 .LBE514:
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6631 .loc 1 2426 11 is_stmt 1 discriminator 2 view .LVU2164
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6632 .loc 1 2429 11 discriminator 2 view .LVU2165
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6633 .loc 1 2429 20 is_stmt 0 discriminator 2 view .LVU2166
6634 00f2 E36B ldr r3, [r4, #60]
6635 .LVL578:
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6636 .loc 1 2429 14 discriminator 2 view .LVU2167
6637 00f4 73B1 cbz r3, .L342
2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
6638 .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)
6639 .loc 1 2433 46 is_stmt 0 view .LVU2169
6640 00f6 6A4A ldr r2, .L363
6641 00f8 1A65 str r2, [r3, #80]
2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6642 .loc 1 2434 13 is_stmt 1 view .LVU2170
2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6643 .loc 1 2434 17 is_stmt 0 view .LVU2171
6644 00fa E06B ldr r0, [r4, #60]
6645 00fc FFF7FEFF bl HAL_DMA_Abort_IT
6646 .LVL579:
2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6647 .loc 1 2434 16 view .LVU2172
6648 0100 0028 cmp r0, #0
6649 0102 A5D0 beq .L326
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6650 .loc 1 2437 15 is_stmt 1 view .LVU2173
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6651 .loc 1 2437 20 is_stmt 0 view .LVU2174
ARM GAS /tmp/cc8UBTH4.s page 227
6652 0104 E06B ldr r0, [r4, #60]
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6653 .loc 1 2437 28 view .LVU2175
6654 0106 036D ldr r3, [r0, #80]
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6655 .loc 1 2437 15 view .LVU2176
6656 0108 9847 blx r3
6657 .LVL580:
6658 010a A1E7 b .L326
6659 .LVL581:
6660 .L362:
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6661 .loc 1 2410 9 is_stmt 1 view .LVU2177
6662 010c 2046 mov r0, r4
6663 .LVL582:
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6664 .loc 1 2410 9 is_stmt 0 view .LVU2178
6665 010e FFF7FEFF bl UART_Receive_IT
6666 .LVL583:
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6667 .loc 1 2410 9 view .LVU2179
6668 0112 D1E7 b .L337
6669 .LVL584:
6670 .L342:
2448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6671 .loc 1 2448 13 is_stmt 1 view .LVU2180
6672 0114 2046 mov r0, r4
6673 0116 FFF7FEFF bl HAL_UART_ErrorCallback
6674 .LVL585:
6675 011a 99E7 b .L326
6676 .L340:
2460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6677 .loc 1 2460 11 view .LVU2181
6678 011c 2046 mov r0, r4
6679 011e FFF7FEFF bl HAL_UART_ErrorCallback
6680 .LVL586:
6681 0122 95E7 b .L326
6682 .LVL587:
6683 .L339:
2473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6684 .loc 1 2473 9 view .LVU2182
6685 0124 2046 mov r0, r4
6686 0126 FFF7FEFF bl HAL_UART_ErrorCallback
6687 .LVL588:
2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6688 .loc 1 2476 9 view .LVU2183
2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6689 .loc 1 2476 26 is_stmt 0 view .LVU2184
6690 012a 0023 movs r3, #0
6691 012c 6364 str r3, [r4, #68]
2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */
6692 .loc 1 2479 5 is_stmt 1 view .LVU2185
6693 012e 8FE7 b .L326
6694 .LVL589:
6695 .L359:
2485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && ((cr1its & USART_CR1_IDLEIE) != 0U))
6696 .loc 1 2485 7 is_stmt 0 view .LVU2186
ARM GAS /tmp/cc8UBTH4.s page 228
6697 0130 13F0100F tst r3, #16
6698 0134 3FF47EAF beq .L343
2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6699 .loc 1 2486 7 view .LVU2187
6700 0138 10F0100F tst r0, #16
6701 013c 3FF47AAF beq .L343
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6702 .loc 1 2488 5 is_stmt 1 view .LVU2188
6703 .LBB519:
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6704 .loc 1 2488 5 view .LVU2189
6705 0140 0023 movs r3, #0
6706 .LVL590:
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6707 .loc 1 2488 5 is_stmt 0 view .LVU2190
6708 0142 0193 str r3, [sp, #4]
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6709 .loc 1 2488 5 is_stmt 1 view .LVU2191
6710 0144 1368 ldr r3, [r2]
6711 0146 0193 str r3, [sp, #4]
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6712 .loc 1 2488 5 view .LVU2192
6713 0148 5368 ldr r3, [r2, #4]
6714 014a 0193 str r3, [sp, #4]
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6715 .loc 1 2488 5 view .LVU2193
6716 014c 019B ldr r3, [sp, #4]
6717 .LBE519:
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6718 .loc 1 2488 5 view .LVU2194
2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6719 .loc 1 2491 5 view .LVU2195
2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6720 .loc 1 2491 9 is_stmt 0 view .LVU2196
6721 014e 5369 ldr r3, [r2, #20]
2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6722 .loc 1 2491 8 view .LVU2197
6723 0150 13F0400F tst r3, #64
6724 0154 5FD0 beq .L344
6725 .LBB520:
2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
6726 .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)
6727 .loc 1 2497 50 is_stmt 0 view .LVU2199
6728 0156 E26B ldr r2, [r4, #60]
6729 0158 1368 ldr r3, [r2]
6730 015a 5B68 ldr r3, [r3, #4]
2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
6731 .loc 1 2497 16 view .LVU2200
6732 015c 9BB2 uxth r3, r3
6733 .LVL591:
2498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
6734 .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))
6735 .loc 1 2498 10 is_stmt 0 view .LVU2202
6736 015e 002B cmp r3, #0
6737 0160 4AD0 beq .L345
ARM GAS /tmp/cc8UBTH4.s page 229
2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6738 .loc 1 2499 43 view .LVU2203
6739 0162 A18D ldrh r1, [r4, #44]
2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6740 .loc 1 2499 11 view .LVU2204
6741 0164 9942 cmp r1, r3
6742 0166 47D9 bls .L345
2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6743 .loc 1 2502 9 is_stmt 1 view .LVU2205
2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6744 .loc 1 2502 28 is_stmt 0 view .LVU2206
6745 0168 E385 strh r3, [r4, #46] @ movhi
2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6746 .loc 1 2505 9 is_stmt 1 view .LVU2207
2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6747 .loc 1 2505 32 is_stmt 0 view .LVU2208
6748 016a D369 ldr r3, [r2, #28]
6749 .LVL592:
2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
6750 .loc 1 2505 12 view .LVU2209
6751 016c B3F5807F cmp r3, #256
6752 0170 37D0 beq .L346
6753 .L347:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6754 .loc 1 2508 11 is_stmt 1 discriminator 1 view .LVU2210
6755 .LBB521:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6756 .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);
6757 .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);
6758 .loc 1 2508 11 discriminator 1 view .LVU2213
6759 0172 2268 ldr r2, [r4]
6760 .LVL593:
6761 .LBB522:
6762 .LBI522:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6763 .loc 2 476 31 discriminator 1 view .LVU2214
6764 .LBB523:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6765 .loc 2 478 5 discriminator 1 view .LVU2215
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6766 .loc 2 480 4 discriminator 1 view .LVU2216
6767 0174 02F10C03 add r3, r2, #12
6768 .LVL594:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6769 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2217
6770 .syntax unified
6771 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6772 0178 53E8003F ldrex r3, [r3]
6773 @ 0 "" 2
6774 .LVL595:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6775 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2218
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6776 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2219
6777 .thumb
ARM GAS /tmp/cc8UBTH4.s page 230
6778 .syntax unified
6779 .LBE523:
6780 .LBE522:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6781 .loc 1 2508 11 discriminator 1 view .LVU2220
6782 017c 23F48073 bic r3, r3, #256
6783 .LVL596:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6784 .loc 1 2508 11 is_stmt 1 discriminator 1 view .LVU2221
6785 .LBB524:
6786 .LBI524:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6787 .loc 2 527 31 discriminator 1 view .LVU2222
6788 .LBB525:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6789 .loc 2 529 4 discriminator 1 view .LVU2223
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6790 .loc 2 531 4 discriminator 1 view .LVU2224
6791 0180 0C32 adds r2, r2, #12
6792 .LVL597:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6793 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2225
6794 .syntax unified
6795 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6796 0182 42E80031 strex r1, r3, [r2]
6797 @ 0 "" 2
6798 .LVL598:
6799 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2226
6800 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2227
6801 .thumb
6802 .syntax unified
6803 .LBE525:
6804 .LBE524:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6805 .loc 1 2508 11 discriminator 1 view .LVU2228
6806 0186 0029 cmp r1, #0
6807 0188 F3D1 bne .L347
6808 .LVL599:
6809 .L348:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6810 .loc 1 2508 11 discriminator 1 view .LVU2229
6811 .LBE521:
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6812 .loc 1 2508 11 is_stmt 1 discriminator 1 view .LVU2230
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6813 .loc 1 2509 11 discriminator 1 view .LVU2231
6814 .LBB526:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6815 .loc 1 2509 11 discriminator 1 view .LVU2232
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6816 .loc 1 2509 11 discriminator 1 view .LVU2233
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6817 .loc 1 2509 11 discriminator 1 view .LVU2234
6818 018a 2268 ldr r2, [r4]
6819 .LVL600:
6820 .LBB527:
6821 .LBI527:
ARM GAS /tmp/cc8UBTH4.s page 231
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6822 .loc 2 476 31 discriminator 1 view .LVU2235
6823 .LBB528:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6824 .loc 2 478 5 discriminator 1 view .LVU2236
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6825 .loc 2 480 4 discriminator 1 view .LVU2237
6826 018c 02F11403 add r3, r2, #20
6827 .LVL601:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6828 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2238
6829 .syntax unified
6830 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6831 0190 53E8003F ldrex r3, [r3]
6832 @ 0 "" 2
6833 .LVL602:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6834 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2239
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6835 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2240
6836 .thumb
6837 .syntax unified
6838 .LBE528:
6839 .LBE527:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6840 .loc 1 2509 11 discriminator 1 view .LVU2241
6841 0194 23F00103 bic r3, r3, #1
6842 .LVL603:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6843 .loc 1 2509 11 is_stmt 1 discriminator 1 view .LVU2242
6844 .LBB529:
6845 .LBI529:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6846 .loc 2 527 31 discriminator 1 view .LVU2243
6847 .LBB530:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6848 .loc 2 529 4 discriminator 1 view .LVU2244
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6849 .loc 2 531 4 discriminator 1 view .LVU2245
6850 0198 1432 adds r2, r2, #20
6851 .LVL604:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6852 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2246
6853 .syntax unified
6854 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6855 019a 42E80031 strex r1, r3, [r2]
6856 @ 0 "" 2
6857 .LVL605:
6858 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2247
6859 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2248
6860 .thumb
6861 .syntax unified
6862 .LBE530:
6863 .LBE529:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6864 .loc 1 2509 11 discriminator 1 view .LVU2249
6865 019e 0029 cmp r1, #0
ARM GAS /tmp/cc8UBTH4.s page 232
6866 01a0 F3D1 bne .L348
6867 .LVL606:
6868 .L349:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6869 .loc 1 2509 11 discriminator 1 view .LVU2250
6870 .LBE526:
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6871 .loc 1 2509 11 is_stmt 1 discriminator 1 view .LVU2251
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6872 .loc 1 2513 11 discriminator 1 view .LVU2252
6873 .LBB531:
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6874 .loc 1 2513 11 discriminator 1 view .LVU2253
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6875 .loc 1 2513 11 discriminator 1 view .LVU2254
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6876 .loc 1 2513 11 discriminator 1 view .LVU2255
6877 01a2 2268 ldr r2, [r4]
6878 .LVL607:
6879 .LBB532:
6880 .LBI532:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6881 .loc 2 476 31 discriminator 1 view .LVU2256
6882 .LBB533:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6883 .loc 2 478 5 discriminator 1 view .LVU2257
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6884 .loc 2 480 4 discriminator 1 view .LVU2258
6885 01a4 02F11403 add r3, r2, #20
6886 .LVL608:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6887 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2259
6888 .syntax unified
6889 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6890 01a8 53E8003F ldrex r3, [r3]
6891 @ 0 "" 2
6892 .LVL609:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6893 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2260
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6894 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2261
6895 .thumb
6896 .syntax unified
6897 .LBE533:
6898 .LBE532:
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6899 .loc 1 2513 11 discriminator 1 view .LVU2262
6900 01ac 23F04003 bic r3, r3, #64
6901 .LVL610:
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6902 .loc 1 2513 11 is_stmt 1 discriminator 1 view .LVU2263
6903 .LBB534:
6904 .LBI534:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6905 .loc 2 527 31 discriminator 1 view .LVU2264
6906 .LBB535:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/cc8UBTH4.s page 233
6907 .loc 2 529 4 discriminator 1 view .LVU2265
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6908 .loc 2 531 4 discriminator 1 view .LVU2266
6909 01b0 1432 adds r2, r2, #20
6910 .LVL611:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6911 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2267
6912 .syntax unified
6913 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6914 01b2 42E80031 strex r1, r3, [r2]
6915 @ 0 "" 2
6916 .LVL612:
6917 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2268
6918 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2269
6919 .thumb
6920 .syntax unified
6921 .LBE535:
6922 .LBE534:
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6923 .loc 1 2513 11 discriminator 1 view .LVU2270
6924 01b6 0029 cmp r1, #0
6925 01b8 F3D1 bne .L349
6926 .LBE531:
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6927 .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;
6928 .loc 1 2516 11 discriminator 2 view .LVU2272
2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6929 .loc 1 2516 26 is_stmt 0 discriminator 2 view .LVU2273
6930 01ba 2023 movs r3, #32
6931 .LVL613:
2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6932 .loc 1 2516 26 discriminator 2 view .LVU2274
6933 01bc 84F84230 strb r3, [r4, #66]
6934 .LVL614:
2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6935 .loc 1 2517 11 is_stmt 1 discriminator 2 view .LVU2275
2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6936 .loc 1 2517 32 is_stmt 0 discriminator 2 view .LVU2276
6937 01c0 0023 movs r3, #0
6938 01c2 2363 str r3, [r4, #48]
6939 .L350:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6940 .loc 1 2519 11 is_stmt 1 discriminator 1 view .LVU2277
6941 .LBB536:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6942 .loc 1 2519 11 discriminator 1 view .LVU2278
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6943 .loc 1 2519 11 discriminator 1 view .LVU2279
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6944 .loc 1 2519 11 discriminator 1 view .LVU2280
6945 01c4 2268 ldr r2, [r4]
6946 .LVL615:
6947 .LBB537:
6948 .LBI537:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6949 .loc 2 476 31 discriminator 1 view .LVU2281
ARM GAS /tmp/cc8UBTH4.s page 234
6950 .LBB538:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
6951 .loc 2 478 5 discriminator 1 view .LVU2282
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6952 .loc 2 480 4 discriminator 1 view .LVU2283
6953 01c6 02F10C03 add r3, r2, #12
6954 .LVL616:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6955 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2284
6956 .syntax unified
6957 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6958 01ca 53E8003F ldrex r3, [r3]
6959 @ 0 "" 2
6960 .LVL617:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6961 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2285
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6962 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2286
6963 .thumb
6964 .syntax unified
6965 .LBE538:
6966 .LBE537:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6967 .loc 1 2519 11 discriminator 1 view .LVU2287
6968 01ce 23F01003 bic r3, r3, #16
6969 .LVL618:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6970 .loc 1 2519 11 is_stmt 1 discriminator 1 view .LVU2288
6971 .LBB539:
6972 .LBI539:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6973 .loc 2 527 31 discriminator 1 view .LVU2289
6974 .LBB540:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
6975 .loc 2 529 4 discriminator 1 view .LVU2290
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6976 .loc 2 531 4 discriminator 1 view .LVU2291
6977 01d2 0C32 adds r2, r2, #12
6978 .LVL619:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6979 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2292
6980 .syntax unified
6981 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6982 01d4 42E80031 strex r1, r3, [r2]
6983 @ 0 "" 2
6984 .LVL620:
6985 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2293
6986 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2294
6987 .thumb
6988 .syntax unified
6989 .LBE540:
6990 .LBE539:
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6991 .loc 1 2519 11 discriminator 1 view .LVU2295
6992 01d8 0029 cmp r1, #0
6993 01da F3D1 bne .L350
6994 .LBE536:
ARM GAS /tmp/cc8UBTH4.s page 235
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
6995 .loc 1 2519 11 is_stmt 1 discriminator 2 view .LVU2296
2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6996 .loc 1 2522 11 discriminator 2 view .LVU2297
2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
6997 .loc 1 2522 17 is_stmt 0 discriminator 2 view .LVU2298
6998 01dc E06B ldr r0, [r4, #60]
6999 .LVL621:
2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7000 .loc 1 2522 17 discriminator 2 view .LVU2299
7001 01de FFF7FEFF bl HAL_DMA_Abort
7002 .LVL622:
7003 .L346:
2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7004 .loc 1 2527 9 is_stmt 1 view .LVU2300
2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7005 .loc 1 2527 28 is_stmt 0 view .LVU2301
7006 01e2 0223 movs r3, #2
7007 01e4 6363 str r3, [r4, #52]
2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7008 .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 */
7009 .loc 1 2534 49 is_stmt 0 view .LVU2303
7010 01e6 A18D ldrh r1, [r4, #44]
2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7011 .loc 1 2534 69 view .LVU2304
7012 01e8 E38D ldrh r3, [r4, #46]
7013 01ea 9BB2 uxth r3, r3
2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7014 .loc 1 2534 9 view .LVU2305
7015 01ec C91A subs r1, r1, r3
7016 01ee 89B2 uxth r1, r1
7017 01f0 2046 mov r0, r4
7018 01f2 FFF7FEFF bl HAL_UARTEx_RxEventCallback
7019 .LVL623:
7020 01f6 2BE7 b .L326
7021 .LVL624:
7022 .L345:
2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7023 .loc 1 2541 9 is_stmt 1 view .LVU2306
2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7024 .loc 1 2541 42 is_stmt 0 view .LVU2307
7025 01f8 A18D ldrh r1, [r4, #44]
2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7026 .loc 1 2541 12 view .LVU2308
7027 01fa 9942 cmp r1, r3
7028 01fc 7FF428AF bne .L326
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7029 .loc 1 2543 11 is_stmt 1 view .LVU2309
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7030 .loc 1 2543 34 is_stmt 0 view .LVU2310
7031 0200 D369 ldr r3, [r2, #28]
7032 .LVL625:
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7033 .loc 1 2543 14 view .LVU2311
7034 0202 B3F5807F cmp r3, #256
7035 0206 7FF423AF bne .L326
ARM GAS /tmp/cc8UBTH4.s page 236
2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7036 .loc 1 2547 13 is_stmt 1 view .LVU2312
2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7037 .loc 1 2547 32 is_stmt 0 view .LVU2313
7038 020a 0223 movs r3, #2
7039 020c 6363 str r3, [r4, #52]
2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
7040 .loc 1 2554 13 is_stmt 1 view .LVU2314
7041 020e 2046 mov r0, r4
7042 .LVL626:
2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
7043 .loc 1 2554 13 is_stmt 0 view .LVU2315
7044 0210 FFF7FEFF bl HAL_UARTEx_RxEventCallback
7045 .LVL627:
2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7046 .loc 1 2559 7 is_stmt 1 view .LVU2316
7047 0214 1CE7 b .L326
7048 .LVL628:
7049 .L344:
2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7050 .loc 1 2559 7 is_stmt 0 view .LVU2317
7051 .LBE520:
7052 .LBB541:
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
7053 .loc 1 2566 7 is_stmt 1 view .LVU2318
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
7054 .loc 1 2566 34 is_stmt 0 view .LVU2319
7055 0216 A18D ldrh r1, [r4, #44]
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
7056 .loc 1 2566 54 view .LVU2320
7057 0218 E38D ldrh r3, [r4, #46]
7058 021a 9BB2 uxth r3, r3
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
7059 .loc 1 2566 16 view .LVU2321
7060 021c C91A subs r1, r1, r3
7061 021e 89B2 uxth r1, r1
7062 .LVL629:
2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U))
7063 .loc 1 2567 7 is_stmt 1 view .LVU2322
2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U))
7064 .loc 1 2567 17 is_stmt 0 view .LVU2323
7065 0220 E38D ldrh r3, [r4, #46]
7066 0222 9BB2 uxth r3, r3
2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** && (nb_rx_data > 0U))
7067 .loc 1 2567 10 view .LVU2324
7068 0224 002B cmp r3, #0
7069 0226 3FF413AF beq .L326
2568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7070 .loc 1 2568 11 view .LVU2325
7071 022a 0029 cmp r1, #0
7072 022c 3FF410AF beq .L326
7073 .LVL630:
7074 .L353:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7075 .loc 1 2571 9 is_stmt 1 discriminator 1 view .LVU2326
7076 .LBB542:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 237
7077 .loc 1 2571 9 discriminator 1 view .LVU2327
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7078 .loc 1 2571 9 discriminator 1 view .LVU2328
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7079 .loc 1 2571 9 discriminator 1 view .LVU2329
7080 0230 2268 ldr r2, [r4]
7081 .LVL631:
7082 .LBB543:
7083 .LBI543:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7084 .loc 2 476 31 discriminator 1 view .LVU2330
7085 .LBB544:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7086 .loc 2 478 5 discriminator 1 view .LVU2331
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7087 .loc 2 480 4 discriminator 1 view .LVU2332
7088 0232 02F10C03 add r3, r2, #12
7089 .LVL632:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7090 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2333
7091 .syntax unified
7092 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7093 0236 53E8003F ldrex r3, [r3]
7094 @ 0 "" 2
7095 .LVL633:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7096 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2334
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7097 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2335
7098 .thumb
7099 .syntax unified
7100 .LBE544:
7101 .LBE543:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7102 .loc 1 2571 9 discriminator 1 view .LVU2336
7103 023a 23F49073 bic r3, r3, #288
7104 .LVL634:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7105 .loc 1 2571 9 is_stmt 1 discriminator 1 view .LVU2337
7106 .LBB545:
7107 .LBI545:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7108 .loc 2 527 31 discriminator 1 view .LVU2338
7109 .LBB546:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7110 .loc 2 529 4 discriminator 1 view .LVU2339
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7111 .loc 2 531 4 discriminator 1 view .LVU2340
7112 023e 0C32 adds r2, r2, #12
7113 .LVL635:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7114 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2341
7115 .syntax unified
7116 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7117 0240 42E80030 strex r0, r3, [r2]
7118 @ 0 "" 2
7119 .LVL636:
ARM GAS /tmp/cc8UBTH4.s page 238
7120 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2342
7121 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2343
7122 .thumb
7123 .syntax unified
7124 .LBE546:
7125 .LBE545:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7126 .loc 1 2571 9 discriminator 1 view .LVU2344
7127 0244 0028 cmp r0, #0
7128 0246 F3D1 bne .L353
7129 .LVL637:
7130 .L354:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7131 .loc 1 2571 9 discriminator 1 view .LVU2345
7132 .LBE542:
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7133 .loc 1 2571 9 is_stmt 1 discriminator 1 view .LVU2346
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7134 .loc 1 2574 9 discriminator 1 view .LVU2347
7135 .LBB547:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7136 .loc 1 2574 9 discriminator 1 view .LVU2348
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7137 .loc 1 2574 9 discriminator 1 view .LVU2349
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7138 .loc 1 2574 9 discriminator 1 view .LVU2350
7139 0248 2268 ldr r2, [r4]
7140 .LVL638:
7141 .LBB548:
7142 .LBI548:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7143 .loc 2 476 31 discriminator 1 view .LVU2351
7144 .LBB549:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7145 .loc 2 478 5 discriminator 1 view .LVU2352
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7146 .loc 2 480 4 discriminator 1 view .LVU2353
7147 024a 02F11403 add r3, r2, #20
7148 .LVL639:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7149 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2354
7150 .syntax unified
7151 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7152 024e 53E8003F ldrex r3, [r3]
7153 @ 0 "" 2
7154 .LVL640:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7155 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2355
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7156 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2356
7157 .thumb
7158 .syntax unified
7159 .LBE549:
7160 .LBE548:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7161 .loc 1 2574 9 discriminator 1 view .LVU2357
7162 0252 23F00103 bic r3, r3, #1
ARM GAS /tmp/cc8UBTH4.s page 239
7163 .LVL641:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7164 .loc 1 2574 9 is_stmt 1 discriminator 1 view .LVU2358
7165 .LBB550:
7166 .LBI550:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7167 .loc 2 527 31 discriminator 1 view .LVU2359
7168 .LBB551:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7169 .loc 2 529 4 discriminator 1 view .LVU2360
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7170 .loc 2 531 4 discriminator 1 view .LVU2361
7171 0256 1432 adds r2, r2, #20
7172 .LVL642:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7173 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2362
7174 .syntax unified
7175 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7176 0258 42E80030 strex r0, r3, [r2]
7177 @ 0 "" 2
7178 .LVL643:
7179 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2363
7180 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2364
7181 .thumb
7182 .syntax unified
7183 .LBE551:
7184 .LBE550:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7185 .loc 1 2574 9 discriminator 1 view .LVU2365
7186 025c 0028 cmp r0, #0
7187 025e F3D1 bne .L354
7188 .LBE547:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7189 .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;
7190 .loc 1 2577 9 discriminator 2 view .LVU2367
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
7191 .loc 1 2577 24 is_stmt 0 discriminator 2 view .LVU2368
7192 0260 2023 movs r3, #32
7193 .LVL644:
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
7194 .loc 1 2577 24 discriminator 2 view .LVU2369
7195 0262 84F84230 strb r3, [r4, #66]
2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7196 .loc 1 2578 9 is_stmt 1 discriminator 2 view .LVU2370
2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7197 .loc 1 2578 30 is_stmt 0 discriminator 2 view .LVU2371
7198 0266 0023 movs r3, #0
7199 0268 2363 str r3, [r4, #48]
7200 .L355:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7201 .loc 1 2580 9 is_stmt 1 discriminator 1 view .LVU2372
7202 .LBB552:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7203 .loc 1 2580 9 discriminator 1 view .LVU2373
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7204 .loc 1 2580 9 discriminator 1 view .LVU2374
ARM GAS /tmp/cc8UBTH4.s page 240
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7205 .loc 1 2580 9 discriminator 1 view .LVU2375
7206 026a 2268 ldr r2, [r4]
7207 .LVL645:
7208 .LBB553:
7209 .LBI553:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7210 .loc 2 476 31 discriminator 1 view .LVU2376
7211 .LBB554:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7212 .loc 2 478 5 discriminator 1 view .LVU2377
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7213 .loc 2 480 4 discriminator 1 view .LVU2378
7214 026c 02F10C03 add r3, r2, #12
7215 .LVL646:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7216 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2379
7217 .syntax unified
7218 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7219 0270 53E8003F ldrex r3, [r3]
7220 @ 0 "" 2
7221 .LVL647:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7222 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2380
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7223 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2381
7224 .thumb
7225 .syntax unified
7226 .LBE554:
7227 .LBE553:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7228 .loc 1 2580 9 discriminator 1 view .LVU2382
7229 0274 23F01003 bic r3, r3, #16
7230 .LVL648:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7231 .loc 1 2580 9 is_stmt 1 discriminator 1 view .LVU2383
7232 .LBB555:
7233 .LBI555:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7234 .loc 2 527 31 discriminator 1 view .LVU2384
7235 .LBB556:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7236 .loc 2 529 4 discriminator 1 view .LVU2385
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7237 .loc 2 531 4 discriminator 1 view .LVU2386
7238 0278 0C32 adds r2, r2, #12
7239 .LVL649:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7240 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2387
7241 .syntax unified
7242 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7243 027a 42E80030 strex r0, r3, [r2]
7244 @ 0 "" 2
7245 .LVL650:
7246 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2388
7247 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2389
7248 .thumb
ARM GAS /tmp/cc8UBTH4.s page 241
7249 .syntax unified
7250 .LBE556:
7251 .LBE555:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7252 .loc 1 2580 9 discriminator 1 view .LVU2390
7253 027e 0028 cmp r0, #0
7254 0280 F3D1 bne .L355
7255 .LBE552:
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7256 .loc 1 2580 9 is_stmt 1 discriminator 2 view .LVU2391
2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7257 .loc 1 2584 9 discriminator 2 view .LVU2392
2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7258 .loc 1 2584 28 is_stmt 0 discriminator 2 view .LVU2393
7259 0282 0223 movs r3, #2
7260 .LVL651:
2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7261 .loc 1 2584 28 discriminator 2 view .LVU2394
7262 0284 6363 str r3, [r4, #52]
2591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7263 .loc 1 2591 9 is_stmt 1 discriminator 2 view .LVU2395
7264 0286 2046 mov r0, r4
7265 0288 FFF7FEFF bl HAL_UARTEx_RxEventCallback
7266 .LVL652:
2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7267 .loc 1 2594 7 discriminator 2 view .LVU2396
7268 028c E0E6 b .L326
7269 .LVL653:
7270 .L360:
2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7271 .loc 1 2594 7 is_stmt 0 discriminator 2 view .LVU2397
7272 .LBE541:
2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
7273 .loc 1 2601 5 is_stmt 1 view .LVU2398
7274 028e 2046 mov r0, r4
7275 .LVL654:
2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
7276 .loc 1 2601 5 is_stmt 0 view .LVU2399
7277 0290 FFF7FEFF bl UART_Transmit_IT
7278 .LVL655:
2602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7279 .loc 1 2602 5 is_stmt 1 view .LVU2400
7280 0294 DCE6 b .L326
7281 .LVL656:
7282 .L361:
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
7283 .loc 1 2608 5 view .LVU2401
7284 0296 2046 mov r0, r4
7285 .LVL657:
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
7286 .loc 1 2608 5 is_stmt 0 view .LVU2402
7287 0298 FFF7FEFF bl UART_EndTransmit_IT
7288 .LVL658:
2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7289 .loc 1 2609 5 is_stmt 1 view .LVU2403
7290 029c D8E6 b .L326
7291 .L364:
ARM GAS /tmp/cc8UBTH4.s page 242
7292 029e 00BF .align 2
7293 .L363:
7294 02a0 00000000 .word UART_DMAAbortOnError
7295 .cfi_endproc
7296 .LFE160:
7298 .section .text.UART_DMARxHalfCplt,"ax",%progbits
7299 .align 1
7300 .syntax unified
7301 .thumb
7302 .thumb_func
7303 .fpu fpv4-sp-d16
7305 UART_DMARxHalfCplt:
7306 .LVL659:
7307 .LFB180:
3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
7308 .loc 1 3132 1 view -0
7309 .cfi_startproc
7310 @ args = 0, pretend = 0, frame = 0
7311 @ 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;
7312 .loc 1 3132 1 is_stmt 0 view .LVU2405
7313 0000 08B5 push {r3, lr}
7314 .LCFI56:
7315 .cfi_def_cfa_offset 8
7316 .cfi_offset 3, -8
7317 .cfi_offset 14, -4
3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7318 .loc 1 3133 3 is_stmt 1 view .LVU2406
3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7319 .loc 1 3133 23 is_stmt 0 view .LVU2407
7320 0002 806B ldr r0, [r0, #56]
7321 .LVL660:
3137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7322 .loc 1 3137 3 is_stmt 1 view .LVU2408
3137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7323 .loc 1 3137 22 is_stmt 0 view .LVU2409
7324 0004 0123 movs r3, #1
7325 0006 4363 str r3, [r0, #52]
3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7326 .loc 1 3141 3 is_stmt 1 view .LVU2410
3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7327 .loc 1 3141 12 is_stmt 0 view .LVU2411
7328 0008 036B ldr r3, [r0, #48]
3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7329 .loc 1 3141 6 view .LVU2412
7330 000a 012B cmp r3, #1
7331 000c 02D0 beq .L369
3159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7332 .loc 1 3159 5 is_stmt 1 view .LVU2413
7333 000e FFF7FEFF bl HAL_UART_RxHalfCpltCallback
7334 .LVL661:
7335 .L365:
3162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7336 .loc 1 3162 1 is_stmt 0 view .LVU2414
7337 0012 08BD pop {r3, pc}
7338 .LVL662:
7339 .L369:
ARM GAS /tmp/cc8UBTH4.s page 243
3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7340 .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 */
7341 .loc 1 3148 44 is_stmt 0 view .LVU2416
7342 0014 818D ldrh r1, [r0, #44]
3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7343 .loc 1 3148 5 view .LVU2417
7344 0016 4908 lsrs r1, r1, #1
7345 0018 FFF7FEFF bl HAL_UARTEx_RxEventCallback
7346 .LVL663:
3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7347 .loc 1 3148 5 view .LVU2418
7348 001c F9E7 b .L365
7349 .cfi_endproc
7350 .LFE180:
7352 .section .text.UART_DMAReceiveCplt,"ax",%progbits
7353 .align 1
7354 .syntax unified
7355 .thumb
7356 .thumb_func
7357 .fpu fpv4-sp-d16
7359 UART_DMAReceiveCplt:
7360 .LVL664:
7361 .LFB179:
3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
7362 .loc 1 3070 1 is_stmt 1 view -0
7363 .cfi_startproc
7364 @ args = 0, pretend = 0, frame = 0
7365 @ 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;
7366 .loc 1 3070 1 is_stmt 0 view .LVU2420
7367 0000 08B5 push {r3, lr}
7368 .LCFI57:
7369 .cfi_def_cfa_offset 8
7370 .cfi_offset 3, -8
7371 .cfi_offset 14, -4
7372 0002 0346 mov r3, r0
3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7373 .loc 1 3071 3 is_stmt 1 view .LVU2421
3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7374 .loc 1 3071 23 is_stmt 0 view .LVU2422
7375 0004 806B ldr r0, [r0, #56]
7376 .LVL665:
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7377 .loc 1 3074 3 is_stmt 1 view .LVU2423
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7378 .loc 1 3074 12 is_stmt 0 view .LVU2424
7379 0006 1B68 ldr r3, [r3]
7380 .LVL666:
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7381 .loc 1 3074 22 view .LVU2425
7382 0008 1B68 ldr r3, [r3]
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7383 .loc 1 3074 6 view .LVU2426
7384 000a 13F4807F tst r3, #256
7385 000e 2BD1 bne .L371
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 244
7386 .loc 1 3076 5 is_stmt 1 view .LVU2427
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7387 .loc 1 3076 24 is_stmt 0 view .LVU2428
7388 0010 0023 movs r3, #0
7389 0012 C385 strh r3, [r0, #46] @ movhi
7390 .L372:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7391 .loc 1 3079 5 is_stmt 1 discriminator 1 view .LVU2429
7392 .LBB557:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7393 .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);
7394 .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);
7395 .loc 1 3079 5 discriminator 1 view .LVU2432
7396 0014 0268 ldr r2, [r0]
7397 .LVL667:
7398 .LBB558:
7399 .LBI558:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7400 .loc 2 476 31 discriminator 1 view .LVU2433
7401 .LBB559:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7402 .loc 2 478 5 discriminator 1 view .LVU2434
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7403 .loc 2 480 4 discriminator 1 view .LVU2435
7404 0016 02F10C03 add r3, r2, #12
7405 .LVL668:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7406 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2436
7407 .syntax unified
7408 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7409 001a 53E8003F ldrex r3, [r3]
7410 @ 0 "" 2
7411 .LVL669:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7412 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2437
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7413 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2438
7414 .thumb
7415 .syntax unified
7416 .LBE559:
7417 .LBE558:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7418 .loc 1 3079 5 discriminator 1 view .LVU2439
7419 001e 23F48073 bic r3, r3, #256
7420 .LVL670:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7421 .loc 1 3079 5 is_stmt 1 discriminator 1 view .LVU2440
7422 .LBB560:
7423 .LBI560:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7424 .loc 2 527 31 discriminator 1 view .LVU2441
7425 .LBB561:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7426 .loc 2 529 4 discriminator 1 view .LVU2442
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/cc8UBTH4.s page 245
7427 .loc 2 531 4 discriminator 1 view .LVU2443
7428 0022 0C32 adds r2, r2, #12
7429 .LVL671:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7430 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2444
7431 .syntax unified
7432 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7433 0024 42E80031 strex r1, r3, [r2]
7434 @ 0 "" 2
7435 .LVL672:
7436 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2445
7437 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2446
7438 .thumb
7439 .syntax unified
7440 .LBE561:
7441 .LBE560:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7442 .loc 1 3079 5 discriminator 1 view .LVU2447
7443 0028 0029 cmp r1, #0
7444 002a F3D1 bne .L372
7445 .LVL673:
7446 .L373:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7447 .loc 1 3079 5 discriminator 1 view .LVU2448
7448 .LBE557:
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7449 .loc 1 3079 5 is_stmt 1 discriminator 1 view .LVU2449
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7450 .loc 1 3080 5 discriminator 1 view .LVU2450
7451 .LBB562:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7452 .loc 1 3080 5 discriminator 1 view .LVU2451
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7453 .loc 1 3080 5 discriminator 1 view .LVU2452
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7454 .loc 1 3080 5 discriminator 1 view .LVU2453
7455 002c 0268 ldr r2, [r0]
7456 .LVL674:
7457 .LBB563:
7458 .LBI563:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7459 .loc 2 476 31 discriminator 1 view .LVU2454
7460 .LBB564:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7461 .loc 2 478 5 discriminator 1 view .LVU2455
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7462 .loc 2 480 4 discriminator 1 view .LVU2456
7463 002e 02F11403 add r3, r2, #20
7464 .LVL675:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7465 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2457
7466 .syntax unified
7467 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7468 0032 53E8003F ldrex r3, [r3]
7469 @ 0 "" 2
7470 .LVL676:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/cc8UBTH4.s page 246
7471 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2458
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7472 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2459
7473 .thumb
7474 .syntax unified
7475 .LBE564:
7476 .LBE563:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7477 .loc 1 3080 5 discriminator 1 view .LVU2460
7478 0036 23F00103 bic r3, r3, #1
7479 .LVL677:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7480 .loc 1 3080 5 is_stmt 1 discriminator 1 view .LVU2461
7481 .LBB565:
7482 .LBI565:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7483 .loc 2 527 31 discriminator 1 view .LVU2462
7484 .LBB566:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7485 .loc 2 529 4 discriminator 1 view .LVU2463
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7486 .loc 2 531 4 discriminator 1 view .LVU2464
7487 003a 1432 adds r2, r2, #20
7488 .LVL678:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7489 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2465
7490 .syntax unified
7491 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7492 003c 42E80031 strex r1, r3, [r2]
7493 @ 0 "" 2
7494 .LVL679:
7495 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2466
7496 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2467
7497 .thumb
7498 .syntax unified
7499 .LBE566:
7500 .LBE565:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7501 .loc 1 3080 5 discriminator 1 view .LVU2468
7502 0040 0029 cmp r1, #0
7503 0042 F3D1 bne .L373
7504 .LVL680:
7505 .L374:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7506 .loc 1 3080 5 discriminator 1 view .LVU2469
7507 .LBE562:
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7508 .loc 1 3080 5 is_stmt 1 discriminator 1 view .LVU2470
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7509 .loc 1 3084 5 discriminator 1 view .LVU2471
7510 .LBB567:
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7511 .loc 1 3084 5 discriminator 1 view .LVU2472
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7512 .loc 1 3084 5 discriminator 1 view .LVU2473
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7513 .loc 1 3084 5 discriminator 1 view .LVU2474
ARM GAS /tmp/cc8UBTH4.s page 247
7514 0044 0268 ldr r2, [r0]
7515 .LVL681:
7516 .LBB568:
7517 .LBI568:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7518 .loc 2 476 31 discriminator 1 view .LVU2475
7519 .LBB569:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7520 .loc 2 478 5 discriminator 1 view .LVU2476
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7521 .loc 2 480 4 discriminator 1 view .LVU2477
7522 0046 02F11403 add r3, r2, #20
7523 .LVL682:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7524 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2478
7525 .syntax unified
7526 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7527 004a 53E8003F ldrex r3, [r3]
7528 @ 0 "" 2
7529 .LVL683:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7530 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2479
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7531 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2480
7532 .thumb
7533 .syntax unified
7534 .LBE569:
7535 .LBE568:
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7536 .loc 1 3084 5 discriminator 1 view .LVU2481
7537 004e 23F04003 bic r3, r3, #64
7538 .LVL684:
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7539 .loc 1 3084 5 is_stmt 1 discriminator 1 view .LVU2482
7540 .LBB570:
7541 .LBI570:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7542 .loc 2 527 31 discriminator 1 view .LVU2483
7543 .LBB571:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7544 .loc 2 529 4 discriminator 1 view .LVU2484
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7545 .loc 2 531 4 discriminator 1 view .LVU2485
7546 0052 1432 adds r2, r2, #20
7547 .LVL685:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7548 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2486
7549 .syntax unified
7550 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7551 0054 42E80031 strex r1, r3, [r2]
7552 @ 0 "" 2
7553 .LVL686:
7554 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2487
7555 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2488
7556 .thumb
7557 .syntax unified
7558 .LBE571:
ARM GAS /tmp/cc8UBTH4.s page 248
7559 .LBE570:
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7560 .loc 1 3084 5 discriminator 1 view .LVU2489
7561 0058 0029 cmp r1, #0
7562 005a F3D1 bne .L374
7563 .LBE567:
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7564 .loc 1 3084 5 is_stmt 1 discriminator 2 view .LVU2490
3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7565 .loc 1 3087 5 discriminator 2 view .LVU2491
3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7566 .loc 1 3087 20 is_stmt 0 discriminator 2 view .LVU2492
7567 005c 2023 movs r3, #32
7568 .LVL687:
3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7569 .loc 1 3087 20 discriminator 2 view .LVU2493
7570 005e 80F84230 strb r3, [r0, #66]
3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7571 .loc 1 3090 5 is_stmt 1 discriminator 2 view .LVU2494
3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7572 .loc 1 3090 14 is_stmt 0 discriminator 2 view .LVU2495
7573 0062 036B ldr r3, [r0, #48]
3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7574 .loc 1 3090 8 discriminator 2 view .LVU2496
7575 0064 012B cmp r3, #1
7576 0066 07D0 beq .L375
7577 .L371:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7578 .loc 1 3092 7 is_stmt 1 discriminator 2 view .LVU2497
3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7579 .loc 1 3098 3 discriminator 2 view .LVU2498
3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7580 .loc 1 3098 22 is_stmt 0 discriminator 2 view .LVU2499
7581 0068 0023 movs r3, #0
7582 006a 4363 str r3, [r0, #52]
3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7583 .loc 1 3102 3 is_stmt 1 discriminator 2 view .LVU2500
3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7584 .loc 1 3102 12 is_stmt 0 discriminator 2 view .LVU2501
7585 006c 036B ldr r3, [r0, #48]
3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
7586 .loc 1 3102 6 discriminator 2 view .LVU2502
7587 006e 012B cmp r3, #1
7588 0070 0FD0 beq .L379
3120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7589 .loc 1 3120 5 is_stmt 1 view .LVU2503
7590 0072 FFF7FEFF bl HAL_UART_RxCpltCallback
7591 .LVL688:
7592 .L370:
3123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7593 .loc 1 3123 1 is_stmt 0 view .LVU2504
7594 0076 08BD pop {r3, pc}
7595 .LVL689:
7596 .L375:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7597 .loc 1 3092 7 is_stmt 1 discriminator 1 view .LVU2505
7598 .LBB572:
ARM GAS /tmp/cc8UBTH4.s page 249
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7599 .loc 1 3092 7 discriminator 1 view .LVU2506
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7600 .loc 1 3092 7 discriminator 1 view .LVU2507
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7601 .loc 1 3092 7 discriminator 1 view .LVU2508
7602 0078 0268 ldr r2, [r0]
7603 .LVL690:
7604 .LBB573:
7605 .LBI573:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7606 .loc 2 476 31 discriminator 1 view .LVU2509
7607 .LBB574:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7608 .loc 2 478 5 discriminator 1 view .LVU2510
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7609 .loc 2 480 4 discriminator 1 view .LVU2511
7610 007a 02F10C03 add r3, r2, #12
7611 .LVL691:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7612 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2512
7613 .syntax unified
7614 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7615 007e 53E8003F ldrex r3, [r3]
7616 @ 0 "" 2
7617 .LVL692:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7618 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2513
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7619 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2514
7620 .thumb
7621 .syntax unified
7622 .LBE574:
7623 .LBE573:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7624 .loc 1 3092 7 discriminator 1 view .LVU2515
7625 0082 23F01003 bic r3, r3, #16
7626 .LVL693:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7627 .loc 1 3092 7 is_stmt 1 discriminator 1 view .LVU2516
7628 .LBB575:
7629 .LBI575:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7630 .loc 2 527 31 discriminator 1 view .LVU2517
7631 .LBB576:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7632 .loc 2 529 4 discriminator 1 view .LVU2518
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7633 .loc 2 531 4 discriminator 1 view .LVU2519
7634 0086 0C32 adds r2, r2, #12
7635 .LVL694:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7636 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2520
7637 .syntax unified
7638 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7639 0088 42E80031 strex r1, r3, [r2]
7640 @ 0 "" 2
ARM GAS /tmp/cc8UBTH4.s page 250
7641 .LVL695:
7642 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2521
7643 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2522
7644 .thumb
7645 .syntax unified
7646 .LBE576:
7647 .LBE575:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7648 .loc 1 3092 7 discriminator 1 view .LVU2523
7649 008c 0029 cmp r1, #0
7650 008e F3D1 bne .L375
7651 0090 EAE7 b .L371
7652 .LVL696:
7653 .L379:
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7654 .loc 1 3092 7 discriminator 1 view .LVU2524
7655 .LBE572:
3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7656 .loc 1 3109 5 is_stmt 1 view .LVU2525
7657 0092 818D ldrh r1, [r0, #44]
7658 0094 FFF7FEFF bl HAL_UARTEx_RxEventCallback
7659 .LVL697:
3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7660 .loc 1 3109 5 is_stmt 0 view .LVU2526
7661 0098 EDE7 b .L370
7662 .cfi_endproc
7663 .LFE179:
7665 .section .text.HAL_LIN_SendBreak,"ax",%progbits
7666 .align 1
7667 .global HAL_LIN_SendBreak
7668 .syntax unified
7669 .thumb
7670 .thumb_func
7671 .fpu fpv4-sp-d16
7673 HAL_LIN_SendBreak:
7674 .LVL698:
7675 .LFB170:
2781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
7676 .loc 1 2781 1 is_stmt 1 view -0
7677 .cfi_startproc
7678 @ args = 0, pretend = 0, frame = 0
7679 @ frame_needed = 0, uses_anonymous_args = 0
7680 @ link register save eliminated.
2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7681 .loc 1 2783 3 view .LVU2528
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7682 .loc 1 2786 3 view .LVU2529
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7683 .loc 1 2786 3 view .LVU2530
7684 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
7685 0004 012B cmp r3, #1
7686 0006 19D0 beq .L383
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7687 .loc 1 2786 3 discriminator 2 view .LVU2531
7688 0008 0123 movs r3, #1
7689 000a 80F84030 strb r3, [r0, #64]
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/cc8UBTH4.s page 251
7690 .loc 1 2786 3 discriminator 2 view .LVU2532
2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7691 .loc 1 2788 3 discriminator 2 view .LVU2533
2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7692 .loc 1 2788 17 is_stmt 0 discriminator 2 view .LVU2534
7693 000e 2423 movs r3, #36
7694 0010 80F84130 strb r3, [r0, #65]
7695 .L382:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7696 .loc 1 2791 3 is_stmt 1 discriminator 1 view .LVU2535
7697 .LBB577:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7698 .loc 1 2791 3 discriminator 1 view .LVU2536
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7699 .loc 1 2791 3 discriminator 1 view .LVU2537
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7700 .loc 1 2791 3 discriminator 1 view .LVU2538
7701 0014 0268 ldr r2, [r0]
7702 .LVL699:
7703 .LBB578:
7704 .LBI578:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7705 .loc 2 476 31 discriminator 1 view .LVU2539
7706 .LBB579:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7707 .loc 2 478 5 discriminator 1 view .LVU2540
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7708 .loc 2 480 4 discriminator 1 view .LVU2541
7709 0016 02F10C03 add r3, r2, #12
7710 .LVL700:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7711 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2542
7712 .syntax unified
7713 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7714 001a 53E8003F ldrex r3, [r3]
7715 @ 0 "" 2
7716 .LVL701:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7717 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2543
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7718 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2544
7719 .thumb
7720 .syntax unified
7721 .LBE579:
7722 .LBE578:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7723 .loc 1 2791 3 discriminator 1 view .LVU2545
7724 001e 43F00103 orr r3, r3, #1
7725 .LVL702:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7726 .loc 1 2791 3 is_stmt 1 discriminator 1 view .LVU2546
7727 .LBB580:
7728 .LBI580:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7729 .loc 2 527 31 discriminator 1 view .LVU2547
7730 .LBB581:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/cc8UBTH4.s page 252
7731 .loc 2 529 4 discriminator 1 view .LVU2548
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7732 .loc 2 531 4 discriminator 1 view .LVU2549
7733 0022 0C32 adds r2, r2, #12
7734 .LVL703:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7735 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2550
7736 .syntax unified
7737 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7738 0024 42E80031 strex r1, r3, [r2]
7739 @ 0 "" 2
7740 .LVL704:
7741 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2551
7742 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2552
7743 .thumb
7744 .syntax unified
7745 .LBE581:
7746 .LBE580:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7747 .loc 1 2791 3 discriminator 1 view .LVU2553
7748 0028 0029 cmp r1, #0
7749 002a F3D1 bne .L382
7750 .LBE577:
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7751 .loc 1 2791 3 is_stmt 1 discriminator 2 view .LVU2554
2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7752 .loc 1 2793 3 discriminator 2 view .LVU2555
2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7753 .loc 1 2793 17 is_stmt 0 discriminator 2 view .LVU2556
7754 002c 2023 movs r3, #32
7755 .LVL705:
2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7756 .loc 1 2793 17 discriminator 2 view .LVU2557
7757 002e 80F84130 strb r3, [r0, #65]
2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7758 .loc 1 2796 3 is_stmt 1 discriminator 2 view .LVU2558
2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7759 .loc 1 2796 3 discriminator 2 view .LVU2559
7760 0032 0023 movs r3, #0
7761 0034 80F84030 strb r3, [r0, #64]
2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7762 .loc 1 2796 3 discriminator 2 view .LVU2560
2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7763 .loc 1 2798 3 discriminator 2 view .LVU2561
2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7764 .loc 1 2798 10 is_stmt 0 discriminator 2 view .LVU2562
7765 0038 1846 mov r0, r3
7766 .LVL706:
2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7767 .loc 1 2798 10 discriminator 2 view .LVU2563
7768 003a 7047 bx lr
7769 .LVL707:
7770 .L383:
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7771 .loc 1 2786 3 view .LVU2564
7772 003c 0220 movs r0, #2
7773 .LVL708:
ARM GAS /tmp/cc8UBTH4.s page 253
2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7774 .loc 1 2799 1 view .LVU2565
7775 003e 7047 bx lr
7776 .cfi_endproc
7777 .LFE170:
7779 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
7780 .align 1
7781 .global HAL_MultiProcessor_EnterMuteMode
7782 .syntax unified
7783 .thumb
7784 .thumb_func
7785 .fpu fpv4-sp-d16
7787 HAL_MultiProcessor_EnterMuteMode:
7788 .LVL709:
7789 .LFB171:
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
7790 .loc 1 2808 1 is_stmt 1 view -0
7791 .cfi_startproc
7792 @ args = 0, pretend = 0, frame = 0
7793 @ frame_needed = 0, uses_anonymous_args = 0
7794 @ link register save eliminated.
2810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7795 .loc 1 2810 3 view .LVU2567
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7796 .loc 1 2813 3 view .LVU2568
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7797 .loc 1 2813 3 view .LVU2569
7798 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
7799 0004 012B cmp r3, #1
7800 0006 1AD0 beq .L387
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7801 .loc 1 2813 3 discriminator 2 view .LVU2570
7802 0008 0123 movs r3, #1
7803 000a 80F84030 strb r3, [r0, #64]
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7804 .loc 1 2813 3 discriminator 2 view .LVU2571
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7805 .loc 1 2815 3 discriminator 2 view .LVU2572
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7806 .loc 1 2815 17 is_stmt 0 discriminator 2 view .LVU2573
7807 000e 2423 movs r3, #36
7808 0010 80F84130 strb r3, [r0, #65]
7809 .L386:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7810 .loc 1 2818 3 is_stmt 1 discriminator 1 view .LVU2574
7811 .LBB582:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7812 .loc 1 2818 3 discriminator 1 view .LVU2575
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7813 .loc 1 2818 3 discriminator 1 view .LVU2576
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7814 .loc 1 2818 3 discriminator 1 view .LVU2577
7815 0014 0268 ldr r2, [r0]
7816 .LVL710:
7817 .LBB583:
7818 .LBI583:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/cc8UBTH4.s page 254
7819 .loc 2 476 31 discriminator 1 view .LVU2578
7820 .LBB584:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7821 .loc 2 478 5 discriminator 1 view .LVU2579
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7822 .loc 2 480 4 discriminator 1 view .LVU2580
7823 0016 02F10C03 add r3, r2, #12
7824 .LVL711:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7825 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2581
7826 .syntax unified
7827 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7828 001a 53E8003F ldrex r3, [r3]
7829 @ 0 "" 2
7830 .LVL712:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7831 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2582
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7832 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2583
7833 .thumb
7834 .syntax unified
7835 .LBE584:
7836 .LBE583:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7837 .loc 1 2818 3 discriminator 1 view .LVU2584
7838 001e 43F00203 orr r3, r3, #2
7839 .LVL713:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7840 .loc 1 2818 3 is_stmt 1 discriminator 1 view .LVU2585
7841 .LBB585:
7842 .LBI585:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7843 .loc 2 527 31 discriminator 1 view .LVU2586
7844 .LBB586:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7845 .loc 2 529 4 discriminator 1 view .LVU2587
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7846 .loc 2 531 4 discriminator 1 view .LVU2588
7847 0022 0C32 adds r2, r2, #12
7848 .LVL714:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7849 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2589
7850 .syntax unified
7851 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7852 0024 42E80031 strex r1, r3, [r2]
7853 @ 0 "" 2
7854 .LVL715:
7855 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2590
7856 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2591
7857 .thumb
7858 .syntax unified
7859 .LBE586:
7860 .LBE585:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7861 .loc 1 2818 3 discriminator 1 view .LVU2592
7862 0028 0029 cmp r1, #0
7863 002a F3D1 bne .L386
ARM GAS /tmp/cc8UBTH4.s page 255
7864 .LBE582:
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7865 .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;
7866 .loc 1 2820 3 discriminator 2 view .LVU2594
2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
7867 .loc 1 2820 17 is_stmt 0 discriminator 2 view .LVU2595
7868 002c 2023 movs r3, #32
7869 .LVL716:
2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
7870 .loc 1 2820 17 discriminator 2 view .LVU2596
7871 002e 80F84130 strb r3, [r0, #65]
2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7872 .loc 1 2821 3 is_stmt 1 discriminator 2 view .LVU2597
2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7873 .loc 1 2821 22 is_stmt 0 discriminator 2 view .LVU2598
7874 0032 0023 movs r3, #0
7875 0034 4363 str r3, [r0, #52]
2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7876 .loc 1 2824 3 is_stmt 1 discriminator 2 view .LVU2599
2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7877 .loc 1 2824 3 discriminator 2 view .LVU2600
7878 0036 80F84030 strb r3, [r0, #64]
2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7879 .loc 1 2824 3 discriminator 2 view .LVU2601
2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7880 .loc 1 2826 3 discriminator 2 view .LVU2602
2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7881 .loc 1 2826 10 is_stmt 0 discriminator 2 view .LVU2603
7882 003a 1846 mov r0, r3
7883 .LVL717:
2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7884 .loc 1 2826 10 discriminator 2 view .LVU2604
7885 003c 7047 bx lr
7886 .LVL718:
7887 .L387:
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7888 .loc 1 2813 3 view .LVU2605
7889 003e 0220 movs r0, #2
7890 .LVL719:
2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7891 .loc 1 2827 1 view .LVU2606
7892 0040 7047 bx lr
7893 .cfi_endproc
7894 .LFE171:
7896 .section .text.HAL_MultiProcessor_ExitMuteMode,"ax",%progbits
7897 .align 1
7898 .global HAL_MultiProcessor_ExitMuteMode
7899 .syntax unified
7900 .thumb
7901 .thumb_func
7902 .fpu fpv4-sp-d16
7904 HAL_MultiProcessor_ExitMuteMode:
7905 .LVL720:
7906 .LFB172:
2836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
7907 .loc 1 2836 1 is_stmt 1 view -0
ARM GAS /tmp/cc8UBTH4.s page 256
7908 .cfi_startproc
7909 @ args = 0, pretend = 0, frame = 0
7910 @ frame_needed = 0, uses_anonymous_args = 0
7911 @ link register save eliminated.
2838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7912 .loc 1 2838 3 view .LVU2608
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7913 .loc 1 2841 3 view .LVU2609
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7914 .loc 1 2841 3 view .LVU2610
7915 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
7916 0004 012B cmp r3, #1
7917 0006 1AD0 beq .L391
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7918 .loc 1 2841 3 discriminator 2 view .LVU2611
7919 0008 0123 movs r3, #1
7920 000a 80F84030 strb r3, [r0, #64]
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7921 .loc 1 2841 3 discriminator 2 view .LVU2612
2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7922 .loc 1 2843 3 discriminator 2 view .LVU2613
2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7923 .loc 1 2843 17 is_stmt 0 discriminator 2 view .LVU2614
7924 000e 2423 movs r3, #36
7925 0010 80F84130 strb r3, [r0, #65]
7926 .L390:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7927 .loc 1 2846 3 is_stmt 1 discriminator 1 view .LVU2615
7928 .LBB587:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7929 .loc 1 2846 3 discriminator 1 view .LVU2616
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7930 .loc 1 2846 3 discriminator 1 view .LVU2617
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7931 .loc 1 2846 3 discriminator 1 view .LVU2618
7932 0014 0268 ldr r2, [r0]
7933 .LVL721:
7934 .LBB588:
7935 .LBI588:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7936 .loc 2 476 31 discriminator 1 view .LVU2619
7937 .LBB589:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
7938 .loc 2 478 5 discriminator 1 view .LVU2620
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7939 .loc 2 480 4 discriminator 1 view .LVU2621
7940 0016 02F10C03 add r3, r2, #12
7941 .LVL722:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7942 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2622
7943 .syntax unified
7944 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7945 001a 53E8003F ldrex r3, [r3]
7946 @ 0 "" 2
7947 .LVL723:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7948 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2623
ARM GAS /tmp/cc8UBTH4.s page 257
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7949 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2624
7950 .thumb
7951 .syntax unified
7952 .LBE589:
7953 .LBE588:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7954 .loc 1 2846 3 discriminator 1 view .LVU2625
7955 001e 23F00203 bic r3, r3, #2
7956 .LVL724:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7957 .loc 1 2846 3 is_stmt 1 discriminator 1 view .LVU2626
7958 .LBB590:
7959 .LBI590:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7960 .loc 2 527 31 discriminator 1 view .LVU2627
7961 .LBB591:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
7962 .loc 2 529 4 discriminator 1 view .LVU2628
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7963 .loc 2 531 4 discriminator 1 view .LVU2629
7964 0022 0C32 adds r2, r2, #12
7965 .LVL725:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7966 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2630
7967 .syntax unified
7968 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7969 0024 42E80031 strex r1, r3, [r2]
7970 @ 0 "" 2
7971 .LVL726:
7972 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2631
7973 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2632
7974 .thumb
7975 .syntax unified
7976 .LBE591:
7977 .LBE590:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7978 .loc 1 2846 3 discriminator 1 view .LVU2633
7979 0028 0029 cmp r1, #0
7980 002a F3D1 bne .L390
7981 .LBE587:
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7982 .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;
7983 .loc 1 2848 3 discriminator 2 view .LVU2635
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
7984 .loc 1 2848 17 is_stmt 0 discriminator 2 view .LVU2636
7985 002c 2023 movs r3, #32
7986 .LVL727:
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
7987 .loc 1 2848 17 discriminator 2 view .LVU2637
7988 002e 80F84130 strb r3, [r0, #65]
2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7989 .loc 1 2849 3 is_stmt 1 discriminator 2 view .LVU2638
2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7990 .loc 1 2849 22 is_stmt 0 discriminator 2 view .LVU2639
7991 0032 0023 movs r3, #0
ARM GAS /tmp/cc8UBTH4.s page 258
7992 0034 4363 str r3, [r0, #52]
2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7993 .loc 1 2852 3 is_stmt 1 discriminator 2 view .LVU2640
2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7994 .loc 1 2852 3 discriminator 2 view .LVU2641
7995 0036 80F84030 strb r3, [r0, #64]
2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
7996 .loc 1 2852 3 discriminator 2 view .LVU2642
2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7997 .loc 1 2854 3 discriminator 2 view .LVU2643
2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
7998 .loc 1 2854 10 is_stmt 0 discriminator 2 view .LVU2644
7999 003a 1846 mov r0, r3
8000 .LVL728:
2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8001 .loc 1 2854 10 discriminator 2 view .LVU2645
8002 003c 7047 bx lr
8003 .LVL729:
8004 .L391:
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8005 .loc 1 2841 3 view .LVU2646
8006 003e 0220 movs r0, #2
8007 .LVL730:
2855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8008 .loc 1 2855 1 view .LVU2647
8009 0040 7047 bx lr
8010 .cfi_endproc
8011 .LFE172:
8013 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
8014 .align 1
8015 .global HAL_HalfDuplex_EnableTransmitter
8016 .syntax unified
8017 .thumb
8018 .thumb_func
8019 .fpu fpv4-sp-d16
8021 HAL_HalfDuplex_EnableTransmitter:
8022 .LVL731:
8023 .LFB173:
2864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
8024 .loc 1 2864 1 is_stmt 1 view -0
8025 .cfi_startproc
8026 @ args = 0, pretend = 0, frame = 0
8027 @ frame_needed = 0, uses_anonymous_args = 0
8028 @ link register save eliminated.
2865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8029 .loc 1 2865 3 view .LVU2649
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8030 .loc 1 2868 3 view .LVU2650
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8031 .loc 1 2868 3 view .LVU2651
8032 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
8033 0004 012B cmp r3, #1
8034 0006 14D0 beq .L394
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8035 .loc 1 2868 3 discriminator 2 view .LVU2652
8036 0008 0123 movs r3, #1
8037 000a 80F84030 strb r3, [r0, #64]
ARM GAS /tmp/cc8UBTH4.s page 259
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8038 .loc 1 2868 3 discriminator 2 view .LVU2653
2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8039 .loc 1 2870 3 discriminator 2 view .LVU2654
2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8040 .loc 1 2870 17 is_stmt 0 discriminator 2 view .LVU2655
8041 000e 2423 movs r3, #36
8042 0010 80F84130 strb r3, [r0, #65]
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8043 .loc 1 2873 3 is_stmt 1 discriminator 2 view .LVU2656
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8044 .loc 1 2873 17 is_stmt 0 discriminator 2 view .LVU2657
8045 0014 0268 ldr r2, [r0]
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8046 .loc 1 2873 10 discriminator 2 view .LVU2658
8047 0016 D368 ldr r3, [r2, #12]
8048 .LVL732:
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8049 .loc 1 2876 3 is_stmt 1 discriminator 2 view .LVU2659
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8050 .loc 1 2876 10 is_stmt 0 discriminator 2 view .LVU2660
8051 0018 23F00C03 bic r3, r3, #12
8052 .LVL733:
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8053 .loc 1 2879 3 is_stmt 1 discriminator 2 view .LVU2661
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8054 .loc 1 2879 10 is_stmt 0 discriminator 2 view .LVU2662
8055 001c 43F00803 orr r3, r3, #8
8056 .LVL734:
2882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8057 .loc 1 2882 3 is_stmt 1 discriminator 2 view .LVU2663
8058 0020 D360 str r3, [r2, #12]
2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8059 .loc 1 2884 3 discriminator 2 view .LVU2664
2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8060 .loc 1 2884 17 is_stmt 0 discriminator 2 view .LVU2665
8061 0022 2023 movs r3, #32
8062 .LVL735:
2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8063 .loc 1 2884 17 discriminator 2 view .LVU2666
8064 0024 80F84130 strb r3, [r0, #65]
8065 .LVL736:
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8066 .loc 1 2887 3 is_stmt 1 discriminator 2 view .LVU2667
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8067 .loc 1 2887 3 discriminator 2 view .LVU2668
8068 0028 0023 movs r3, #0
8069 002a 80F84030 strb r3, [r0, #64]
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8070 .loc 1 2887 3 discriminator 2 view .LVU2669
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8071 .loc 1 2889 3 discriminator 2 view .LVU2670
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8072 .loc 1 2889 10 is_stmt 0 discriminator 2 view .LVU2671
8073 002e 1846 mov r0, r3
8074 .LVL737:
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 260
8075 .loc 1 2889 10 discriminator 2 view .LVU2672
8076 0030 7047 bx lr
8077 .LVL738:
8078 .L394:
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8079 .loc 1 2868 3 view .LVU2673
8080 0032 0220 movs r0, #2
8081 .LVL739:
2890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8082 .loc 1 2890 1 view .LVU2674
8083 0034 7047 bx lr
8084 .cfi_endproc
8085 .LFE173:
8087 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
8088 .align 1
8089 .global HAL_HalfDuplex_EnableReceiver
8090 .syntax unified
8091 .thumb
8092 .thumb_func
8093 .fpu fpv4-sp-d16
8095 HAL_HalfDuplex_EnableReceiver:
8096 .LVL740:
8097 .LFB174:
2899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
8098 .loc 1 2899 1 is_stmt 1 view -0
8099 .cfi_startproc
8100 @ args = 0, pretend = 0, frame = 0
8101 @ frame_needed = 0, uses_anonymous_args = 0
8102 @ link register save eliminated.
2900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8103 .loc 1 2900 3 view .LVU2676
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8104 .loc 1 2903 3 view .LVU2677
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8105 .loc 1 2903 3 view .LVU2678
8106 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2
8107 0004 012B cmp r3, #1
8108 0006 14D0 beq .L397
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8109 .loc 1 2903 3 discriminator 2 view .LVU2679
8110 0008 0123 movs r3, #1
8111 000a 80F84030 strb r3, [r0, #64]
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8112 .loc 1 2903 3 discriminator 2 view .LVU2680
2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8113 .loc 1 2905 3 discriminator 2 view .LVU2681
2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8114 .loc 1 2905 17 is_stmt 0 discriminator 2 view .LVU2682
8115 000e 2423 movs r3, #36
8116 0010 80F84130 strb r3, [r0, #65]
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8117 .loc 1 2908 3 is_stmt 1 discriminator 2 view .LVU2683
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8118 .loc 1 2908 17 is_stmt 0 discriminator 2 view .LVU2684
8119 0014 0268 ldr r2, [r0]
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8120 .loc 1 2908 10 discriminator 2 view .LVU2685
ARM GAS /tmp/cc8UBTH4.s page 261
8121 0016 D368 ldr r3, [r2, #12]
8122 .LVL741:
2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8123 .loc 1 2911 3 is_stmt 1 discriminator 2 view .LVU2686
2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8124 .loc 1 2911 10 is_stmt 0 discriminator 2 view .LVU2687
8125 0018 23F00C03 bic r3, r3, #12
8126 .LVL742:
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8127 .loc 1 2914 3 is_stmt 1 discriminator 2 view .LVU2688
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8128 .loc 1 2914 10 is_stmt 0 discriminator 2 view .LVU2689
8129 001c 43F00403 orr r3, r3, #4
8130 .LVL743:
2917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8131 .loc 1 2917 3 is_stmt 1 discriminator 2 view .LVU2690
8132 0020 D360 str r3, [r2, #12]
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8133 .loc 1 2919 3 discriminator 2 view .LVU2691
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8134 .loc 1 2919 17 is_stmt 0 discriminator 2 view .LVU2692
8135 0022 2023 movs r3, #32
8136 .LVL744:
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8137 .loc 1 2919 17 discriminator 2 view .LVU2693
8138 0024 80F84130 strb r3, [r0, #65]
8139 .LVL745:
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8140 .loc 1 2922 3 is_stmt 1 discriminator 2 view .LVU2694
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8141 .loc 1 2922 3 discriminator 2 view .LVU2695
8142 0028 0023 movs r3, #0
8143 002a 80F84030 strb r3, [r0, #64]
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8144 .loc 1 2922 3 discriminator 2 view .LVU2696
2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8145 .loc 1 2924 3 discriminator 2 view .LVU2697
2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8146 .loc 1 2924 10 is_stmt 0 discriminator 2 view .LVU2698
8147 002e 1846 mov r0, r3
8148 .LVL746:
2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8149 .loc 1 2924 10 discriminator 2 view .LVU2699
8150 0030 7047 bx lr
8151 .LVL747:
8152 .L397:
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8153 .loc 1 2903 3 view .LVU2700
8154 0032 0220 movs r0, #2
8155 .LVL748:
2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8156 .loc 1 2925 1 view .LVU2701
8157 0034 7047 bx lr
8158 .cfi_endproc
8159 .LFE174:
8161 .section .text.HAL_UART_GetState,"ax",%progbits
8162 .align 1
ARM GAS /tmp/cc8UBTH4.s page 262
8163 .global HAL_UART_GetState
8164 .syntax unified
8165 .thumb
8166 .thumb_func
8167 .fpu fpv4-sp-d16
8169 HAL_UART_GetState:
8170 .LVL749:
8171 .LFB175:
2956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U;
8172 .loc 1 2956 1 is_stmt 1 view -0
8173 .cfi_startproc
8174 @ args = 0, pretend = 0, frame = 0
8175 @ frame_needed = 0, uses_anonymous_args = 0
8176 @ link register save eliminated.
2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp1 = huart->gState;
8177 .loc 1 2957 3 view .LVU2703
2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
8178 .loc 1 2958 3 view .LVU2704
2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
8179 .loc 1 2958 16 is_stmt 0 view .LVU2705
8180 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2
8181 .LVL750:
2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8182 .loc 1 2959 3 is_stmt 1 view .LVU2706
2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8183 .loc 1 2959 16 is_stmt 0 view .LVU2707
8184 0004 90F84200 ldrb r0, [r0, #66] @ zero_extendqisi2
8185 .LVL751:
2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8186 .loc 1 2961 3 is_stmt 1 view .LVU2708
2962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8187 .loc 1 2962 1 is_stmt 0 view .LVU2709
8188 0008 1843 orrs r0, r0, r3
8189 .LVL752:
2962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8190 .loc 1 2962 1 view .LVU2710
8191 000a 7047 bx lr
8192 .cfi_endproc
8193 .LFE175:
8195 .section .text.HAL_UART_GetError,"ax",%progbits
8196 .align 1
8197 .global HAL_UART_GetError
8198 .syntax unified
8199 .thumb
8200 .thumb_func
8201 .fpu fpv4-sp-d16
8203 HAL_UART_GetError:
8204 .LVL753:
8205 .LFB176:
2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return huart->ErrorCode;
8206 .loc 1 2971 1 is_stmt 1 view -0
8207 .cfi_startproc
8208 @ args = 0, pretend = 0, frame = 0
8209 @ frame_needed = 0, uses_anonymous_args = 0
8210 @ link register save eliminated.
2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8211 .loc 1 2972 3 view .LVU2712
ARM GAS /tmp/cc8UBTH4.s page 263
2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8212 .loc 1 2972 15 is_stmt 0 view .LVU2713
8213 0000 406C ldr r0, [r0, #68]
8214 .LVL754:
2973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8215 .loc 1 2973 1 view .LVU2714
8216 0002 7047 bx lr
8217 .cfi_endproc
8218 .LFE176:
8220 .section .text.UART_Start_Receive_IT,"ax",%progbits
8221 .align 1
8222 .global UART_Start_Receive_IT
8223 .syntax unified
8224 .thumb
8225 .thumb_func
8226 .fpu fpv4-sp-d16
8228 UART_Start_Receive_IT:
8229 .LVL755:
8230 .LFB183:
3264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
8231 .loc 1 3264 1 is_stmt 1 view -0
8232 .cfi_startproc
8233 @ args = 0, pretend = 0, frame = 0
8234 @ frame_needed = 0, uses_anonymous_args = 0
8235 @ link register save eliminated.
3265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
8236 .loc 1 3265 3 view .LVU2716
3265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
8237 .loc 1 3265 21 is_stmt 0 view .LVU2717
8238 0000 8162 str r1, [r0, #40]
3266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
8239 .loc 1 3266 3 is_stmt 1 view .LVU2718
3266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
8240 .loc 1 3266 21 is_stmt 0 view .LVU2719
8241 0002 8285 strh r2, [r0, #44] @ movhi
3267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8242 .loc 1 3267 3 is_stmt 1 view .LVU2720
3267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8243 .loc 1 3267 22 is_stmt 0 view .LVU2721
8244 0004 C285 strh r2, [r0, #46] @ movhi
3269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
8245 .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;
8246 .loc 1 3269 20 is_stmt 0 view .LVU2723
8247 0006 0023 movs r3, #0
8248 0008 4364 str r3, [r0, #68]
3270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8249 .loc 1 3270 3 is_stmt 1 view .LVU2724
3270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8250 .loc 1 3270 18 is_stmt 0 view .LVU2725
8251 000a 2223 movs r3, #34
8252 000c 80F84230 strb r3, [r0, #66]
3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8253 .loc 1 3272 3 is_stmt 1 view .LVU2726
3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8254 .loc 1 3272 18 is_stmt 0 view .LVU2727
8255 0010 0369 ldr r3, [r0, #16]
ARM GAS /tmp/cc8UBTH4.s page 264
3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8256 .loc 1 3272 6 view .LVU2728
8257 0012 23B1 cbz r3, .L401
3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8258 .loc 1 3275 5 is_stmt 1 view .LVU2729
8259 0014 0268 ldr r2, [r0]
8260 .LVL756:
3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8261 .loc 1 3275 5 is_stmt 0 view .LVU2730
8262 0016 D368 ldr r3, [r2, #12]
8263 0018 43F48073 orr r3, r3, #256
8264 001c D360 str r3, [r2, #12]
8265 .LVL757:
8266 .L401:
3279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8267 .loc 1 3279 3 is_stmt 1 view .LVU2731
8268 001e 0268 ldr r2, [r0]
8269 0020 5369 ldr r3, [r2, #20]
8270 0022 43F00103 orr r3, r3, #1
8271 0026 5361 str r3, [r2, #20]
3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8272 .loc 1 3282 3 view .LVU2732
8273 0028 0268 ldr r2, [r0]
8274 002a D368 ldr r3, [r2, #12]
8275 002c 43F02003 orr r3, r3, #32
8276 0030 D360 str r3, [r2, #12]
3284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8277 .loc 1 3284 3 view .LVU2733
3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8278 .loc 1 3285 1 is_stmt 0 view .LVU2734
8279 0032 0020 movs r0, #0
8280 .LVL758:
3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8281 .loc 1 3285 1 view .LVU2735
8282 0034 7047 bx lr
8283 .cfi_endproc
8284 .LFE183:
8286 .section .text.HAL_UART_Receive_IT,"ax",%progbits
8287 .align 1
8288 .global HAL_UART_Receive_IT
8289 .syntax unified
8290 .thumb
8291 .thumb_func
8292 .fpu fpv4-sp-d16
8294 HAL_UART_Receive_IT:
8295 .LVL759:
8296 .LFB144:
1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
8297 .loc 1 1348 1 is_stmt 1 view -0
8298 .cfi_startproc
8299 @ args = 0, pretend = 0, frame = 0
8300 @ 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 */
8301 .loc 1 1348 1 is_stmt 0 view .LVU2737
8302 0000 08B5 push {r3, lr}
8303 .LCFI58:
8304 .cfi_def_cfa_offset 8
ARM GAS /tmp/cc8UBTH4.s page 265
8305 .cfi_offset 3, -8
8306 .cfi_offset 14, -4
1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8307 .loc 1 1350 3 is_stmt 1 view .LVU2738
1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8308 .loc 1 1350 12 is_stmt 0 view .LVU2739
8309 0002 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
8310 0006 DBB2 uxtb r3, r3
1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8311 .loc 1 1350 6 view .LVU2740
8312 0008 202B cmp r3, #32
8313 000a 08D1 bne .L404
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8314 .loc 1 1352 5 is_stmt 1 view .LVU2741
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8315 .loc 1 1352 8 is_stmt 0 view .LVU2742
8316 000c 49B1 cbz r1, .L405
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8317 .loc 1 1352 25 discriminator 1 view .LVU2743
8318 000e 0AB9 cbnz r2, .L408
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8319 .loc 1 1354 14 view .LVU2744
8320 0010 0120 movs r0, #1
8321 .LVL760:
8322 .L403:
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8323 .loc 1 1366 1 view .LVU2745
8324 0012 08BD pop {r3, pc}
8325 .LVL761:
8326 .L408:
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8327 .loc 1 1358 5 is_stmt 1 view .LVU2746
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8328 .loc 1 1358 26 is_stmt 0 view .LVU2747
8329 0014 0023 movs r3, #0
8330 0016 0363 str r3, [r0, #48]
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8331 .loc 1 1360 5 is_stmt 1 view .LVU2748
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8332 .loc 1 1360 13 is_stmt 0 view .LVU2749
8333 0018 FFF7FEFF bl UART_Start_Receive_IT
8334 .LVL762:
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8335 .loc 1 1360 13 view .LVU2750
8336 001c F9E7 b .L403
8337 .LVL763:
8338 .L404:
1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8339 .loc 1 1364 12 view .LVU2751
8340 001e 0220 movs r0, #2
8341 .LVL764:
1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8342 .loc 1 1364 12 view .LVU2752
8343 0020 F7E7 b .L403
8344 .LVL765:
8345 .L405:
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 266
8346 .loc 1 1354 14 view .LVU2753
8347 0022 0120 movs r0, #1
8348 .LVL766:
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8349 .loc 1 1354 14 view .LVU2754
8350 0024 F5E7 b .L403
8351 .cfi_endproc
8352 .LFE144:
8354 .section .text.HAL_UARTEx_ReceiveToIdle_IT,"ax",%progbits
8355 .align 1
8356 .global HAL_UARTEx_ReceiveToIdle_IT
8357 .syntax unified
8358 .thumb
8359 .thumb_func
8360 .fpu fpv4-sp-d16
8362 HAL_UARTEx_ReceiveToIdle_IT:
8363 .LVL767:
8364 .LFB151:
1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
8365 .loc 1 1722 1 is_stmt 1 view -0
8366 .cfi_startproc
8367 @ args = 0, pretend = 0, frame = 8
8368 @ frame_needed = 0, uses_anonymous_args = 0
1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8369 .loc 1 1723 3 view .LVU2756
1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8370 .loc 1 1726 3 view .LVU2757
1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8371 .loc 1 1726 12 is_stmt 0 view .LVU2758
8372 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
8373 0004 DBB2 uxtb r3, r3
1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8374 .loc 1 1726 6 view .LVU2759
8375 0006 202B cmp r3, #32
8376 0008 29D1 bne .L413
1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
8377 .loc 1 1722 1 view .LVU2760
8378 000a 10B5 push {r4, lr}
8379 .LCFI59:
8380 .cfi_def_cfa_offset 8
8381 .cfi_offset 4, -8
8382 .cfi_offset 14, -4
8383 000c 82B0 sub sp, sp, #8
8384 .LCFI60:
8385 .cfi_def_cfa_offset 16
8386 000e 0446 mov r4, r0
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8387 .loc 1 1728 5 is_stmt 1 view .LVU2761
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8388 .loc 1 1728 8 is_stmt 0 view .LVU2762
8389 0010 39B3 cbz r1, .L414
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8390 .loc 1 1728 25 discriminator 1 view .LVU2763
8391 0012 12B9 cbnz r2, .L421
1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8392 .loc 1 1730 14 view .LVU2764
8393 0014 0120 movs r0, #1
ARM GAS /tmp/cc8UBTH4.s page 267
8394 .LVL768:
8395 .L410:
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8396 .loc 1 1763 1 view .LVU2765
8397 0016 02B0 add sp, sp, #8
8398 .LCFI61:
8399 .cfi_remember_state
8400 .cfi_def_cfa_offset 8
8401 @ sp needed
8402 0018 10BD pop {r4, pc}
8403 .LVL769:
8404 .L421:
8405 .LCFI62:
8406 .cfi_restore_state
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
8407 .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;
8408 .loc 1 1734 26 is_stmt 0 view .LVU2767
8409 001a 0123 movs r3, #1
8410 001c 0363 str r3, [r0, #48]
1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8411 .loc 1 1735 5 is_stmt 1 view .LVU2768
1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8412 .loc 1 1735 24 is_stmt 0 view .LVU2769
8413 001e 0023 movs r3, #0
8414 0020 4363 str r3, [r0, #52]
1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8415 .loc 1 1737 5 is_stmt 1 view .LVU2770
1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8416 .loc 1 1737 15 is_stmt 0 view .LVU2771
8417 0022 FFF7FEFF bl UART_Start_Receive_IT
8418 .LVL770:
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8419 .loc 1 1740 5 is_stmt 1 view .LVU2772
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8420 .loc 1 1740 8 is_stmt 0 view .LVU2773
8421 0026 0028 cmp r0, #0
8422 0028 F5D1 bne .L410
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8423 .loc 1 1742 7 is_stmt 1 view .LVU2774
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8424 .loc 1 1742 16 is_stmt 0 view .LVU2775
8425 002a 236B ldr r3, [r4, #48]
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8426 .loc 1 1742 10 view .LVU2776
8427 002c 012B cmp r3, #1
8428 002e 01D0 beq .L422
1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8429 .loc 1 1753 16 view .LVU2777
8430 0030 0120 movs r0, #1
8431 .LVL771:
1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8432 .loc 1 1757 5 is_stmt 1 view .LVU2778
1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8433 .loc 1 1757 12 is_stmt 0 view .LVU2779
8434 0032 F0E7 b .L410
8435 .LVL772:
ARM GAS /tmp/cc8UBTH4.s page 268
8436 .L422:
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8437 .loc 1 1744 9 is_stmt 1 view .LVU2780
8438 .LBB592:
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8439 .loc 1 1744 9 view .LVU2781
8440 0034 0023 movs r3, #0
8441 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);
8442 .loc 1 1744 9 view .LVU2782
8443 0038 2368 ldr r3, [r4]
8444 003a 1A68 ldr r2, [r3]
8445 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);
8446 .loc 1 1744 9 view .LVU2783
8447 003e 5B68 ldr r3, [r3, #4]
8448 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);
8449 .loc 1 1744 9 view .LVU2784
8450 0042 019B ldr r3, [sp, #4]
8451 .L412:
8452 .LBE592:
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8453 .loc 1 1744 9 discriminator 1 view .LVU2785
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8454 .loc 1 1745 9 discriminator 1 view .LVU2786
8455 .LBB593:
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8456 .loc 1 1745 9 discriminator 1 view .LVU2787
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8457 .loc 1 1745 9 discriminator 1 view .LVU2788
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8458 .loc 1 1745 9 discriminator 1 view .LVU2789
8459 0044 2268 ldr r2, [r4]
8460 .LVL773:
8461 .LBB594:
8462 .LBI594:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8463 .loc 2 476 31 discriminator 1 view .LVU2790
8464 .LBB595:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
8465 .loc 2 478 5 discriminator 1 view .LVU2791
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8466 .loc 2 480 4 discriminator 1 view .LVU2792
8467 0046 02F10C03 add r3, r2, #12
8468 .LVL774:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8469 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2793
8470 .syntax unified
8471 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8472 004a 53E8003F ldrex r3, [r3]
8473 @ 0 "" 2
8474 .LVL775:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8475 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2794
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8476 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2795
ARM GAS /tmp/cc8UBTH4.s page 269
8477 .thumb
8478 .syntax unified
8479 .LBE595:
8480 .LBE594:
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8481 .loc 1 1745 9 discriminator 1 view .LVU2796
8482 004e 43F01003 orr r3, r3, #16
8483 .LVL776:
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8484 .loc 1 1745 9 is_stmt 1 discriminator 1 view .LVU2797
8485 .LBB596:
8486 .LBI596:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8487 .loc 2 527 31 discriminator 1 view .LVU2798
8488 .LBB597:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
8489 .loc 2 529 4 discriminator 1 view .LVU2799
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8490 .loc 2 531 4 discriminator 1 view .LVU2800
8491 0052 0C32 adds r2, r2, #12
8492 .LVL777:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8493 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2801
8494 .syntax unified
8495 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8496 0054 42E80031 strex r1, r3, [r2]
8497 @ 0 "" 2
8498 .LVL778:
8499 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2802
8500 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2803
8501 .thumb
8502 .syntax unified
8503 .LBE597:
8504 .LBE596:
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8505 .loc 1 1745 9 discriminator 1 view .LVU2804
8506 0058 0029 cmp r1, #0
8507 005a F3D1 bne .L412
8508 005c DBE7 b .L410
8509 .LVL779:
8510 .L413:
8511 .LCFI63:
8512 .cfi_def_cfa_offset 0
8513 .cfi_restore 4
8514 .cfi_restore 14
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8515 .loc 1 1745 9 discriminator 1 view .LVU2805
8516 .LBE593:
1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8517 .loc 1 1761 12 view .LVU2806
8518 005e 0220 movs r0, #2
8519 .LVL780:
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8520 .loc 1 1763 1 view .LVU2807
8521 0060 7047 bx lr
8522 .LVL781:
8523 .L414:
ARM GAS /tmp/cc8UBTH4.s page 270
8524 .LCFI64:
8525 .cfi_def_cfa_offset 16
8526 .cfi_offset 4, -8
8527 .cfi_offset 14, -4
1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8528 .loc 1 1730 14 view .LVU2808
8529 0062 0120 movs r0, #1
8530 .LVL782:
1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8531 .loc 1 1730 14 view .LVU2809
8532 0064 D7E7 b .L410
8533 .cfi_endproc
8534 .LFE151:
8536 .section .text.UART_Start_Receive_DMA,"ax",%progbits
8537 .align 1
8538 .global UART_Start_Receive_DMA
8539 .syntax unified
8540 .thumb
8541 .thumb_func
8542 .fpu fpv4-sp-d16
8544 UART_Start_Receive_DMA:
8545 .LVL783:
8546 .LFB184:
3299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
8547 .loc 1 3299 1 is_stmt 1 view -0
8548 .cfi_startproc
8549 @ args = 0, pretend = 0, frame = 8
8550 @ frame_needed = 0, uses_anonymous_args = 0
3299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
8551 .loc 1 3299 1 is_stmt 0 view .LVU2811
8552 0000 30B5 push {r4, r5, lr}
8553 .LCFI65:
8554 .cfi_def_cfa_offset 12
8555 .cfi_offset 4, -12
8556 .cfi_offset 5, -8
8557 .cfi_offset 14, -4
8558 0002 83B0 sub sp, sp, #12
8559 .LCFI66:
8560 .cfi_def_cfa_offset 24
8561 0004 0446 mov r4, r0
8562 0006 1346 mov r3, r2
3300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8563 .loc 1 3300 3 is_stmt 1 view .LVU2812
3302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
8564 .loc 1 3302 3 view .LVU2813
3302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
8565 .loc 1 3302 21 is_stmt 0 view .LVU2814
8566 0008 8162 str r1, [r0, #40]
3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8567 .loc 1 3303 3 is_stmt 1 view .LVU2815
3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8568 .loc 1 3303 21 is_stmt 0 view .LVU2816
8569 000a 8285 strh r2, [r0, #44] @ movhi
3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
8570 .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;
8571 .loc 1 3305 20 is_stmt 0 view .LVU2818
ARM GAS /tmp/cc8UBTH4.s page 271
8572 000c 0022 movs r2, #0
8573 .LVL784:
3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
8574 .loc 1 3305 20 view .LVU2819
8575 000e 4264 str r2, [r0, #68]
3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8576 .loc 1 3306 3 is_stmt 1 view .LVU2820
3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8577 .loc 1 3306 18 is_stmt 0 view .LVU2821
8578 0010 2220 movs r0, #34
8579 .LVL785:
3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8580 .loc 1 3306 18 view .LVU2822
8581 0012 84F84200 strb r0, [r4, #66]
3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8582 .loc 1 3309 3 is_stmt 1 view .LVU2823
3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8583 .loc 1 3309 8 is_stmt 0 view .LVU2824
8584 0016 E06B ldr r0, [r4, #60]
3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8585 .loc 1 3309 35 view .LVU2825
8586 0018 244D ldr r5, .L432
8587 001a C563 str r5, [r0, #60]
8588 .LVL786:
3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8589 .loc 1 3312 3 is_stmt 1 view .LVU2826
3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8590 .loc 1 3312 8 is_stmt 0 view .LVU2827
8591 001c E06B ldr r0, [r4, #60]
3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8592 .loc 1 3312 39 view .LVU2828
8593 001e 244D ldr r5, .L432+4
8594 0020 0564 str r5, [r0, #64]
3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8595 .loc 1 3315 3 is_stmt 1 view .LVU2829
3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8596 .loc 1 3315 8 is_stmt 0 view .LVU2830
8597 0022 E06B ldr r0, [r4, #60]
3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8598 .loc 1 3315 36 view .LVU2831
8599 0024 234D ldr r5, .L432+8
8600 0026 C564 str r5, [r0, #76]
3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8601 .loc 1 3318 3 is_stmt 1 view .LVU2832
3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8602 .loc 1 3318 8 is_stmt 0 view .LVU2833
8603 0028 E06B ldr r0, [r4, #60]
3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8604 .loc 1 3318 36 view .LVU2834
8605 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
8606 .loc 1 3321 3 is_stmt 1 view .LVU2835
8607 .LVL787:
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8608 .loc 1 3322 3 view .LVU2836
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8609 .loc 1 3322 55 is_stmt 0 view .LVU2837
ARM GAS /tmp/cc8UBTH4.s page 272
8610 002c 2068 ldr r0, [r4]
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8611 .loc 1 3322 7 view .LVU2838
8612 002e 0A46 mov r2, r1
8613 0030 011D adds r1, r0, #4
8614 .LVL788:
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8615 .loc 1 3322 7 view .LVU2839
8616 0032 E06B ldr r0, [r4, #60]
8617 0034 FFF7FEFF bl HAL_DMA_Start_IT
8618 .LVL789:
3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8619 .loc 1 3322 6 view .LVU2840
8620 0038 0028 cmp r0, #0
8621 003a 2FD1 bne .L431
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8622 .loc 1 3333 3 is_stmt 1 view .LVU2841
8623 .LBB598:
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8624 .loc 1 3333 3 view .LVU2842
8625 003c 0023 movs r3, #0
8626 003e 0193 str r3, [sp, #4]
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8627 .loc 1 3333 3 view .LVU2843
8628 0040 2368 ldr r3, [r4]
8629 0042 1A68 ldr r2, [r3]
8630 0044 0192 str r2, [sp, #4]
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8631 .loc 1 3333 3 view .LVU2844
8632 0046 5B68 ldr r3, [r3, #4]
8633 0048 0193 str r3, [sp, #4]
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8634 .loc 1 3333 3 view .LVU2845
8635 004a 019B ldr r3, [sp, #4]
8636 .LBE598:
3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8637 .loc 1 3333 3 view .LVU2846
3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8638 .loc 1 3335 3 view .LVU2847
3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8639 .loc 1 3335 18 is_stmt 0 view .LVU2848
8640 004c 2369 ldr r3, [r4, #16]
3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8641 .loc 1 3335 6 view .LVU2849
8642 004e 5BB1 cbz r3, .L428
8643 .L427:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8644 .loc 1 3338 5 is_stmt 1 discriminator 1 view .LVU2850
8645 .LBB599:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8646 .loc 1 3338 5 discriminator 1 view .LVU2851
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8647 .loc 1 3338 5 discriminator 1 view .LVU2852
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8648 .loc 1 3338 5 discriminator 1 view .LVU2853
8649 0050 2268 ldr r2, [r4]
8650 .LVL790:
ARM GAS /tmp/cc8UBTH4.s page 273
8651 .LBB600:
8652 .LBI600:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8653 .loc 2 476 31 discriminator 1 view .LVU2854
8654 .LBB601:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
8655 .loc 2 478 5 discriminator 1 view .LVU2855
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8656 .loc 2 480 4 discriminator 1 view .LVU2856
8657 0052 02F10C03 add r3, r2, #12
8658 .LVL791:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8659 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2857
8660 .syntax unified
8661 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8662 0056 53E8003F ldrex r3, [r3]
8663 @ 0 "" 2
8664 .LVL792:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8665 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2858
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8666 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2859
8667 .thumb
8668 .syntax unified
8669 .LBE601:
8670 .LBE600:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8671 .loc 1 3338 5 discriminator 1 view .LVU2860
8672 005a 43F48073 orr r3, r3, #256
8673 .LVL793:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8674 .loc 1 3338 5 is_stmt 1 discriminator 1 view .LVU2861
8675 .LBB602:
8676 .LBI602:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8677 .loc 2 527 31 discriminator 1 view .LVU2862
8678 .LBB603:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
8679 .loc 2 529 4 discriminator 1 view .LVU2863
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8680 .loc 2 531 4 discriminator 1 view .LVU2864
8681 005e 0C32 adds r2, r2, #12
8682 .LVL794:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8683 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2865
8684 .syntax unified
8685 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8686 0060 42E80031 strex r1, r3, [r2]
8687 @ 0 "" 2
8688 .LVL795:
8689 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2866
8690 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2867
8691 .thumb
8692 .syntax unified
8693 .LBE603:
8694 .LBE602:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/cc8UBTH4.s page 274
8695 .loc 1 3338 5 discriminator 1 view .LVU2868
8696 0064 0029 cmp r1, #0
8697 0066 F3D1 bne .L427
8698 .LVL796:
8699 .L428:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8700 .loc 1 3338 5 discriminator 1 view .LVU2869
8701 .LBE599:
3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8702 .loc 1 3338 5 is_stmt 1 discriminator 1 view .LVU2870
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8703 .loc 1 3342 3 discriminator 1 view .LVU2871
8704 .LBB604:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8705 .loc 1 3342 3 discriminator 1 view .LVU2872
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8706 .loc 1 3342 3 discriminator 1 view .LVU2873
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8707 .loc 1 3342 3 discriminator 1 view .LVU2874
8708 0068 2268 ldr r2, [r4]
8709 .LVL797:
8710 .LBB605:
8711 .LBI605:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8712 .loc 2 476 31 discriminator 1 view .LVU2875
8713 .LBB606:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
8714 .loc 2 478 5 discriminator 1 view .LVU2876
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8715 .loc 2 480 4 discriminator 1 view .LVU2877
8716 006a 02F11403 add r3, r2, #20
8717 .LVL798:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8718 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2878
8719 .syntax unified
8720 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8721 006e 53E8003F ldrex r3, [r3]
8722 @ 0 "" 2
8723 .LVL799:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8724 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2879
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8725 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2880
8726 .thumb
8727 .syntax unified
8728 .LBE606:
8729 .LBE605:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8730 .loc 1 3342 3 discriminator 1 view .LVU2881
8731 0072 43F00103 orr r3, r3, #1
8732 .LVL800:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8733 .loc 1 3342 3 is_stmt 1 discriminator 1 view .LVU2882
8734 .LBB607:
8735 .LBI607:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8736 .loc 2 527 31 discriminator 1 view .LVU2883
ARM GAS /tmp/cc8UBTH4.s page 275
8737 .LBB608:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
8738 .loc 2 529 4 discriminator 1 view .LVU2884
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8739 .loc 2 531 4 discriminator 1 view .LVU2885
8740 0076 1432 adds r2, r2, #20
8741 .LVL801:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8742 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2886
8743 .syntax unified
8744 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8745 0078 42E80031 strex r1, r3, [r2]
8746 @ 0 "" 2
8747 .LVL802:
8748 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2887
8749 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2888
8750 .thumb
8751 .syntax unified
8752 .LBE608:
8753 .LBE607:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8754 .loc 1 3342 3 discriminator 1 view .LVU2889
8755 007c 0029 cmp r1, #0
8756 007e F3D1 bne .L428
8757 .LVL803:
8758 .L429:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8759 .loc 1 3342 3 discriminator 1 view .LVU2890
8760 .LBE604:
3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8761 .loc 1 3342 3 is_stmt 1 discriminator 1 view .LVU2891
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8762 .loc 1 3346 3 discriminator 1 view .LVU2892
8763 .LBB609:
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8764 .loc 1 3346 3 discriminator 1 view .LVU2893
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8765 .loc 1 3346 3 discriminator 1 view .LVU2894
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8766 .loc 1 3346 3 discriminator 1 view .LVU2895
8767 0080 2268 ldr r2, [r4]
8768 .LVL804:
8769 .LBB610:
8770 .LBI610:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8771 .loc 2 476 31 discriminator 1 view .LVU2896
8772 .LBB611:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
8773 .loc 2 478 5 discriminator 1 view .LVU2897
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8774 .loc 2 480 4 discriminator 1 view .LVU2898
8775 0082 02F11403 add r3, r2, #20
8776 .LVL805:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8777 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2899
8778 .syntax unified
8779 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
ARM GAS /tmp/cc8UBTH4.s page 276
8780 0086 53E8003F ldrex r3, [r3]
8781 @ 0 "" 2
8782 .LVL806:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8783 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2900
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8784 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2901
8785 .thumb
8786 .syntax unified
8787 .LBE611:
8788 .LBE610:
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8789 .loc 1 3346 3 discriminator 1 view .LVU2902
8790 008a 43F04003 orr r3, r3, #64
8791 .LVL807:
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8792 .loc 1 3346 3 is_stmt 1 discriminator 1 view .LVU2903
8793 .LBB612:
8794 .LBI612:
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8795 .loc 2 527 31 discriminator 1 view .LVU2904
8796 .LBB613:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
8797 .loc 2 529 4 discriminator 1 view .LVU2905
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8798 .loc 2 531 4 discriminator 1 view .LVU2906
8799 008e 1432 adds r2, r2, #20
8800 .LVL808:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8801 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2907
8802 .syntax unified
8803 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8804 0090 42E80031 strex r1, r3, [r2]
8805 @ 0 "" 2
8806 .LVL809:
8807 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2908
8808 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2909
8809 .thumb
8810 .syntax unified
8811 .LBE613:
8812 .LBE612:
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8813 .loc 1 3346 3 discriminator 1 view .LVU2910
8814 0094 0029 cmp r1, #0
8815 0096 F3D1 bne .L429
8816 .LVL810:
8817 .L425:
3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8818 .loc 1 3346 3 discriminator 1 view .LVU2911
8819 .LBE609:
3349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8820 .loc 1 3349 1 view .LVU2912
8821 0098 03B0 add sp, sp, #12
8822 .LCFI67:
8823 .cfi_remember_state
8824 .cfi_def_cfa_offset 12
8825 @ sp needed
ARM GAS /tmp/cc8UBTH4.s page 277
8826 009a 30BD pop {r4, r5, pc}
8827 .LVL811:
8828 .L431:
8829 .LCFI68:
8830 .cfi_restore_state
3325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8831 .loc 1 3325 5 is_stmt 1 view .LVU2913
3325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8832 .loc 1 3325 22 is_stmt 0 view .LVU2914
8833 009c 1023 movs r3, #16
8834 009e 6364 str r3, [r4, #68]
3328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8835 .loc 1 3328 5 is_stmt 1 view .LVU2915
3328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8836 .loc 1 3328 20 is_stmt 0 view .LVU2916
8837 00a0 2023 movs r3, #32
8838 00a2 84F84230 strb r3, [r4, #66]
3330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8839 .loc 1 3330 5 is_stmt 1 view .LVU2917
3330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8840 .loc 1 3330 12 is_stmt 0 view .LVU2918
8841 00a6 0120 movs r0, #1
8842 00a8 F6E7 b .L425
8843 .L433:
8844 00aa 00BF .align 2
8845 .L432:
8846 00ac 00000000 .word UART_DMAReceiveCplt
8847 00b0 00000000 .word UART_DMARxHalfCplt
8848 00b4 00000000 .word UART_DMAError
8849 .cfi_endproc
8850 .LFE184:
8852 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
8853 .align 1
8854 .global HAL_UART_Receive_DMA
8855 .syntax unified
8856 .thumb
8857 .thumb_func
8858 .fpu fpv4-sp-d16
8860 HAL_UART_Receive_DMA:
8861 .LVL812:
8862 .LFB146:
1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
8863 .loc 1 1450 1 is_stmt 1 view -0
8864 .cfi_startproc
8865 @ args = 0, pretend = 0, frame = 0
8866 @ 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 */
8867 .loc 1 1450 1 is_stmt 0 view .LVU2920
8868 0000 08B5 push {r3, lr}
8869 .LCFI69:
8870 .cfi_def_cfa_offset 8
8871 .cfi_offset 3, -8
8872 .cfi_offset 14, -4
1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8873 .loc 1 1452 3 is_stmt 1 view .LVU2921
1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8874 .loc 1 1452 12 is_stmt 0 view .LVU2922
ARM GAS /tmp/cc8UBTH4.s page 278
8875 0002 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
8876 0006 DBB2 uxtb r3, r3
1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8877 .loc 1 1452 6 view .LVU2923
8878 0008 202B cmp r3, #32
8879 000a 08D1 bne .L436
1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8880 .loc 1 1454 5 is_stmt 1 view .LVU2924
1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8881 .loc 1 1454 8 is_stmt 0 view .LVU2925
8882 000c 49B1 cbz r1, .L437
1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8883 .loc 1 1454 25 discriminator 1 view .LVU2926
8884 000e 0AB9 cbnz r2, .L440
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8885 .loc 1 1456 14 view .LVU2927
8886 0010 0120 movs r0, #1
8887 .LVL813:
8888 .L435:
1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8889 .loc 1 1468 1 view .LVU2928
8890 0012 08BD pop {r3, pc}
8891 .LVL814:
8892 .L440:
1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8893 .loc 1 1460 5 is_stmt 1 view .LVU2929
1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8894 .loc 1 1460 26 is_stmt 0 view .LVU2930
8895 0014 0023 movs r3, #0
8896 0016 0363 str r3, [r0, #48]
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8897 .loc 1 1462 5 is_stmt 1 view .LVU2931
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8898 .loc 1 1462 13 is_stmt 0 view .LVU2932
8899 0018 FFF7FEFF bl UART_Start_Receive_DMA
8900 .LVL815:
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8901 .loc 1 1462 13 view .LVU2933
8902 001c F9E7 b .L435
8903 .LVL816:
8904 .L436:
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8905 .loc 1 1466 12 view .LVU2934
8906 001e 0220 movs r0, #2
8907 .LVL817:
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8908 .loc 1 1466 12 view .LVU2935
8909 0020 F7E7 b .L435
8910 .LVL818:
8911 .L437:
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8912 .loc 1 1456 14 view .LVU2936
8913 0022 0120 movs r0, #1
8914 .LVL819:
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8915 .loc 1 1456 14 view .LVU2937
8916 0024 F5E7 b .L435
ARM GAS /tmp/cc8UBTH4.s page 279
8917 .cfi_endproc
8918 .LFE146:
8920 .section .text.HAL_UARTEx_ReceiveToIdle_DMA,"ax",%progbits
8921 .align 1
8922 .global HAL_UARTEx_ReceiveToIdle_DMA
8923 .syntax unified
8924 .thumb
8925 .thumb_func
8926 .fpu fpv4-sp-d16
8928 HAL_UARTEx_ReceiveToIdle_DMA:
8929 .LVL820:
8930 .LFB152:
1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
8931 .loc 1 1782 1 is_stmt 1 view -0
8932 .cfi_startproc
8933 @ args = 0, pretend = 0, frame = 8
8934 @ frame_needed = 0, uses_anonymous_args = 0
1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8935 .loc 1 1783 3 view .LVU2939
1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8936 .loc 1 1786 3 view .LVU2940
1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8937 .loc 1 1786 12 is_stmt 0 view .LVU2941
8938 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2
8939 0004 DBB2 uxtb r3, r3
1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8940 .loc 1 1786 6 view .LVU2942
8941 0006 202B cmp r3, #32
8942 0008 27D1 bne .L445
1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status;
8943 .loc 1 1782 1 view .LVU2943
8944 000a 10B5 push {r4, lr}
8945 .LCFI70:
8946 .cfi_def_cfa_offset 8
8947 .cfi_offset 4, -8
8948 .cfi_offset 14, -4
8949 000c 82B0 sub sp, sp, #8
8950 .LCFI71:
8951 .cfi_def_cfa_offset 16
8952 000e 0446 mov r4, r0
1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8953 .loc 1 1788 5 is_stmt 1 view .LVU2944
1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8954 .loc 1 1788 8 is_stmt 0 view .LVU2945
8955 0010 29B3 cbz r1, .L446
1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8956 .loc 1 1788 25 discriminator 1 view .LVU2946
8957 0012 12B9 cbnz r2, .L453
1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8958 .loc 1 1790 14 view .LVU2947
8959 0014 0120 movs r0, #1
8960 .LVL821:
8961 .L442:
1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8962 .loc 1 1820 1 view .LVU2948
8963 0016 02B0 add sp, sp, #8
8964 .LCFI72:
ARM GAS /tmp/cc8UBTH4.s page 280
8965 .cfi_remember_state
8966 .cfi_def_cfa_offset 8
8967 @ sp needed
8968 0018 10BD pop {r4, pc}
8969 .LVL822:
8970 .L453:
8971 .LCFI73:
8972 .cfi_restore_state
1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxEventType = HAL_UART_RXEVENT_TC;
8973 .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;
8974 .loc 1 1794 26 is_stmt 0 view .LVU2950
8975 001a 0123 movs r3, #1
8976 001c 0363 str r3, [r0, #48]
1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8977 .loc 1 1795 5 is_stmt 1 view .LVU2951
1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8978 .loc 1 1795 24 is_stmt 0 view .LVU2952
8979 001e 0023 movs r3, #0
8980 0020 4363 str r3, [r0, #52]
1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8981 .loc 1 1797 5 is_stmt 1 view .LVU2953
1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
8982 .loc 1 1797 15 is_stmt 0 view .LVU2954
8983 0022 FFF7FEFF bl UART_Start_Receive_DMA
8984 .LVL823:
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8985 .loc 1 1800 5 is_stmt 1 view .LVU2955
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8986 .loc 1 1800 14 is_stmt 0 view .LVU2956
8987 0026 236B ldr r3, [r4, #48]
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
8988 .loc 1 1800 8 view .LVU2957
8989 0028 012B cmp r3, #1
8990 002a 01D0 beq .L454
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8991 .loc 1 1811 14 view .LVU2958
8992 002c 0120 movs r0, #1
8993 .LVL824:
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8994 .loc 1 1814 5 is_stmt 1 view .LVU2959
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
8995 .loc 1 1814 12 is_stmt 0 view .LVU2960
8996 002e F2E7 b .L442
8997 .LVL825:
8998 .L454:
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
8999 .loc 1 1802 7 is_stmt 1 view .LVU2961
9000 .LBB614:
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
9001 .loc 1 1802 7 view .LVU2962
9002 0030 0023 movs r3, #0
9003 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);
9004 .loc 1 1802 7 view .LVU2963
9005 0034 2368 ldr r3, [r4]
9006 0036 1A68 ldr r2, [r3]
ARM GAS /tmp/cc8UBTH4.s page 281
9007 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);
9008 .loc 1 1802 7 view .LVU2964
9009 003a 5B68 ldr r3, [r3, #4]
9010 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);
9011 .loc 1 1802 7 view .LVU2965
9012 003e 019B ldr r3, [sp, #4]
9013 .L444:
9014 .LBE614:
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
9015 .loc 1 1802 7 discriminator 1 view .LVU2966
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9016 .loc 1 1803 7 discriminator 1 view .LVU2967
9017 .LBB615:
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9018 .loc 1 1803 7 discriminator 1 view .LVU2968
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9019 .loc 1 1803 7 discriminator 1 view .LVU2969
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9020 .loc 1 1803 7 discriminator 1 view .LVU2970
9021 0040 2268 ldr r2, [r4]
9022 .LVL826:
9023 .LBB616:
9024 .LBI616:
476:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9025 .loc 2 476 31 discriminator 1 view .LVU2971
9026 .LBB617:
478:Drivers/CMSIS/Include/cmsis_gcc.h ****
9027 .loc 2 478 5 discriminator 1 view .LVU2972
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9028 .loc 2 480 4 discriminator 1 view .LVU2973
9029 0042 02F10C03 add r3, r2, #12
9030 .LVL827:
480:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9031 .loc 2 480 4 is_stmt 0 discriminator 1 view .LVU2974
9032 .syntax unified
9033 @ 480 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9034 0046 53E8003F ldrex r3, [r3]
9035 @ 0 "" 2
9036 .LVL828:
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9037 .loc 2 481 4 is_stmt 1 discriminator 1 view .LVU2975
481:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9038 .loc 2 481 4 is_stmt 0 discriminator 1 view .LVU2976
9039 .thumb
9040 .syntax unified
9041 .LBE617:
9042 .LBE616:
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9043 .loc 1 1803 7 discriminator 1 view .LVU2977
9044 004a 43F01003 orr r3, r3, #16
9045 .LVL829:
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9046 .loc 1 1803 7 is_stmt 1 discriminator 1 view .LVU2978
9047 .LBB618:
9048 .LBI618:
ARM GAS /tmp/cc8UBTH4.s page 282
527:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9049 .loc 2 527 31 discriminator 1 view .LVU2979
9050 .LBB619:
529:Drivers/CMSIS/Include/cmsis_gcc.h ****
9051 .loc 2 529 4 discriminator 1 view .LVU2980
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9052 .loc 2 531 4 discriminator 1 view .LVU2981
9053 004e 0C32 adds r2, r2, #12
9054 .LVL830:
531:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9055 .loc 2 531 4 is_stmt 0 discriminator 1 view .LVU2982
9056 .syntax unified
9057 @ 531 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9058 0050 42E80031 strex r1, r3, [r2]
9059 @ 0 "" 2
9060 .LVL831:
9061 .loc 2 532 4 is_stmt 1 discriminator 1 view .LVU2983
9062 .loc 2 532 4 is_stmt 0 discriminator 1 view .LVU2984
9063 .thumb
9064 .syntax unified
9065 .LBE619:
9066 .LBE618:
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9067 .loc 1 1803 7 discriminator 1 view .LVU2985
9068 0054 0029 cmp r1, #0
9069 0056 F3D1 bne .L444
9070 0058 DDE7 b .L442
9071 .LVL832:
9072 .L445:
9073 .LCFI74:
9074 .cfi_def_cfa_offset 0
9075 .cfi_restore 4
9076 .cfi_restore 14
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9077 .loc 1 1803 7 discriminator 1 view .LVU2986
9078 .LBE615:
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9079 .loc 1 1818 12 view .LVU2987
9080 005a 0220 movs r0, #2
9081 .LVL833:
1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
9082 .loc 1 1820 1 view .LVU2988
9083 005c 7047 bx lr
9084 .LVL834:
9085 .L446:
9086 .LCFI75:
9087 .cfi_def_cfa_offset 16
9088 .cfi_offset 4, -8
9089 .cfi_offset 14, -4
1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9090 .loc 1 1790 14 view .LVU2989
9091 005e 0120 movs r0, #1
9092 .LVL835:
1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
9093 .loc 1 1790 14 view .LVU2990
9094 0060 D9E7 b .L442
9095 .cfi_endproc
ARM GAS /tmp/cc8UBTH4.s page 283
9096 .LFE152:
9098 .text
9099 .Letext0:
9100 .file 3 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h"
9101 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h"
9102 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
9103 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
9104 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
9105 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h"
9106 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h"
9107 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
ARM GAS /tmp/cc8UBTH4.s page 284
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f4xx_hal_uart.c
/tmp/cc8UBTH4.s:18 .text.UART_EndTxTransfer:0000000000000000 $t
/tmp/cc8UBTH4.s:25 .text.UART_EndTxTransfer:0000000000000000 UART_EndTxTransfer
/tmp/cc8UBTH4.s:104 .text.UART_EndRxTransfer:0000000000000000 $t
/tmp/cc8UBTH4.s:110 .text.UART_EndRxTransfer:0000000000000000 UART_EndRxTransfer
/tmp/cc8UBTH4.s:314 .text.UART_Transmit_IT:0000000000000000 $t
/tmp/cc8UBTH4.s:320 .text.UART_Transmit_IT:0000000000000000 UART_Transmit_IT
/tmp/cc8UBTH4.s:423 .text.UART_SetConfig:0000000000000000 $t
/tmp/cc8UBTH4.s:429 .text.UART_SetConfig:0000000000000000 UART_SetConfig
/tmp/cc8UBTH4.s:604 .text.UART_SetConfig:0000000000000108 $d
/tmp/cc8UBTH4.s:610 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t
/tmp/cc8UBTH4.s:616 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout
/tmp/cc8UBTH4.s:748 .text.HAL_UART_MspInit:0000000000000000 $t
/tmp/cc8UBTH4.s:755 .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit
/tmp/cc8UBTH4.s:770 .text.HAL_UART_Init:0000000000000000 $t
/tmp/cc8UBTH4.s:777 .text.HAL_UART_Init:0000000000000000 HAL_UART_Init
/tmp/cc8UBTH4.s:875 .text.HAL_HalfDuplex_Init:0000000000000000 $t
/tmp/cc8UBTH4.s:882 .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init
/tmp/cc8UBTH4.s:985 .text.HAL_LIN_Init:0000000000000000 $t
/tmp/cc8UBTH4.s:992 .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init
/tmp/cc8UBTH4.s:1114 .text.HAL_MultiProcessor_Init:0000000000000000 $t
/tmp/cc8UBTH4.s:1121 .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init
/tmp/cc8UBTH4.s:1250 .text.HAL_UART_MspDeInit:0000000000000000 $t
/tmp/cc8UBTH4.s:1257 .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit
/tmp/cc8UBTH4.s:1272 .text.HAL_UART_DeInit:0000000000000000 $t
/tmp/cc8UBTH4.s:1279 .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit
/tmp/cc8UBTH4.s:1347 .text.HAL_UART_Transmit:0000000000000000 $t
/tmp/cc8UBTH4.s:1354 .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit
/tmp/cc8UBTH4.s:1574 .text.HAL_UART_Receive:0000000000000000 $t
/tmp/cc8UBTH4.s:1581 .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive
/tmp/cc8UBTH4.s:1811 .text.HAL_UART_Transmit_IT:0000000000000000 $t
/tmp/cc8UBTH4.s:1818 .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT
/tmp/cc8UBTH4.s:1896 .text.HAL_UART_Transmit_DMA:0000000000000000 $t
/tmp/cc8UBTH4.s:1903 .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA
/tmp/cc8UBTH4.s:2090 .text.HAL_UART_Transmit_DMA:0000000000000084 $d
/tmp/cc8UBTH4.s:4255 .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt
/tmp/cc8UBTH4.s:4484 .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt
/tmp/cc8UBTH4.s:4583 .text.UART_DMAError:0000000000000000 UART_DMAError
/tmp/cc8UBTH4.s:2097 .text.HAL_UART_DMAPause:0000000000000000 $t
/tmp/cc8UBTH4.s:2104 .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause
/tmp/cc8UBTH4.s:2400 .text.HAL_UART_DMAResume:0000000000000000 $t
/tmp/cc8UBTH4.s:2407 .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume
/tmp/cc8UBTH4.s:2713 .text.HAL_UART_DMAStop:0000000000000000 $t
/tmp/cc8UBTH4.s:2720 .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop
/tmp/cc8UBTH4.s:2930 .text.HAL_UARTEx_ReceiveToIdle:0000000000000000 $t
/tmp/cc8UBTH4.s:2937 .text.HAL_UARTEx_ReceiveToIdle:0000000000000000 HAL_UARTEx_ReceiveToIdle
/tmp/cc8UBTH4.s:3244 .text.HAL_UARTEx_GetRxEventType:0000000000000000 $t
/tmp/cc8UBTH4.s:3251 .text.HAL_UARTEx_GetRxEventType:0000000000000000 HAL_UARTEx_GetRxEventType
/tmp/cc8UBTH4.s:3269 .text.HAL_UART_Abort:0000000000000000 $t
/tmp/cc8UBTH4.s:3276 .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort
/tmp/cc8UBTH4.s:3703 .text.HAL_UART_AbortTransmit:0000000000000000 $t
/tmp/cc8UBTH4.s:3710 .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit
/tmp/cc8UBTH4.s:3901 .text.HAL_UART_AbortReceive:0000000000000000 $t
/tmp/cc8UBTH4.s:3908 .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive
/tmp/cc8UBTH4.s:4227 .text.HAL_UART_TxCpltCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:4234 .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback
ARM GAS /tmp/cc8UBTH4.s page 285
/tmp/cc8UBTH4.s:4249 .text.UART_DMATransmitCplt:0000000000000000 $t
/tmp/cc8UBTH4.s:4417 .text.UART_EndTransmit_IT:0000000000000000 $t
/tmp/cc8UBTH4.s:4423 .text.UART_EndTransmit_IT:0000000000000000 UART_EndTransmit_IT
/tmp/cc8UBTH4.s:4456 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:4463 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback
/tmp/cc8UBTH4.s:4478 .text.UART_DMATxHalfCplt:0000000000000000 $t
/tmp/cc8UBTH4.s:4511 .text.HAL_UART_RxCpltCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:4518 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
/tmp/cc8UBTH4.s:4533 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:4540 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback
/tmp/cc8UBTH4.s:4555 .text.HAL_UART_ErrorCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:4562 .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback
/tmp/cc8UBTH4.s:4577 .text.UART_DMAError:0000000000000000 $t
/tmp/cc8UBTH4.s:4680 .text.UART_DMAAbortOnError:0000000000000000 $t
/tmp/cc8UBTH4.s:4686 .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError
/tmp/cc8UBTH4.s:4716 .text.HAL_UART_AbortCpltCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:4723 .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback
/tmp/cc8UBTH4.s:4738 .text.HAL_UART_Abort_IT:0000000000000000 $t
/tmp/cc8UBTH4.s:4745 .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT
/tmp/cc8UBTH4.s:5218 .text.HAL_UART_Abort_IT:000000000000011c $d
/tmp/cc8UBTH4.s:5300 .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback
/tmp/cc8UBTH4.s:5230 .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback
/tmp/cc8UBTH4.s:5224 .text.UART_DMARxAbortCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:5294 .text.UART_DMATxAbortCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:5364 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:5371 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback
/tmp/cc8UBTH4.s:5386 .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t
/tmp/cc8UBTH4.s:5393 .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT
/tmp/cc8UBTH4.s:5601 .text.HAL_UART_AbortTransmit_IT:000000000000007c $d
/tmp/cc8UBTH4.s:5612 .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback
/tmp/cc8UBTH4.s:5606 .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:5646 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:5653 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback
/tmp/cc8UBTH4.s:5668 .text.HAL_UART_AbortReceive_IT:0000000000000000 $t
/tmp/cc8UBTH4.s:5675 .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT
/tmp/cc8UBTH4.s:6014 .text.HAL_UART_AbortReceive_IT:00000000000000b8 $d
/tmp/cc8UBTH4.s:6025 .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback
/tmp/cc8UBTH4.s:6019 .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:6062 .text.HAL_UARTEx_RxEventCallback:0000000000000000 $t
/tmp/cc8UBTH4.s:6069 .text.HAL_UARTEx_RxEventCallback:0000000000000000 HAL_UARTEx_RxEventCallback
/tmp/cc8UBTH4.s:6085 .text.UART_Receive_IT:0000000000000000 $t
/tmp/cc8UBTH4.s:6091 .text.UART_Receive_IT:0000000000000000 UART_Receive_IT
/tmp/cc8UBTH4.s:6368 .text.HAL_UART_IRQHandler:0000000000000000 $t
/tmp/cc8UBTH4.s:6375 .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler
/tmp/cc8UBTH4.s:7294 .text.HAL_UART_IRQHandler:00000000000002a0 $d
/tmp/cc8UBTH4.s:7299 .text.UART_DMARxHalfCplt:0000000000000000 $t
/tmp/cc8UBTH4.s:7305 .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt
/tmp/cc8UBTH4.s:7353 .text.UART_DMAReceiveCplt:0000000000000000 $t
/tmp/cc8UBTH4.s:7359 .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt
/tmp/cc8UBTH4.s:7666 .text.HAL_LIN_SendBreak:0000000000000000 $t
/tmp/cc8UBTH4.s:7673 .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak
/tmp/cc8UBTH4.s:7780 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t
/tmp/cc8UBTH4.s:7787 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode
/tmp/cc8UBTH4.s:7897 .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 $t
/tmp/cc8UBTH4.s:7904 .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 HAL_MultiProcessor_ExitMuteMode
/tmp/cc8UBTH4.s:8014 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t
/tmp/cc8UBTH4.s:8021 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter
ARM GAS /tmp/cc8UBTH4.s page 286
/tmp/cc8UBTH4.s:8088 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t
/tmp/cc8UBTH4.s:8095 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver
/tmp/cc8UBTH4.s:8162 .text.HAL_UART_GetState:0000000000000000 $t
/tmp/cc8UBTH4.s:8169 .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState
/tmp/cc8UBTH4.s:8196 .text.HAL_UART_GetError:0000000000000000 $t
/tmp/cc8UBTH4.s:8203 .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError
/tmp/cc8UBTH4.s:8221 .text.UART_Start_Receive_IT:0000000000000000 $t
/tmp/cc8UBTH4.s:8228 .text.UART_Start_Receive_IT:0000000000000000 UART_Start_Receive_IT
/tmp/cc8UBTH4.s:8287 .text.HAL_UART_Receive_IT:0000000000000000 $t
/tmp/cc8UBTH4.s:8294 .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT
/tmp/cc8UBTH4.s:8355 .text.HAL_UARTEx_ReceiveToIdle_IT:0000000000000000 $t
/tmp/cc8UBTH4.s:8362 .text.HAL_UARTEx_ReceiveToIdle_IT:0000000000000000 HAL_UARTEx_ReceiveToIdle_IT
/tmp/cc8UBTH4.s:8537 .text.UART_Start_Receive_DMA:0000000000000000 $t
/tmp/cc8UBTH4.s:8544 .text.UART_Start_Receive_DMA:0000000000000000 UART_Start_Receive_DMA
/tmp/cc8UBTH4.s:8846 .text.UART_Start_Receive_DMA:00000000000000ac $d
/tmp/cc8UBTH4.s:8853 .text.HAL_UART_Receive_DMA:0000000000000000 $t
/tmp/cc8UBTH4.s:8860 .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA
/tmp/cc8UBTH4.s:8921 .text.HAL_UARTEx_ReceiveToIdle_DMA:0000000000000000 $t
/tmp/cc8UBTH4.s:8928 .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