ARM GAS /tmp/ccGtkZvD.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32f4xx_hal_uart.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .section .text.UART_EndTxTransfer,"ax",%progbits
20 .align 1
21 .syntax unified
22 .thumb
23 .thumb_func
25 UART_EndTxTransfer:
26 .LVL0:
27 .LFB174:
28 .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 **** @verbatim
13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### How to use this driver #####
15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The UART HAL driver can be used as follows:
18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) Enable the USARTx interface clock.
22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) UART pins configuration:
23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure these UART pins (TX as alternate function pull-up, RX as alternate func
25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (##) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
ARM GAS /tmp/ccGtkZvD.s page 2
31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx stream.
32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required
34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Tx/Rx parameters.
35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx stream.
36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** interrupt on the DMA Tx/Rx stream.
39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority and enable the NVIC USART IRQ handle
40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (used for last byte sending completion detection in DMA non circular mode)
41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** flow control and Mode(Receiver/Transmitter) in the huart Init structure.
44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_Init() API.
47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the LIN mode, initialize the UART registers by calling the HAL_LIN_Init() API.
52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) For the Multi-Processor mode, initialize the UART registers by calling
54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_MultiProcessor_Init() API.
55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) The specific UART interrupts (Transmission complete interrupt,
58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RXNE interrupt and Error Interrupts) will be managed using the macros
59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() inside the transmit
60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and receive process.
61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) These APIs (HAL_UART_Init() and HAL_HalfDuplex_Init()) configure also the
64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** low level Hardware GPIO, CLOCK, CORTEX...etc) by calling the customized
65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit() API.
66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Callback registration #####
68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==================================
69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks.
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 **** Use Function @ref HAL_UART_RegisterCallback() to register a user callback.
76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Function @ref HAL_UART_RegisterCallback() allows to register following callbacks:
77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
ARM GAS /tmp/ccGtkZvD.s page 3
88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and a pointer to the user callback function.
89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Use function @ref HAL_UART_UnRegisterCallback() to reset a callback to the default
92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** weak (surcharged) function.
93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @ref HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and the Callback ID.
95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This function allows to reset following callbacks:
96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** By default, after the @ref HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions:
110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** examples @ref HAL_UART_TxCpltCallback(), @ref HAL_UART_RxHalfCpltCallback().
111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively
112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the @ref HAL_UART_Init()
113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and @ref HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the @ref HAL_UART_Init() and @ref HAL_UART_DeInit()
115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit.
122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks
123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** using @ref HAL_UART_RegisterCallback() before calling @ref HAL_UART_DeInit()
124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or @ref HAL_UART_Init() function.
125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** not defined, the callback registration feature is not available
129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and weak (surcharged) callbacks are used.
130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Three operation modes are available within this driver :
133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** Polling mode IO operation ***
135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =================================
136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in blocking mode using HAL_UART_Transmit()
138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in blocking mode using HAL_UART_Receive()
139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** Interrupt mode IO operation ***
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 **** (+) Send an amount of data in non blocking mode using HAL_UART_Transmit_IT()
144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
ARM GAS /tmp/ccGtkZvD.s page 4
145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback
146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode using HAL_UART_Receive_IT()
147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback
149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback
151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** DMA mode IO operation ***
153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================
154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Send an amount of data in non blocking mode (DMA) using HAL_UART_Transmit_DMA()
156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of half transfer HAL_UART_TxHalfCpltCallback is executed and user ca
157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxHalfCpltCallback
158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback
160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode (DMA) using HAL_UART_Receive_DMA()
161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) At reception end of half transfer HAL_UART_RxHalfCpltCallback is executed and user can
162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxHalfCpltCallback
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 **** (+) Pause the DMA Transfer using HAL_UART_DMAPause()
168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Resume the DMA Transfer using HAL_UART_DMAResume()
169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Stop the DMA Transfer using HAL_UART_DMAStop()
170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *** UART HAL driver macros list ***
172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** =============================================
173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Below the list of most used macros in UART HAL driver.
175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_ENABLE: Enable the UART peripheral
177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_DISABLE: Disable the UART peripheral
178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_GET_FLAG : Check whether the specified UART flag is set or not
179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_CLEAR_FLAG : Clear the specified UART pending flag
180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_ENABLE_IT: Enable the specified UART interrupt
181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_DISABLE_IT: Disable the specified UART interrupt
182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) __HAL_UART_GET_IT_SOURCE: Check whether the specified UART interrupt has occurred or not
183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) You can refer to the UART HAL driver header file for more useful macros
186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (@) Additionnal remark: If the parity is enabled, then the MSB bit of the data written
190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits),
192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the possible UART frame formats are as listed in the following table:
193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** +-------------------------------------------------------------+
194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | M bit | PCE bit | UART frame |
195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------------------|---------------------------------------|
196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 0 | 0 | | SB | 8 bit data | STB | |
197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 0 | 1 | | SB | 7 bit data | PB | STB | |
199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 1 | 0 | | SB | 9 bit data | STB | |
201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** |---------|-----------|---------------------------------------|
ARM GAS /tmp/ccGtkZvD.s page 5
202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** | 1 | 1 | | SB | 8 bit data | PB | STB | |
203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** +-------------------------------------------------------------+
204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @attention
206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
© Copyright (c) 2016 STMicroelectronics.
208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * All rights reserved.
209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This software component is licensed by ST under BSD 3-Clause license,
211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the "License"; You may not use this file except in compliance with the
212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * License. You may obtain a copy of the License at:
213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * opensource.org/licenses/BSD-3-Clause
214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ******************************************************************************
216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #include "stm32f4xx_hal.h"
220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup STM32F4xx_HAL_Driver
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 ****
225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART UART
226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief HAL UART module driver
227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Constants
234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private macro -------------------------------------------------------------*/
240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @addtogroup UART_Private_Functions UART Private Functions
243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart);
248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
ARM GAS /tmp/ccGtkZvD.s page 6
259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart);
262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart);
263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart);
264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart);
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 **** * @}
269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Exported functions ---------------------------------------------------------*/
272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
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 **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initialization and Configuration functions
278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Initialization and Configuration 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 **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in asynchronous mode.
286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) For the asynchronous mode only these parameters can be configured:
287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Baud Rate
288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Word Length
289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Stop Bit
290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits),
293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** please refer to Reference manual for possible UART frame formats.
294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Hardware flow control
295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Receiver/transmitter modes
296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (++) Over Sampling Method
297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init() and HAL_MultiProcessor_Init() APIs
299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, LIN and Multi-Processor configurat
300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** procedures (details for the procedures are available in reference manual
301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (RM0430 for STM32F4X3xx MCUs and RM0402 for STM32F412xx MCUs
302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0383 for STM32F411xC/E MCUs and RM0401 for STM32F410xx MCUs
303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0090 for STM32F4X5xx/STM32F4X7xx/STM32F429xx/STM32F439xx MCUs
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** RM0390 for STM32F446xx MCUs and RM0386 for STM32F469xx/STM32F479xx MCUs)).
305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
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 **** * @brief Initializes the UART mode according to the specified parameters in
312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the UART_InitTypeDef and create the associated handle.
313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
ARM GAS /tmp/ccGtkZvD.s page 7
316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The hardware flow control is available only for USART1, USART2, USART3 and USART6 */
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
ARM GAS /tmp/ccGtkZvD.s page 8
373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state */
378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the half-duplex mode according to the specified
387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
ARM GAS /tmp/ccGtkZvD.s page 9
430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state*/
447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the LIN mode according to the specified
456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length.
460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_10B: 10-bit break detection
462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_11B: 11-bit break detection
463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the LIN UART instance */
474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Break detection length parameter */
477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength));
479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling));
480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
ARM GAS /tmp/ccGtkZvD.s page 10
487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - CLKEN bits in the USART_CR2 register,
512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_CLKEN));
514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_LBDL);
521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength);
522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state*/
527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initializes the Multi-Processor mode according to the specified
536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Address USART address
540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param WakeUpMethod specifies the USART wake-up method.
541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_IDLELINE: Wake-up by an idle line detection
543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_ADDRESSMARK: Wake-up by an address mark
ARM GAS /tmp/ccGtkZvD.s page 11
544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Address & wake up method parameters */
558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_ADDRESS(Address));
560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware */
577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback(huart);
578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspInit(huart);
581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the peripheral */
587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART Communication parameters */
590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_SetConfig(huart);
591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* In Multi-Processor mode, the following bits must be kept cleared:
593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register */
595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the USART address node */
599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_ADD);
600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address);
ARM GAS /tmp/ccGtkZvD.s page 12
601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_WAKE);
604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod);
605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Initialize the UART state */
610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DeInitializes the UART peripheral.
619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart == NULL)
627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the Peripheral */
637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL)
641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DeInit the low level hardware */
645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback(huart);
646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DeInit the low level hardware */
648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlock */
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 13
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART MSP Init.
663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_MspInit could be implemented in the user file
673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
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 **** * @brief UART MSP DeInit.
678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_MspDeInit could be implemented in the user file
688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Register a User UART Callback
694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * To be used instead of the weak predefined callback
695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart uart handle
696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered
697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pCallback pointer to the Callback function
709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 14
715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pCallback == NULL)
716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback;
731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = pCallback;
735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback;
739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = pCallback;
743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = pCallback;
747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = pCallback;
751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback;
755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback;
759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = pCallback;
763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
ARM GAS /tmp/ccGtkZvD.s page 15
772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET)
779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = 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_MSPDEINIT_CB_ID :
787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = 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 **** default :
791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
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 **** }
799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Unregister an UART Callback
816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback
817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart uart handle
818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered
819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This parameter can be one of the following values:
820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
ARM GAS /tmp/ccGtkZvD.s page 16
829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process locked */
837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState)
840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa
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 **** case HAL_UART_TX_COMPLETE_CB_ID :
848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl
849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal
853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl
857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error
861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort
865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak Abort
869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak Abort
873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn
877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe
881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
ARM GAS /tmp/ccGtkZvD.s page 17
886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState)
893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** switch (CallbackID)
895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** default :
905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** break;
911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Update the error code */
916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** status = HAL_ERROR;
920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Release Lock */
923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return status;
926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Transmit and Receive functions
935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### IO operation functions #####
939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ===============================================================================
940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and Half duplex data transfers.
942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 18
943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) There are two modes of transfer:
944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** after finishing transfer.
947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** or DMA, these API's return the HAL status.
949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The end of the data processing will be indicated through the
950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** using DMA mode.
952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will be executed respectively at the end of the transmit or receive process
954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Blocking mode API's are :
957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit()
958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive()
959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAPause()
969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAResume()
970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_DMAStop()
971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Abort()
981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
987: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
988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Errors are handled as follows :
994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
995: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
996: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
997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART
998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
ARM GAS /tmp/ccGtkZvD.s page 19
1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
1001: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
1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
1004: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.
1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
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 **** /**
1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in blocking mode.
1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer
1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data to be sent
1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint3
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout managment */
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount--;
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (uint16_t *) pData;
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (*tmp & (uint16_t)0x01FF);
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 2U;
ARM GAS /tmp/ccGtkZvD.s page 20
1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 1U;
1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (*pData++ & (uint8_t)0xFF);
1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in blocking mode.
1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer
1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data to be received
1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 21
1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init tickstart for timeout managment */
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tickstart = HAL_GetTick();
1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the remain data to be received */
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->RxXferCount > 0U)
1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount--;
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK
1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (uint16_t *) pData;
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 2U;
1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x00FF);
1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 1U;
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
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 **** else
1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK
1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pData++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *pData++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
ARM GAS /tmp/ccGtkZvD.s page 22
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode.
1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer
1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data to be sent
1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit data register empty Interrupt */
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TXE);
1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode.
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer
ARM GAS /tmp/ccGtkZvD.s page 23
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data to be received
1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_PE);
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_ERR);
1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Data Register not empty Interrupt */
1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_RXNE);
1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode.
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer
1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data to be sent
1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
ARM GAS /tmp/ccGtkZvD.s page 24
1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA error callback */
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA abort callback */
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART transmit DMA stream */
1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (uint32_t *)&pData;
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmatx, *(uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Size);
1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the TC flag in the SR register by writing 0 to it */
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_FLAG_TC);
1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
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 **** * @brief Receives an amount of data in non blocking mode.
1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param pData Pointer to data buffer
1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Size Amount of data to be received
1341: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.
ARM GAS /tmp/ccGtkZvD.s page 25
1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_ERROR;
1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA error callback */
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the DMA abort callback */
1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA stream */
1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (uint32_t *)&pData;
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size);
1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1381: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 sec
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccGtkZvD.s page 26
1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Pauses the DMA Transfer.
1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request */
1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request */
1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
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 **** /* Process Unlocked */
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Resumes the DMA Transfer.
1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART DMA Tx request */
ARM GAS /tmp/ccGtkZvD.s page 27
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
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 **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer*/
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reenable PE and ERR (Frame error, noise error, overrun error) interrupts */
1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART DMA Rx request */
1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Stops the DMA Transfer.
1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated
1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** and the correspond call back is executed HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream */
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmatx);
1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 28
1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream */
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmarx);
1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_
1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream: use blocking DMA Abort API (no callback) */
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
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 **** }
1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccGtkZvD.s page 29
1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream: use blocking DMA Abort API (no callback) */
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState and huart->gState to Ready */
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
ARM GAS /tmp/ccGtkZvD.s page 30
1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
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 **** /**
1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
ARM GAS /tmp/ccGtkZvD.s page 31
1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set error code to DMA */
1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
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 **** /**
1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1716: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)
1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_
1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1731: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
1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** before any call to DMA Abort functions */
1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Tx Handle is valid */
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, set it to NULL */
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
ARM GAS /tmp/ccGtkZvD.s page 32
1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Rx Handle is valid */
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Otherwise, set it to NULL */
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable DMA Tx at UART level */
1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use non blocking DMA Abort API (callback) */
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA TX */
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x00U;
1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use non blocking DMA Abort API (callback) */
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA RX */
ARM GAS /tmp/ccGtkZvD.s page 33
1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x00U;
1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (AbortCplt == 0x01U)
1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1844: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)
1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
ARM GAS /tmp/ccGtkZvD.s page 34
1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Tx stream : use blocking DMA Abort API (no callback) */
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA TX */
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Tx transfer counter */
1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
ARM GAS /tmp/ccGtkZvD.s page 35
1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * This procedure performs following operations :
1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1921: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)
1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - Set handle State to READY
1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream : use blocking DMA Abort API (no callback) */
1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort DMA RX */
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/ccGtkZvD.s page 36
1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset Rx transfer counter */
1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
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 This function handles UART interrupt request.
1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If no error occurs */
2007: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));
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (errorflags == RESET)
2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Receiver -------------------------------------------------*/
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Receive_IT(huart);
2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If some errors occur */
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET) || ((cr1its & (USART_CR1_RXNEIE
2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART parity error interrupt occurred ----------------------------------*/
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccGtkZvD.s page 37
2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART noise error interrupt occurred -----------------------------------*/
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART frame error interrupt occurred -----------------------------------*/
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
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 **** /* UART Over-Run interrupt occurred --------------------------------------*/
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_ORE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call UART Error Call back function if need be --------------------------*/
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Receiver -----------------------------------------------*/
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Receive_IT(huart);
2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* If Overrun error occurs, or if any error occurs in DMA mode reception,
2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** consider error as blocking */
2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Blocking error : transfer is aborted
2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Abort the UART DMA Rx stream */
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call Directly XferAbortCallback function in case of error */
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccGtkZvD.s page 38
2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user error callback */
2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user error callback */
2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
2099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
2108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Error is notified to user through user error callback */
2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */
2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_Transmit_IT(huart);
2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* UART in mode Transmitter end --------------------------------------------*/
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTransmit_IT(huart);
2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Tx Transfer completed callbacks.
ARM GAS /tmp/ccGtkZvD.s page 39
2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_TxCpltCallback could be implemented in the user file
2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Tx Half Transfer completed callbacks.
2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback could be implemented in the user file
2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Rx Transfer completed callbacks.
2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_RxCpltCallback could be implemented in the user file
2180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
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 **** /**
2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Rx Half Transfer completed callbacks.
2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback could be implemented in the user file
2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccGtkZvD.s page 40
2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART error callbacks.
2200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_ErrorCallback could be implemented in the user file
2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Complete callback.
2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Complete callback.
2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
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 ****
2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UNUSED(huart);
2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
ARM GAS /tmp/ccGtkZvD.s page 41
2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
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 **** */
2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART control functions
2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
2266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Peripheral Control functions #####
2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
2269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
2270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART:
2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API can be helpful to transmit the break character.
2272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API can be helpful to enter the UART in mute mode.
2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_MultiProcessor_ExitMuteMode() API can be helpful to exit the UART mute mode by software
2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API to enable the UART transmitter and disables the UART
2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API to enable the UART receiver and disables the UART trans
2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Transmits break characters.
2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
2291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Send break characters */
2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_SBK);
2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
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 **** /**
2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enters the UART in mute mode.
2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
ARM GAS /tmp/ccGtkZvD.s page 42
2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
2321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the USART mute mode by setting the RWU bit in the CR1 register */
2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RWU);
2326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Exits the UART mute mode: wake up software.
2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_ExitMuteMode(UART_HandleTypeDef *huart)
2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
2345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the USART mute mode by clearing the RWU bit in the CR1 register */
2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_RWU);
2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enables the UART transmitter and disables the UART receiver.
2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
ARM GAS /tmp/ccGtkZvD.s page 43
2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
2374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = huart->Instance->CR1;
2379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear TE and RE bits */
2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2383: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 */
2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_TE;
2385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Write to USART CR1 */
2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
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 **** /**
2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Enables the UART receiver and disables the UART transmitter.
2399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
2406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_LOCK(huart);
2409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = huart->Instance->CR1;
2414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Clear TE and RE bits */
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
2417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2418: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 */
2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_RE;
2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Write to USART CR1 */
2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
2423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
ARM GAS /tmp/ccGtkZvD.s page 44
2425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Errors functions
2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief UART State and Errors functions
2438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *
2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @verbatim
2440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
2441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ##### Peripheral State and Errors functions #####
2442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** ==============================================================================
2443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** [..]
2444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** This subsection provides a set of functions allowing to return the State of
2445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART communication process, return Peripheral Errors occurred during communication
2446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** process
2447: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
2448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** (+) HAL_UART_GetError() check in run-time errors that could be occurred during communication.
2449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** @endverbatim
2451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
2452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Returns the UART state.
2456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL state
2459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
2461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U;
2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp1 = huart->gState;
2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
2465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Return the UART error code
2471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART.
2473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval UART Error Code
2474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)
2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return huart->ErrorCode;
2478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
ARM GAS /tmp/ccGtkZvD.s page 45
2482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @}
2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
2489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @{
2490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Initialize the callbacks to their default values.
2494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval none
2496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Init the UART Callback settings */
2501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC
2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb
2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC
2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb
2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba
2506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa
2507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv
2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
2515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U)
2524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by setting the DMAT bit
2528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
2530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
2533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Circular mode */
2536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
ARM GAS /tmp/ccGtkZvD.s page 46
2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
2540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback(huart);
2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback
2550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
2552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
2560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxHalfCpltCallback(huart);
2561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
2564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
2569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) == 0U)
2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0U;
2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
2583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by setting the DMAR bit
2586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** in the UART CR3 register */
2587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback(huart);
2595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
ARM GAS /tmp/ccGtkZvD.s page 47
2596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
2597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
2598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART receive process half complete callback
2603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
2605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx Half complete callback*/
2613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxHalfCpltCallback(huart);
2614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/
2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
2617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART communication error callback.
2622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
2624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
2637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
2645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
2648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
2650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
2651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
ARM GAS /tmp/ccGtkZvD.s page 48
2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
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 **** * @brief This function handles UART Communication Timeout.
2659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Flag specifies the UART flag to check.
2662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Status The new Flag status (SET or RESET).
2663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Tickstart Tick start value
2664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param Timeout Timeout duration
2665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
2671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check for the Timeout */
2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
2674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout))
2676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for t
2678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE));
2679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_TIMEOUT;
2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
2696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
2700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
29 .loc 1 2700 1 view -0
30 .cfi_startproc
31 @ args = 0, pretend = 0, frame = 0
32 @ frame_needed = 0, uses_anonymous_args = 0
33 @ link register save eliminated.
2701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
34 .loc 1 2702 3 view .LVU1
35 0000 0268 ldr r2, [r0]
ARM GAS /tmp/ccGtkZvD.s page 49
36 0002 D368 ldr r3, [r2, #12]
37 0004 23F0C003 bic r3, r3, #192
38 0008 D360 str r3, [r2, #12]
2703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
39 .loc 1 2705 3 view .LVU2
40 .loc 1 2705 17 is_stmt 0 view .LVU3
41 000a 2023 movs r3, #32
42 000c 80F83930 strb r3, [r0, #57]
2706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
43 .loc 1 2706 1 view .LVU4
44 0010 7047 bx lr
45 .cfi_endproc
46 .LFE174:
48 .section .text.UART_EndRxTransfer,"ax",%progbits
49 .align 1
50 .syntax unified
51 .thumb
52 .thumb_func
54 UART_EndRxTransfer:
55 .LVL1:
56 .LFB175:
2707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
2710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart UART handle.
2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
2714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
57 .loc 1 2714 1 is_stmt 1 view -0
58 .cfi_startproc
59 @ args = 0, pretend = 0, frame = 0
60 @ frame_needed = 0, uses_anonymous_args = 0
61 @ link register save eliminated.
2715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
62 .loc 1 2716 3 view .LVU6
63 0000 0268 ldr r2, [r0]
64 0002 D368 ldr r3, [r2, #12]
65 0004 23F49073 bic r3, r3, #288
66 0008 D360 str r3, [r2, #12]
2717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
67 .loc 1 2717 3 view .LVU7
68 000a 0268 ldr r2, [r0]
69 000c 5369 ldr r3, [r2, #20]
70 000e 23F00103 bic r3, r3, #1
71 0012 5361 str r3, [r2, #20]
2718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
2720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
72 .loc 1 2720 3 view .LVU8
73 .loc 1 2720 18 is_stmt 0 view .LVU9
74 0014 2023 movs r3, #32
75 0016 80F83A30 strb r3, [r0, #58]
2721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccGtkZvD.s page 50
76 .loc 1 2721 1 view .LVU10
77 001a 7047 bx lr
78 .cfi_endproc
79 .LFE175:
81 .section .text.UART_Transmit_IT,"ax",%progbits
82 .align 1
83 .syntax unified
84 .thumb
85 .thumb_func
87 UART_Transmit_IT:
88 .LVL2:
89 .LFB181:
2722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
2725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
2726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
2728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered error callback*/
2738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCallback(huart);
2739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak error callback*/
2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
2747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
2748: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
2749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
2750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
2752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx != NULL)
2762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL)
2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccGtkZvD.s page 51
2767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
2781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
2784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
2787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
2792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
2793: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
2794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
2795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
2797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
2804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx != NULL)
2807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL)
2809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
2811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Reset ErrorCode */
2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
ARM GAS /tmp/ccGtkZvD.s page 52
2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort complete callback */
2828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
2829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
2831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
2832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
2838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
2839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
2840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
2842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->gState to Ready */
2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
2856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
2857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
2860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
2865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
2866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
2867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified DMA module.
2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
2871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 53
2881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call user Abort complete callback */
2882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
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 **** * @brief Sends an amount of data in non blocking mode.
2893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart)
2898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
90 .loc 1 2898 1 is_stmt 1 view -0
91 .cfi_startproc
92 @ args = 0, pretend = 0, frame = 0
93 @ frame_needed = 0, uses_anonymous_args = 0
94 @ link register save eliminated.
2899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
95 .loc 1 2899 3 view .LVU12
2900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is ongoing */
2902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
96 .loc 1 2902 3 view .LVU13
97 .loc 1 2902 12 is_stmt 0 view .LVU14
98 0000 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
99 0004 DBB2 uxtb r3, r3
100 .loc 1 2902 6 view .LVU15
101 0006 212B cmp r3, #33
102 0008 01D0 beq .L10
2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (uint16_t *) huart->pTxBuffPtr;
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
2909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pTxBuffPtr += 1U;
2915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint8_t)(*huart->pTxBuffPtr++ & (uint8_t)0x00FF);
2920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (--huart->TxXferCount == 0U)
2923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
ARM GAS /tmp/ccGtkZvD.s page 54
2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TXE);
2926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
2928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TC);
2929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
103 .loc 1 2934 12 view .LVU16
104 000a 0220 movs r0, #2
105 .LVL3:
2935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
106 .loc 1 2936 1 view .LVU17
107 000c 7047 bx lr
108 .LVL4:
109 .L10:
2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
110 .loc 1 2904 5 is_stmt 1 view .LVU18
2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
111 .loc 1 2904 20 is_stmt 0 view .LVU19
112 000e 8368 ldr r3, [r0, #8]
2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
113 .loc 1 2904 8 view .LVU20
114 0010 B3F5805F cmp r3, #4096
115 0014 17D0 beq .L11
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
116 .loc 1 2919 7 is_stmt 1 view .LVU21
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
117 .loc 1 2919 45 is_stmt 0 view .LVU22
118 0016 036A ldr r3, [r0, #32]
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
119 .loc 1 2919 57 view .LVU23
120 0018 5A1C adds r2, r3, #1
121 001a 0262 str r2, [r0, #32]
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
122 .loc 1 2919 39 view .LVU24
123 001c 1A78 ldrb r2, [r3] @ zero_extendqisi2
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
124 .loc 1 2919 12 view .LVU25
125 001e 0368 ldr r3, [r0]
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
126 .loc 1 2919 27 view .LVU26
127 0020 5A60 str r2, [r3, #4]
128 .L7:
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
129 .loc 1 2922 5 is_stmt 1 view .LVU27
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
130 .loc 1 2922 16 is_stmt 0 view .LVU28
131 0022 C38C ldrh r3, [r0, #38]
132 0024 9BB2 uxth r3, r3
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
133 .loc 1 2922 9 view .LVU29
134 0026 013B subs r3, r3, #1
135 0028 9BB2 uxth r3, r3
ARM GAS /tmp/ccGtkZvD.s page 55
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
136 .loc 1 2922 8 view .LVU30
137 002a C384 strh r3, [r0, #38] @ movhi
138 002c 4BB9 cbnz r3, .L8
2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
139 .loc 1 2925 7 is_stmt 1 view .LVU31
140 002e 0268 ldr r2, [r0]
141 0030 D368 ldr r3, [r2, #12]
142 0032 23F08003 bic r3, r3, #128
143 0036 D360 str r3, [r2, #12]
2928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
144 .loc 1 2928 7 view .LVU32
145 0038 0268 ldr r2, [r0]
146 003a D368 ldr r3, [r2, #12]
147 003c 43F04003 orr r3, r3, #64
148 0040 D360 str r3, [r2, #12]
149 .L8:
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
150 .loc 1 2930 5 view .LVU33
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
151 .loc 1 2930 12 is_stmt 0 view .LVU34
152 0042 0020 movs r0, #0
153 .LVL5:
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
154 .loc 1 2930 12 view .LVU35
155 0044 7047 bx lr
156 .LVL6:
157 .L11:
2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
158 .loc 1 2906 7 is_stmt 1 view .LVU36
2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
159 .loc 1 2906 11 is_stmt 0 view .LVU37
160 0046 036A ldr r3, [r0, #32]
161 .LVL7:
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
162 .loc 1 2907 7 is_stmt 1 view .LVU38
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
163 .loc 1 2907 40 is_stmt 0 view .LVU39
164 0048 1B88 ldrh r3, [r3]
165 .LVL8:
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
166 .loc 1 2907 12 view .LVU40
167 004a 0268 ldr r2, [r0]
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
168 .loc 1 2907 29 view .LVU41
169 004c C3F30803 ubfx r3, r3, #0, #9
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
170 .loc 1 2907 27 view .LVU42
171 0050 5360 str r3, [r2, #4]
172 .LVL9:
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
173 .loc 1 2908 7 is_stmt 1 view .LVU43
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
174 .loc 1 2908 22 is_stmt 0 view .LVU44
175 0052 0369 ldr r3, [r0, #16]
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
176 .loc 1 2908 10 view .LVU45
ARM GAS /tmp/ccGtkZvD.s page 56
177 0054 1BB9 cbnz r3, .L6
2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
178 .loc 1 2910 9 is_stmt 1 view .LVU46
2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
179 .loc 1 2910 27 is_stmt 0 view .LVU47
180 0056 036A ldr r3, [r0, #32]
181 0058 0233 adds r3, r3, #2
182 005a 0362 str r3, [r0, #32]
183 005c E1E7 b .L7
184 .L6:
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
185 .loc 1 2914 9 is_stmt 1 view .LVU48
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
186 .loc 1 2914 27 is_stmt 0 view .LVU49
187 005e 036A ldr r3, [r0, #32]
188 0060 0133 adds r3, r3, #1
189 0062 0362 str r3, [r0, #32]
190 0064 DDE7 b .L7
191 .cfi_endproc
192 .LFE181:
194 .section .text.UART_SetConfig,"ax",%progbits
195 .align 1
196 .syntax unified
197 .thumb
198 .thumb_func
200 UART_SetConfig:
201 .LVL10:
202 .LFB184:
2937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
2939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Wraps up transmission in non blocking mode.
2940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart)
2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
2947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TC);
2948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Tx complete callback*/
2954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxCpltCallback(huart);
2955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
2956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
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 **** * @brief Receives an amount of data in non blocking mode
2965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
ARM GAS /tmp/ccGtkZvD.s page 57
2966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
2967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
2968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart)
2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is ongoing */
2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
2975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
2977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr;
2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
2980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
2983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x00FF);
2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
2988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
2993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *huart->pRxBuffPtr++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
2995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
2997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** *huart->pRxBuffPtr++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
2999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (--huart->RxXferCount == 0U)
3003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Data Register not empty Interrupt */
3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
3006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt */
3008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_PE);
3009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_ERR);
3012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call registered Rx complete callback*/
3018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxCpltCallback(huart);
3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
3022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/ccGtkZvD.s page 58
3023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
3027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_BUSY;
3031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
3035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @brief Configures the UART peripheral.
3036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
3037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * the configuration information for the specified UART module.
3038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval None
3039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
3040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart)
3041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
203 .loc 1 3041 1 is_stmt 1 view -0
204 .cfi_startproc
205 @ args = 0, pretend = 0, frame = 0
206 @ frame_needed = 0, uses_anonymous_args = 0
207 .loc 1 3041 1 is_stmt 0 view .LVU51
208 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
209 .LCFI0:
210 .cfi_def_cfa_offset 32
211 .cfi_offset 3, -32
212 .cfi_offset 4, -28
213 .cfi_offset 5, -24
214 .cfi_offset 6, -20
215 .cfi_offset 7, -16
216 .cfi_offset 8, -12
217 .cfi_offset 9, -8
218 .cfi_offset 14, -4
219 0004 0446 mov r4, r0
3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg;
220 .loc 1 3042 3 is_stmt 1 view .LVU52
3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
3045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
221 .loc 1 3045 3 view .LVU53
3046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
222 .loc 1 3046 3 view .LVU54
3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
223 .loc 1 3047 3 view .LVU55
3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
224 .loc 1 3048 3 view .LVU56
3049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits
3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** according to huart->Init.StopBits value */
3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
225 .loc 1 3053 3 view .LVU57
226 0006 0268 ldr r2, [r0]
227 0008 1369 ldr r3, [r2, #16]
228 000a 23F44053 bic r3, r3, #12288
ARM GAS /tmp/ccGtkZvD.s page 59
229 000e C168 ldr r1, [r0, #12]
230 0010 0B43 orrs r3, r3, r1
231 0012 1361 str r3, [r2, #16]
3054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
3056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART Word Length, Parity and mode:
3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set the M bits according to huart->Init.WordLength value
3058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set PCE and PS bits according to huart->Init.Parity value
3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set TE and RE bits according to huart->Init.Mode value
3060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** Set OVER8 bit according to huart->Init.OverSampling value */
3061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
232 .loc 1 3062 3 view .LVU58
233 .loc 1 3062 33 is_stmt 0 view .LVU59
234 0014 8368 ldr r3, [r0, #8]
235 .loc 1 3062 58 view .LVU60
236 0016 0269 ldr r2, [r0, #16]
237 .loc 1 3062 45 view .LVU61
238 0018 1343 orrs r3, r3, r2
239 .loc 1 3062 79 view .LVU62
240 001a 4269 ldr r2, [r0, #20]
241 .loc 1 3062 66 view .LVU63
242 001c 1343 orrs r3, r3, r2
243 .loc 1 3062 98 view .LVU64
244 001e C269 ldr r2, [r0, #28]
245 .loc 1 3062 10 view .LVU65
246 0020 1A43 orrs r2, r2, r3
247 .LVL11:
3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1,
248 .loc 1 3063 3 is_stmt 1 view .LVU66
249 0022 0168 ldr r1, [r0]
250 0024 CB68 ldr r3, [r1, #12]
251 0026 23F41643 bic r3, r3, #38400
252 002a 23F00C03 bic r3, r3, #12
253 002e 1343 orrs r3, r3, r2
254 0030 CB60 str r3, [r1, #12]
3064: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 |
3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** tmpreg);
3066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
3068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Configure the UART HFC: Set CTSE and RTSE bits according to huart->Init.HwFlowCtl value */
3069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE), huart->Init.HwFlowCtl);
255 .loc 1 3069 3 view .LVU67
256 0032 0268 ldr r2, [r0]
257 .LVL12:
258 .loc 1 3069 3 is_stmt 0 view .LVU68
259 0034 5369 ldr r3, [r2, #20]
260 0036 23F44073 bic r3, r3, #768
261 003a 8169 ldr r1, [r0, #24]
262 003c 0B43 orrs r3, r3, r1
263 003e 5361 str r3, [r2, #20]
3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the Over Sampling */
3072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
264 .loc 1 3072 3 is_stmt 1 view .LVU69
265 .loc 1 3072 18 is_stmt 0 view .LVU70
266 0040 C369 ldr r3, [r0, #28]
ARM GAS /tmp/ccGtkZvD.s page 60
267 .loc 1 3072 6 view .LVU71
268 0042 B3F5004F cmp r3, #32768
269 0046 5ED0 beq .L20
3073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART BRR Configuration ---------------------*/
3075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if defined(USART6)
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Instance == USART1) || (huart->Instance == USART6))
3077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate);
3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Instance == USART1)
3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate);
3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USART6 */
3086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING8(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate);
3089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /*-------------------------- USART BRR Configuration ---------------------*/
3094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if defined(USART6)
3095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->Instance == USART1) || (huart->Instance == USART6))
270 .loc 1 3095 5 is_stmt 1 view .LVU72
271 .loc 1 3095 15 is_stmt 0 view .LVU73
272 0048 0368 ldr r3, [r0]
273 .loc 1 3095 8 view .LVU74
274 004a B54A ldr r2, .L21
275 004c 9342 cmp r3, r2
276 004e 00F01081 beq .L17
277 .loc 1 3095 37 discriminator 1 view .LVU75
278 0052 02F58062 add r2, r2, #1024
279 0056 9342 cmp r3, r2
280 0058 00F00B81 beq .L17
3096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate);
3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #else
3100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Instance == USART1)
3101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate);
3103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USART6 */
3105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
3106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate);
281 .loc 1 3107 7 is_stmt 1 view .LVU76
282 .loc 1 3107 30 is_stmt 0 view .LVU77
283 005c FFF7FEFF bl HAL_RCC_GetPCLK1Freq
284 .LVL13:
285 .loc 1 3107 30 view .LVU78
286 0060 00EB8000 add r0, r0, r0, lsl #2
287 0064 00EB8000 add r0, r0, r0, lsl #2
288 0068 6568 ldr r5, [r4, #4]
ARM GAS /tmp/ccGtkZvD.s page 61
289 006a AD00 lsls r5, r5, #2
290 006c B0FBF5F5 udiv r5, r0, r5
291 0070 AC4F ldr r7, .L21+4
292 0072 A7FB0535 umull r3, r5, r7, r5
293 0076 6D09 lsrs r5, r5, #5
294 0078 2E01 lsls r6, r5, #4
295 007a FFF7FEFF bl HAL_RCC_GetPCLK1Freq
296 .LVL14:
297 007e 00EB8000 add r0, r0, r0, lsl #2
298 0082 00EB8000 add r0, r0, r0, lsl #2
299 0086 6568 ldr r5, [r4, #4]
300 0088 AD00 lsls r5, r5, #2
301 008a B0FBF5F5 udiv r5, r0, r5
302 008e FFF7FEFF bl HAL_RCC_GetPCLK1Freq
303 .LVL15:
304 0092 00EB8000 add r0, r0, r0, lsl #2
305 0096 00EB8000 add r0, r0, r0, lsl #2
306 009a 6368 ldr r3, [r4, #4]
307 009c 9B00 lsls r3, r3, #2
308 009e B0FBF3F3 udiv r3, r0, r3
309 00a2 A7FB0323 umull r2, r3, r7, r3
310 00a6 5B09 lsrs r3, r3, #5
311 00a8 4FF06408 mov r8, #100
312 00ac 08FB1353 mls r3, r8, r3, r5
313 00b0 1B01 lsls r3, r3, #4
314 00b2 3233 adds r3, r3, #50
315 00b4 A7FB0323 umull r2, r3, r7, r3
316 00b8 5B09 lsrs r3, r3, #5
317 00ba 03F0F003 and r3, r3, #240
318 00be F518 adds r5, r6, r3
319 00c0 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
320 .LVL16:
321 00c4 00EB8000 add r0, r0, r0, lsl #2
322 00c8 00EB8000 add r0, r0, r0, lsl #2
323 00cc 6668 ldr r6, [r4, #4]
324 00ce B600 lsls r6, r6, #2
325 00d0 B0FBF6F6 udiv r6, r0, r6
326 00d4 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
327 .LVL17:
328 00d8 00EB8000 add r0, r0, r0, lsl #2
329 00dc 00EB8000 add r0, r0, r0, lsl #2
330 00e0 6368 ldr r3, [r4, #4]
331 00e2 9B00 lsls r3, r3, #2
332 00e4 B0FBF3F0 udiv r0, r0, r3
333 00e8 A7FB0030 umull r3, r0, r7, r0
334 00ec 4009 lsrs r0, r0, #5
335 00ee 08FB1060 mls r0, r8, r0, r6
336 00f2 0001 lsls r0, r0, #4
337 00f4 3230 adds r0, r0, #50
338 00f6 A7FB0037 umull r3, r7, r7, r0
339 00fa C7F34317 ubfx r7, r7, #5, #4
340 .loc 1 3107 12 view .LVU79
341 00fe 2368 ldr r3, [r4]
342 .loc 1 3107 30 view .LVU80
343 0100 2F44 add r7, r7, r5
344 .loc 1 3107 28 view .LVU81
345 0102 9F60 str r7, [r3, #8]
ARM GAS /tmp/ccGtkZvD.s page 62
3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
346 .loc 1 3110 1 view .LVU82
347 0104 09E1 b .L12
348 .LVL18:
349 .L20:
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
350 .loc 1 3076 5 is_stmt 1 view .LVU83
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
351 .loc 1 3076 15 is_stmt 0 view .LVU84
352 0106 0368 ldr r3, [r0]
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
353 .loc 1 3076 8 view .LVU85
354 0108 854A ldr r2, .L21
355 010a 9342 cmp r3, r2
356 010c 5AD0 beq .L14
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
357 .loc 1 3076 37 discriminator 1 view .LVU86
358 010e 02F58062 add r2, r2, #1024
359 0112 9342 cmp r3, r2
360 0114 56D0 beq .L14
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
361 .loc 1 3088 7 is_stmt 1 view .LVU87
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
362 .loc 1 3088 30 is_stmt 0 view .LVU88
363 0116 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
364 .LVL19:
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
365 .loc 1 3088 30 view .LVU89
366 011a 00EB8000 add r0, r0, r0, lsl #2
367 011e 00EB8000 add r0, r0, r0, lsl #2
368 0122 6568 ldr r5, [r4, #4]
369 0124 6D00 lsls r5, r5, #1
370 0126 B0FBF5F5 udiv r5, r0, r5
371 012a 7E4F ldr r7, .L21+4
372 012c A7FB0535 umull r3, r5, r7, r5
373 0130 6D09 lsrs r5, r5, #5
374 0132 4FEA0519 lsl r9, r5, #4
375 0136 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
376 .LVL20:
377 013a 00EB8000 add r0, r0, r0, lsl #2
378 013e 00EB8000 add r0, r0, r0, lsl #2
379 0142 6668 ldr r6, [r4, #4]
380 0144 7600 lsls r6, r6, #1
381 0146 B0FBF6F6 udiv r6, r0, r6
382 014a FFF7FEFF bl HAL_RCC_GetPCLK1Freq
383 .LVL21:
384 014e 00EB8000 add r0, r0, r0, lsl #2
385 0152 00EB8000 add r0, r0, r0, lsl #2
386 0156 6568 ldr r5, [r4, #4]
387 0158 6D00 lsls r5, r5, #1
388 015a B0FBF5F5 udiv r5, r0, r5
389 015e A7FB0535 umull r3, r5, r7, r5
390 0162 6D09 lsrs r5, r5, #5
391 0164 4FF06408 mov r8, #100
392 0168 08FB1565 mls r5, r8, r5, r6
ARM GAS /tmp/ccGtkZvD.s page 63
393 016c ED00 lsls r5, r5, #3
394 016e 3235 adds r5, r5, #50
395 0170 A7FB0535 umull r3, r5, r7, r5
396 0174 6D09 lsrs r5, r5, #5
397 0176 6D00 lsls r5, r5, #1
398 0178 05F4F875 and r5, r5, #496
399 017c 4D44 add r5, r5, r9
400 017e FFF7FEFF bl HAL_RCC_GetPCLK1Freq
401 .LVL22:
402 0182 00EB8000 add r0, r0, r0, lsl #2
403 0186 00EB8000 add r0, r0, r0, lsl #2
404 018a 6668 ldr r6, [r4, #4]
405 018c 7600 lsls r6, r6, #1
406 018e B0FBF6F6 udiv r6, r0, r6
407 0192 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
408 .LVL23:
409 0196 00EB8000 add r0, r0, r0, lsl #2
410 019a 00EB8000 add r0, r0, r0, lsl #2
411 019e 6368 ldr r3, [r4, #4]
412 01a0 5B00 lsls r3, r3, #1
413 01a2 B0FBF3F3 udiv r3, r0, r3
414 01a6 A7FB0323 umull r2, r3, r7, r3
415 01aa 5B09 lsrs r3, r3, #5
416 01ac 08FB1363 mls r3, r8, r3, r6
417 01b0 DB00 lsls r3, r3, #3
418 01b2 3233 adds r3, r3, #50
419 01b4 A7FB0337 umull r3, r7, r7, r3
420 01b8 C7F34217 ubfx r7, r7, #5, #3
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
421 .loc 1 3088 12 view .LVU90
422 01bc 2368 ldr r3, [r4]
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
423 .loc 1 3088 30 view .LVU91
424 01be 2F44 add r7, r7, r5
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
425 .loc 1 3088 28 view .LVU92
426 01c0 9F60 str r7, [r3, #8]
427 01c2 AAE0 b .L12
428 .LVL24:
429 .L14:
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
430 .loc 1 3078 7 is_stmt 1 view .LVU93
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
431 .loc 1 3078 30 is_stmt 0 view .LVU94
432 01c4 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
433 .LVL25:
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
434 .loc 1 3078 30 view .LVU95
435 01c8 00EB8000 add r0, r0, r0, lsl #2
436 01cc 00EB8000 add r0, r0, r0, lsl #2
437 01d0 6568 ldr r5, [r4, #4]
438 01d2 6D00 lsls r5, r5, #1
439 01d4 B0FBF5F5 udiv r5, r0, r5
440 01d8 524F ldr r7, .L21+4
441 01da A7FB0535 umull r3, r5, r7, r5
442 01de 6D09 lsrs r5, r5, #5
443 01e0 4FEA0519 lsl r9, r5, #4
ARM GAS /tmp/ccGtkZvD.s page 64
444 01e4 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
445 .LVL26:
446 01e8 00EB8000 add r0, r0, r0, lsl #2
447 01ec 00EB8000 add r0, r0, r0, lsl #2
448 01f0 6668 ldr r6, [r4, #4]
449 01f2 7600 lsls r6, r6, #1
450 01f4 B0FBF6F6 udiv r6, r0, r6
451 01f8 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
452 .LVL27:
453 01fc 00EB8000 add r0, r0, r0, lsl #2
454 0200 00EB8000 add r0, r0, r0, lsl #2
455 0204 6568 ldr r5, [r4, #4]
456 0206 6D00 lsls r5, r5, #1
457 0208 B0FBF5F5 udiv r5, r0, r5
458 020c A7FB0535 umull r3, r5, r7, r5
459 0210 6D09 lsrs r5, r5, #5
460 0212 4FF06408 mov r8, #100
461 0216 08FB1565 mls r5, r8, r5, r6
462 021a ED00 lsls r5, r5, #3
463 021c 3235 adds r5, r5, #50
464 021e A7FB0535 umull r3, r5, r7, r5
465 0222 6D09 lsrs r5, r5, #5
466 0224 6D00 lsls r5, r5, #1
467 0226 05F4F875 and r5, r5, #496
468 022a 4D44 add r5, r5, r9
469 022c FFF7FEFF bl HAL_RCC_GetPCLK2Freq
470 .LVL28:
471 0230 00EB8000 add r0, r0, r0, lsl #2
472 0234 00EB8000 add r0, r0, r0, lsl #2
473 0238 6668 ldr r6, [r4, #4]
474 023a 7600 lsls r6, r6, #1
475 023c B0FBF6F6 udiv r6, r0, r6
476 0240 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
477 .LVL29:
478 0244 00EB8000 add r0, r0, r0, lsl #2
479 0248 00EB8000 add r0, r0, r0, lsl #2
480 024c 6368 ldr r3, [r4, #4]
481 024e 5B00 lsls r3, r3, #1
482 0250 B0FBF3F3 udiv r3, r0, r3
483 0254 A7FB0323 umull r2, r3, r7, r3
484 0258 5B09 lsrs r3, r3, #5
485 025a 08FB1363 mls r3, r8, r3, r6
486 025e DB00 lsls r3, r3, #3
487 0260 3233 adds r3, r3, #50
488 0262 A7FB0337 umull r3, r7, r7, r3
489 0266 C7F34217 ubfx r7, r7, #5, #3
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
490 .loc 1 3078 12 view .LVU96
491 026a 2368 ldr r3, [r4]
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
492 .loc 1 3078 30 view .LVU97
493 026c 2F44 add r7, r7, r5
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
494 .loc 1 3078 28 view .LVU98
495 026e 9F60 str r7, [r3, #8]
496 0270 53E0 b .L12
497 .LVL30:
ARM GAS /tmp/ccGtkZvD.s page 65
498 .L17:
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
499 .loc 1 3097 7 is_stmt 1 view .LVU99
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
500 .loc 1 3097 30 is_stmt 0 view .LVU100
501 0272 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
502 .LVL31:
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
503 .loc 1 3097 30 view .LVU101
504 0276 00EB8000 add r0, r0, r0, lsl #2
505 027a 00EB8000 add r0, r0, r0, lsl #2
506 027e 6568 ldr r5, [r4, #4]
507 0280 AD00 lsls r5, r5, #2
508 0282 B0FBF5F5 udiv r5, r0, r5
509 0286 274F ldr r7, .L21+4
510 0288 A7FB0535 umull r3, r5, r7, r5
511 028c 6D09 lsrs r5, r5, #5
512 028e 2E01 lsls r6, r5, #4
513 0290 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
514 .LVL32:
515 0294 00EB8000 add r0, r0, r0, lsl #2
516 0298 00EB8000 add r0, r0, r0, lsl #2
517 029c 6568 ldr r5, [r4, #4]
518 029e AD00 lsls r5, r5, #2
519 02a0 B0FBF5F5 udiv r5, r0, r5
520 02a4 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
521 .LVL33:
522 02a8 00EB8000 add r0, r0, r0, lsl #2
523 02ac 00EB8000 add r0, r0, r0, lsl #2
524 02b0 6368 ldr r3, [r4, #4]
525 02b2 9B00 lsls r3, r3, #2
526 02b4 B0FBF3F3 udiv r3, r0, r3
527 02b8 A7FB0323 umull r2, r3, r7, r3
528 02bc 5B09 lsrs r3, r3, #5
529 02be 4FF06408 mov r8, #100
530 02c2 08FB1353 mls r3, r8, r3, r5
531 02c6 1B01 lsls r3, r3, #4
532 02c8 3233 adds r3, r3, #50
533 02ca A7FB0323 umull r2, r3, r7, r3
534 02ce 5B09 lsrs r3, r3, #5
535 02d0 03F0F003 and r3, r3, #240
536 02d4 F518 adds r5, r6, r3
537 02d6 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
538 .LVL34:
539 02da 00EB8000 add r0, r0, r0, lsl #2
540 02de 00EB8000 add r0, r0, r0, lsl #2
541 02e2 6668 ldr r6, [r4, #4]
542 02e4 B600 lsls r6, r6, #2
543 02e6 B0FBF6F6 udiv r6, r0, r6
544 02ea FFF7FEFF bl HAL_RCC_GetPCLK2Freq
545 .LVL35:
546 02ee 00EB8000 add r0, r0, r0, lsl #2
547 02f2 00EB8000 add r0, r0, r0, lsl #2
548 02f6 6368 ldr r3, [r4, #4]
549 02f8 9B00 lsls r3, r3, #2
550 02fa B0FBF3F0 udiv r0, r0, r3
551 02fe A7FB0030 umull r3, r0, r7, r0
ARM GAS /tmp/ccGtkZvD.s page 66
552 0302 4009 lsrs r0, r0, #5
553 0304 08FB1060 mls r0, r8, r0, r6
554 0308 0001 lsls r0, r0, #4
555 030a 3230 adds r0, r0, #50
556 030c A7FB0037 umull r3, r7, r7, r0
557 0310 C7F34317 ubfx r7, r7, #5, #4
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
558 .loc 1 3097 12 view .LVU102
559 0314 2368 ldr r3, [r4]
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
560 .loc 1 3097 30 view .LVU103
561 0316 2F44 add r7, r7, r5
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
562 .loc 1 3097 28 view .LVU104
563 0318 9F60 str r7, [r3, #8]
564 .L12:
565 .loc 1 3110 1 view .LVU105
566 031a BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
567 .LVL36:
568 .L22:
569 .loc 1 3110 1 view .LVU106
570 031e 00BF .align 2
571 .L21:
572 0320 00100140 .word 1073811456
573 0324 1F85EB51 .word 1374389535
574 .cfi_endproc
575 .LFE184:
577 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
578 .align 1
579 .syntax unified
580 .thumb
581 .thumb_func
583 UART_WaitOnFlagUntilTimeout:
584 .LVL37:
585 .LFB173:
2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
586 .loc 1 2668 1 is_stmt 1 view -0
587 .cfi_startproc
588 @ args = 4, pretend = 0, frame = 0
589 @ frame_needed = 0, uses_anonymous_args = 0
2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
590 .loc 1 2668 1 is_stmt 0 view .LVU108
591 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
592 .LCFI1:
593 .cfi_def_cfa_offset 32
594 .cfi_offset 3, -32
595 .cfi_offset 4, -28
596 .cfi_offset 5, -24
597 .cfi_offset 6, -20
598 .cfi_offset 7, -16
599 .cfi_offset 8, -12
600 .cfi_offset 9, -8
601 .cfi_offset 14, -4
602 0004 0546 mov r5, r0
603 0006 0F46 mov r7, r1
604 0008 1646 mov r6, r2
605 000a 9946 mov r9, r3
ARM GAS /tmp/ccGtkZvD.s page 67
606 000c DDF82080 ldr r8, [sp, #32]
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
607 .loc 1 2670 3 is_stmt 1 view .LVU109
608 .LVL38:
609 .L25:
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
610 .loc 1 2670 9 view .LVU110
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
611 .loc 1 2670 11 is_stmt 0 view .LVU111
612 0010 2C68 ldr r4, [r5]
613 0012 2468 ldr r4, [r4]
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
614 .loc 1 2670 50 view .LVU112
615 0014 37EA0403 bics r3, r7, r4
616 0018 0CBF ite eq
617 001a 4FF0010C moveq ip, #1
618 001e 4FF0000C movne ip, #0
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
619 .loc 1 2670 9 view .LVU113
620 0022 B445 cmp ip, r6
621 0024 1FD1 bne .L30
2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
622 .loc 1 2673 5 is_stmt 1 view .LVU114
2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
623 .loc 1 2673 8 is_stmt 0 view .LVU115
624 0026 B8F1FF3F cmp r8, #-1
625 002a F1D0 beq .L25
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
626 .loc 1 2675 7 is_stmt 1 view .LVU116
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
627 .loc 1 2675 10 is_stmt 0 view .LVU117
628 002c B8F1000F cmp r8, #0
629 0030 05D0 beq .L26
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
630 .loc 1 2675 32 discriminator 1 view .LVU118
631 0032 FFF7FEFF bl HAL_GetTick
632 .LVL39:
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
633 .loc 1 2675 46 discriminator 1 view .LVU119
634 0036 A0EB0900 sub r0, r0, r9
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
635 .loc 1 2675 27 discriminator 1 view .LVU120
636 003a 4045 cmp r0, r8
637 003c E8D9 bls .L25
638 .L26:
2678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
639 .loc 1 2678 9 is_stmt 1 view .LVU121
640 003e 2A68 ldr r2, [r5]
641 0040 D368 ldr r3, [r2, #12]
642 0042 23F4D073 bic r3, r3, #416
643 0046 D360 str r3, [r2, #12]
2679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
644 .loc 1 2679 9 view .LVU122
645 0048 2A68 ldr r2, [r5]
646 004a 5369 ldr r3, [r2, #20]
647 004c 23F00103 bic r3, r3, #1
648 0050 5361 str r3, [r2, #20]
ARM GAS /tmp/ccGtkZvD.s page 68
2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
649 .loc 1 2681 9 view .LVU123
2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
650 .loc 1 2681 24 is_stmt 0 view .LVU124
651 0052 2023 movs r3, #32
652 0054 85F83930 strb r3, [r5, #57]
2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
653 .loc 1 2682 9 is_stmt 1 view .LVU125
2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
654 .loc 1 2682 24 is_stmt 0 view .LVU126
655 0058 85F83A30 strb r3, [r5, #58]
2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
656 .loc 1 2685 9 is_stmt 1 view .LVU127
2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
657 .loc 1 2685 9 view .LVU128
658 005c 0023 movs r3, #0
659 005e 85F83830 strb r3, [r5, #56]
2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
660 .loc 1 2685 9 view .LVU129
2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
661 .loc 1 2687 9 view .LVU130
2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
662 .loc 1 2687 16 is_stmt 0 view .LVU131
663 0062 0320 movs r0, #3
664 0064 00E0 b .L27
665 .L30:
2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
666 .loc 1 2691 10 view .LVU132
667 0066 0020 movs r0, #0
668 .L27:
2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
669 .loc 1 2692 1 view .LVU133
670 0068 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
671 .loc 1 2692 1 view .LVU134
672 .cfi_endproc
673 .LFE173:
675 .section .text.HAL_UART_MspInit,"ax",%progbits
676 .align 1
677 .weak HAL_UART_MspInit
678 .syntax unified
679 .thumb
680 .thumb_func
682 HAL_UART_MspInit:
683 .LVL40:
684 .LFB135:
668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
685 .loc 1 668 1 is_stmt 1 view -0
686 .cfi_startproc
687 @ args = 0, pretend = 0, frame = 0
688 @ frame_needed = 0, uses_anonymous_args = 0
689 @ link register save eliminated.
670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
690 .loc 1 670 3 view .LVU136
674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
691 .loc 1 674 1 is_stmt 0 view .LVU137
692 0000 7047 bx lr
ARM GAS /tmp/ccGtkZvD.s page 69
693 .cfi_endproc
694 .LFE135:
696 .section .text.HAL_UART_Init,"ax",%progbits
697 .align 1
698 .global HAL_UART_Init
699 .syntax unified
700 .thumb
701 .thumb_func
703 HAL_UART_Init:
704 .LVL41:
705 .LFB130:
318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
706 .loc 1 318 1 is_stmt 1 view -0
707 .cfi_startproc
708 @ args = 0, pretend = 0, frame = 0
709 @ frame_needed = 0, uses_anonymous_args = 0
320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
710 .loc 1 320 3 view .LVU139
320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
711 .loc 1 320 6 is_stmt 0 view .LVU140
712 0000 58B3 cbz r0, .L35
318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
713 .loc 1 318 1 view .LVU141
714 0002 10B5 push {r4, lr}
715 .LCFI2:
716 .cfi_def_cfa_offset 8
717 .cfi_offset 4, -8
718 .cfi_offset 14, -4
719 0004 0446 mov r4, r0
326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
720 .loc 1 326 3 is_stmt 1 view .LVU142
334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
721 .loc 1 334 5 view .LVU143
336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
722 .loc 1 336 3 view .LVU144
337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
723 .loc 1 337 3 view .LVU145
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
724 .loc 1 339 3 view .LVU146
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
725 .loc 1 339 12 is_stmt 0 view .LVU147
726 0006 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
727 .loc 1 339 6 view .LVU148
728 000a 0BB3 cbz r3, .L40
729 .LVL42:
730 .L34:
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
731 .loc 1 360 3 is_stmt 1 view .LVU149
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
732 .loc 1 360 17 is_stmt 0 view .LVU150
733 000c 2423 movs r3, #36
734 000e 84F83930 strb r3, [r4, #57]
363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
735 .loc 1 363 3 is_stmt 1 view .LVU151
736 0012 2268 ldr r2, [r4]
737 0014 D368 ldr r3, [r2, #12]
ARM GAS /tmp/ccGtkZvD.s page 70
738 0016 23F40053 bic r3, r3, #8192
739 001a D360 str r3, [r2, #12]
366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
740 .loc 1 366 3 view .LVU152
741 001c 2046 mov r0, r4
742 001e FFF7FEFF bl UART_SetConfig
743 .LVL43:
371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
744 .loc 1 371 3 view .LVU153
745 0022 2268 ldr r2, [r4]
746 0024 1369 ldr r3, [r2, #16]
747 0026 23F49043 bic r3, r3, #18432
748 002a 1361 str r3, [r2, #16]
372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
749 .loc 1 372 3 view .LVU154
750 002c 2268 ldr r2, [r4]
751 002e 5369 ldr r3, [r2, #20]
752 0030 23F02A03 bic r3, r3, #42
753 0034 5361 str r3, [r2, #20]
375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
754 .loc 1 375 3 view .LVU155
755 0036 2268 ldr r2, [r4]
756 0038 D368 ldr r3, [r2, #12]
757 003a 43F40053 orr r3, r3, #8192
758 003e D360 str r3, [r2, #12]
378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
759 .loc 1 378 3 view .LVU156
378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
760 .loc 1 378 20 is_stmt 0 view .LVU157
761 0040 0020 movs r0, #0
762 0042 E063 str r0, [r4, #60]
379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
763 .loc 1 379 3 is_stmt 1 view .LVU158
379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
764 .loc 1 379 17 is_stmt 0 view .LVU159
765 0044 2023 movs r3, #32
766 0046 84F83930 strb r3, [r4, #57]
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
767 .loc 1 380 3 is_stmt 1 view .LVU160
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
768 .loc 1 380 18 is_stmt 0 view .LVU161
769 004a 84F83A30 strb r3, [r4, #58]
382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
770 .loc 1 382 3 is_stmt 1 view .LVU162
383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
771 .loc 1 383 1 is_stmt 0 view .LVU163
772 004e 10BD pop {r4, pc}
773 .LVL44:
774 .L40:
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
775 .loc 1 342 5 is_stmt 1 view .LVU164
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
776 .loc 1 342 17 is_stmt 0 view .LVU165
777 0050 80F83830 strb r3, [r0, #56]
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
778 .loc 1 356 5 is_stmt 1 view .LVU166
779 0054 FFF7FEFF bl HAL_UART_MspInit
ARM GAS /tmp/ccGtkZvD.s page 71
780 .LVL45:
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
781 .loc 1 356 5 is_stmt 0 view .LVU167
782 0058 D8E7 b .L34
783 .LVL46:
784 .L35:
785 .LCFI3:
786 .cfi_def_cfa_offset 0
787 .cfi_restore 4
788 .cfi_restore 14
322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
789 .loc 1 322 12 view .LVU168
790 005a 0120 movs r0, #1
791 .LVL47:
383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
792 .loc 1 383 1 view .LVU169
793 005c 7047 bx lr
794 .cfi_endproc
795 .LFE130:
797 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
798 .align 1
799 .global HAL_HalfDuplex_Init
800 .syntax unified
801 .thumb
802 .thumb_func
804 HAL_HalfDuplex_Init:
805 .LVL48:
806 .LFB131:
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
807 .loc 1 393 1 is_stmt 1 view -0
808 .cfi_startproc
809 @ args = 0, pretend = 0, frame = 0
810 @ frame_needed = 0, uses_anonymous_args = 0
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
811 .loc 1 395 3 view .LVU171
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
812 .loc 1 395 6 is_stmt 0 view .LVU172
813 0000 0028 cmp r0, #0
814 0002 30D0 beq .L44
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
815 .loc 1 393 1 view .LVU173
816 0004 10B5 push {r4, lr}
817 .LCFI4:
818 .cfi_def_cfa_offset 8
819 .cfi_offset 4, -8
820 .cfi_offset 14, -4
821 0006 0446 mov r4, r0
401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
822 .loc 1 401 3 is_stmt 1 view .LVU174
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
823 .loc 1 402 3 view .LVU175
403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
824 .loc 1 403 3 view .LVU176
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
825 .loc 1 405 3 view .LVU177
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
826 .loc 1 405 12 is_stmt 0 view .LVU178
ARM GAS /tmp/ccGtkZvD.s page 72
827 0008 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
828 .loc 1 405 6 view .LVU179
829 000c 33B3 cbz r3, .L49
830 .LVL49:
831 .L43:
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
832 .loc 1 426 3 is_stmt 1 view .LVU180
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
833 .loc 1 426 17 is_stmt 0 view .LVU181
834 000e 2423 movs r3, #36
835 0010 84F83930 strb r3, [r4, #57]
429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
836 .loc 1 429 3 is_stmt 1 view .LVU182
837 0014 2268 ldr r2, [r4]
838 0016 D368 ldr r3, [r2, #12]
839 0018 23F40053 bic r3, r3, #8192
840 001c D360 str r3, [r2, #12]
432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
841 .loc 1 432 3 view .LVU183
842 001e 2046 mov r0, r4
843 0020 FFF7FEFF bl UART_SetConfig
844 .LVL50:
437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
845 .loc 1 437 3 view .LVU184
846 0024 2268 ldr r2, [r4]
847 0026 1369 ldr r3, [r2, #16]
848 0028 23F49043 bic r3, r3, #18432
849 002c 1361 str r3, [r2, #16]
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
850 .loc 1 438 3 view .LVU185
851 002e 2268 ldr r2, [r4]
852 0030 5369 ldr r3, [r2, #20]
853 0032 23F02203 bic r3, r3, #34
854 0036 5361 str r3, [r2, #20]
441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
855 .loc 1 441 3 view .LVU186
856 0038 2268 ldr r2, [r4]
857 003a 5369 ldr r3, [r2, #20]
858 003c 43F00803 orr r3, r3, #8
859 0040 5361 str r3, [r2, #20]
444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
860 .loc 1 444 3 view .LVU187
861 0042 2268 ldr r2, [r4]
862 0044 D368 ldr r3, [r2, #12]
863 0046 43F40053 orr r3, r3, #8192
864 004a D360 str r3, [r2, #12]
447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
865 .loc 1 447 3 view .LVU188
447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
866 .loc 1 447 20 is_stmt 0 view .LVU189
867 004c 0020 movs r0, #0
868 004e E063 str r0, [r4, #60]
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
869 .loc 1 448 3 is_stmt 1 view .LVU190
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
870 .loc 1 448 17 is_stmt 0 view .LVU191
ARM GAS /tmp/ccGtkZvD.s page 73
871 0050 2023 movs r3, #32
872 0052 84F83930 strb r3, [r4, #57]
449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
873 .loc 1 449 3 is_stmt 1 view .LVU192
449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
874 .loc 1 449 18 is_stmt 0 view .LVU193
875 0056 84F83A30 strb r3, [r4, #58]
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
876 .loc 1 451 3 is_stmt 1 view .LVU194
452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
877 .loc 1 452 1 is_stmt 0 view .LVU195
878 005a 10BD pop {r4, pc}
879 .LVL51:
880 .L49:
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
881 .loc 1 408 5 is_stmt 1 view .LVU196
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
882 .loc 1 408 17 is_stmt 0 view .LVU197
883 005c 80F83830 strb r3, [r0, #56]
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
884 .loc 1 422 5 is_stmt 1 view .LVU198
885 0060 FFF7FEFF bl HAL_UART_MspInit
886 .LVL52:
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
887 .loc 1 422 5 is_stmt 0 view .LVU199
888 0064 D3E7 b .L43
889 .LVL53:
890 .L44:
891 .LCFI5:
892 .cfi_def_cfa_offset 0
893 .cfi_restore 4
894 .cfi_restore 14
397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
895 .loc 1 397 12 view .LVU200
896 0066 0120 movs r0, #1
897 .LVL54:
452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
898 .loc 1 452 1 view .LVU201
899 0068 7047 bx lr
900 .cfi_endproc
901 .LFE131:
903 .section .text.HAL_LIN_Init,"ax",%progbits
904 .align 1
905 .global HAL_LIN_Init
906 .syntax unified
907 .thumb
908 .thumb_func
910 HAL_LIN_Init:
911 .LVL55:
912 .LFB132:
466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
913 .loc 1 466 1 is_stmt 1 view -0
914 .cfi_startproc
915 @ args = 0, pretend = 0, frame = 0
916 @ frame_needed = 0, uses_anonymous_args = 0
468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
917 .loc 1 468 3 view .LVU203
ARM GAS /tmp/ccGtkZvD.s page 74
468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
918 .loc 1 468 6 is_stmt 0 view .LVU204
919 0000 0028 cmp r0, #0
920 0002 3BD0 beq .L53
466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
921 .loc 1 466 1 view .LVU205
922 0004 38B5 push {r3, r4, r5, lr}
923 .LCFI6:
924 .cfi_def_cfa_offset 16
925 .cfi_offset 3, -16
926 .cfi_offset 4, -12
927 .cfi_offset 5, -8
928 .cfi_offset 14, -4
929 0006 0D46 mov r5, r1
930 0008 0446 mov r4, r0
474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
931 .loc 1 474 3 is_stmt 1 view .LVU206
477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength));
932 .loc 1 477 3 view .LVU207
478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling));
933 .loc 1 478 3 view .LVU208
479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
934 .loc 1 479 3 view .LVU209
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
935 .loc 1 481 3 view .LVU210
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
936 .loc 1 481 12 is_stmt 0 view .LVU211
937 000a 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
938 .loc 1 481 6 view .LVU212
939 000e 002B cmp r3, #0
940 0010 2FD0 beq .L58
941 .LVL56:
942 .L52:
502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
943 .loc 1 502 3 is_stmt 1 view .LVU213
502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
944 .loc 1 502 17 is_stmt 0 view .LVU214
945 0012 2423 movs r3, #36
946 0014 84F83930 strb r3, [r4, #57]
505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
947 .loc 1 505 3 is_stmt 1 view .LVU215
948 0018 2268 ldr r2, [r4]
949 001a D368 ldr r3, [r2, #12]
950 001c 23F40053 bic r3, r3, #8192
951 0020 D360 str r3, [r2, #12]
508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
952 .loc 1 508 3 view .LVU216
953 0022 2046 mov r0, r4
954 0024 FFF7FEFF bl UART_SetConfig
955 .LVL57:
513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
956 .loc 1 513 3 view .LVU217
957 0028 2268 ldr r2, [r4]
958 002a 1369 ldr r3, [r2, #16]
959 002c 23F40063 bic r3, r3, #2048
960 0030 1361 str r3, [r2, #16]
ARM GAS /tmp/ccGtkZvD.s page 75
514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
961 .loc 1 514 3 view .LVU218
962 0032 2268 ldr r2, [r4]
963 0034 5369 ldr r3, [r2, #20]
964 0036 23F02A03 bic r3, r3, #42
965 003a 5361 str r3, [r2, #20]
517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
966 .loc 1 517 3 view .LVU219
967 003c 2268 ldr r2, [r4]
968 003e 1369 ldr r3, [r2, #16]
969 0040 43F48043 orr r3, r3, #16384
970 0044 1361 str r3, [r2, #16]
520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength);
971 .loc 1 520 3 view .LVU220
972 0046 2268 ldr r2, [r4]
973 0048 1369 ldr r3, [r2, #16]
974 004a 23F02003 bic r3, r3, #32
975 004e 1361 str r3, [r2, #16]
521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
976 .loc 1 521 3 view .LVU221
977 0050 2368 ldr r3, [r4]
978 0052 1969 ldr r1, [r3, #16]
979 0054 0D43 orrs r5, r5, r1
980 .LVL58:
521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
981 .loc 1 521 3 is_stmt 0 view .LVU222
982 0056 1D61 str r5, [r3, #16]
524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
983 .loc 1 524 3 is_stmt 1 view .LVU223
984 0058 2268 ldr r2, [r4]
985 005a D368 ldr r3, [r2, #12]
986 005c 43F40053 orr r3, r3, #8192
987 0060 D360 str r3, [r2, #12]
527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
988 .loc 1 527 3 view .LVU224
527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
989 .loc 1 527 20 is_stmt 0 view .LVU225
990 0062 0020 movs r0, #0
991 0064 E063 str r0, [r4, #60]
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
992 .loc 1 528 3 is_stmt 1 view .LVU226
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
993 .loc 1 528 17 is_stmt 0 view .LVU227
994 0066 2023 movs r3, #32
995 0068 84F83930 strb r3, [r4, #57]
529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
996 .loc 1 529 3 is_stmt 1 view .LVU228
529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
997 .loc 1 529 18 is_stmt 0 view .LVU229
998 006c 84F83A30 strb r3, [r4, #58]
531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
999 .loc 1 531 3 is_stmt 1 view .LVU230
532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1000 .loc 1 532 1 is_stmt 0 view .LVU231
1001 0070 38BD pop {r3, r4, r5, pc}
1002 .LVL59:
1003 .L58:
ARM GAS /tmp/ccGtkZvD.s page 76
484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1004 .loc 1 484 5 is_stmt 1 view .LVU232
484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1005 .loc 1 484 17 is_stmt 0 view .LVU233
1006 0072 80F83830 strb r3, [r0, #56]
498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1007 .loc 1 498 5 is_stmt 1 view .LVU234
1008 0076 FFF7FEFF bl HAL_UART_MspInit
1009 .LVL60:
498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1010 .loc 1 498 5 is_stmt 0 view .LVU235
1011 007a CAE7 b .L52
1012 .LVL61:
1013 .L53:
1014 .LCFI7:
1015 .cfi_def_cfa_offset 0
1016 .cfi_restore 3
1017 .cfi_restore 4
1018 .cfi_restore 5
1019 .cfi_restore 14
470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1020 .loc 1 470 12 view .LVU236
1021 007c 0120 movs r0, #1
1022 .LVL62:
532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1023 .loc 1 532 1 view .LVU237
1024 007e 7047 bx lr
1025 .cfi_endproc
1026 .LFE132:
1028 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
1029 .align 1
1030 .global HAL_MultiProcessor_Init
1031 .syntax unified
1032 .thumb
1033 .thumb_func
1035 HAL_MultiProcessor_Init:
1036 .LVL63:
1037 .LFB133:
547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1038 .loc 1 547 1 is_stmt 1 view -0
1039 .cfi_startproc
1040 @ args = 0, pretend = 0, frame = 0
1041 @ frame_needed = 0, uses_anonymous_args = 0
549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1042 .loc 1 549 3 view .LVU239
549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1043 .loc 1 549 6 is_stmt 0 view .LVU240
1044 0000 0028 cmp r0, #0
1045 0002 40D0 beq .L62
547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1046 .loc 1 547 1 view .LVU241
1047 0004 70B5 push {r4, r5, r6, lr}
1048 .LCFI8:
1049 .cfi_def_cfa_offset 16
1050 .cfi_offset 4, -16
1051 .cfi_offset 5, -12
1052 .cfi_offset 6, -8
ARM GAS /tmp/ccGtkZvD.s page 77
1053 .cfi_offset 14, -4
1054 0006 0D46 mov r5, r1
1055 0008 1646 mov r6, r2
1056 000a 0446 mov r4, r0
555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1057 .loc 1 555 3 is_stmt 1 view .LVU242
558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_ADDRESS(Address));
1058 .loc 1 558 3 view .LVU243
559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
1059 .loc 1 559 3 view .LVU244
560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
1060 .loc 1 560 3 view .LVU245
561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1061 .loc 1 561 3 view .LVU246
563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1062 .loc 1 563 3 view .LVU247
563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1063 .loc 1 563 12 is_stmt 0 view .LVU248
1064 000c 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1065 .loc 1 563 6 view .LVU249
1066 0010 002B cmp r3, #0
1067 0012 33D0 beq .L67
1068 .LVL64:
1069 .L61:
584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1070 .loc 1 584 3 is_stmt 1 view .LVU250
584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1071 .loc 1 584 17 is_stmt 0 view .LVU251
1072 0014 2423 movs r3, #36
1073 0016 84F83930 strb r3, [r4, #57]
587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1074 .loc 1 587 3 is_stmt 1 view .LVU252
1075 001a 2268 ldr r2, [r4]
1076 001c D368 ldr r3, [r2, #12]
1077 001e 23F40053 bic r3, r3, #8192
1078 0022 D360 str r3, [r2, #12]
590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1079 .loc 1 590 3 view .LVU253
1080 0024 2046 mov r0, r4
1081 0026 FFF7FEFF bl UART_SetConfig
1082 .LVL65:
595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
1083 .loc 1 595 3 view .LVU254
1084 002a 2268 ldr r2, [r4]
1085 002c 1369 ldr r3, [r2, #16]
1086 002e 23F49043 bic r3, r3, #18432
1087 0032 1361 str r3, [r2, #16]
596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1088 .loc 1 596 3 view .LVU255
1089 0034 2268 ldr r2, [r4]
1090 0036 5369 ldr r3, [r2, #20]
1091 0038 23F02A03 bic r3, r3, #42
1092 003c 5361 str r3, [r2, #20]
599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address);
1093 .loc 1 599 3 view .LVU256
1094 003e 2268 ldr r2, [r4]
ARM GAS /tmp/ccGtkZvD.s page 78
1095 0040 1369 ldr r3, [r2, #16]
1096 0042 23F00F03 bic r3, r3, #15
1097 0046 1361 str r3, [r2, #16]
600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1098 .loc 1 600 3 view .LVU257
1099 0048 2368 ldr r3, [r4]
1100 004a 1969 ldr r1, [r3, #16]
1101 004c 0D43 orrs r5, r5, r1
1102 004e 1D61 str r5, [r3, #16]
603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod);
1103 .loc 1 603 3 view .LVU258
1104 0050 2268 ldr r2, [r4]
1105 0052 D368 ldr r3, [r2, #12]
1106 0054 23F40063 bic r3, r3, #2048
1107 0058 D360 str r3, [r2, #12]
604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1108 .loc 1 604 3 view .LVU259
1109 005a 2368 ldr r3, [r4]
1110 005c DA68 ldr r2, [r3, #12]
1111 005e 1643 orrs r6, r6, r2
1112 .LVL66:
604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1113 .loc 1 604 3 is_stmt 0 view .LVU260
1114 0060 DE60 str r6, [r3, #12]
607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1115 .loc 1 607 3 is_stmt 1 view .LVU261
1116 0062 2268 ldr r2, [r4]
1117 0064 D368 ldr r3, [r2, #12]
1118 0066 43F40053 orr r3, r3, #8192
1119 006a D360 str r3, [r2, #12]
610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1120 .loc 1 610 3 view .LVU262
610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1121 .loc 1 610 20 is_stmt 0 view .LVU263
1122 006c 0020 movs r0, #0
1123 006e E063 str r0, [r4, #60]
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1124 .loc 1 611 3 is_stmt 1 view .LVU264
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1125 .loc 1 611 17 is_stmt 0 view .LVU265
1126 0070 2023 movs r3, #32
1127 0072 84F83930 strb r3, [r4, #57]
612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1128 .loc 1 612 3 is_stmt 1 view .LVU266
612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1129 .loc 1 612 18 is_stmt 0 view .LVU267
1130 0076 84F83A30 strb r3, [r4, #58]
614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1131 .loc 1 614 3 is_stmt 1 view .LVU268
615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1132 .loc 1 615 1 is_stmt 0 view .LVU269
1133 007a 70BD pop {r4, r5, r6, pc}
1134 .LVL67:
1135 .L67:
566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1136 .loc 1 566 5 is_stmt 1 view .LVU270
566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 79
1137 .loc 1 566 17 is_stmt 0 view .LVU271
1138 007c 80F83830 strb r3, [r0, #56]
580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1139 .loc 1 580 5 is_stmt 1 view .LVU272
1140 0080 FFF7FEFF bl HAL_UART_MspInit
1141 .LVL68:
580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1142 .loc 1 580 5 is_stmt 0 view .LVU273
1143 0084 C6E7 b .L61
1144 .LVL69:
1145 .L62:
1146 .LCFI9:
1147 .cfi_def_cfa_offset 0
1148 .cfi_restore 4
1149 .cfi_restore 5
1150 .cfi_restore 6
1151 .cfi_restore 14
551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1152 .loc 1 551 12 view .LVU274
1153 0086 0120 movs r0, #1
1154 .LVL70:
615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1155 .loc 1 615 1 view .LVU275
1156 0088 7047 bx lr
1157 .cfi_endproc
1158 .LFE133:
1160 .section .text.HAL_UART_MspDeInit,"ax",%progbits
1161 .align 1
1162 .weak HAL_UART_MspDeInit
1163 .syntax unified
1164 .thumb
1165 .thumb_func
1167 HAL_UART_MspDeInit:
1168 .LVL71:
1169 .LFB136:
683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
1170 .loc 1 683 1 is_stmt 1 view -0
1171 .cfi_startproc
1172 @ args = 0, pretend = 0, frame = 0
1173 @ frame_needed = 0, uses_anonymous_args = 0
1174 @ link register save eliminated.
685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
1175 .loc 1 685 3 view .LVU277
689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1176 .loc 1 689 1 is_stmt 0 view .LVU278
1177 0000 7047 bx lr
1178 .cfi_endproc
1179 .LFE136:
1181 .section .text.HAL_UART_DeInit,"ax",%progbits
1182 .align 1
1183 .global HAL_UART_DeInit
1184 .syntax unified
1185 .thumb
1186 .thumb_func
1188 HAL_UART_DeInit:
1189 .LVL72:
1190 .LFB134:
ARM GAS /tmp/ccGtkZvD.s page 80
624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1191 .loc 1 624 1 is_stmt 1 view -0
1192 .cfi_startproc
1193 @ args = 0, pretend = 0, frame = 0
1194 @ frame_needed = 0, uses_anonymous_args = 0
626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1195 .loc 1 626 3 view .LVU280
626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1196 .loc 1 626 6 is_stmt 0 view .LVU281
1197 0000 A0B1 cbz r0, .L71
624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1198 .loc 1 624 1 view .LVU282
1199 0002 10B5 push {r4, lr}
1200 .LCFI10:
1201 .cfi_def_cfa_offset 8
1202 .cfi_offset 4, -8
1203 .cfi_offset 14, -4
1204 0004 0446 mov r4, r0
632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1205 .loc 1 632 3 is_stmt 1 view .LVU283
634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1206 .loc 1 634 3 view .LVU284
634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1207 .loc 1 634 17 is_stmt 0 view .LVU285
1208 0006 2423 movs r3, #36
1209 0008 80F83930 strb r3, [r0, #57]
637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1210 .loc 1 637 3 is_stmt 1 view .LVU286
1211 000c 0268 ldr r2, [r0]
1212 000e D368 ldr r3, [r2, #12]
1213 0010 23F40053 bic r3, r3, #8192
1214 0014 D360 str r3, [r2, #12]
648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1215 .loc 1 648 3 view .LVU287
1216 0016 FFF7FEFF bl HAL_UART_MspDeInit
1217 .LVL73:
651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
1218 .loc 1 651 3 view .LVU288
651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
1219 .loc 1 651 20 is_stmt 0 view .LVU289
1220 001a 0020 movs r0, #0
1221 001c E063 str r0, [r4, #60]
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
1222 .loc 1 652 3 is_stmt 1 view .LVU290
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
1223 .loc 1 652 17 is_stmt 0 view .LVU291
1224 001e 84F83900 strb r0, [r4, #57]
653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1225 .loc 1 653 3 is_stmt 1 view .LVU292
653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1226 .loc 1 653 18 is_stmt 0 view .LVU293
1227 0022 84F83A00 strb r0, [r4, #58]
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1228 .loc 1 656 3 is_stmt 1 view .LVU294
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1229 .loc 1 656 3 view .LVU295
1230 0026 84F83800 strb r0, [r4, #56]
ARM GAS /tmp/ccGtkZvD.s page 81
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1231 .loc 1 656 3 view .LVU296
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1232 .loc 1 658 3 view .LVU297
659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1233 .loc 1 659 1 is_stmt 0 view .LVU298
1234 002a 10BD pop {r4, pc}
1235 .LVL74:
1236 .L71:
1237 .LCFI11:
1238 .cfi_def_cfa_offset 0
1239 .cfi_restore 4
1240 .cfi_restore 14
628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1241 .loc 1 628 12 view .LVU299
1242 002c 0120 movs r0, #1
1243 .LVL75:
659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1244 .loc 1 659 1 view .LVU300
1245 002e 7047 bx lr
1246 .cfi_endproc
1247 .LFE134:
1249 .section .text.HAL_UART_Transmit,"ax",%progbits
1250 .align 1
1251 .global HAL_UART_Transmit
1252 .syntax unified
1253 .thumb
1254 .thumb_func
1256 HAL_UART_Transmit:
1257 .LVL76:
1258 .LFB137:
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
1259 .loc 1 1020 1 is_stmt 1 view -0
1260 .cfi_startproc
1261 @ args = 0, pretend = 0, frame = 0
1262 @ frame_needed = 0, uses_anonymous_args = 0
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
1263 .loc 1 1020 1 is_stmt 0 view .LVU302
1264 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1265 .LCFI12:
1266 .cfi_def_cfa_offset 24
1267 .cfi_offset 4, -24
1268 .cfi_offset 5, -20
1269 .cfi_offset 6, -16
1270 .cfi_offset 7, -12
1271 .cfi_offset 8, -8
1272 .cfi_offset 14, -4
1273 0004 82B0 sub sp, sp, #8
1274 .LCFI13:
1275 .cfi_def_cfa_offset 32
1276 0006 1E46 mov r6, r3
1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
1277 .loc 1 1021 3 is_stmt 1 view .LVU303
1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1278 .loc 1 1022 3 view .LVU304
1279 .LVL77:
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccGtkZvD.s page 82
1280 .loc 1 1025 3 view .LVU305
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1281 .loc 1 1025 12 is_stmt 0 view .LVU306
1282 0008 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
1283 .LVL78:
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1284 .loc 1 1025 12 view .LVU307
1285 000c DBB2 uxtb r3, r3
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1286 .loc 1 1025 6 view .LVU308
1287 000e 202B cmp r3, #32
1288 0010 55D1 bne .L83
1289 0012 0446 mov r4, r0
1290 0014 0D46 mov r5, r1
1291 0016 9046 mov r8, r2
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1292 .loc 1 1027 5 is_stmt 1 view .LVU309
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1293 .loc 1 1027 8 is_stmt 0 view .LVU310
1294 0018 0029 cmp r1, #0
1295 001a 54D0 beq .L84
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1296 .loc 1 1027 25 discriminator 1 view .LVU311
1297 001c 002A cmp r2, #0
1298 001e 54D0 beq .L85
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1299 .loc 1 1033 5 is_stmt 1 view .LVU312
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1300 .loc 1 1033 5 view .LVU313
1301 0020 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1302 0024 012B cmp r3, #1
1303 0026 52D0 beq .L86
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1304 .loc 1 1033 5 discriminator 2 view .LVU314
1305 0028 0123 movs r3, #1
1306 002a 80F83830 strb r3, [r0, #56]
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1307 .loc 1 1033 5 discriminator 2 view .LVU315
1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1308 .loc 1 1035 5 discriminator 2 view .LVU316
1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1309 .loc 1 1035 22 is_stmt 0 discriminator 2 view .LVU317
1310 002e 0023 movs r3, #0
1311 0030 C363 str r3, [r0, #60]
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1312 .loc 1 1036 5 is_stmt 1 discriminator 2 view .LVU318
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1313 .loc 1 1036 19 is_stmt 0 discriminator 2 view .LVU319
1314 0032 2123 movs r3, #33
1315 0034 80F83930 strb r3, [r0, #57]
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1316 .loc 1 1039 5 is_stmt 1 discriminator 2 view .LVU320
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1317 .loc 1 1039 17 is_stmt 0 discriminator 2 view .LVU321
1318 0038 FFF7FEFF bl HAL_GetTick
1319 .LVL79:
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 83
1320 .loc 1 1039 17 discriminator 2 view .LVU322
1321 003c 0746 mov r7, r0
1322 .LVL80:
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1323 .loc 1 1041 5 is_stmt 1 discriminator 2 view .LVU323
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1324 .loc 1 1041 23 is_stmt 0 discriminator 2 view .LVU324
1325 003e A4F82480 strh r8, [r4, #36] @ movhi
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1326 .loc 1 1042 5 is_stmt 1 discriminator 2 view .LVU325
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1327 .loc 1 1042 24 is_stmt 0 discriminator 2 view .LVU326
1328 0042 A4F82680 strh r8, [r4, #38] @ movhi
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1329 .loc 1 1043 5 is_stmt 1 discriminator 2 view .LVU327
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1330 .loc 1 1043 11 is_stmt 0 discriminator 2 view .LVU328
1331 0046 10E0 b .L78
1332 .LVL81:
1333 .L92:
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1334 .loc 1 1048 9 is_stmt 1 view .LVU329
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1335 .loc 1 1048 13 is_stmt 0 view .LVU330
1336 0048 0096 str r6, [sp]
1337 004a 3B46 mov r3, r7
1338 004c 0022 movs r2, #0
1339 004e 8021 movs r1, #128
1340 0050 2046 mov r0, r4
1341 0052 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1342 .LVL82:
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1343 .loc 1 1048 12 view .LVU331
1344 0056 0028 cmp r0, #0
1345 0058 3BD1 bne .L87
1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (*tmp & (uint16_t)0x01FF);
1346 .loc 1 1052 9 is_stmt 1 view .LVU332
1347 .LVL83:
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1348 .loc 1 1053 9 view .LVU333
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1349 .loc 1 1053 32 is_stmt 0 view .LVU334
1350 005a 2B88 ldrh r3, [r5]
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1351 .loc 1 1053 14 view .LVU335
1352 005c 2268 ldr r2, [r4]
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1353 .loc 1 1053 37 view .LVU336
1354 005e C3F30803 ubfx r3, r3, #0, #9
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1355 .loc 1 1053 29 view .LVU337
1356 0062 5360 str r3, [r2, #4]
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1357 .loc 1 1054 9 is_stmt 1 view .LVU338
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1358 .loc 1 1054 24 is_stmt 0 view .LVU339
1359 0064 2369 ldr r3, [r4, #16]
ARM GAS /tmp/ccGtkZvD.s page 84
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1360 .loc 1 1054 12 view .LVU340
1361 0066 CBB9 cbnz r3, .L80
1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1362 .loc 1 1056 11 is_stmt 1 view .LVU341
1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1363 .loc 1 1056 17 is_stmt 0 view .LVU342
1364 0068 0235 adds r5, r5, #2
1365 .LVL84:
1366 .L78:
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1367 .loc 1 1043 11 is_stmt 1 view .LVU343
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1368 .loc 1 1043 17 is_stmt 0 view .LVU344
1369 006a E38C ldrh r3, [r4, #38]
1370 006c 9BB2 uxth r3, r3
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1371 .loc 1 1043 11 view .LVU345
1372 006e BBB1 cbz r3, .L91
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1373 .loc 1 1045 7 is_stmt 1 view .LVU346
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1374 .loc 1 1045 12 is_stmt 0 view .LVU347
1375 0070 E28C ldrh r2, [r4, #38]
1376 0072 92B2 uxth r2, r2
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1377 .loc 1 1045 25 view .LVU348
1378 0074 013A subs r2, r2, #1
1379 0076 92B2 uxth r2, r2
1380 0078 E284 strh r2, [r4, #38] @ movhi
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1381 .loc 1 1046 7 is_stmt 1 view .LVU349
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1382 .loc 1 1046 22 is_stmt 0 view .LVU350
1383 007a A368 ldr r3, [r4, #8]
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1384 .loc 1 1046 10 view .LVU351
1385 007c B3F5805F cmp r3, #4096
1386 0080 E2D0 beq .L92
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1387 .loc 1 1065 9 is_stmt 1 view .LVU352
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1388 .loc 1 1065 13 is_stmt 0 view .LVU353
1389 0082 0096 str r6, [sp]
1390 0084 3B46 mov r3, r7
1391 0086 0022 movs r2, #0
1392 0088 8021 movs r1, #128
1393 008a 2046 mov r0, r4
1394 008c FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1395 .LVL85:
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1396 .loc 1 1065 12 view .LVU354
1397 0090 08BB cbnz r0, .L88
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1398 .loc 1 1069 9 is_stmt 1 view .LVU355
1399 .LVL86:
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccGtkZvD.s page 85
1400 .loc 1 1069 32 is_stmt 0 view .LVU356
1401 0092 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2
1402 .LVL87:
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1403 .loc 1 1069 14 view .LVU357
1404 0096 2368 ldr r3, [r4]
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1405 .loc 1 1069 29 view .LVU358
1406 0098 5A60 str r2, [r3, #4]
1407 009a E6E7 b .L78
1408 .LVL88:
1409 .L80:
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1410 .loc 1 1060 11 is_stmt 1 view .LVU359
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1411 .loc 1 1060 17 is_stmt 0 view .LVU360
1412 009c 0135 adds r5, r5, #1
1413 .LVL89:
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1414 .loc 1 1060 17 view .LVU361
1415 009e E4E7 b .L78
1416 .LVL90:
1417 .L91:
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1418 .loc 1 1073 5 is_stmt 1 view .LVU362
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1419 .loc 1 1073 9 is_stmt 0 view .LVU363
1420 00a0 0096 str r6, [sp]
1421 00a2 3B46 mov r3, r7
1422 00a4 0022 movs r2, #0
1423 00a6 4021 movs r1, #64
1424 00a8 2046 mov r0, r4
1425 00aa FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1426 .LVL91:
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1427 .loc 1 1073 8 view .LVU364
1428 00ae A0B9 cbnz r0, .L89
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1429 .loc 1 1079 5 is_stmt 1 view .LVU365
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1430 .loc 1 1079 19 is_stmt 0 view .LVU366
1431 00b0 2023 movs r3, #32
1432 00b2 84F83930 strb r3, [r4, #57]
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1433 .loc 1 1082 5 is_stmt 1 view .LVU367
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1434 .loc 1 1082 5 view .LVU368
1435 00b6 0023 movs r3, #0
1436 00b8 84F83830 strb r3, [r4, #56]
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1437 .loc 1 1082 5 view .LVU369
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1438 .loc 1 1084 5 view .LVU370
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1439 .loc 1 1084 12 is_stmt 0 view .LVU371
1440 00bc 00E0 b .L77
1441 .LVL92:
ARM GAS /tmp/ccGtkZvD.s page 86
1442 .L83:
1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1443 .loc 1 1088 12 view .LVU372
1444 00be 0220 movs r0, #2
1445 .LVL93:
1446 .L77:
1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1447 .loc 1 1090 1 view .LVU373
1448 00c0 02B0 add sp, sp, #8
1449 .LCFI14:
1450 .cfi_remember_state
1451 .cfi_def_cfa_offset 24
1452 @ sp needed
1453 00c2 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1454 .LVL94:
1455 .L84:
1456 .LCFI15:
1457 .cfi_restore_state
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1458 .loc 1 1029 15 view .LVU374
1459 00c6 0120 movs r0, #1
1460 .LVL95:
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1461 .loc 1 1029 15 view .LVU375
1462 00c8 FAE7 b .L77
1463 .LVL96:
1464 .L85:
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1465 .loc 1 1029 15 view .LVU376
1466 00ca 0120 movs r0, #1
1467 .LVL97:
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1468 .loc 1 1029 15 view .LVU377
1469 00cc F8E7 b .L77
1470 .LVL98:
1471 .L86:
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1472 .loc 1 1033 5 view .LVU378
1473 00ce 0220 movs r0, #2
1474 .LVL99:
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1475 .loc 1 1033 5 view .LVU379
1476 00d0 F6E7 b .L77
1477 .LVL100:
1478 .L87:
1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1479 .loc 1 1050 18 view .LVU380
1480 00d2 0320 movs r0, #3
1481 00d4 F4E7 b .L77
1482 .L88:
1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1483 .loc 1 1067 18 view .LVU381
1484 00d6 0320 movs r0, #3
1485 00d8 F2E7 b .L77
1486 .L89:
1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1487 .loc 1 1075 14 view .LVU382
ARM GAS /tmp/ccGtkZvD.s page 87
1488 00da 0320 movs r0, #3
1489 00dc F0E7 b .L77
1490 .cfi_endproc
1491 .LFE137:
1493 .section .text.HAL_UART_Receive,"ax",%progbits
1494 .align 1
1495 .global HAL_UART_Receive
1496 .syntax unified
1497 .thumb
1498 .thumb_func
1500 HAL_UART_Receive:
1501 .LVL101:
1502 .LFB138:
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
1503 .loc 1 1102 1 is_stmt 1 view -0
1504 .cfi_startproc
1505 @ args = 0, pretend = 0, frame = 0
1506 @ frame_needed = 0, uses_anonymous_args = 0
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
1507 .loc 1 1102 1 is_stmt 0 view .LVU384
1508 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1509 .LCFI16:
1510 .cfi_def_cfa_offset 24
1511 .cfi_offset 4, -24
1512 .cfi_offset 5, -20
1513 .cfi_offset 6, -16
1514 .cfi_offset 7, -12
1515 .cfi_offset 8, -8
1516 .cfi_offset 14, -4
1517 0004 82B0 sub sp, sp, #8
1518 .LCFI17:
1519 .cfi_def_cfa_offset 32
1520 0006 1E46 mov r6, r3
1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tickstart = 0U;
1521 .loc 1 1103 3 is_stmt 1 view .LVU385
1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1522 .loc 1 1104 3 view .LVU386
1523 .LVL102:
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1524 .loc 1 1107 3 view .LVU387
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1525 .loc 1 1107 12 is_stmt 0 view .LVU388
1526 0008 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
1527 .LVL103:
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1528 .loc 1 1107 12 view .LVU389
1529 000c DBB2 uxtb r3, r3
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1530 .loc 1 1107 6 view .LVU390
1531 000e 202B cmp r3, #32
1532 0010 5BD1 bne .L101
1533 0012 0446 mov r4, r0
1534 0014 0D46 mov r5, r1
1535 0016 9046 mov r8, r2
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1536 .loc 1 1109 5 is_stmt 1 view .LVU391
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccGtkZvD.s page 88
1537 .loc 1 1109 8 is_stmt 0 view .LVU392
1538 0018 0029 cmp r1, #0
1539 001a 5AD0 beq .L102
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1540 .loc 1 1109 25 discriminator 1 view .LVU393
1541 001c 002A cmp r2, #0
1542 001e 5AD0 beq .L103
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1543 .loc 1 1115 5 is_stmt 1 view .LVU394
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1544 .loc 1 1115 5 view .LVU395
1545 0020 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1546 0024 012B cmp r3, #1
1547 0026 58D0 beq .L104
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1548 .loc 1 1115 5 discriminator 2 view .LVU396
1549 0028 0123 movs r3, #1
1550 002a 80F83830 strb r3, [r0, #56]
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1551 .loc 1 1115 5 discriminator 2 view .LVU397
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1552 .loc 1 1117 5 discriminator 2 view .LVU398
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1553 .loc 1 1117 22 is_stmt 0 discriminator 2 view .LVU399
1554 002e 0023 movs r3, #0
1555 0030 C363 str r3, [r0, #60]
1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1556 .loc 1 1118 5 is_stmt 1 discriminator 2 view .LVU400
1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1557 .loc 1 1118 20 is_stmt 0 discriminator 2 view .LVU401
1558 0032 2223 movs r3, #34
1559 0034 80F83A30 strb r3, [r0, #58]
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1560 .loc 1 1121 5 is_stmt 1 discriminator 2 view .LVU402
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1561 .loc 1 1121 17 is_stmt 0 discriminator 2 view .LVU403
1562 0038 FFF7FEFF bl HAL_GetTick
1563 .LVL104:
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1564 .loc 1 1121 17 discriminator 2 view .LVU404
1565 003c 0746 mov r7, r0
1566 .LVL105:
1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1567 .loc 1 1123 5 is_stmt 1 discriminator 2 view .LVU405
1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1568 .loc 1 1123 23 is_stmt 0 discriminator 2 view .LVU406
1569 003e A4F82C80 strh r8, [r4, #44] @ movhi
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1570 .loc 1 1124 5 is_stmt 1 discriminator 2 view .LVU407
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1571 .loc 1 1124 24 is_stmt 0 discriminator 2 view .LVU408
1572 0042 A4F82E80 strh r8, [r4, #46] @ movhi
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1573 .loc 1 1127 5 is_stmt 1 discriminator 2 view .LVU409
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1574 .loc 1 1127 11 is_stmt 0 discriminator 2 view .LVU410
1575 0046 1DE0 b .L95
ARM GAS /tmp/ccGtkZvD.s page 89
1576 .LVL106:
1577 .L109:
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1578 .loc 1 1132 9 is_stmt 1 view .LVU411
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1579 .loc 1 1132 13 is_stmt 0 view .LVU412
1580 0048 0096 str r6, [sp]
1581 004a 3B46 mov r3, r7
1582 004c 0022 movs r2, #0
1583 004e 2021 movs r1, #32
1584 0050 2046 mov r0, r4
1585 0052 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1586 .LVL107:
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1587 .loc 1 1132 12 view .LVU413
1588 0056 0028 cmp r0, #0
1589 0058 41D1 bne .L105
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1590 .loc 1 1136 9 is_stmt 1 view .LVU414
1591 .LVL108:
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1592 .loc 1 1137 9 view .LVU415
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1593 .loc 1 1137 24 is_stmt 0 view .LVU416
1594 005a 2369 ldr r3, [r4, #16]
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1595 .loc 1 1137 12 view .LVU417
1596 005c 33B9 cbnz r3, .L97
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 2U;
1597 .loc 1 1139 11 is_stmt 1 view .LVU418
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 2U;
1598 .loc 1 1139 34 is_stmt 0 view .LVU419
1599 005e 2368 ldr r3, [r4]
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 2U;
1600 .loc 1 1139 44 view .LVU420
1601 0060 5B68 ldr r3, [r3, #4]
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 2U;
1602 .loc 1 1139 18 view .LVU421
1603 0062 C3F30803 ubfx r3, r3, #0, #9
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 2U;
1604 .loc 1 1139 16 view .LVU422
1605 0066 25F8023B strh r3, [r5], #2 @ movhi
1606 .LVL109:
1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1607 .loc 1 1140 11 is_stmt 1 view .LVU423
1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1608 .loc 1 1140 11 is_stmt 0 view .LVU424
1609 006a 0BE0 b .L95
1610 .LVL110:
1611 .L97:
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 1U;
1612 .loc 1 1144 11 is_stmt 1 view .LVU425
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 1U;
1613 .loc 1 1144 34 is_stmt 0 view .LVU426
1614 006c 2368 ldr r3, [r4]
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 1U;
1615 .loc 1 1144 44 view .LVU427
ARM GAS /tmp/ccGtkZvD.s page 90
1616 006e 5B68 ldr r3, [r3, #4]
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 1U;
1617 .loc 1 1144 18 view .LVU428
1618 0070 DBB2 uxtb r3, r3
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 1U;
1619 .loc 1 1144 16 view .LVU429
1620 0072 25F8013B strh r3, [r5], #1 @ movhi
1621 .LVL111:
1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1622 .loc 1 1145 11 is_stmt 1 view .LVU430
1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1623 .loc 1 1145 11 is_stmt 0 view .LVU431
1624 0076 05E0 b .L95
1625 .LVL112:
1626 .L99:
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1627 .loc 1 1161 11 is_stmt 1 view .LVU432
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1628 .loc 1 1161 37 is_stmt 0 view .LVU433
1629 0078 2368 ldr r3, [r4]
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1630 .loc 1 1161 47 view .LVU434
1631 007a 5B68 ldr r3, [r3, #4]
1632 .LVL113:
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1633 .loc 1 1161 22 view .LVU435
1634 007c 03F07F03 and r3, r3, #127
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1635 .loc 1 1161 20 view .LVU436
1636 0080 05F8013B strb r3, [r5], #1
1637 .LVL114:
1638 .L95:
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1639 .loc 1 1127 11 is_stmt 1 view .LVU437
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1640 .loc 1 1127 17 is_stmt 0 view .LVU438
1641 0084 E38D ldrh r3, [r4, #46]
1642 0086 9BB2 uxth r3, r3
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1643 .loc 1 1127 11 view .LVU439
1644 0088 C3B1 cbz r3, .L108
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1645 .loc 1 1129 7 is_stmt 1 view .LVU440
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1646 .loc 1 1129 12 is_stmt 0 view .LVU441
1647 008a E28D ldrh r2, [r4, #46]
1648 008c 92B2 uxth r2, r2
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1649 .loc 1 1129 25 view .LVU442
1650 008e 013A subs r2, r2, #1
1651 0090 92B2 uxth r2, r2
1652 0092 E285 strh r2, [r4, #46] @ movhi
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1653 .loc 1 1130 7 is_stmt 1 view .LVU443
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1654 .loc 1 1130 22 is_stmt 0 view .LVU444
1655 0094 A368 ldr r3, [r4, #8]
ARM GAS /tmp/ccGtkZvD.s page 91
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1656 .loc 1 1130 10 view .LVU445
1657 0096 B3F5805F cmp r3, #4096
1658 009a D5D0 beq .L109
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1659 .loc 1 1151 9 is_stmt 1 view .LVU446
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1660 .loc 1 1151 13 is_stmt 0 view .LVU447
1661 009c 0096 str r6, [sp]
1662 009e 3B46 mov r3, r7
1663 00a0 0022 movs r2, #0
1664 00a2 2021 movs r1, #32
1665 00a4 2046 mov r0, r4
1666 00a6 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1667 .LVL115:
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1668 .loc 1 1151 12 view .LVU448
1669 00aa D0B9 cbnz r0, .L106
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1670 .loc 1 1155 9 is_stmt 1 view .LVU449
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1671 .loc 1 1155 24 is_stmt 0 view .LVU450
1672 00ac 2369 ldr r3, [r4, #16]
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1673 .loc 1 1155 12 view .LVU451
1674 00ae 002B cmp r3, #0
1675 00b0 E2D1 bne .L99
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1676 .loc 1 1157 11 is_stmt 1 view .LVU452
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1677 .loc 1 1157 37 is_stmt 0 view .LVU453
1678 00b2 2368 ldr r3, [r4]
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1679 .loc 1 1157 47 view .LVU454
1680 00b4 5B68 ldr r3, [r3, #4]
1681 .LVL116:
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1682 .loc 1 1157 20 view .LVU455
1683 00b6 05F8013B strb r3, [r5], #1
1684 .LVL117:
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1685 .loc 1 1157 20 view .LVU456
1686 00ba E3E7 b .L95
1687 .L108:
1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1688 .loc 1 1168 5 is_stmt 1 view .LVU457
1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1689 .loc 1 1168 20 is_stmt 0 view .LVU458
1690 00bc 2023 movs r3, #32
1691 00be 84F83A30 strb r3, [r4, #58]
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1692 .loc 1 1171 5 is_stmt 1 view .LVU459
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1693 .loc 1 1171 5 view .LVU460
1694 00c2 0020 movs r0, #0
1695 00c4 84F83800 strb r0, [r4, #56]
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 92
1696 .loc 1 1171 5 view .LVU461
1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1697 .loc 1 1173 5 view .LVU462
1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1698 .loc 1 1173 12 is_stmt 0 view .LVU463
1699 00c8 00E0 b .L94
1700 .LVL118:
1701 .L101:
1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1702 .loc 1 1177 12 view .LVU464
1703 00ca 0220 movs r0, #2
1704 .LVL119:
1705 .L94:
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1706 .loc 1 1179 1 view .LVU465
1707 00cc 02B0 add sp, sp, #8
1708 .LCFI18:
1709 .cfi_remember_state
1710 .cfi_def_cfa_offset 24
1711 @ sp needed
1712 00ce BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1713 .LVL120:
1714 .L102:
1715 .LCFI19:
1716 .cfi_restore_state
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1717 .loc 1 1111 15 view .LVU466
1718 00d2 0120 movs r0, #1
1719 .LVL121:
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1720 .loc 1 1111 15 view .LVU467
1721 00d4 FAE7 b .L94
1722 .LVL122:
1723 .L103:
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1724 .loc 1 1111 15 view .LVU468
1725 00d6 0120 movs r0, #1
1726 .LVL123:
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1727 .loc 1 1111 15 view .LVU469
1728 00d8 F8E7 b .L94
1729 .LVL124:
1730 .L104:
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1731 .loc 1 1115 5 view .LVU470
1732 00da 0220 movs r0, #2
1733 .LVL125:
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1734 .loc 1 1115 5 view .LVU471
1735 00dc F6E7 b .L94
1736 .LVL126:
1737 .L105:
1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1738 .loc 1 1134 18 view .LVU472
1739 00de 0320 movs r0, #3
1740 00e0 F4E7 b .L94
1741 .L106:
ARM GAS /tmp/ccGtkZvD.s page 93
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1742 .loc 1 1153 18 view .LVU473
1743 00e2 0320 movs r0, #3
1744 00e4 F2E7 b .L94
1745 .cfi_endproc
1746 .LFE138:
1748 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
1749 .align 1
1750 .global HAL_UART_Transmit_IT
1751 .syntax unified
1752 .thumb
1753 .thumb_func
1755 HAL_UART_Transmit_IT:
1756 .LVL127:
1757 .LFB139:
1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1758 .loc 1 1190 1 is_stmt 1 view -0
1759 .cfi_startproc
1760 @ args = 0, pretend = 0, frame = 0
1761 @ frame_needed = 0, uses_anonymous_args = 0
1762 @ link register save eliminated.
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1763 .loc 1 1192 3 view .LVU475
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1764 .loc 1 1192 12 is_stmt 0 view .LVU476
1765 0000 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
1766 0004 DBB2 uxtb r3, r3
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1767 .loc 1 1192 6 view .LVU477
1768 0006 202B cmp r3, #32
1769 0008 19D1 bne .L112
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1770 .loc 1 1194 5 is_stmt 1 view .LVU478
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1771 .loc 1 1194 8 is_stmt 0 view .LVU479
1772 000a D1B1 cbz r1, .L113
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1773 .loc 1 1194 25 discriminator 1 view .LVU480
1774 000c DAB1 cbz r2, .L114
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1775 .loc 1 1200 5 is_stmt 1 view .LVU481
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1776 .loc 1 1200 5 view .LVU482
1777 000e 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1778 0012 012B cmp r3, #1
1779 0014 19D0 beq .L115
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1780 .loc 1 1200 5 discriminator 2 view .LVU483
1781 0016 0123 movs r3, #1
1782 0018 80F83830 strb r3, [r0, #56]
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1783 .loc 1 1200 5 discriminator 2 view .LVU484
1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1784 .loc 1 1202 5 discriminator 2 view .LVU485
1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1785 .loc 1 1202 23 is_stmt 0 discriminator 2 view .LVU486
1786 001c 0162 str r1, [r0, #32]
ARM GAS /tmp/ccGtkZvD.s page 94
1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1787 .loc 1 1203 5 is_stmt 1 discriminator 2 view .LVU487
1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1788 .loc 1 1203 23 is_stmt 0 discriminator 2 view .LVU488
1789 001e 8284 strh r2, [r0, #36] @ movhi
1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1790 .loc 1 1204 5 is_stmt 1 discriminator 2 view .LVU489
1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1791 .loc 1 1204 24 is_stmt 0 discriminator 2 view .LVU490
1792 0020 C284 strh r2, [r0, #38] @ movhi
1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1793 .loc 1 1206 5 is_stmt 1 discriminator 2 view .LVU491
1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1794 .loc 1 1206 22 is_stmt 0 discriminator 2 view .LVU492
1795 0022 0023 movs r3, #0
1796 0024 C363 str r3, [r0, #60]
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1797 .loc 1 1207 5 is_stmt 1 discriminator 2 view .LVU493
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1798 .loc 1 1207 19 is_stmt 0 discriminator 2 view .LVU494
1799 0026 2122 movs r2, #33
1800 .LVL128:
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1801 .loc 1 1207 19 discriminator 2 view .LVU495
1802 0028 80F83920 strb r2, [r0, #57]
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1803 .loc 1 1210 5 is_stmt 1 discriminator 2 view .LVU496
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1804 .loc 1 1210 5 discriminator 2 view .LVU497
1805 002c 80F83830 strb r3, [r0, #56]
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1806 .loc 1 1210 5 discriminator 2 view .LVU498
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1807 .loc 1 1213 5 discriminator 2 view .LVU499
1808 0030 0168 ldr r1, [r0]
1809 .LVL129:
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1810 .loc 1 1213 5 is_stmt 0 discriminator 2 view .LVU500
1811 0032 CA68 ldr r2, [r1, #12]
1812 0034 42F08002 orr r2, r2, #128
1813 0038 CA60 str r2, [r1, #12]
1814 .LVL130:
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1815 .loc 1 1215 5 is_stmt 1 discriminator 2 view .LVU501
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1816 .loc 1 1215 12 is_stmt 0 discriminator 2 view .LVU502
1817 003a 1846 mov r0, r3
1818 .LVL131:
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1819 .loc 1 1215 12 discriminator 2 view .LVU503
1820 003c 7047 bx lr
1821 .LVL132:
1822 .L112:
1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1823 .loc 1 1219 12 view .LVU504
1824 003e 0220 movs r0, #2
1825 .LVL133:
ARM GAS /tmp/ccGtkZvD.s page 95
1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1826 .loc 1 1219 12 view .LVU505
1827 0040 7047 bx lr
1828 .LVL134:
1829 .L113:
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1830 .loc 1 1196 14 view .LVU506
1831 0042 0120 movs r0, #1
1832 .LVL135:
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1833 .loc 1 1196 14 view .LVU507
1834 0044 7047 bx lr
1835 .LVL136:
1836 .L114:
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1837 .loc 1 1196 14 view .LVU508
1838 0046 0120 movs r0, #1
1839 .LVL137:
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1840 .loc 1 1196 14 view .LVU509
1841 0048 7047 bx lr
1842 .LVL138:
1843 .L115:
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1844 .loc 1 1200 5 view .LVU510
1845 004a 0220 movs r0, #2
1846 .LVL139:
1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1847 .loc 1 1221 1 view .LVU511
1848 004c 7047 bx lr
1849 .cfi_endproc
1850 .LFE139:
1852 .section .text.HAL_UART_Receive_IT,"ax",%progbits
1853 .align 1
1854 .global HAL_UART_Receive_IT
1855 .syntax unified
1856 .thumb
1857 .thumb_func
1859 HAL_UART_Receive_IT:
1860 .LVL140:
1861 .LFB140:
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1862 .loc 1 1232 1 is_stmt 1 view -0
1863 .cfi_startproc
1864 @ args = 0, pretend = 0, frame = 0
1865 @ frame_needed = 0, uses_anonymous_args = 0
1866 @ link register save eliminated.
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1867 .loc 1 1234 3 view .LVU513
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1868 .loc 1 1234 12 is_stmt 0 view .LVU514
1869 0000 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
1870 0004 DBB2 uxtb r3, r3
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1871 .loc 1 1234 6 view .LVU515
1872 0006 202B cmp r3, #32
1873 0008 23D1 bne .L118
ARM GAS /tmp/ccGtkZvD.s page 96
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1874 .loc 1 1236 5 is_stmt 1 view .LVU516
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1875 .loc 1 1236 8 is_stmt 0 view .LVU517
1876 000a 21B3 cbz r1, .L119
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1877 .loc 1 1236 25 discriminator 1 view .LVU518
1878 000c 2AB3 cbz r2, .L120
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1879 .loc 1 1242 5 is_stmt 1 view .LVU519
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1880 .loc 1 1242 5 view .LVU520
1881 000e 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1882 0012 012B cmp r3, #1
1883 0014 23D0 beq .L121
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1884 .loc 1 1242 5 discriminator 2 view .LVU521
1885 0016 0123 movs r3, #1
1886 0018 80F83830 strb r3, [r0, #56]
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1887 .loc 1 1242 5 discriminator 2 view .LVU522
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
1888 .loc 1 1244 5 discriminator 2 view .LVU523
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
1889 .loc 1 1244 23 is_stmt 0 discriminator 2 view .LVU524
1890 001c 8162 str r1, [r0, #40]
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1891 .loc 1 1245 5 is_stmt 1 discriminator 2 view .LVU525
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1892 .loc 1 1245 23 is_stmt 0 discriminator 2 view .LVU526
1893 001e 8285 strh r2, [r0, #44] @ movhi
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1894 .loc 1 1246 5 is_stmt 1 discriminator 2 view .LVU527
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1895 .loc 1 1246 24 is_stmt 0 discriminator 2 view .LVU528
1896 0020 C285 strh r2, [r0, #46] @ movhi
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1897 .loc 1 1248 5 is_stmt 1 discriminator 2 view .LVU529
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1898 .loc 1 1248 22 is_stmt 0 discriminator 2 view .LVU530
1899 0022 0023 movs r3, #0
1900 0024 C363 str r3, [r0, #60]
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1901 .loc 1 1249 5 is_stmt 1 discriminator 2 view .LVU531
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1902 .loc 1 1249 20 is_stmt 0 discriminator 2 view .LVU532
1903 0026 2222 movs r2, #34
1904 .LVL141:
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1905 .loc 1 1249 20 discriminator 2 view .LVU533
1906 0028 80F83A20 strb r2, [r0, #58]
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1907 .loc 1 1252 5 is_stmt 1 discriminator 2 view .LVU534
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1908 .loc 1 1252 5 discriminator 2 view .LVU535
1909 002c 80F83830 strb r3, [r0, #56]
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 97
1910 .loc 1 1252 5 discriminator 2 view .LVU536
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1911 .loc 1 1255 5 discriminator 2 view .LVU537
1912 0030 0168 ldr r1, [r0]
1913 .LVL142:
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1914 .loc 1 1255 5 is_stmt 0 discriminator 2 view .LVU538
1915 0032 CA68 ldr r2, [r1, #12]
1916 0034 42F48072 orr r2, r2, #256
1917 0038 CA60 str r2, [r1, #12]
1918 .LVL143:
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1919 .loc 1 1258 5 is_stmt 1 discriminator 2 view .LVU539
1920 003a 0168 ldr r1, [r0]
1921 003c 4A69 ldr r2, [r1, #20]
1922 003e 42F00102 orr r2, r2, #1
1923 0042 4A61 str r2, [r1, #20]
1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1924 .loc 1 1261 5 discriminator 2 view .LVU540
1925 0044 0168 ldr r1, [r0]
1926 0046 CA68 ldr r2, [r1, #12]
1927 0048 42F02002 orr r2, r2, #32
1928 004c CA60 str r2, [r1, #12]
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1929 .loc 1 1263 5 discriminator 2 view .LVU541
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1930 .loc 1 1263 12 is_stmt 0 discriminator 2 view .LVU542
1931 004e 1846 mov r0, r3
1932 .LVL144:
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1933 .loc 1 1263 12 discriminator 2 view .LVU543
1934 0050 7047 bx lr
1935 .LVL145:
1936 .L118:
1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1937 .loc 1 1267 12 view .LVU544
1938 0052 0220 movs r0, #2
1939 .LVL146:
1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1940 .loc 1 1267 12 view .LVU545
1941 0054 7047 bx lr
1942 .LVL147:
1943 .L119:
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1944 .loc 1 1238 14 view .LVU546
1945 0056 0120 movs r0, #1
1946 .LVL148:
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1947 .loc 1 1238 14 view .LVU547
1948 0058 7047 bx lr
1949 .LVL149:
1950 .L120:
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1951 .loc 1 1238 14 view .LVU548
1952 005a 0120 movs r0, #1
1953 .LVL150:
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccGtkZvD.s page 98
1954 .loc 1 1238 14 view .LVU549
1955 005c 7047 bx lr
1956 .LVL151:
1957 .L121:
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1958 .loc 1 1242 5 view .LVU550
1959 005e 0220 movs r0, #2
1960 .LVL152:
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1961 .loc 1 1269 1 view .LVU551
1962 0060 7047 bx lr
1963 .cfi_endproc
1964 .LFE140:
1966 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
1967 .align 1
1968 .global HAL_UART_Transmit_DMA
1969 .syntax unified
1970 .thumb
1971 .thumb_func
1973 HAL_UART_Transmit_DMA:
1974 .LVL153:
1975 .LFB141:
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
1976 .loc 1 1280 1 is_stmt 1 view -0
1977 .cfi_startproc
1978 @ args = 0, pretend = 0, frame = 0
1979 @ frame_needed = 0, uses_anonymous_args = 0
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
1980 .loc 1 1280 1 is_stmt 0 view .LVU553
1981 0000 38B5 push {r3, r4, r5, lr}
1982 .LCFI20:
1983 .cfi_def_cfa_offset 16
1984 .cfi_offset 3, -16
1985 .cfi_offset 4, -12
1986 .cfi_offset 5, -8
1987 .cfi_offset 14, -4
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1988 .loc 1 1281 3 is_stmt 1 view .LVU554
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1989 .loc 1 1284 3 view .LVU555
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1990 .loc 1 1284 12 is_stmt 0 view .LVU556
1991 0002 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
1992 0006 DBB2 uxtb r3, r3
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1993 .loc 1 1284 6 view .LVU557
1994 0008 202B cmp r3, #32
1995 000a 31D1 bne .L124
1996 000c 0446 mov r4, r0
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1997 .loc 1 1286 5 is_stmt 1 view .LVU558
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1998 .loc 1 1286 8 is_stmt 0 view .LVU559
1999 000e 0029 cmp r1, #0
2000 0010 30D0 beq .L125
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2001 .loc 1 1286 25 discriminator 1 view .LVU560
ARM GAS /tmp/ccGtkZvD.s page 99
2002 0012 002A cmp r2, #0
2003 0014 30D0 beq .L126
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2004 .loc 1 1292 5 is_stmt 1 view .LVU561
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2005 .loc 1 1292 5 view .LVU562
2006 0016 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
2007 001a 012B cmp r3, #1
2008 001c 2ED0 beq .L127
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2009 .loc 1 1292 5 discriminator 2 view .LVU563
2010 001e 0123 movs r3, #1
2011 0020 80F83830 strb r3, [r0, #56]
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2012 .loc 1 1292 5 discriminator 2 view .LVU564
1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
2013 .loc 1 1294 5 discriminator 2 view .LVU565
1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
2014 .loc 1 1294 23 is_stmt 0 discriminator 2 view .LVU566
2015 0024 0162 str r1, [r0, #32]
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
2016 .loc 1 1295 5 is_stmt 1 discriminator 2 view .LVU567
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
2017 .loc 1 1295 23 is_stmt 0 discriminator 2 view .LVU568
2018 0026 8284 strh r2, [r0, #36] @ movhi
1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2019 .loc 1 1296 5 is_stmt 1 discriminator 2 view .LVU569
1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2020 .loc 1 1296 24 is_stmt 0 discriminator 2 view .LVU570
2021 0028 C284 strh r2, [r0, #38] @ movhi
1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
2022 .loc 1 1298 5 is_stmt 1 discriminator 2 view .LVU571
1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
2023 .loc 1 1298 22 is_stmt 0 discriminator 2 view .LVU572
2024 002a 0025 movs r5, #0
2025 002c C563 str r5, [r0, #60]
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2026 .loc 1 1299 5 is_stmt 1 discriminator 2 view .LVU573
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2027 .loc 1 1299 19 is_stmt 0 discriminator 2 view .LVU574
2028 002e 2123 movs r3, #33
2029 0030 80F83930 strb r3, [r0, #57]
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2030 .loc 1 1302 5 is_stmt 1 discriminator 2 view .LVU575
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2031 .loc 1 1302 10 is_stmt 0 discriminator 2 view .LVU576
2032 0034 036B ldr r3, [r0, #48]
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2033 .loc 1 1302 37 discriminator 2 view .LVU577
2034 0036 1248 ldr r0, .L129
2035 .LVL154:
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2036 .loc 1 1302 37 discriminator 2 view .LVU578
2037 0038 D863 str r0, [r3, #60]
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2038 .loc 1 1305 5 is_stmt 1 discriminator 2 view .LVU579
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 100
2039 .loc 1 1305 10 is_stmt 0 discriminator 2 view .LVU580
2040 003a 236B ldr r3, [r4, #48]
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2041 .loc 1 1305 41 discriminator 2 view .LVU581
2042 003c 1148 ldr r0, .L129+4
2043 003e 1864 str r0, [r3, #64]
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2044 .loc 1 1308 5 is_stmt 1 discriminator 2 view .LVU582
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2045 .loc 1 1308 10 is_stmt 0 discriminator 2 view .LVU583
2046 0040 236B ldr r3, [r4, #48]
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2047 .loc 1 1308 38 discriminator 2 view .LVU584
2048 0042 1148 ldr r0, .L129+8
2049 0044 D864 str r0, [r3, #76]
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2050 .loc 1 1311 5 is_stmt 1 discriminator 2 view .LVU585
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2051 .loc 1 1311 10 is_stmt 0 discriminator 2 view .LVU586
2052 0046 236B ldr r3, [r4, #48]
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2053 .loc 1 1311 38 discriminator 2 view .LVU587
2054 0048 1D65 str r5, [r3, #80]
1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmatx, *(uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Size);
2055 .loc 1 1314 5 is_stmt 1 discriminator 2 view .LVU588
2056 .LVL155:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2057 .loc 1 1315 5 discriminator 2 view .LVU589
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2058 .loc 1 1315 71 is_stmt 0 discriminator 2 view .LVU590
2059 004a 2068 ldr r0, [r4]
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2060 .loc 1 1315 5 discriminator 2 view .LVU591
2061 004c 1346 mov r3, r2
2062 004e 021D adds r2, r0, #4
2063 .LVL156:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2064 .loc 1 1315 5 discriminator 2 view .LVU592
2065 0050 206B ldr r0, [r4, #48]
2066 0052 FFF7FEFF bl HAL_DMA_Start_IT
2067 .LVL157:
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2068 .loc 1 1318 5 is_stmt 1 discriminator 2 view .LVU593
2069 0056 2368 ldr r3, [r4]
2070 0058 6FF04002 mvn r2, #64
2071 005c 1A60 str r2, [r3]
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2072 .loc 1 1321 5 discriminator 2 view .LVU594
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2073 .loc 1 1321 5 discriminator 2 view .LVU595
2074 005e 84F83850 strb r5, [r4, #56]
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2075 .loc 1 1321 5 discriminator 2 view .LVU596
1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2076 .loc 1 1325 5 discriminator 2 view .LVU597
2077 0062 2268 ldr r2, [r4]
2078 0064 5369 ldr r3, [r2, #20]
ARM GAS /tmp/ccGtkZvD.s page 101
2079 0066 43F08003 orr r3, r3, #128
2080 006a 5361 str r3, [r2, #20]
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2081 .loc 1 1327 5 discriminator 2 view .LVU598
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2082 .loc 1 1327 12 is_stmt 0 discriminator 2 view .LVU599
2083 006c 2846 mov r0, r5
2084 006e 00E0 b .L123
2085 .LVL158:
2086 .L124:
1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2087 .loc 1 1331 12 view .LVU600
2088 0070 0220 movs r0, #2
2089 .LVL159:
2090 .L123:
1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2091 .loc 1 1333 1 view .LVU601
2092 0072 38BD pop {r3, r4, r5, pc}
2093 .LVL160:
2094 .L125:
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2095 .loc 1 1288 14 view .LVU602
2096 0074 0120 movs r0, #1
2097 .LVL161:
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2098 .loc 1 1288 14 view .LVU603
2099 0076 FCE7 b .L123
2100 .LVL162:
2101 .L126:
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2102 .loc 1 1288 14 view .LVU604
2103 0078 0120 movs r0, #1
2104 .LVL163:
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2105 .loc 1 1288 14 view .LVU605
2106 007a FAE7 b .L123
2107 .LVL164:
2108 .L127:
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2109 .loc 1 1292 5 view .LVU606
2110 007c 0220 movs r0, #2
2111 .LVL165:
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2112 .loc 1 1292 5 view .LVU607
2113 007e F8E7 b .L123
2114 .L130:
2115 .align 2
2116 .L129:
2117 0080 00000000 .word UART_DMATransmitCplt
2118 0084 00000000 .word UART_DMATxHalfCplt
2119 0088 00000000 .word UART_DMAError
2120 .cfi_endproc
2121 .LFE141:
2123 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
2124 .align 1
2125 .global HAL_UART_Receive_DMA
2126 .syntax unified
ARM GAS /tmp/ccGtkZvD.s page 102
2127 .thumb
2128 .thumb_func
2130 HAL_UART_Receive_DMA:
2131 .LVL166:
2132 .LFB142:
1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
2133 .loc 1 1345 1 is_stmt 1 view -0
2134 .cfi_startproc
2135 @ args = 0, pretend = 0, frame = 8
2136 @ frame_needed = 0, uses_anonymous_args = 0
1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
2137 .loc 1 1345 1 is_stmt 0 view .LVU609
2138 0000 30B5 push {r4, r5, lr}
2139 .LCFI21:
2140 .cfi_def_cfa_offset 12
2141 .cfi_offset 4, -12
2142 .cfi_offset 5, -8
2143 .cfi_offset 14, -4
2144 0002 83B0 sub sp, sp, #12
2145 .LCFI22:
2146 .cfi_def_cfa_offset 24
2147 0004 0446 mov r4, r0
1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2148 .loc 1 1346 3 is_stmt 1 view .LVU610
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2149 .loc 1 1349 3 view .LVU611
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2150 .loc 1 1349 12 is_stmt 0 view .LVU612
2151 0006 90F83A00 ldrb r0, [r0, #58] @ zero_extendqisi2
2152 .LVL167:
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2153 .loc 1 1349 12 view .LVU613
2154 000a C0B2 uxtb r0, r0
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2155 .loc 1 1349 6 view .LVU614
2156 000c 2028 cmp r0, #32
2157 000e 3CD1 bne .L133
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2158 .loc 1 1351 5 is_stmt 1 view .LVU615
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2159 .loc 1 1351 8 is_stmt 0 view .LVU616
2160 0010 0029 cmp r1, #0
2161 0012 3DD0 beq .L134
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2162 .loc 1 1351 25 discriminator 1 view .LVU617
2163 0014 002A cmp r2, #0
2164 0016 3DD0 beq .L135
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2165 .loc 1 1357 5 is_stmt 1 view .LVU618
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2166 .loc 1 1357 5 view .LVU619
2167 0018 94F83830 ldrb r3, [r4, #56] @ zero_extendqisi2
2168 001c 012B cmp r3, #1
2169 001e 3BD0 beq .L136
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2170 .loc 1 1357 5 discriminator 2 view .LVU620
2171 0020 0123 movs r3, #1
ARM GAS /tmp/ccGtkZvD.s page 103
2172 0022 84F83830 strb r3, [r4, #56]
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2173 .loc 1 1357 5 discriminator 2 view .LVU621
1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
2174 .loc 1 1359 5 discriminator 2 view .LVU622
1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
2175 .loc 1 1359 23 is_stmt 0 discriminator 2 view .LVU623
2176 0026 A162 str r1, [r4, #40]
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2177 .loc 1 1360 5 is_stmt 1 discriminator 2 view .LVU624
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2178 .loc 1 1360 23 is_stmt 0 discriminator 2 view .LVU625
2179 0028 A285 strh r2, [r4, #44] @ movhi
1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
2180 .loc 1 1362 5 is_stmt 1 discriminator 2 view .LVU626
1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
2181 .loc 1 1362 22 is_stmt 0 discriminator 2 view .LVU627
2182 002a 0025 movs r5, #0
2183 002c E563 str r5, [r4, #60]
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2184 .loc 1 1363 5 is_stmt 1 discriminator 2 view .LVU628
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2185 .loc 1 1363 20 is_stmt 0 discriminator 2 view .LVU629
2186 002e 2223 movs r3, #34
2187 0030 84F83A30 strb r3, [r4, #58]
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2188 .loc 1 1366 5 is_stmt 1 discriminator 2 view .LVU630
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2189 .loc 1 1366 10 is_stmt 0 discriminator 2 view .LVU631
2190 0034 636B ldr r3, [r4, #52]
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2191 .loc 1 1366 37 discriminator 2 view .LVU632
2192 0036 1948 ldr r0, .L138
2193 0038 D863 str r0, [r3, #60]
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2194 .loc 1 1369 5 is_stmt 1 discriminator 2 view .LVU633
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2195 .loc 1 1369 10 is_stmt 0 discriminator 2 view .LVU634
2196 003a 636B ldr r3, [r4, #52]
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2197 .loc 1 1369 41 discriminator 2 view .LVU635
2198 003c 1848 ldr r0, .L138+4
2199 003e 1864 str r0, [r3, #64]
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2200 .loc 1 1372 5 is_stmt 1 discriminator 2 view .LVU636
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2201 .loc 1 1372 10 is_stmt 0 discriminator 2 view .LVU637
2202 0040 636B ldr r3, [r4, #52]
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2203 .loc 1 1372 38 discriminator 2 view .LVU638
2204 0042 1848 ldr r0, .L138+8
2205 0044 D864 str r0, [r3, #76]
1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2206 .loc 1 1375 5 is_stmt 1 discriminator 2 view .LVU639
1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2207 .loc 1 1375 10 is_stmt 0 discriminator 2 view .LVU640
2208 0046 636B ldr r3, [r4, #52]
ARM GAS /tmp/ccGtkZvD.s page 104
1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2209 .loc 1 1375 38 discriminator 2 view .LVU641
2210 0048 1D65 str r5, [r3, #80]
1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size);
2211 .loc 1 1378 5 is_stmt 1 discriminator 2 view .LVU642
2212 .LVL168:
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2213 .loc 1 1379 5 discriminator 2 view .LVU643
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2214 .loc 1 1379 53 is_stmt 0 discriminator 2 view .LVU644
2215 004a 2068 ldr r0, [r4]
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2216 .loc 1 1379 5 discriminator 2 view .LVU645
2217 004c 1346 mov r3, r2
2218 004e 0A46 mov r2, r1
2219 .LVL169:
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2220 .loc 1 1379 5 discriminator 2 view .LVU646
2221 0050 011D adds r1, r0, #4
2222 .LVL170:
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2223 .loc 1 1379 5 discriminator 2 view .LVU647
2224 0052 606B ldr r0, [r4, #52]
2225 0054 FFF7FEFF bl HAL_DMA_Start_IT
2226 .LVL171:
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2227 .loc 1 1382 5 is_stmt 1 discriminator 2 view .LVU648
2228 .LBB2:
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2229 .loc 1 1382 5 discriminator 2 view .LVU649
2230 0058 0195 str r5, [sp, #4]
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2231 .loc 1 1382 5 discriminator 2 view .LVU650
2232 005a 2368 ldr r3, [r4]
2233 005c 1A68 ldr r2, [r3]
2234 005e 0192 str r2, [sp, #4]
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2235 .loc 1 1382 5 discriminator 2 view .LVU651
2236 0060 5A68 ldr r2, [r3, #4]
2237 0062 0192 str r2, [sp, #4]
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2238 .loc 1 1382 5 discriminator 2 view .LVU652
2239 0064 019A ldr r2, [sp, #4]
2240 .LBE2:
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2241 .loc 1 1382 5 discriminator 2 view .LVU653
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2242 .loc 1 1385 5 discriminator 2 view .LVU654
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2243 .loc 1 1385 5 discriminator 2 view .LVU655
2244 0066 84F83850 strb r5, [r4, #56]
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2245 .loc 1 1385 5 discriminator 2 view .LVU656
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2246 .loc 1 1388 5 discriminator 2 view .LVU657
2247 006a DA68 ldr r2, [r3, #12]
2248 006c 42F48072 orr r2, r2, #256
ARM GAS /tmp/ccGtkZvD.s page 105
2249 0070 DA60 str r2, [r3, #12]
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2250 .loc 1 1391 5 discriminator 2 view .LVU658
2251 0072 2268 ldr r2, [r4]
2252 0074 5369 ldr r3, [r2, #20]
2253 0076 43F00103 orr r3, r3, #1
2254 007a 5361 str r3, [r2, #20]
1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2255 .loc 1 1395 5 discriminator 2 view .LVU659
2256 007c 2268 ldr r2, [r4]
2257 007e 5369 ldr r3, [r2, #20]
2258 0080 43F04003 orr r3, r3, #64
2259 0084 5361 str r3, [r2, #20]
1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2260 .loc 1 1397 5 discriminator 2 view .LVU660
1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2261 .loc 1 1397 12 is_stmt 0 discriminator 2 view .LVU661
2262 0086 2846 mov r0, r5
2263 0088 00E0 b .L132
2264 .LVL172:
2265 .L133:
1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2266 .loc 1 1401 12 view .LVU662
2267 008a 0220 movs r0, #2
2268 .LVL173:
2269 .L132:
1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2270 .loc 1 1403 1 view .LVU663
2271 008c 03B0 add sp, sp, #12
2272 .LCFI23:
2273 .cfi_remember_state
2274 .cfi_def_cfa_offset 12
2275 @ sp needed
2276 008e 30BD pop {r4, r5, pc}
2277 .LVL174:
2278 .L134:
2279 .LCFI24:
2280 .cfi_restore_state
1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2281 .loc 1 1353 14 view .LVU664
2282 0090 0120 movs r0, #1
2283 0092 FBE7 b .L132
2284 .L135:
2285 0094 0120 movs r0, #1
2286 0096 F9E7 b .L132
2287 .L136:
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2288 .loc 1 1357 5 view .LVU665
2289 0098 0220 movs r0, #2
2290 009a F7E7 b .L132
2291 .L139:
2292 .align 2
2293 .L138:
2294 009c 00000000 .word UART_DMAReceiveCplt
2295 00a0 00000000 .word UART_DMARxHalfCplt
2296 00a4 00000000 .word UART_DMAError
2297 .cfi_endproc
ARM GAS /tmp/ccGtkZvD.s page 106
2298 .LFE142:
2300 .section .text.HAL_UART_DMAPause,"ax",%progbits
2301 .align 1
2302 .global HAL_UART_DMAPause
2303 .syntax unified
2304 .thumb
2305 .thumb_func
2307 HAL_UART_DMAPause:
2308 .LVL175:
2309 .LFB143:
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2310 .loc 1 1412 1 is_stmt 1 view -0
2311 .cfi_startproc
2312 @ args = 0, pretend = 0, frame = 0
2313 @ frame_needed = 0, uses_anonymous_args = 0
2314 @ link register save eliminated.
1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2315 .loc 1 1413 3 view .LVU667
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2316 .loc 1 1416 3 view .LVU668
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2317 .loc 1 1416 3 view .LVU669
2318 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
2319 0004 012B cmp r3, #1
2320 0006 31D0 beq .L144
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2321 .loc 1 1416 3 discriminator 2 view .LVU670
2322 0008 0123 movs r3, #1
2323 000a 80F83830 strb r3, [r0, #56]
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2324 .loc 1 1416 3 discriminator 2 view .LVU671
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2325 .loc 1 1418 3 discriminator 2 view .LVU672
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2326 .loc 1 1418 16 is_stmt 0 discriminator 2 view .LVU673
2327 000e 0168 ldr r1, [r0]
2328 0010 4A69 ldr r2, [r1, #20]
2329 0012 02F08002 and r2, r2, #128
2330 .LVL176:
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2331 .loc 1 1419 3 is_stmt 1 discriminator 2 view .LVU674
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2332 .loc 1 1419 13 is_stmt 0 discriminator 2 view .LVU675
2333 0016 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
2334 001a DBB2 uxtb r3, r3
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2335 .loc 1 1419 6 discriminator 2 view .LVU676
2336 001c 212B cmp r3, #33
2337 001e 0DD0 beq .L145
2338 .L142:
1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2339 .loc 1 1425 3 is_stmt 1 view .LVU677
1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2340 .loc 1 1425 16 is_stmt 0 view .LVU678
2341 0020 0168 ldr r1, [r0]
2342 0022 4A69 ldr r2, [r1, #20]
2343 .LVL177:
ARM GAS /tmp/ccGtkZvD.s page 107
1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2344 .loc 1 1425 16 view .LVU679
2345 0024 02F04002 and r2, r2, #64
2346 .LVL178:
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2347 .loc 1 1426 3 is_stmt 1 view .LVU680
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2348 .loc 1 1426 13 is_stmt 0 view .LVU681
2349 0028 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
2350 002c DBB2 uxtb r3, r3
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2351 .loc 1 1426 6 view .LVU682
2352 002e 222B cmp r3, #34
2353 0030 0BD0 beq .L146
2354 .LVL179:
2355 .L143:
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2356 .loc 1 1437 3 is_stmt 1 view .LVU683
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2357 .loc 1 1437 3 view .LVU684
2358 0032 0023 movs r3, #0
2359 0034 80F83830 strb r3, [r0, #56]
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2360 .loc 1 1437 3 view .LVU685
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2361 .loc 1 1439 3 view .LVU686
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2362 .loc 1 1439 10 is_stmt 0 view .LVU687
2363 0038 1846 mov r0, r3
2364 .LVL180:
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2365 .loc 1 1439 10 view .LVU688
2366 003a 7047 bx lr
2367 .LVL181:
2368 .L145:
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2369 .loc 1 1419 49 discriminator 1 view .LVU689
2370 003c 002A cmp r2, #0
2371 003e EFD0 beq .L142
1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2372 .loc 1 1422 5 is_stmt 1 view .LVU690
2373 0040 4B69 ldr r3, [r1, #20]
2374 0042 23F08003 bic r3, r3, #128
2375 0046 4B61 str r3, [r1, #20]
2376 0048 EAE7 b .L142
2377 .L146:
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2378 .loc 1 1426 50 is_stmt 0 discriminator 1 view .LVU691
2379 004a 002A cmp r2, #0
2380 004c F1D0 beq .L143
1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2381 .loc 1 1429 5 is_stmt 1 view .LVU692
2382 004e CB68 ldr r3, [r1, #12]
2383 0050 23F48073 bic r3, r3, #256
2384 0054 CB60 str r3, [r1, #12]
1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2385 .loc 1 1430 5 view .LVU693
ARM GAS /tmp/ccGtkZvD.s page 108
2386 0056 0268 ldr r2, [r0]
2387 .LVL182:
1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2388 .loc 1 1430 5 is_stmt 0 view .LVU694
2389 0058 5369 ldr r3, [r2, #20]
2390 005a 23F00103 bic r3, r3, #1
2391 005e 5361 str r3, [r2, #20]
1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2392 .loc 1 1433 5 is_stmt 1 view .LVU695
2393 0060 0268 ldr r2, [r0]
2394 0062 5369 ldr r3, [r2, #20]
2395 0064 23F04003 bic r3, r3, #64
2396 0068 5361 str r3, [r2, #20]
2397 006a E2E7 b .L143
2398 .LVL183:
2399 .L144:
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2400 .loc 1 1416 3 is_stmt 0 view .LVU696
2401 006c 0220 movs r0, #2
2402 .LVL184:
1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2403 .loc 1 1440 1 view .LVU697
2404 006e 7047 bx lr
2405 .cfi_endproc
2406 .LFE143:
2408 .section .text.HAL_UART_DMAResume,"ax",%progbits
2409 .align 1
2410 .global HAL_UART_DMAResume
2411 .syntax unified
2412 .thumb
2413 .thumb_func
2415 HAL_UART_DMAResume:
2416 .LVL185:
2417 .LFB144:
1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2418 .loc 1 1449 1 is_stmt 1 view -0
2419 .cfi_startproc
2420 @ args = 0, pretend = 0, frame = 8
2421 @ frame_needed = 0, uses_anonymous_args = 0
2422 @ link register save eliminated.
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2423 .loc 1 1451 3 view .LVU699
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2424 .loc 1 1451 3 view .LVU700
2425 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
2426 0004 012B cmp r3, #1
2427 0006 34D0 beq .L151
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2428 .loc 1 1451 3 discriminator 2 view .LVU701
2429 0008 0123 movs r3, #1
2430 000a 80F83830 strb r3, [r0, #56]
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2431 .loc 1 1451 3 discriminator 2 view .LVU702
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2432 .loc 1 1453 3 discriminator 2 view .LVU703
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2433 .loc 1 1453 12 is_stmt 0 discriminator 2 view .LVU704
ARM GAS /tmp/ccGtkZvD.s page 109
2434 000e 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
2435 0012 DBB2 uxtb r3, r3
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2436 .loc 1 1453 6 discriminator 2 view .LVU705
2437 0014 212B cmp r3, #33
2438 0016 09D0 beq .L157
2439 .L149:
1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2440 .loc 1 1459 3 is_stmt 1 view .LVU706
1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2441 .loc 1 1459 12 is_stmt 0 view .LVU707
2442 0018 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
2443 001c DBB2 uxtb r3, r3
1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2444 .loc 1 1459 6 view .LVU708
2445 001e 222B cmp r3, #34
2446 0020 0AD0 beq .L158
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2447 .loc 1 1473 3 is_stmt 1 view .LVU709
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2448 .loc 1 1473 3 view .LVU710
2449 0022 0023 movs r3, #0
2450 0024 80F83830 strb r3, [r0, #56]
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2451 .loc 1 1473 3 view .LVU711
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2452 .loc 1 1475 3 view .LVU712
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2453 .loc 1 1475 10 is_stmt 0 view .LVU713
2454 0028 1846 mov r0, r3
2455 .LVL186:
1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2456 .loc 1 1476 1 view .LVU714
2457 002a 7047 bx lr
2458 .LVL187:
2459 .L157:
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2460 .loc 1 1456 5 is_stmt 1 view .LVU715
2461 002c 0268 ldr r2, [r0]
2462 002e 5369 ldr r3, [r2, #20]
2463 0030 43F08003 orr r3, r3, #128
2464 0034 5361 str r3, [r2, #20]
2465 0036 EFE7 b .L149
2466 .L158:
1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2467 .loc 1 1449 1 is_stmt 0 view .LVU716
2468 0038 82B0 sub sp, sp, #8
2469 .LCFI25:
2470 .cfi_def_cfa_offset 8
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2471 .loc 1 1462 5 is_stmt 1 view .LVU717
2472 .LBB3:
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2473 .loc 1 1462 5 view .LVU718
2474 003a 0023 movs r3, #0
2475 003c 0193 str r3, [sp, #4]
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 110
2476 .loc 1 1462 5 view .LVU719
2477 003e 0368 ldr r3, [r0]
2478 0040 1A68 ldr r2, [r3]
2479 0042 0192 str r2, [sp, #4]
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2480 .loc 1 1462 5 view .LVU720
2481 0044 5A68 ldr r2, [r3, #4]
2482 0046 0192 str r2, [sp, #4]
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2483 .loc 1 1462 5 view .LVU721
2484 0048 019A ldr r2, [sp, #4]
2485 .LBE3:
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2486 .loc 1 1462 5 view .LVU722
1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
2487 .loc 1 1465 5 view .LVU723
2488 004a DA68 ldr r2, [r3, #12]
2489 004c 42F48072 orr r2, r2, #256
2490 0050 DA60 str r2, [r3, #12]
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2491 .loc 1 1466 5 view .LVU724
2492 0052 0268 ldr r2, [r0]
2493 0054 5369 ldr r3, [r2, #20]
2494 0056 43F00103 orr r3, r3, #1
2495 005a 5361 str r3, [r2, #20]
1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2496 .loc 1 1469 5 view .LVU725
2497 005c 0268 ldr r2, [r0]
2498 005e 5369 ldr r3, [r2, #20]
2499 0060 43F04003 orr r3, r3, #64
2500 0064 5361 str r3, [r2, #20]
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2501 .loc 1 1473 3 view .LVU726
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2502 .loc 1 1473 3 view .LVU727
2503 0066 0023 movs r3, #0
2504 0068 80F83830 strb r3, [r0, #56]
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2505 .loc 1 1473 3 view .LVU728
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2506 .loc 1 1475 3 view .LVU729
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2507 .loc 1 1475 10 is_stmt 0 view .LVU730
2508 006c 1846 mov r0, r3
2509 .LVL188:
1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2510 .loc 1 1476 1 view .LVU731
2511 006e 02B0 add sp, sp, #8
2512 .LCFI26:
2513 .cfi_def_cfa_offset 0
2514 @ sp needed
2515 0070 7047 bx lr
2516 .LVL189:
2517 .L151:
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2518 .loc 1 1451 3 view .LVU732
2519 0072 0220 movs r0, #2
ARM GAS /tmp/ccGtkZvD.s page 111
2520 .LVL190:
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2521 .loc 1 1451 3 view .LVU733
2522 0074 7047 bx lr
2523 .cfi_endproc
2524 .LFE144:
2526 .section .text.HAL_UART_DMAStop,"ax",%progbits
2527 .align 1
2528 .global HAL_UART_DMAStop
2529 .syntax unified
2530 .thumb
2531 .thumb_func
2533 HAL_UART_DMAStop:
2534 .LVL191:
2535 .LFB145:
1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2536 .loc 1 1485 1 is_stmt 1 view -0
2537 .cfi_startproc
2538 @ args = 0, pretend = 0, frame = 0
2539 @ frame_needed = 0, uses_anonymous_args = 0
1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2540 .loc 1 1485 1 is_stmt 0 view .LVU735
2541 0000 10B5 push {r4, lr}
2542 .LCFI27:
2543 .cfi_def_cfa_offset 8
2544 .cfi_offset 4, -8
2545 .cfi_offset 14, -4
2546 0002 0446 mov r4, r0
1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
2547 .loc 1 1486 3 is_stmt 1 view .LVU736
2548 .LVL192:
1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2549 .loc 1 1494 3 view .LVU737
1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2550 .loc 1 1494 16 is_stmt 0 view .LVU738
2551 0004 0168 ldr r1, [r0]
2552 0006 4A69 ldr r2, [r1, #20]
2553 .LVL193:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2554 .loc 1 1495 3 is_stmt 1 view .LVU739
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2555 .loc 1 1495 13 is_stmt 0 view .LVU740
2556 0008 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
2557 000c DBB2 uxtb r3, r3
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2558 .loc 1 1495 6 view .LVU741
2559 000e 212B cmp r3, #33
2560 0010 0AD0 beq .L165
2561 .LVL194:
2562 .L160:
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2563 .loc 1 1508 3 is_stmt 1 view .LVU742
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2564 .loc 1 1508 16 is_stmt 0 view .LVU743
2565 0012 2168 ldr r1, [r4]
2566 0014 4A69 ldr r2, [r1, #20]
2567 0016 02F04002 and r2, r2, #64
ARM GAS /tmp/ccGtkZvD.s page 112
2568 .LVL195:
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2569 .loc 1 1509 3 is_stmt 1 view .LVU744
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2570 .loc 1 1509 13 is_stmt 0 view .LVU745
2571 001a 94F83A30 ldrb r3, [r4, #58] @ zero_extendqisi2
2572 001e DBB2 uxtb r3, r3
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2573 .loc 1 1509 6 view .LVU746
2574 0020 222B cmp r3, #34
2575 0022 11D0 beq .L166
2576 .LVL196:
2577 .L162:
1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2578 .loc 1 1521 3 is_stmt 1 view .LVU747
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2579 .loc 1 1522 1 is_stmt 0 view .LVU748
2580 0024 0020 movs r0, #0
2581 0026 10BD pop {r4, pc}
2582 .LVL197:
2583 .L165:
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2584 .loc 1 1522 1 view .LVU749
2585 0028 02F08002 and r2, r2, #128
2586 .LVL198:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2587 .loc 1 1495 49 discriminator 1 view .LVU750
2588 002c 002A cmp r2, #0
2589 002e F0D0 beq .L160
1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2590 .loc 1 1497 5 is_stmt 1 view .LVU751
2591 0030 4B69 ldr r3, [r1, #20]
2592 0032 23F08003 bic r3, r3, #128
2593 0036 4B61 str r3, [r1, #20]
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2594 .loc 1 1500 5 view .LVU752
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2595 .loc 1 1500 14 is_stmt 0 view .LVU753
2596 0038 006B ldr r0, [r0, #48]
2597 .LVL199:
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2598 .loc 1 1500 8 view .LVU754
2599 003a 08B1 cbz r0, .L161
1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2600 .loc 1 1502 7 is_stmt 1 view .LVU755
2601 003c FFF7FEFF bl HAL_DMA_Abort
2602 .LVL200:
2603 .L161:
1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2604 .loc 1 1504 5 view .LVU756
2605 0040 2046 mov r0, r4
2606 0042 FFF7FEFF bl UART_EndTxTransfer
2607 .LVL201:
2608 0046 E4E7 b .L160
2609 .LVL202:
2610 .L166:
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccGtkZvD.s page 113
2611 .loc 1 1509 50 is_stmt 0 discriminator 1 view .LVU757
2612 0048 002A cmp r2, #0
2613 004a EBD0 beq .L162
1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2614 .loc 1 1511 5 is_stmt 1 view .LVU758
2615 004c 4B69 ldr r3, [r1, #20]
2616 004e 23F04003 bic r3, r3, #64
2617 0052 4B61 str r3, [r1, #20]
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2618 .loc 1 1514 5 view .LVU759
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2619 .loc 1 1514 14 is_stmt 0 view .LVU760
2620 0054 606B ldr r0, [r4, #52]
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2621 .loc 1 1514 8 view .LVU761
2622 0056 08B1 cbz r0, .L163
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2623 .loc 1 1516 7 is_stmt 1 view .LVU762
2624 0058 FFF7FEFF bl HAL_DMA_Abort
2625 .LVL203:
2626 .L163:
1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2627 .loc 1 1518 5 view .LVU763
2628 005c 2046 mov r0, r4
2629 005e FFF7FEFF bl UART_EndRxTransfer
2630 .LVL204:
2631 0062 DFE7 b .L162
2632 .cfi_endproc
2633 .LFE145:
2635 .section .text.HAL_UART_Abort,"ax",%progbits
2636 .align 1
2637 .global HAL_UART_Abort
2638 .syntax unified
2639 .thumb
2640 .thumb_func
2642 HAL_UART_Abort:
2643 .LVL205:
2644 .LFB146:
1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2645 .loc 1 1537 1 view -0
2646 .cfi_startproc
2647 @ args = 0, pretend = 0, frame = 0
2648 @ frame_needed = 0, uses_anonymous_args = 0
1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2649 .loc 1 1537 1 is_stmt 0 view .LVU765
2650 0000 10B5 push {r4, lr}
2651 .LCFI28:
2652 .cfi_def_cfa_offset 8
2653 .cfi_offset 4, -8
2654 .cfi_offset 14, -4
2655 0002 0446 mov r4, r0
1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2656 .loc 1 1539 3 is_stmt 1 view .LVU766
2657 0004 0268 ldr r2, [r0]
2658 0006 D368 ldr r3, [r2, #12]
2659 0008 23F4F073 bic r3, r3, #480
2660 000c D360 str r3, [r2, #12]
ARM GAS /tmp/ccGtkZvD.s page 114
1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2661 .loc 1 1540 3 view .LVU767
2662 000e 0268 ldr r2, [r0]
2663 0010 5369 ldr r3, [r2, #20]
2664 0012 23F00103 bic r3, r3, #1
2665 0016 5361 str r3, [r2, #20]
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2666 .loc 1 1543 3 view .LVU768
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2667 .loc 1 1543 7 is_stmt 0 view .LVU769
2668 0018 0368 ldr r3, [r0]
2669 001a 5A69 ldr r2, [r3, #20]
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2670 .loc 1 1543 6 view .LVU770
2671 001c 12F0800F tst r2, #128
2672 0020 0BD0 beq .L168
1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2673 .loc 1 1545 5 is_stmt 1 view .LVU771
2674 0022 5A69 ldr r2, [r3, #20]
2675 0024 22F08002 bic r2, r2, #128
2676 0028 5A61 str r2, [r3, #20]
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2677 .loc 1 1548 5 view .LVU772
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2678 .loc 1 1548 14 is_stmt 0 view .LVU773
2679 002a 036B ldr r3, [r0, #48]
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2680 .loc 1 1548 8 view .LVU774
2681 002c 2BB1 cbz r3, .L168
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2682 .loc 1 1552 7 is_stmt 1 view .LVU775
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2683 .loc 1 1552 40 is_stmt 0 view .LVU776
2684 002e 0022 movs r2, #0
2685 0030 1A65 str r2, [r3, #80]
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2686 .loc 1 1554 7 is_stmt 1 view .LVU777
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2687 .loc 1 1554 11 is_stmt 0 view .LVU778
2688 0032 006B ldr r0, [r0, #48]
2689 .LVL206:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2690 .loc 1 1554 11 view .LVU779
2691 0034 FFF7FEFF bl HAL_DMA_Abort
2692 .LVL207:
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2693 .loc 1 1554 10 view .LVU780
2694 0038 D0B9 cbnz r0, .L172
2695 .L168:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2696 .loc 1 1568 3 is_stmt 1 view .LVU781
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2697 .loc 1 1568 7 is_stmt 0 view .LVU782
2698 003a 2368 ldr r3, [r4]
2699 003c 5A69 ldr r2, [r3, #20]
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2700 .loc 1 1568 6 view .LVU783
ARM GAS /tmp/ccGtkZvD.s page 115
2701 003e 12F0400F tst r2, #64
2702 0042 0BD0 beq .L170
1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2703 .loc 1 1570 5 is_stmt 1 view .LVU784
2704 0044 5A69 ldr r2, [r3, #20]
2705 0046 22F04002 bic r2, r2, #64
2706 004a 5A61 str r2, [r3, #20]
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2707 .loc 1 1573 5 view .LVU785
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2708 .loc 1 1573 14 is_stmt 0 view .LVU786
2709 004c 636B ldr r3, [r4, #52]
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2710 .loc 1 1573 8 view .LVU787
2711 004e 2BB1 cbz r3, .L170
1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2712 .loc 1 1577 7 is_stmt 1 view .LVU788
1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2713 .loc 1 1577 40 is_stmt 0 view .LVU789
2714 0050 0022 movs r2, #0
2715 0052 1A65 str r2, [r3, #80]
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2716 .loc 1 1579 7 is_stmt 1 view .LVU790
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2717 .loc 1 1579 11 is_stmt 0 view .LVU791
2718 0054 606B ldr r0, [r4, #52]
2719 0056 FFF7FEFF bl HAL_DMA_Abort
2720 .LVL208:
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2721 .loc 1 1579 10 view .LVU792
2722 005a 90B9 cbnz r0, .L173
2723 .L170:
1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2724 .loc 1 1593 3 is_stmt 1 view .LVU793
1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2725 .loc 1 1593 22 is_stmt 0 view .LVU794
2726 005c 0020 movs r0, #0
2727 005e E084 strh r0, [r4, #38] @ movhi
1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2728 .loc 1 1594 3 is_stmt 1 view .LVU795
1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2729 .loc 1 1594 22 is_stmt 0 view .LVU796
2730 0060 E085 strh r0, [r4, #46] @ movhi
1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2731 .loc 1 1597 3 is_stmt 1 view .LVU797
1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2732 .loc 1 1597 20 is_stmt 0 view .LVU798
2733 0062 E063 str r0, [r4, #60]
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2734 .loc 1 1600 3 is_stmt 1 view .LVU799
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2735 .loc 1 1600 18 is_stmt 0 view .LVU800
2736 0064 2023 movs r3, #32
2737 0066 84F83A30 strb r3, [r4, #58]
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2738 .loc 1 1601 3 is_stmt 1 view .LVU801
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 116
2739 .loc 1 1601 17 is_stmt 0 view .LVU802
2740 006a 84F83930 strb r3, [r4, #57]
1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2741 .loc 1 1603 3 is_stmt 1 view .LVU803
2742 .L169:
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2743 .loc 1 1604 1 is_stmt 0 view .LVU804
2744 006e 10BD pop {r4, pc}
2745 .LVL209:
2746 .L172:
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2747 .loc 1 1556 9 is_stmt 1 view .LVU805
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2748 .loc 1 1556 13 is_stmt 0 view .LVU806
2749 0070 206B ldr r0, [r4, #48]
2750 0072 FFF7FEFF bl HAL_DMA_GetError
2751 .LVL210:
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2752 .loc 1 1556 12 view .LVU807
2753 0076 2028 cmp r0, #32
2754 0078 DFD1 bne .L168
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2755 .loc 1 1559 11 is_stmt 1 view .LVU808
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2756 .loc 1 1559 28 is_stmt 0 view .LVU809
2757 007a 1023 movs r3, #16
2758 007c E363 str r3, [r4, #60]
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2759 .loc 1 1561 11 is_stmt 1 view .LVU810
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2760 .loc 1 1561 18 is_stmt 0 view .LVU811
2761 007e 0320 movs r0, #3
2762 0080 F5E7 b .L169
2763 .L173:
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2764 .loc 1 1581 9 is_stmt 1 view .LVU812
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2765 .loc 1 1581 13 is_stmt 0 view .LVU813
2766 0082 606B ldr r0, [r4, #52]
2767 0084 FFF7FEFF bl HAL_DMA_GetError
2768 .LVL211:
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2769 .loc 1 1581 12 view .LVU814
2770 0088 2028 cmp r0, #32
2771 008a E7D1 bne .L170
1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2772 .loc 1 1584 11 is_stmt 1 view .LVU815
1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2773 .loc 1 1584 28 is_stmt 0 view .LVU816
2774 008c 1023 movs r3, #16
2775 008e E363 str r3, [r4, #60]
1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2776 .loc 1 1586 11 is_stmt 1 view .LVU817
1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2777 .loc 1 1586 18 is_stmt 0 view .LVU818
2778 0090 0320 movs r0, #3
2779 0092 ECE7 b .L169
ARM GAS /tmp/ccGtkZvD.s page 117
2780 .cfi_endproc
2781 .LFE146:
2783 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
2784 .align 1
2785 .global HAL_UART_AbortTransmit
2786 .syntax unified
2787 .thumb
2788 .thumb_func
2790 HAL_UART_AbortTransmit:
2791 .LVL212:
2792 .LFB147:
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2793 .loc 1 1619 1 is_stmt 1 view -0
2794 .cfi_startproc
2795 @ args = 0, pretend = 0, frame = 0
2796 @ frame_needed = 0, uses_anonymous_args = 0
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2797 .loc 1 1619 1 is_stmt 0 view .LVU820
2798 0000 10B5 push {r4, lr}
2799 .LCFI29:
2800 .cfi_def_cfa_offset 8
2801 .cfi_offset 4, -8
2802 .cfi_offset 14, -4
2803 0002 0446 mov r4, r0
1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2804 .loc 1 1621 3 is_stmt 1 view .LVU821
2805 0004 0268 ldr r2, [r0]
2806 0006 D368 ldr r3, [r2, #12]
2807 0008 23F0C003 bic r3, r3, #192
2808 000c D360 str r3, [r2, #12]
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2809 .loc 1 1624 3 view .LVU822
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2810 .loc 1 1624 7 is_stmt 0 view .LVU823
2811 000e 0368 ldr r3, [r0]
2812 0010 5A69 ldr r2, [r3, #20]
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2813 .loc 1 1624 6 view .LVU824
2814 0012 12F0800F tst r2, #128
2815 0016 0BD0 beq .L175
1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2816 .loc 1 1626 5 is_stmt 1 view .LVU825
2817 0018 5A69 ldr r2, [r3, #20]
2818 001a 22F08002 bic r2, r2, #128
2819 001e 5A61 str r2, [r3, #20]
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2820 .loc 1 1629 5 view .LVU826
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2821 .loc 1 1629 14 is_stmt 0 view .LVU827
2822 0020 036B ldr r3, [r0, #48]
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2823 .loc 1 1629 8 view .LVU828
2824 0022 2BB1 cbz r3, .L175
1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2825 .loc 1 1633 7 is_stmt 1 view .LVU829
1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2826 .loc 1 1633 40 is_stmt 0 view .LVU830
ARM GAS /tmp/ccGtkZvD.s page 118
2827 0024 0022 movs r2, #0
2828 0026 1A65 str r2, [r3, #80]
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2829 .loc 1 1635 7 is_stmt 1 view .LVU831
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2830 .loc 1 1635 11 is_stmt 0 view .LVU832
2831 0028 006B ldr r0, [r0, #48]
2832 .LVL213:
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2833 .loc 1 1635 11 view .LVU833
2834 002a FFF7FEFF bl HAL_DMA_Abort
2835 .LVL214:
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2836 .loc 1 1635 10 view .LVU834
2837 002e 28B9 cbnz r0, .L178
2838 .L175:
1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2839 .loc 1 1649 3 is_stmt 1 view .LVU835
1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2840 .loc 1 1649 22 is_stmt 0 view .LVU836
2841 0030 0020 movs r0, #0
2842 0032 E084 strh r0, [r4, #38] @ movhi
1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2843 .loc 1 1652 3 is_stmt 1 view .LVU837
1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2844 .loc 1 1652 17 is_stmt 0 view .LVU838
2845 0034 2023 movs r3, #32
2846 0036 84F83930 strb r3, [r4, #57]
1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2847 .loc 1 1654 3 is_stmt 1 view .LVU839
2848 .L176:
1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2849 .loc 1 1655 1 is_stmt 0 view .LVU840
2850 003a 10BD pop {r4, pc}
2851 .LVL215:
2852 .L178:
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2853 .loc 1 1637 9 is_stmt 1 view .LVU841
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2854 .loc 1 1637 13 is_stmt 0 view .LVU842
2855 003c 206B ldr r0, [r4, #48]
2856 003e FFF7FEFF bl HAL_DMA_GetError
2857 .LVL216:
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2858 .loc 1 1637 12 view .LVU843
2859 0042 2028 cmp r0, #32
2860 0044 F4D1 bne .L175
1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2861 .loc 1 1640 11 is_stmt 1 view .LVU844
1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2862 .loc 1 1640 28 is_stmt 0 view .LVU845
2863 0046 1023 movs r3, #16
2864 0048 E363 str r3, [r4, #60]
1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2865 .loc 1 1642 11 is_stmt 1 view .LVU846
1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2866 .loc 1 1642 18 is_stmt 0 view .LVU847
ARM GAS /tmp/ccGtkZvD.s page 119
2867 004a 0320 movs r0, #3
2868 004c F5E7 b .L176
2869 .cfi_endproc
2870 .LFE147:
2872 .section .text.HAL_UART_AbortReceive,"ax",%progbits
2873 .align 1
2874 .global HAL_UART_AbortReceive
2875 .syntax unified
2876 .thumb
2877 .thumb_func
2879 HAL_UART_AbortReceive:
2880 .LVL217:
2881 .LFB148:
1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2882 .loc 1 1670 1 is_stmt 1 view -0
2883 .cfi_startproc
2884 @ args = 0, pretend = 0, frame = 0
2885 @ frame_needed = 0, uses_anonymous_args = 0
1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2886 .loc 1 1670 1 is_stmt 0 view .LVU849
2887 0000 10B5 push {r4, lr}
2888 .LCFI30:
2889 .cfi_def_cfa_offset 8
2890 .cfi_offset 4, -8
2891 .cfi_offset 14, -4
2892 0002 0446 mov r4, r0
1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2893 .loc 1 1672 3 is_stmt 1 view .LVU850
2894 0004 0268 ldr r2, [r0]
2895 0006 D368 ldr r3, [r2, #12]
2896 0008 23F49073 bic r3, r3, #288
2897 000c D360 str r3, [r2, #12]
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2898 .loc 1 1673 3 view .LVU851
2899 000e 0268 ldr r2, [r0]
2900 0010 5369 ldr r3, [r2, #20]
2901 0012 23F00103 bic r3, r3, #1
2902 0016 5361 str r3, [r2, #20]
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2903 .loc 1 1676 3 view .LVU852
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2904 .loc 1 1676 7 is_stmt 0 view .LVU853
2905 0018 0368 ldr r3, [r0]
2906 001a 5A69 ldr r2, [r3, #20]
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2907 .loc 1 1676 6 view .LVU854
2908 001c 12F0400F tst r2, #64
2909 0020 0BD0 beq .L180
1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2910 .loc 1 1678 5 is_stmt 1 view .LVU855
2911 0022 5A69 ldr r2, [r3, #20]
2912 0024 22F04002 bic r2, r2, #64
2913 0028 5A61 str r2, [r3, #20]
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2914 .loc 1 1681 5 view .LVU856
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2915 .loc 1 1681 14 is_stmt 0 view .LVU857
ARM GAS /tmp/ccGtkZvD.s page 120
2916 002a 436B ldr r3, [r0, #52]
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2917 .loc 1 1681 8 view .LVU858
2918 002c 2BB1 cbz r3, .L180
1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2919 .loc 1 1685 7 is_stmt 1 view .LVU859
1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2920 .loc 1 1685 40 is_stmt 0 view .LVU860
2921 002e 0022 movs r2, #0
2922 0030 1A65 str r2, [r3, #80]
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2923 .loc 1 1687 7 is_stmt 1 view .LVU861
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2924 .loc 1 1687 11 is_stmt 0 view .LVU862
2925 0032 406B ldr r0, [r0, #52]
2926 .LVL218:
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2927 .loc 1 1687 11 view .LVU863
2928 0034 FFF7FEFF bl HAL_DMA_Abort
2929 .LVL219:
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2930 .loc 1 1687 10 view .LVU864
2931 0038 28B9 cbnz r0, .L183
2932 .L180:
1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2933 .loc 1 1701 3 is_stmt 1 view .LVU865
1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2934 .loc 1 1701 22 is_stmt 0 view .LVU866
2935 003a 0020 movs r0, #0
2936 003c E085 strh r0, [r4, #46] @ movhi
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2937 .loc 1 1704 3 is_stmt 1 view .LVU867
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2938 .loc 1 1704 18 is_stmt 0 view .LVU868
2939 003e 2023 movs r3, #32
2940 0040 84F83A30 strb r3, [r4, #58]
1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2941 .loc 1 1706 3 is_stmt 1 view .LVU869
2942 .L181:
1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2943 .loc 1 1707 1 is_stmt 0 view .LVU870
2944 0044 10BD pop {r4, pc}
2945 .LVL220:
2946 .L183:
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2947 .loc 1 1689 9 is_stmt 1 view .LVU871
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2948 .loc 1 1689 13 is_stmt 0 view .LVU872
2949 0046 606B ldr r0, [r4, #52]
2950 0048 FFF7FEFF bl HAL_DMA_GetError
2951 .LVL221:
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2952 .loc 1 1689 12 view .LVU873
2953 004c 2028 cmp r0, #32
2954 004e F4D1 bne .L180
1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2955 .loc 1 1692 11 is_stmt 1 view .LVU874
ARM GAS /tmp/ccGtkZvD.s page 121
1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2956 .loc 1 1692 28 is_stmt 0 view .LVU875
2957 0050 1023 movs r3, #16
2958 0052 E363 str r3, [r4, #60]
1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2959 .loc 1 1694 11 is_stmt 1 view .LVU876
1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2960 .loc 1 1694 18 is_stmt 0 view .LVU877
2961 0054 0320 movs r0, #3
2962 0056 F5E7 b .L181
2963 .cfi_endproc
2964 .LFE148:
2966 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
2967 .align 1
2968 .weak HAL_UART_TxCpltCallback
2969 .syntax unified
2970 .thumb
2971 .thumb_func
2973 HAL_UART_TxCpltCallback:
2974 .LVL222:
2975 .LFB153:
2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2976 .loc 1 2145 1 is_stmt 1 view -0
2977 .cfi_startproc
2978 @ args = 0, pretend = 0, frame = 0
2979 @ frame_needed = 0, uses_anonymous_args = 0
2980 @ link register save eliminated.
2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2981 .loc 1 2147 3 view .LVU879
2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2982 .loc 1 2151 1 is_stmt 0 view .LVU880
2983 0000 7047 bx lr
2984 .cfi_endproc
2985 .LFE153:
2987 .section .text.UART_DMATransmitCplt,"ax",%progbits
2988 .align 1
2989 .syntax unified
2990 .thumb
2991 .thumb_func
2993 UART_DMATransmitCplt:
2994 .LVL223:
2995 .LFB168:
2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2996 .loc 1 2520 1 is_stmt 1 view -0
2997 .cfi_startproc
2998 @ args = 0, pretend = 0, frame = 0
2999 @ frame_needed = 0, uses_anonymous_args = 0
2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3000 .loc 1 2520 1 is_stmt 0 view .LVU882
3001 0000 08B5 push {r3, lr}
3002 .LCFI31:
3003 .cfi_def_cfa_offset 8
3004 .cfi_offset 3, -8
3005 .cfi_offset 14, -4
3006 0002 0346 mov r3, r0
2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
3007 .loc 1 2521 3 is_stmt 1 view .LVU883
ARM GAS /tmp/ccGtkZvD.s page 122
2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
3008 .loc 1 2521 23 is_stmt 0 view .LVU884
3009 0004 806B ldr r0, [r0, #56]
3010 .LVL224:
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3011 .loc 1 2523 3 is_stmt 1 view .LVU885
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3012 .loc 1 2523 12 is_stmt 0 view .LVU886
3013 0006 1B68 ldr r3, [r3]
3014 .LVL225:
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3015 .loc 1 2523 22 view .LVU887
3016 0008 1B68 ldr r3, [r3]
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3017 .loc 1 2523 6 view .LVU888
3018 000a 13F4807F tst r3, #256
3019 000e 0CD1 bne .L186
2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3020 .loc 1 2525 5 is_stmt 1 view .LVU889
2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3021 .loc 1 2525 24 is_stmt 0 view .LVU890
3022 0010 0023 movs r3, #0
3023 0012 C384 strh r3, [r0, #38] @ movhi
2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3024 .loc 1 2529 5 is_stmt 1 view .LVU891
3025 0014 0268 ldr r2, [r0]
3026 0016 5369 ldr r3, [r2, #20]
3027 0018 23F08003 bic r3, r3, #128
3028 001c 5361 str r3, [r2, #20]
2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3029 .loc 1 2532 5 view .LVU892
3030 001e 0268 ldr r2, [r0]
3031 0020 D368 ldr r3, [r2, #12]
3032 0022 43F04003 orr r3, r3, #64
3033 0026 D360 str r3, [r2, #12]
3034 .LVL226:
3035 .L185:
2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3036 .loc 1 2546 1 is_stmt 0 view .LVU893
3037 0028 08BD pop {r3, pc}
3038 .LVL227:
3039 .L186:
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3040 .loc 1 2543 5 is_stmt 1 view .LVU894
3041 002a FFF7FEFF bl HAL_UART_TxCpltCallback
3042 .LVL228:
2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3043 .loc 1 2546 1 is_stmt 0 view .LVU895
3044 002e FBE7 b .L185
3045 .cfi_endproc
3046 .LFE168:
3048 .section .text.UART_EndTransmit_IT,"ax",%progbits
3049 .align 1
3050 .syntax unified
3051 .thumb
3052 .thumb_func
3054 UART_EndTransmit_IT:
ARM GAS /tmp/ccGtkZvD.s page 123
3055 .LVL229:
3056 .LFB182:
2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
3057 .loc 1 2945 1 is_stmt 1 view -0
3058 .cfi_startproc
3059 @ args = 0, pretend = 0, frame = 0
3060 @ frame_needed = 0, uses_anonymous_args = 0
2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
3061 .loc 1 2945 1 is_stmt 0 view .LVU897
3062 0000 08B5 push {r3, lr}
3063 .LCFI32:
3064 .cfi_def_cfa_offset 8
3065 .cfi_offset 3, -8
3066 .cfi_offset 14, -4
2947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3067 .loc 1 2947 3 is_stmt 1 view .LVU898
3068 0002 0168 ldr r1, [r0]
3069 0004 CA68 ldr r2, [r1, #12]
3070 0006 22F04002 bic r2, r2, #64
3071 000a CA60 str r2, [r1, #12]
2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3072 .loc 1 2950 3 view .LVU899
2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3073 .loc 1 2950 17 is_stmt 0 view .LVU900
3074 000c 2022 movs r2, #32
3075 000e 80F83920 strb r2, [r0, #57]
2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3076 .loc 1 2957 3 is_stmt 1 view .LVU901
3077 0012 FFF7FEFF bl HAL_UART_TxCpltCallback
3078 .LVL230:
2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3079 .loc 1 2960 3 view .LVU902
2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3080 .loc 1 2961 1 is_stmt 0 view .LVU903
3081 0016 0020 movs r0, #0
3082 0018 08BD pop {r3, pc}
3083 .cfi_endproc
3084 .LFE182:
3086 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
3087 .align 1
3088 .weak HAL_UART_TxHalfCpltCallback
3089 .syntax unified
3090 .thumb
3091 .thumb_func
3093 HAL_UART_TxHalfCpltCallback:
3094 .LVL231:
3095 .LFB154:
2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3096 .loc 1 2160 1 is_stmt 1 view -0
3097 .cfi_startproc
3098 @ args = 0, pretend = 0, frame = 0
3099 @ frame_needed = 0, uses_anonymous_args = 0
3100 @ link register save eliminated.
2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
3101 .loc 1 2162 3 view .LVU905
2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3102 .loc 1 2166 1 is_stmt 0 view .LVU906
ARM GAS /tmp/ccGtkZvD.s page 124
3103 0000 7047 bx lr
3104 .cfi_endproc
3105 .LFE154:
3107 .section .text.UART_DMATxHalfCplt,"ax",%progbits
3108 .align 1
3109 .syntax unified
3110 .thumb
3111 .thumb_func
3113 UART_DMATxHalfCplt:
3114 .LVL232:
3115 .LFB169:
2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3116 .loc 1 2555 1 is_stmt 1 view -0
3117 .cfi_startproc
3118 @ args = 0, pretend = 0, frame = 0
3119 @ frame_needed = 0, uses_anonymous_args = 0
2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3120 .loc 1 2555 1 is_stmt 0 view .LVU908
3121 0000 08B5 push {r3, lr}
3122 .LCFI33:
3123 .cfi_def_cfa_offset 8
3124 .cfi_offset 3, -8
3125 .cfi_offset 14, -4
2556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3126 .loc 1 2556 3 is_stmt 1 view .LVU909
3127 .LVL233:
2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3128 .loc 1 2563 3 view .LVU910
3129 0002 806B ldr r0, [r0, #56]
3130 .LVL234:
2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3131 .loc 1 2563 3 is_stmt 0 view .LVU911
3132 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
3133 .LVL235:
2565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3134 .loc 1 2565 1 view .LVU912
3135 0008 08BD pop {r3, pc}
3136 .cfi_endproc
3137 .LFE169:
3139 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
3140 .align 1
3141 .weak HAL_UART_RxCpltCallback
3142 .syntax unified
3143 .thumb
3144 .thumb_func
3146 HAL_UART_RxCpltCallback:
3147 .LVL236:
3148 .LFB155:
2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3149 .loc 1 2175 1 is_stmt 1 view -0
3150 .cfi_startproc
3151 @ args = 0, pretend = 0, frame = 0
3152 @ frame_needed = 0, uses_anonymous_args = 0
3153 @ link register save eliminated.
2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
3154 .loc 1 2177 3 view .LVU914
2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 125
3155 .loc 1 2181 1 is_stmt 0 view .LVU915
3156 0000 7047 bx lr
3157 .cfi_endproc
3158 .LFE155:
3160 .section .text.UART_DMAReceiveCplt,"ax",%progbits
3161 .align 1
3162 .syntax unified
3163 .thumb
3164 .thumb_func
3166 UART_DMAReceiveCplt:
3167 .LVL237:
3168 .LFB170:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3169 .loc 1 2574 1 is_stmt 1 view -0
3170 .cfi_startproc
3171 @ args = 0, pretend = 0, frame = 0
3172 @ frame_needed = 0, uses_anonymous_args = 0
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3173 .loc 1 2574 1 is_stmt 0 view .LVU917
3174 0000 08B5 push {r3, lr}
3175 .LCFI34:
3176 .cfi_def_cfa_offset 8
3177 .cfi_offset 3, -8
3178 .cfi_offset 14, -4
3179 0002 0346 mov r3, r0
2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
3180 .loc 1 2575 3 is_stmt 1 view .LVU918
2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
3181 .loc 1 2575 23 is_stmt 0 view .LVU919
3182 0004 806B ldr r0, [r0, #56]
3183 .LVL238:
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3184 .loc 1 2577 3 is_stmt 1 view .LVU920
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3185 .loc 1 2577 12 is_stmt 0 view .LVU921
3186 0006 1B68 ldr r3, [r3]
3187 .LVL239:
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3188 .loc 1 2577 22 view .LVU922
3189 0008 1B68 ldr r3, [r3]
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3190 .loc 1 2577 6 view .LVU923
3191 000a 13F4807F tst r3, #256
3192 000e 13D1 bne .L196
2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3193 .loc 1 2579 5 is_stmt 1 view .LVU924
2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3194 .loc 1 2579 24 is_stmt 0 view .LVU925
3195 0010 0023 movs r3, #0
3196 0012 C385 strh r3, [r0, #46] @ movhi
2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3197 .loc 1 2582 5 is_stmt 1 view .LVU926
3198 0014 0268 ldr r2, [r0]
3199 0016 D368 ldr r3, [r2, #12]
3200 0018 23F48073 bic r3, r3, #256
3201 001c D360 str r3, [r2, #12]
2583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 126
3202 .loc 1 2583 5 view .LVU927
3203 001e 0268 ldr r2, [r0]
3204 0020 5369 ldr r3, [r2, #20]
3205 0022 23F00103 bic r3, r3, #1
3206 0026 5361 str r3, [r2, #20]
2587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3207 .loc 1 2587 5 view .LVU928
3208 0028 0268 ldr r2, [r0]
3209 002a 5369 ldr r3, [r2, #20]
3210 002c 23F04003 bic r3, r3, #64
3211 0030 5361 str r3, [r2, #20]
2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3212 .loc 1 2590 5 view .LVU929
2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3213 .loc 1 2590 20 is_stmt 0 view .LVU930
3214 0032 2023 movs r3, #32
3215 0034 80F83A30 strb r3, [r0, #58]
3216 .L196:
2597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3217 .loc 1 2597 3 is_stmt 1 view .LVU931
3218 0038 FFF7FEFF bl HAL_UART_RxCpltCallback
3219 .LVL240:
2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3220 .loc 1 2599 1 is_stmt 0 view .LVU932
3221 003c 08BD pop {r3, pc}
3222 .cfi_endproc
3223 .LFE170:
3225 .section .text.UART_Receive_IT,"ax",%progbits
3226 .align 1
3227 .syntax unified
3228 .thumb
3229 .thumb_func
3231 UART_Receive_IT:
3232 .LVL241:
3233 .LFB183:
2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
3234 .loc 1 2970 1 is_stmt 1 view -0
3235 .cfi_startproc
3236 @ args = 0, pretend = 0, frame = 0
3237 @ frame_needed = 0, uses_anonymous_args = 0
2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
3238 .loc 1 2970 1 is_stmt 0 view .LVU934
3239 0000 08B5 push {r3, lr}
3240 .LCFI35:
3241 .cfi_def_cfa_offset 8
3242 .cfi_offset 3, -8
3243 .cfi_offset 14, -4
2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3244 .loc 1 2971 3 is_stmt 1 view .LVU935
2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3245 .loc 1 2974 3 view .LVU936
2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3246 .loc 1 2974 12 is_stmt 0 view .LVU937
3247 0002 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
3248 0006 DBB2 uxtb r3, r3
2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3249 .loc 1 2974 6 view .LVU938
ARM GAS /tmp/ccGtkZvD.s page 127
3250 0008 222B cmp r3, #34
3251 000a 46D1 bne .L204
2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3252 .loc 1 2976 5 is_stmt 1 view .LVU939
2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3253 .loc 1 2976 20 is_stmt 0 view .LVU940
3254 000c 8368 ldr r3, [r0, #8]
2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3255 .loc 1 2976 8 view .LVU941
3256 000e B3F5805F cmp r3, #4096
3257 0012 0FD0 beq .L207
2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3258 .loc 1 2992 7 is_stmt 1 view .LVU942
2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3259 .loc 1 2992 22 is_stmt 0 view .LVU943
3260 0014 0369 ldr r3, [r0, #16]
2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3261 .loc 1 2992 10 view .LVU944
3262 0016 0BBB cbnz r3, .L203
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3263 .loc 1 2994 9 is_stmt 1 view .LVU945
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3264 .loc 1 2994 47 is_stmt 0 view .LVU946
3265 0018 0368 ldr r3, [r0]
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3266 .loc 1 2994 57 view .LVU947
3267 001a 5A68 ldr r2, [r3, #4]
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3268 .loc 1 2994 15 view .LVU948
3269 001c 836A ldr r3, [r0, #40]
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3270 .loc 1 2994 27 view .LVU949
3271 001e 591C adds r1, r3, #1
3272 0020 8162 str r1, [r0, #40]
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3273 .loc 1 2994 30 view .LVU950
3274 0022 1A70 strb r2, [r3]
3275 .L202:
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3276 .loc 1 3002 5 is_stmt 1 view .LVU951
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3277 .loc 1 3002 16 is_stmt 0 view .LVU952
3278 0024 C38D ldrh r3, [r0, #46]
3279 0026 9BB2 uxth r3, r3
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3280 .loc 1 3002 9 view .LVU953
3281 0028 013B subs r3, r3, #1
3282 002a 9BB2 uxth r3, r3
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3283 .loc 1 3002 8 view .LVU954
3284 002c C385 strh r3, [r0, #46] @ movhi
3285 002e F3B1 cbz r3, .L208
3026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3286 .loc 1 3026 12 view .LVU955
3287 0030 0020 movs r0, #0
3288 .LVL242:
3289 .L199:
ARM GAS /tmp/ccGtkZvD.s page 128
3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3290 .loc 1 3032 1 view .LVU956
3291 0032 08BD pop {r3, pc}
3292 .LVL243:
3293 .L207:
2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
3294 .loc 1 2978 7 is_stmt 1 view .LVU957
2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
3295 .loc 1 2978 11 is_stmt 0 view .LVU958
3296 0034 826A ldr r2, [r0, #40]
3297 .LVL244:
2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3298 .loc 1 2979 7 is_stmt 1 view .LVU959
2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3299 .loc 1 2979 22 is_stmt 0 view .LVU960
3300 0036 0369 ldr r3, [r0, #16]
2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3301 .loc 1 2979 10 view .LVU961
3302 0038 43B9 cbnz r3, .L201
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3303 .loc 1 2981 9 is_stmt 1 view .LVU962
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3304 .loc 1 2981 32 is_stmt 0 view .LVU963
3305 003a 0368 ldr r3, [r0]
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3306 .loc 1 2981 42 view .LVU964
3307 003c 5B68 ldr r3, [r3, #4]
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3308 .loc 1 2981 16 view .LVU965
3309 003e C3F30803 ubfx r3, r3, #0, #9
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3310 .loc 1 2981 14 view .LVU966
3311 0042 1380 strh r3, [r2] @ movhi
2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3312 .loc 1 2982 9 is_stmt 1 view .LVU967
2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3313 .loc 1 2982 27 is_stmt 0 view .LVU968
3314 0044 836A ldr r3, [r0, #40]
3315 0046 0233 adds r3, r3, #2
3316 0048 8362 str r3, [r0, #40]
3317 004a EBE7 b .L202
3318 .L201:
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3319 .loc 1 2986 9 is_stmt 1 view .LVU969
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3320 .loc 1 2986 32 is_stmt 0 view .LVU970
3321 004c 0368 ldr r3, [r0]
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3322 .loc 1 2986 42 view .LVU971
3323 004e 5B68 ldr r3, [r3, #4]
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3324 .loc 1 2986 16 view .LVU972
3325 0050 DBB2 uxtb r3, r3
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3326 .loc 1 2986 14 view .LVU973
3327 0052 1380 strh r3, [r2] @ movhi
2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccGtkZvD.s page 129
3328 .loc 1 2987 9 is_stmt 1 view .LVU974
2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3329 .loc 1 2987 27 is_stmt 0 view .LVU975
3330 0054 836A ldr r3, [r0, #40]
3331 0056 0133 adds r3, r3, #1
3332 0058 8362 str r3, [r0, #40]
3333 005a E3E7 b .L202
3334 .LVL245:
3335 .L203:
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3336 .loc 1 2998 9 is_stmt 1 view .LVU976
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3337 .loc 1 2998 47 is_stmt 0 view .LVU977
3338 005c 0368 ldr r3, [r0]
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3339 .loc 1 2998 57 view .LVU978
3340 005e 5B68 ldr r3, [r3, #4]
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3341 .loc 1 2998 15 view .LVU979
3342 0060 826A ldr r2, [r0, #40]
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3343 .loc 1 2998 27 view .LVU980
3344 0062 511C adds r1, r2, #1
3345 0064 8162 str r1, [r0, #40]
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3346 .loc 1 2998 32 view .LVU981
3347 0066 03F07F03 and r3, r3, #127
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3348 .loc 1 2998 30 view .LVU982
3349 006a 1370 strb r3, [r2]
3350 006c DAE7 b .L202
3351 .L208:
3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3352 .loc 1 3005 7 is_stmt 1 view .LVU983
3353 006e 0268 ldr r2, [r0]
3354 0070 D368 ldr r3, [r2, #12]
3355 0072 23F02003 bic r3, r3, #32
3356 0076 D360 str r3, [r2, #12]
3008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3357 .loc 1 3008 7 view .LVU984
3358 0078 0268 ldr r2, [r0]
3359 007a D368 ldr r3, [r2, #12]
3360 007c 23F48073 bic r3, r3, #256
3361 0080 D360 str r3, [r2, #12]
3011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3362 .loc 1 3011 7 view .LVU985
3363 0082 0268 ldr r2, [r0]
3364 0084 5369 ldr r3, [r2, #20]
3365 0086 23F00103 bic r3, r3, #1
3366 008a 5361 str r3, [r2, #20]
3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3367 .loc 1 3014 7 view .LVU986
3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3368 .loc 1 3014 22 is_stmt 0 view .LVU987
3369 008c 2023 movs r3, #32
3370 008e 80F83A30 strb r3, [r0, #58]
3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/ccGtkZvD.s page 130
3371 .loc 1 3021 7 is_stmt 1 view .LVU988
3372 0092 FFF7FEFF bl HAL_UART_RxCpltCallback
3373 .LVL246:
3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3374 .loc 1 3024 7 view .LVU989
3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3375 .loc 1 3024 14 is_stmt 0 view .LVU990
3376 0096 0020 movs r0, #0
3377 0098 CBE7 b .L199
3378 .LVL247:
3379 .L204:
3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3380 .loc 1 3030 12 view .LVU991
3381 009a 0220 movs r0, #2
3382 .LVL248:
3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3383 .loc 1 3030 12 view .LVU992
3384 009c C9E7 b .L199
3385 .cfi_endproc
3386 .LFE183:
3388 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
3389 .align 1
3390 .weak HAL_UART_RxHalfCpltCallback
3391 .syntax unified
3392 .thumb
3393 .thumb_func
3395 HAL_UART_RxHalfCpltCallback:
3396 .LVL249:
3397 .LFB156:
2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3398 .loc 1 2190 1 is_stmt 1 view -0
3399 .cfi_startproc
3400 @ args = 0, pretend = 0, frame = 0
3401 @ frame_needed = 0, uses_anonymous_args = 0
3402 @ link register save eliminated.
2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
3403 .loc 1 2192 3 view .LVU994
2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3404 .loc 1 2196 1 is_stmt 0 view .LVU995
3405 0000 7047 bx lr
3406 .cfi_endproc
3407 .LFE156:
3409 .section .text.UART_DMARxHalfCplt,"ax",%progbits
3410 .align 1
3411 .syntax unified
3412 .thumb
3413 .thumb_func
3415 UART_DMARxHalfCplt:
3416 .LVL250:
3417 .LFB171:
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3418 .loc 1 2608 1 is_stmt 1 view -0
3419 .cfi_startproc
3420 @ args = 0, pretend = 0, frame = 0
3421 @ frame_needed = 0, uses_anonymous_args = 0
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3422 .loc 1 2608 1 is_stmt 0 view .LVU997
ARM GAS /tmp/ccGtkZvD.s page 131
3423 0000 08B5 push {r3, lr}
3424 .LCFI36:
3425 .cfi_def_cfa_offset 8
3426 .cfi_offset 3, -8
3427 .cfi_offset 14, -4
2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3428 .loc 1 2609 3 is_stmt 1 view .LVU998
3429 .LVL251:
2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3430 .loc 1 2616 3 view .LVU999
3431 0002 806B ldr r0, [r0, #56]
3432 .LVL252:
2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3433 .loc 1 2616 3 is_stmt 0 view .LVU1000
3434 0004 FFF7FEFF bl HAL_UART_RxHalfCpltCallback
3435 .LVL253:
2618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3436 .loc 1 2618 1 view .LVU1001
3437 0008 08BD pop {r3, pc}
3438 .cfi_endproc
3439 .LFE171:
3441 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
3442 .align 1
3443 .weak HAL_UART_ErrorCallback
3444 .syntax unified
3445 .thumb
3446 .thumb_func
3448 HAL_UART_ErrorCallback:
3449 .LVL254:
3450 .LFB157:
2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3451 .loc 1 2205 1 is_stmt 1 view -0
3452 .cfi_startproc
3453 @ args = 0, pretend = 0, frame = 0
3454 @ frame_needed = 0, uses_anonymous_args = 0
3455 @ link register save eliminated.
2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
3456 .loc 1 2207 3 view .LVU1003
2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3457 .loc 1 2211 1 is_stmt 0 view .LVU1004
3458 0000 7047 bx lr
3459 .cfi_endproc
3460 .LFE157:
3462 .section .text.UART_DMAError,"ax",%progbits
3463 .align 1
3464 .syntax unified
3465 .thumb
3466 .thumb_func
3468 UART_DMAError:
3469 .LVL255:
3470 .LFB172:
2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
3471 .loc 1 2627 1 is_stmt 1 view -0
3472 .cfi_startproc
3473 @ args = 0, pretend = 0, frame = 0
3474 @ frame_needed = 0, uses_anonymous_args = 0
2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
ARM GAS /tmp/ccGtkZvD.s page 132
3475 .loc 1 2627 1 is_stmt 0 view .LVU1006
3476 0000 10B5 push {r4, lr}
3477 .LCFI37:
3478 .cfi_def_cfa_offset 8
3479 .cfi_offset 4, -8
3480 .cfi_offset 14, -4
2628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3481 .loc 1 2628 3 is_stmt 1 view .LVU1007
3482 .LVL256:
2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3483 .loc 1 2629 3 view .LVU1008
2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3484 .loc 1 2629 23 is_stmt 0 view .LVU1009
3485 0002 846B ldr r4, [r0, #56]
3486 .LVL257:
2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
3487 .loc 1 2632 3 is_stmt 1 view .LVU1010
2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
3488 .loc 1 2632 16 is_stmt 0 view .LVU1011
3489 0004 2368 ldr r3, [r4]
3490 0006 5A69 ldr r2, [r3, #20]
3491 .LVL258:
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3492 .loc 1 2633 3 is_stmt 1 view .LVU1012
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3493 .loc 1 2633 13 is_stmt 0 view .LVU1013
3494 0008 94F83930 ldrb r3, [r4, #57] @ zero_extendqisi2
3495 000c DBB2 uxtb r3, r3
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3496 .loc 1 2633 6 view .LVU1014
3497 000e 212B cmp r3, #33
3498 0010 10D0 beq .L217
3499 .LVL259:
3500 .L214:
2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
3501 .loc 1 2640 3 is_stmt 1 view .LVU1015
2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
3502 .loc 1 2640 16 is_stmt 0 view .LVU1016
3503 0012 2368 ldr r3, [r4]
3504 0014 5A69 ldr r2, [r3, #20]
3505 0016 02F04002 and r2, r2, #64
3506 .LVL260:
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3507 .loc 1 2641 3 is_stmt 1 view .LVU1017
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3508 .loc 1 2641 13 is_stmt 0 view .LVU1018
3509 001a 94F83A30 ldrb r3, [r4, #58] @ zero_extendqisi2
3510 001e DBB2 uxtb r3, r3
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3511 .loc 1 2641 6 view .LVU1019
3512 0020 222B cmp r3, #34
3513 0022 11D0 beq .L218
3514 .LVL261:
3515 .L215:
2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3516 .loc 1 2647 3 is_stmt 1 view .LVU1020
2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
ARM GAS /tmp/ccGtkZvD.s page 133
3517 .loc 1 2647 20 is_stmt 0 view .LVU1021
3518 0024 E36B ldr r3, [r4, #60]
3519 0026 43F01003 orr r3, r3, #16
3520 002a E363 str r3, [r4, #60]
2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3521 .loc 1 2653 3 is_stmt 1 view .LVU1022
3522 002c 2046 mov r0, r4
3523 002e FFF7FEFF bl HAL_UART_ErrorCallback
3524 .LVL262:
2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3525 .loc 1 2655 1 is_stmt 0 view .LVU1023
3526 0032 10BD pop {r4, pc}
3527 .LVL263:
3528 .L217:
2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3529 .loc 1 2655 1 view .LVU1024
3530 0034 02F08002 and r2, r2, #128
3531 .LVL264:
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3532 .loc 1 2633 49 discriminator 1 view .LVU1025
3533 0038 002A cmp r2, #0
3534 003a EAD0 beq .L214
2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
3535 .loc 1 2635 5 is_stmt 1 view .LVU1026
2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
3536 .loc 1 2635 24 is_stmt 0 view .LVU1027
3537 003c 0023 movs r3, #0
3538 003e E384 strh r3, [r4, #38] @ movhi
2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3539 .loc 1 2636 5 is_stmt 1 view .LVU1028
3540 0040 2046 mov r0, r4
3541 .LVL265:
2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3542 .loc 1 2636 5 is_stmt 0 view .LVU1029
3543 0042 FFF7FEFF bl UART_EndTxTransfer
3544 .LVL266:
3545 0046 E4E7 b .L214
3546 .LVL267:
3547 .L218:
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3548 .loc 1 2641 50 discriminator 1 view .LVU1030
3549 0048 002A cmp r2, #0
3550 004a EBD0 beq .L215
2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
3551 .loc 1 2643 5 is_stmt 1 view .LVU1031
2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
3552 .loc 1 2643 24 is_stmt 0 view .LVU1032
3553 004c 0023 movs r3, #0
3554 004e E385 strh r3, [r4, #46] @ movhi
2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3555 .loc 1 2644 5 is_stmt 1 view .LVU1033
3556 0050 2046 mov r0, r4
3557 0052 FFF7FEFF bl UART_EndRxTransfer
3558 .LVL268:
2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3559 .loc 1 2644 5 is_stmt 0 view .LVU1034
3560 0056 E5E7 b .L215
ARM GAS /tmp/ccGtkZvD.s page 134
3561 .cfi_endproc
3562 .LFE172:
3564 .section .text.HAL_UART_IRQHandler,"ax",%progbits
3565 .align 1
3566 .global HAL_UART_IRQHandler
3567 .syntax unified
3568 .thumb
3569 .thumb_func
3571 HAL_UART_IRQHandler:
3572 .LVL269:
3573 .LFB152:
1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
3574 .loc 1 1999 1 is_stmt 1 view -0
3575 .cfi_startproc
3576 @ args = 0, pretend = 0, frame = 0
3577 @ frame_needed = 0, uses_anonymous_args = 0
1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
3578 .loc 1 1999 1 is_stmt 0 view .LVU1036
3579 0000 10B5 push {r4, lr}
3580 .LCFI38:
3581 .cfi_def_cfa_offset 8
3582 .cfi_offset 4, -8
3583 .cfi_offset 14, -4
3584 0002 0446 mov r4, r0
2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
3585 .loc 1 2000 3 is_stmt 1 view .LVU1037
2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
3586 .loc 1 2000 25 is_stmt 0 view .LVU1038
3587 0004 0268 ldr r2, [r0]
2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
3588 .loc 1 2000 12 view .LVU1039
3589 0006 1368 ldr r3, [r2]
3590 .LVL270:
2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
3591 .loc 1 2001 3 is_stmt 1 view .LVU1040
2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
3592 .loc 1 2001 12 is_stmt 0 view .LVU1041
3593 0008 D168 ldr r1, [r2, #12]
3594 .LVL271:
2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
3595 .loc 1 2002 3 is_stmt 1 view .LVU1042
2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
3596 .loc 1 2002 12 is_stmt 0 view .LVU1043
3597 000a 5269 ldr r2, [r2, #20]
3598 .LVL272:
2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
3599 .loc 1 2003 3 is_stmt 1 view .LVU1044
2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3600 .loc 1 2004 3 view .LVU1045
2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (errorflags == RESET)
3601 .loc 1 2007 3 view .LVU1046
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3602 .loc 1 2008 3 view .LVU1047
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3603 .loc 1 2008 6 is_stmt 0 view .LVU1048
3604 000c 13F00F00 ands r0, r3, #15
3605 .LVL273:
ARM GAS /tmp/ccGtkZvD.s page 135
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3606 .loc 1 2008 6 view .LVU1049
3607 0010 05D1 bne .L220
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3608 .loc 1 2011 5 is_stmt 1 view .LVU1050
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3609 .loc 1 2011 8 is_stmt 0 view .LVU1051
3610 0012 13F0200F tst r3, #32
3611 0016 02D0 beq .L220
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3612 .loc 1 2011 47 discriminator 1 view .LVU1052
3613 0018 11F0200F tst r1, #32
3614 001c 13D1 bne .L236
3615 .L220:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3616 .loc 1 2019 3 is_stmt 1 view .LVU1053
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3617 .loc 1 2019 6 is_stmt 0 view .LVU1054
3618 001e 28B1 cbz r0, .L222
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3619 .loc 1 2019 29 discriminator 1 view .LVU1055
3620 0020 12F00102 ands r2, r2, #1
3621 .LVL274:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3622 .loc 1 2019 29 discriminator 1 view .LVU1056
3623 0024 13D1 bne .L223
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3624 .loc 1 2019 69 discriminator 2 view .LVU1057
3625 0026 11F4907F tst r1, #288
3626 002a 10D1 bne .L223
3627 .L222:
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3628 .loc 1 2124 3 is_stmt 1 view .LVU1058
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3629 .loc 1 2124 6 is_stmt 0 view .LVU1059
3630 002c 13F0800F tst r3, #128
3631 0030 02D0 beq .L234
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3632 .loc 1 2124 44 discriminator 1 view .LVU1060
3633 0032 11F0800F tst r1, #128
3634 0036 69D1 bne .L237
3635 .L234:
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3636 .loc 1 2131 3 is_stmt 1 view .LVU1061
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3637 .loc 1 2131 6 is_stmt 0 view .LVU1062
3638 0038 13F0400F tst r3, #64
3639 003c 02D0 beq .L219
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3640 .loc 1 2131 43 discriminator 1 view .LVU1063
3641 003e 11F0400F tst r1, #64
3642 0042 67D1 bne .L238
3643 .LVL275:
3644 .L219:
2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3645 .loc 1 2136 1 view .LVU1064
3646 0044 10BD pop {r4, pc}
ARM GAS /tmp/ccGtkZvD.s page 136
3647 .LVL276:
3648 .L236:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3649 .loc 1 2013 7 is_stmt 1 view .LVU1065
3650 0046 2046 mov r0, r4
3651 .LVL277:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3652 .loc 1 2013 7 is_stmt 0 view .LVU1066
3653 0048 FFF7FEFF bl UART_Receive_IT
3654 .LVL278:
2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3655 .loc 1 2014 7 is_stmt 1 view .LVU1067
3656 004c FAE7 b .L219
3657 .LVL279:
3658 .L223:
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3659 .loc 1 2022 5 view .LVU1068
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3660 .loc 1 2022 8 is_stmt 0 view .LVU1069
3661 004e 13F0010F tst r3, #1
3662 0052 06D0 beq .L224
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3663 .loc 1 2022 45 discriminator 1 view .LVU1070
3664 0054 11F4807F tst r1, #256
3665 0058 03D0 beq .L224
2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3666 .loc 1 2024 7 is_stmt 1 view .LVU1071
2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3667 .loc 1 2024 24 is_stmt 0 view .LVU1072
3668 005a E06B ldr r0, [r4, #60]
3669 .LVL280:
2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3670 .loc 1 2024 24 view .LVU1073
3671 005c 40F00100 orr r0, r0, #1
3672 0060 E063 str r0, [r4, #60]
3673 .L224:
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3674 .loc 1 2028 5 is_stmt 1 view .LVU1074
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3675 .loc 1 2028 8 is_stmt 0 view .LVU1075
3676 0062 13F0040F tst r3, #4
3677 0066 04D0 beq .L225
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3678 .loc 1 2028 45 discriminator 1 view .LVU1076
3679 0068 1AB1 cbz r2, .L225
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3680 .loc 1 2030 7 is_stmt 1 view .LVU1077
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3681 .loc 1 2030 24 is_stmt 0 view .LVU1078
3682 006a E06B ldr r0, [r4, #60]
3683 006c 40F00200 orr r0, r0, #2
3684 0070 E063 str r0, [r4, #60]
3685 .L225:
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3686 .loc 1 2034 5 is_stmt 1 view .LVU1079
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3687 .loc 1 2034 8 is_stmt 0 view .LVU1080
ARM GAS /tmp/ccGtkZvD.s page 137
3688 0072 13F0020F tst r3, #2
3689 0076 04D0 beq .L226
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3690 .loc 1 2034 45 discriminator 1 view .LVU1081
3691 0078 1AB1 cbz r2, .L226
2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3692 .loc 1 2036 7 is_stmt 1 view .LVU1082
2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3693 .loc 1 2036 24 is_stmt 0 view .LVU1083
3694 007a E06B ldr r0, [r4, #60]
3695 007c 40F00400 orr r0, r0, #4
3696 0080 E063 str r0, [r4, #60]
3697 .L226:
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3698 .loc 1 2040 5 is_stmt 1 view .LVU1084
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3699 .loc 1 2040 8 is_stmt 0 view .LVU1085
3700 0082 13F0080F tst r3, #8
3701 0086 04D0 beq .L227
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3702 .loc 1 2040 46 discriminator 1 view .LVU1086
3703 0088 1AB1 cbz r2, .L227
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3704 .loc 1 2042 7 is_stmt 1 view .LVU1087
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3705 .loc 1 2042 24 is_stmt 0 view .LVU1088
3706 008a E26B ldr r2, [r4, #60]
3707 008c 42F00802 orr r2, r2, #8
3708 0090 E263 str r2, [r4, #60]
3709 .L227:
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3710 .loc 1 2046 5 is_stmt 1 view .LVU1089
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3711 .loc 1 2046 14 is_stmt 0 view .LVU1090
3712 0092 E26B ldr r2, [r4, #60]
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3713 .loc 1 2046 8 view .LVU1091
3714 0094 002A cmp r2, #0
3715 0096 D5D0 beq .L219
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3716 .loc 1 2049 7 is_stmt 1 view .LVU1092
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3717 .loc 1 2049 10 is_stmt 0 view .LVU1093
3718 0098 13F0200F tst r3, #32
3719 009c 02D0 beq .L229
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3720 .loc 1 2049 49 discriminator 1 view .LVU1094
3721 009e 11F0200F tst r1, #32
3722 00a2 21D1 bne .L239
3723 .LVL281:
3724 .L229:
2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
3725 .loc 1 2056 7 is_stmt 1 view .LVU1095
2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
3726 .loc 1 2056 20 is_stmt 0 view .LVU1096
3727 00a4 2368 ldr r3, [r4]
3728 00a6 5B69 ldr r3, [r3, #20]
ARM GAS /tmp/ccGtkZvD.s page 138
3729 00a8 03F04003 and r3, r3, #64
3730 .LVL282:
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3731 .loc 1 2057 7 is_stmt 1 view .LVU1097
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3732 .loc 1 2057 18 is_stmt 0 view .LVU1098
3733 00ac E26B ldr r2, [r4, #60]
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3734 .loc 1 2057 10 view .LVU1099
3735 00ae 12F0080F tst r2, #8
3736 00b2 00D1 bne .L230
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3737 .loc 1 2057 62 discriminator 1 view .LVU1100
3738 00b4 23B3 cbz r3, .L231
3739 .L230:
2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3740 .loc 1 2062 9 is_stmt 1 view .LVU1101
3741 00b6 2046 mov r0, r4
3742 00b8 FFF7FEFF bl UART_EndRxTransfer
3743 .LVL283:
2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3744 .loc 1 2065 9 view .LVU1102
2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3745 .loc 1 2065 13 is_stmt 0 view .LVU1103
3746 00bc 2368 ldr r3, [r4]
3747 00be 5A69 ldr r2, [r3, #20]
2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3748 .loc 1 2065 12 view .LVU1104
3749 00c0 12F0400F tst r2, #64
3750 00c4 18D0 beq .L232
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3751 .loc 1 2067 11 is_stmt 1 view .LVU1105
3752 00c6 5A69 ldr r2, [r3, #20]
3753 00c8 22F04002 bic r2, r2, #64
3754 00cc 5A61 str r2, [r3, #20]
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3755 .loc 1 2070 11 view .LVU1106
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3756 .loc 1 2070 20 is_stmt 0 view .LVU1107
3757 00ce 636B ldr r3, [r4, #52]
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3758 .loc 1 2070 14 view .LVU1108
3759 00d0 73B1 cbz r3, .L233
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
3760 .loc 1 2074 13 is_stmt 1 view .LVU1109
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
3761 .loc 1 2074 46 is_stmt 0 view .LVU1110
3762 00d2 124A ldr r2, .L240
3763 00d4 1A65 str r2, [r3, #80]
2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3764 .loc 1 2075 13 is_stmt 1 view .LVU1111
2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3765 .loc 1 2075 17 is_stmt 0 view .LVU1112
3766 00d6 606B ldr r0, [r4, #52]
3767 00d8 FFF7FEFF bl HAL_DMA_Abort_IT
3768 .LVL284:
2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccGtkZvD.s page 139
3769 .loc 1 2075 16 view .LVU1113
3770 00dc 0028 cmp r0, #0
3771 00de B1D0 beq .L219
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3772 .loc 1 2078 15 is_stmt 1 view .LVU1114
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3773 .loc 1 2078 20 is_stmt 0 view .LVU1115
3774 00e0 606B ldr r0, [r4, #52]
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3775 .loc 1 2078 28 view .LVU1116
3776 00e2 036D ldr r3, [r0, #80]
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3777 .loc 1 2078 15 view .LVU1117
3778 00e4 9847 blx r3
3779 .LVL285:
3780 00e6 ADE7 b .L219
3781 .LVL286:
3782 .L239:
2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3783 .loc 1 2051 9 is_stmt 1 view .LVU1118
3784 00e8 2046 mov r0, r4
3785 00ea FFF7FEFF bl UART_Receive_IT
3786 .LVL287:
2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3787 .loc 1 2051 9 is_stmt 0 view .LVU1119
3788 00ee D9E7 b .L229
3789 .LVL288:
3790 .L233:
2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3791 .loc 1 2089 13 is_stmt 1 view .LVU1120
3792 00f0 2046 mov r0, r4
3793 00f2 FFF7FEFF bl HAL_UART_ErrorCallback
3794 .LVL289:
3795 00f6 A5E7 b .L219
3796 .L232:
2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3797 .loc 1 2101 11 view .LVU1121
3798 00f8 2046 mov r0, r4
3799 00fa FFF7FEFF bl HAL_UART_ErrorCallback
3800 .LVL290:
3801 00fe A1E7 b .L219
3802 .LVL291:
3803 .L231:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3804 .loc 1 2114 9 view .LVU1122
3805 0100 2046 mov r0, r4
3806 0102 FFF7FEFF bl HAL_UART_ErrorCallback
3807 .LVL292:
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3808 .loc 1 2117 9 view .LVU1123
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3809 .loc 1 2117 26 is_stmt 0 view .LVU1124
3810 0106 0023 movs r3, #0
3811 0108 E363 str r3, [r4, #60]
2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** } /* End if some error occurs */
3812 .loc 1 2120 5 is_stmt 1 view .LVU1125
3813 010a 9BE7 b .L219
ARM GAS /tmp/ccGtkZvD.s page 140
3814 .LVL293:
3815 .L237:
2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3816 .loc 1 2126 5 view .LVU1126
3817 010c 2046 mov r0, r4
3818 .LVL294:
2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3819 .loc 1 2126 5 is_stmt 0 view .LVU1127
3820 010e FFF7FEFF bl UART_Transmit_IT
3821 .LVL295:
2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3822 .loc 1 2127 5 is_stmt 1 view .LVU1128
3823 0112 97E7 b .L219
3824 .LVL296:
3825 .L238:
2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3826 .loc 1 2133 5 view .LVU1129
3827 0114 2046 mov r0, r4
3828 .LVL297:
2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3829 .loc 1 2133 5 is_stmt 0 view .LVU1130
3830 0116 FFF7FEFF bl UART_EndTransmit_IT
3831 .LVL298:
2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3832 .loc 1 2134 5 is_stmt 1 view .LVU1131
3833 011a 93E7 b .L219
3834 .L241:
3835 .align 2
3836 .L240:
3837 011c 00000000 .word UART_DMAAbortOnError
3838 .cfi_endproc
3839 .LFE152:
3841 .section .text.UART_DMAAbortOnError,"ax",%progbits
3842 .align 1
3843 .syntax unified
3844 .thumb
3845 .thumb_func
3847 UART_DMAAbortOnError:
3848 .LVL299:
3849 .LFB176:
2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3850 .loc 1 2731 1 view -0
3851 .cfi_startproc
3852 @ args = 0, pretend = 0, frame = 0
3853 @ frame_needed = 0, uses_anonymous_args = 0
2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3854 .loc 1 2731 1 is_stmt 0 view .LVU1133
3855 0000 08B5 push {r3, lr}
3856 .LCFI39:
3857 .cfi_def_cfa_offset 8
3858 .cfi_offset 3, -8
3859 .cfi_offset 14, -4
2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3860 .loc 1 2732 3 is_stmt 1 view .LVU1134
2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3861 .loc 1 2732 23 is_stmt 0 view .LVU1135
3862 0002 806B ldr r0, [r0, #56]
ARM GAS /tmp/ccGtkZvD.s page 141
3863 .LVL300:
2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
3864 .loc 1 2733 3 is_stmt 1 view .LVU1136
2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
3865 .loc 1 2733 22 is_stmt 0 view .LVU1137
3866 0004 0023 movs r3, #0
3867 0006 C385 strh r3, [r0, #46] @ movhi
2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3868 .loc 1 2734 3 is_stmt 1 view .LVU1138
2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3869 .loc 1 2734 22 is_stmt 0 view .LVU1139
3870 0008 C384 strh r3, [r0, #38] @ movhi
2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3871 .loc 1 2741 3 is_stmt 1 view .LVU1140
3872 000a FFF7FEFF bl HAL_UART_ErrorCallback
3873 .LVL301:
2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3874 .loc 1 2743 1 is_stmt 0 view .LVU1141
3875 000e 08BD pop {r3, pc}
3876 .cfi_endproc
3877 .LFE176:
3879 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
3880 .align 1
3881 .weak HAL_UART_AbortCpltCallback
3882 .syntax unified
3883 .thumb
3884 .thumb_func
3886 HAL_UART_AbortCpltCallback:
3887 .LVL302:
3888 .LFB158:
2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3889 .loc 1 2219 1 is_stmt 1 view -0
3890 .cfi_startproc
3891 @ args = 0, pretend = 0, frame = 0
3892 @ frame_needed = 0, uses_anonymous_args = 0
3893 @ link register save eliminated.
2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3894 .loc 1 2221 3 view .LVU1143
2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3895 .loc 1 2226 1 is_stmt 0 view .LVU1144
3896 0000 7047 bx lr
3897 .cfi_endproc
3898 .LFE158:
3900 .section .text.HAL_UART_Abort_IT,"ax",%progbits
3901 .align 1
3902 .global HAL_UART_Abort_IT
3903 .syntax unified
3904 .thumb
3905 .thumb_func
3907 HAL_UART_Abort_IT:
3908 .LVL303:
3909 .LFB149:
1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
3910 .loc 1 1724 1 is_stmt 1 view -0
3911 .cfi_startproc
3912 @ args = 0, pretend = 0, frame = 0
3913 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccGtkZvD.s page 142
1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
3914 .loc 1 1724 1 is_stmt 0 view .LVU1146
3915 0000 10B5 push {r4, lr}
3916 .LCFI40:
3917 .cfi_def_cfa_offset 8
3918 .cfi_offset 4, -8
3919 .cfi_offset 14, -4
3920 0002 0446 mov r4, r0
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3921 .loc 1 1725 3 is_stmt 1 view .LVU1147
3922 .LVL304:
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3923 .loc 1 1728 3 view .LVU1148
3924 0004 0268 ldr r2, [r0]
3925 0006 D368 ldr r3, [r2, #12]
3926 0008 23F4F073 bic r3, r3, #480
3927 000c D360 str r3, [r2, #12]
1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3928 .loc 1 1729 3 view .LVU1149
3929 000e 0268 ldr r2, [r0]
3930 0010 5369 ldr r3, [r2, #20]
3931 0012 23F00103 bic r3, r3, #1
3932 0016 5361 str r3, [r2, #20]
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3933 .loc 1 1734 3 view .LVU1150
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3934 .loc 1 1734 12 is_stmt 0 view .LVU1151
3935 0018 036B ldr r3, [r0, #48]
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3936 .loc 1 1734 6 view .LVU1152
3937 001a 33B1 cbz r3, .L246
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3938 .loc 1 1738 5 is_stmt 1 view .LVU1153
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3939 .loc 1 1738 9 is_stmt 0 view .LVU1154
3940 001c 0268 ldr r2, [r0]
3941 001e 5269 ldr r2, [r2, #20]
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3942 .loc 1 1738 8 view .LVU1155
3943 0020 12F0800F tst r2, #128
3944 0024 1DD0 beq .L247
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3945 .loc 1 1740 7 is_stmt 1 view .LVU1156
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3946 .loc 1 1740 40 is_stmt 0 view .LVU1157
3947 0026 254A ldr r2, .L258
3948 0028 1A65 str r2, [r3, #80]
3949 .L246:
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3950 .loc 1 1748 3 is_stmt 1 view .LVU1158
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3951 .loc 1 1748 12 is_stmt 0 view .LVU1159
3952 002a 636B ldr r3, [r4, #52]
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3953 .loc 1 1748 6 view .LVU1160
3954 002c 33B1 cbz r3, .L248
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccGtkZvD.s page 143
3955 .loc 1 1752 5 is_stmt 1 view .LVU1161
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3956 .loc 1 1752 9 is_stmt 0 view .LVU1162
3957 002e 2268 ldr r2, [r4]
3958 0030 5269 ldr r2, [r2, #20]
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3959 .loc 1 1752 8 view .LVU1163
3960 0032 12F0400F tst r2, #64
3961 0036 17D0 beq .L249
1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3962 .loc 1 1754 7 is_stmt 1 view .LVU1164
1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3963 .loc 1 1754 40 is_stmt 0 view .LVU1165
3964 0038 214A ldr r2, .L258+4
3965 003a 1A65 str r2, [r3, #80]
3966 .L248:
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3967 .loc 1 1763 3 is_stmt 1 view .LVU1166
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3968 .loc 1 1763 7 is_stmt 0 view .LVU1167
3969 003c 2368 ldr r3, [r4]
3970 003e 5A69 ldr r2, [r3, #20]
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3971 .loc 1 1763 6 view .LVU1168
3972 0040 12F0800F tst r2, #128
3973 0044 13D0 beq .L254
1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3974 .loc 1 1766 5 is_stmt 1 view .LVU1169
3975 0046 5A69 ldr r2, [r3, #20]
3976 0048 22F08002 bic r2, r2, #128
3977 004c 5A61 str r2, [r3, #20]
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3978 .loc 1 1769 5 view .LVU1170
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3979 .loc 1 1769 14 is_stmt 0 view .LVU1171
3980 004e 206B ldr r0, [r4, #48]
3981 .LVL305:
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3982 .loc 1 1769 8 view .LVU1172
3983 0050 60B3 cbz r0, .L255
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3984 .loc 1 1775 7 is_stmt 1 view .LVU1173
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3985 .loc 1 1775 11 is_stmt 0 view .LVU1174
3986 0052 FFF7FEFF bl HAL_DMA_Abort_IT
3987 .LVL306:
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3988 .loc 1 1775 10 view .LVU1175
3989 0056 58B3 cbz r0, .L256
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3990 .loc 1 1777 9 is_stmt 1 view .LVU1176
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3991 .loc 1 1777 14 is_stmt 0 view .LVU1177
3992 0058 236B ldr r3, [r4, #48]
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3993 .loc 1 1777 42 view .LVU1178
3994 005a 0022 movs r2, #0
ARM GAS /tmp/ccGtkZvD.s page 144
3995 005c 1A65 str r2, [r3, #80]
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3996 .loc 1 1725 12 view .LVU1179
3997 005e 0121 movs r1, #1
3998 0060 06E0 b .L250
3999 .LVL307:
4000 .L247:
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4001 .loc 1 1744 7 is_stmt 1 view .LVU1180
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4002 .loc 1 1744 40 is_stmt 0 view .LVU1181
4003 0062 0022 movs r2, #0
4004 0064 1A65 str r2, [r3, #80]
4005 0066 E0E7 b .L246
4006 .L249:
1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4007 .loc 1 1758 7 is_stmt 1 view .LVU1182
1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4008 .loc 1 1758 40 is_stmt 0 view .LVU1183
4009 0068 0022 movs r2, #0
4010 006a 1A65 str r2, [r3, #80]
4011 006c E6E7 b .L248
4012 .L254:
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4013 .loc 1 1725 12 view .LVU1184
4014 006e 0121 movs r1, #1
4015 .LVL308:
4016 .L250:
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4017 .loc 1 1787 3 is_stmt 1 view .LVU1185
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4018 .loc 1 1787 7 is_stmt 0 view .LVU1186
4019 0070 2368 ldr r3, [r4]
4020 0072 5A69 ldr r2, [r3, #20]
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4021 .loc 1 1787 6 view .LVU1187
4022 0074 12F0400F tst r2, #64
4023 0078 1CD0 beq .L251
1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4024 .loc 1 1789 5 is_stmt 1 view .LVU1188
4025 007a 5A69 ldr r2, [r3, #20]
4026 007c 22F04002 bic r2, r2, #64
4027 0080 5A61 str r2, [r3, #20]
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4028 .loc 1 1792 5 view .LVU1189
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4029 .loc 1 1792 14 is_stmt 0 view .LVU1190
4030 0082 606B ldr r0, [r4, #52]
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4031 .loc 1 1792 8 view .LVU1191
4032 0084 B0B1 cbz r0, .L251
1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4033 .loc 1 1798 7 is_stmt 1 view .LVU1192
1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4034 .loc 1 1798 11 is_stmt 0 view .LVU1193
4035 0086 FFF7FEFF bl HAL_DMA_Abort_IT
4036 .LVL309:
ARM GAS /tmp/ccGtkZvD.s page 145
1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4037 .loc 1 1798 10 view .LVU1194
4038 008a A8B1 cbz r0, .L252
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
4039 .loc 1 1800 9 is_stmt 1 view .LVU1195
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
4040 .loc 1 1800 14 is_stmt 0 view .LVU1196
4041 008c 636B ldr r3, [r4, #52]
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
4042 .loc 1 1800 42 view .LVU1197
4043 008e 0022 movs r2, #0
4044 0090 1A65 str r2, [r3, #80]
1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4045 .loc 1 1801 9 is_stmt 1 view .LVU1198
4046 .LVL310:
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4047 .loc 1 1811 3 view .LVU1199
4048 .L253:
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
4049 .loc 1 1814 5 view .LVU1200
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
4050 .loc 1 1814 24 is_stmt 0 view .LVU1201
4051 0092 0023 movs r3, #0
4052 0094 E384 strh r3, [r4, #38] @ movhi
1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4053 .loc 1 1815 5 is_stmt 1 view .LVU1202
1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4054 .loc 1 1815 24 is_stmt 0 view .LVU1203
4055 0096 E385 strh r3, [r4, #46] @ movhi
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4056 .loc 1 1818 5 is_stmt 1 view .LVU1204
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4057 .loc 1 1818 22 is_stmt 0 view .LVU1205
4058 0098 E363 str r3, [r4, #60]
1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4059 .loc 1 1821 5 is_stmt 1 view .LVU1206
1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4060 .loc 1 1821 20 is_stmt 0 view .LVU1207
4061 009a 2023 movs r3, #32
4062 009c 84F83930 strb r3, [r4, #57]
1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4063 .loc 1 1822 5 is_stmt 1 view .LVU1208
1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4064 .loc 1 1822 20 is_stmt 0 view .LVU1209
4065 00a0 84F83A30 strb r3, [r4, #58]
1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4066 .loc 1 1830 5 is_stmt 1 view .LVU1210
4067 00a4 2046 mov r0, r4
4068 00a6 FFF7FEFF bl HAL_UART_AbortCpltCallback
4069 .LVL311:
4070 00aa 05E0 b .L252
4071 .LVL312:
4072 .L255:
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4073 .loc 1 1725 12 is_stmt 0 view .LVU1211
4074 00ac 0121 movs r1, #1
4075 00ae DFE7 b .L250
ARM GAS /tmp/ccGtkZvD.s page 146
4076 .L256:
1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4077 .loc 1 1781 19 view .LVU1212
4078 00b0 0021 movs r1, #0
4079 00b2 DDE7 b .L250
4080 .LVL313:
4081 .L251:
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4082 .loc 1 1811 3 is_stmt 1 view .LVU1213
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4083 .loc 1 1811 6 is_stmt 0 view .LVU1214
4084 00b4 0029 cmp r1, #0
4085 00b6 ECD1 bne .L253
4086 .LVL314:
4087 .L252:
1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4088 .loc 1 1834 3 is_stmt 1 view .LVU1215
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4089 .loc 1 1835 1 is_stmt 0 view .LVU1216
4090 00b8 0020 movs r0, #0
4091 00ba 10BD pop {r4, pc}
4092 .LVL315:
4093 .L259:
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4094 .loc 1 1835 1 view .LVU1217
4095 .align 2
4096 .L258:
4097 00bc 00000000 .word UART_DMATxAbortCallback
4098 00c0 00000000 .word UART_DMARxAbortCallback
4099 .cfi_endproc
4100 .LFE149:
4102 .section .text.UART_DMARxAbortCallback,"ax",%progbits
4103 .align 1
4104 .syntax unified
4105 .thumb
4106 .thumb_func
4108 UART_DMARxAbortCallback:
4109 .LVL316:
4110 .LFB178:
2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4111 .loc 1 2800 1 is_stmt 1 view -0
4112 .cfi_startproc
4113 @ args = 0, pretend = 0, frame = 0
4114 @ frame_needed = 0, uses_anonymous_args = 0
2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4115 .loc 1 2800 1 is_stmt 0 view .LVU1219
4116 0000 08B5 push {r3, lr}
4117 .LCFI41:
4118 .cfi_def_cfa_offset 8
4119 .cfi_offset 3, -8
4120 .cfi_offset 14, -4
2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4121 .loc 1 2801 3 is_stmt 1 view .LVU1220
2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4122 .loc 1 2801 23 is_stmt 0 view .LVU1221
4123 0002 806B ldr r0, [r0, #56]
4124 .LVL317:
ARM GAS /tmp/ccGtkZvD.s page 147
2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4125 .loc 1 2803 3 is_stmt 1 view .LVU1222
2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4126 .loc 1 2803 8 is_stmt 0 view .LVU1223
4127 0004 436B ldr r3, [r0, #52]
2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4128 .loc 1 2803 36 view .LVU1224
4129 0006 0022 movs r2, #0
4130 0008 1A65 str r2, [r3, #80]
2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4131 .loc 1 2806 3 is_stmt 1 view .LVU1225
2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4132 .loc 1 2806 12 is_stmt 0 view .LVU1226
4133 000a 036B ldr r3, [r0, #48]
2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4134 .loc 1 2806 6 view .LVU1227
4135 000c 0BB1 cbz r3, .L261
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4136 .loc 1 2808 5 is_stmt 1 view .LVU1228
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4137 .loc 1 2808 22 is_stmt 0 view .LVU1229
4138 000e 1B6D ldr r3, [r3, #80]
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4139 .loc 1 2808 8 view .LVU1230
4140 0010 53B9 cbnz r3, .L260
4141 .L261:
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
4142 .loc 1 2815 3 is_stmt 1 view .LVU1231
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
4143 .loc 1 2815 22 is_stmt 0 view .LVU1232
4144 0012 0023 movs r3, #0
4145 0014 C384 strh r3, [r0, #38] @ movhi
2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4146 .loc 1 2816 3 is_stmt 1 view .LVU1233
2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4147 .loc 1 2816 22 is_stmt 0 view .LVU1234
4148 0016 C385 strh r3, [r0, #46] @ movhi
2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4149 .loc 1 2819 3 is_stmt 1 view .LVU1235
2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4150 .loc 1 2819 20 is_stmt 0 view .LVU1236
4151 0018 C363 str r3, [r0, #60]
2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4152 .loc 1 2822 3 is_stmt 1 view .LVU1237
2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4153 .loc 1 2822 18 is_stmt 0 view .LVU1238
4154 001a 2023 movs r3, #32
4155 001c 80F83930 strb r3, [r0, #57]
2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4156 .loc 1 2823 3 is_stmt 1 view .LVU1239
2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4157 .loc 1 2823 18 is_stmt 0 view .LVU1240
4158 0020 80F83A30 strb r3, [r0, #58]
2831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4159 .loc 1 2831 3 is_stmt 1 view .LVU1241
4160 0024 FFF7FEFF bl HAL_UART_AbortCpltCallback
4161 .LVL318:
ARM GAS /tmp/ccGtkZvD.s page 148
4162 .L260:
2833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4163 .loc 1 2833 1 is_stmt 0 view .LVU1242
4164 0028 08BD pop {r3, pc}
4165 .cfi_endproc
4166 .LFE178:
4168 .section .text.UART_DMATxAbortCallback,"ax",%progbits
4169 .align 1
4170 .syntax unified
4171 .thumb
4172 .thumb_func
4174 UART_DMATxAbortCallback:
4175 .LVL319:
4176 .LFB177:
2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4177 .loc 1 2755 1 is_stmt 1 view -0
4178 .cfi_startproc
4179 @ args = 0, pretend = 0, frame = 0
4180 @ frame_needed = 0, uses_anonymous_args = 0
2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4181 .loc 1 2755 1 is_stmt 0 view .LVU1244
4182 0000 08B5 push {r3, lr}
4183 .LCFI42:
4184 .cfi_def_cfa_offset 8
4185 .cfi_offset 3, -8
4186 .cfi_offset 14, -4
2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4187 .loc 1 2756 3 is_stmt 1 view .LVU1245
2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4188 .loc 1 2756 23 is_stmt 0 view .LVU1246
4189 0002 806B ldr r0, [r0, #56]
4190 .LVL320:
2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4191 .loc 1 2758 3 is_stmt 1 view .LVU1247
2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4192 .loc 1 2758 8 is_stmt 0 view .LVU1248
4193 0004 036B ldr r3, [r0, #48]
2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4194 .loc 1 2758 36 view .LVU1249
4195 0006 0022 movs r2, #0
4196 0008 1A65 str r2, [r3, #80]
2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4197 .loc 1 2761 3 is_stmt 1 view .LVU1250
2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4198 .loc 1 2761 12 is_stmt 0 view .LVU1251
4199 000a 436B ldr r3, [r0, #52]
2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4200 .loc 1 2761 6 view .LVU1252
4201 000c 0BB1 cbz r3, .L265
2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4202 .loc 1 2763 5 is_stmt 1 view .LVU1253
2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4203 .loc 1 2763 22 is_stmt 0 view .LVU1254
4204 000e 1B6D ldr r3, [r3, #80]
2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4205 .loc 1 2763 8 view .LVU1255
4206 0010 53B9 cbnz r3, .L264
ARM GAS /tmp/ccGtkZvD.s page 149
4207 .L265:
2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
4208 .loc 1 2770 3 is_stmt 1 view .LVU1256
2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
4209 .loc 1 2770 22 is_stmt 0 view .LVU1257
4210 0012 0023 movs r3, #0
4211 0014 C384 strh r3, [r0, #38] @ movhi
2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4212 .loc 1 2771 3 is_stmt 1 view .LVU1258
2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4213 .loc 1 2771 22 is_stmt 0 view .LVU1259
4214 0016 C385 strh r3, [r0, #46] @ movhi
2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4215 .loc 1 2774 3 is_stmt 1 view .LVU1260
2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4216 .loc 1 2774 20 is_stmt 0 view .LVU1261
4217 0018 C363 str r3, [r0, #60]
2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4218 .loc 1 2777 3 is_stmt 1 view .LVU1262
2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4219 .loc 1 2777 18 is_stmt 0 view .LVU1263
4220 001a 2023 movs r3, #32
4221 001c 80F83930 strb r3, [r0, #57]
2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4222 .loc 1 2778 3 is_stmt 1 view .LVU1264
2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4223 .loc 1 2778 18 is_stmt 0 view .LVU1265
4224 0020 80F83A30 strb r3, [r0, #58]
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4225 .loc 1 2786 3 is_stmt 1 view .LVU1266
4226 0024 FFF7FEFF bl HAL_UART_AbortCpltCallback
4227 .LVL321:
4228 .L264:
2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4229 .loc 1 2788 1 is_stmt 0 view .LVU1267
4230 0028 08BD pop {r3, pc}
4231 .cfi_endproc
4232 .LFE177:
4234 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
4235 .align 1
4236 .weak HAL_UART_AbortTransmitCpltCallback
4237 .syntax unified
4238 .thumb
4239 .thumb_func
4241 HAL_UART_AbortTransmitCpltCallback:
4242 .LVL322:
4243 .LFB159:
2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4244 .loc 1 2234 1 is_stmt 1 view -0
4245 .cfi_startproc
4246 @ args = 0, pretend = 0, frame = 0
4247 @ frame_needed = 0, uses_anonymous_args = 0
4248 @ link register save eliminated.
2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4249 .loc 1 2236 3 view .LVU1269
2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4250 .loc 1 2241 1 is_stmt 0 view .LVU1270
ARM GAS /tmp/ccGtkZvD.s page 150
4251 0000 7047 bx lr
4252 .cfi_endproc
4253 .LFE159:
4255 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
4256 .align 1
4257 .global HAL_UART_AbortTransmit_IT
4258 .syntax unified
4259 .thumb
4260 .thumb_func
4262 HAL_UART_AbortTransmit_IT:
4263 .LVL323:
4264 .LFB150:
1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
4265 .loc 1 1852 1 is_stmt 1 view -0
4266 .cfi_startproc
4267 @ args = 0, pretend = 0, frame = 0
4268 @ frame_needed = 0, uses_anonymous_args = 0
1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
4269 .loc 1 1852 1 is_stmt 0 view .LVU1272
4270 0000 10B5 push {r4, lr}
4271 .LCFI43:
4272 .cfi_def_cfa_offset 8
4273 .cfi_offset 4, -8
4274 .cfi_offset 14, -4
4275 0002 0446 mov r4, r0
1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4276 .loc 1 1854 3 is_stmt 1 view .LVU1273
4277 0004 0268 ldr r2, [r0]
4278 0006 D368 ldr r3, [r2, #12]
4279 0008 23F0C003 bic r3, r3, #192
4280 000c D360 str r3, [r2, #12]
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4281 .loc 1 1857 3 view .LVU1274
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4282 .loc 1 1857 7 is_stmt 0 view .LVU1275
4283 000e 0368 ldr r3, [r0]
4284 0010 5A69 ldr r2, [r3, #20]
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4285 .loc 1 1857 6 view .LVU1276
4286 0012 12F0800F tst r2, #128
4287 0016 17D0 beq .L270
1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4288 .loc 1 1859 5 is_stmt 1 view .LVU1277
4289 0018 5A69 ldr r2, [r3, #20]
4290 001a 22F08002 bic r2, r2, #128
4291 001e 5A61 str r2, [r3, #20]
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4292 .loc 1 1862 5 view .LVU1278
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4293 .loc 1 1862 14 is_stmt 0 view .LVU1279
4294 0020 036B ldr r3, [r0, #48]
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4295 .loc 1 1862 8 view .LVU1280
4296 0022 4BB1 cbz r3, .L271
1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4297 .loc 1 1866 7 is_stmt 1 view .LVU1281
1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 151
4298 .loc 1 1866 40 is_stmt 0 view .LVU1282
4299 0024 0D4A ldr r2, .L274
4300 0026 1A65 str r2, [r3, #80]
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4301 .loc 1 1869 7 is_stmt 1 view .LVU1283
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4302 .loc 1 1869 11 is_stmt 0 view .LVU1284
4303 0028 006B ldr r0, [r0, #48]
4304 .LVL324:
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4305 .loc 1 1869 11 view .LVU1285
4306 002a FFF7FEFF bl HAL_DMA_Abort_IT
4307 .LVL325:
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4308 .loc 1 1869 10 view .LVU1286
4309 002e 90B1 cbz r0, .L272
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4310 .loc 1 1872 9 is_stmt 1 view .LVU1287
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4311 .loc 1 1872 14 is_stmt 0 view .LVU1288
4312 0030 206B ldr r0, [r4, #48]
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4313 .loc 1 1872 22 view .LVU1289
4314 0032 036D ldr r3, [r0, #80]
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4315 .loc 1 1872 9 view .LVU1290
4316 0034 9847 blx r3
4317 .LVL326:
4318 0036 0EE0 b .L272
4319 .LVL327:
4320 .L271:
1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4321 .loc 1 1878 7 is_stmt 1 view .LVU1291
1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4322 .loc 1 1878 26 is_stmt 0 view .LVU1292
4323 0038 0023 movs r3, #0
4324 003a C384 strh r3, [r0, #38] @ movhi
1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4325 .loc 1 1881 7 is_stmt 1 view .LVU1293
1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4326 .loc 1 1881 21 is_stmt 0 view .LVU1294
4327 003c 2023 movs r3, #32
4328 003e 80F83930 strb r3, [r0, #57]
1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4329 .loc 1 1889 7 is_stmt 1 view .LVU1295
4330 0042 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4331 .LVL328:
1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4332 .loc 1 1889 7 is_stmt 0 view .LVU1296
4333 0046 06E0 b .L272
4334 .LVL329:
4335 .L270:
1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4336 .loc 1 1896 5 is_stmt 1 view .LVU1297
1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4337 .loc 1 1896 24 is_stmt 0 view .LVU1298
4338 0048 0023 movs r3, #0
ARM GAS /tmp/ccGtkZvD.s page 152
4339 004a C384 strh r3, [r0, #38] @ movhi
1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4340 .loc 1 1899 5 is_stmt 1 view .LVU1299
1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4341 .loc 1 1899 19 is_stmt 0 view .LVU1300
4342 004c 2023 movs r3, #32
4343 004e 80F83930 strb r3, [r0, #57]
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4344 .loc 1 1907 5 is_stmt 1 view .LVU1301
4345 0052 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4346 .LVL330:
4347 .L272:
1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4348 .loc 1 1911 3 view .LVU1302
1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4349 .loc 1 1912 1 is_stmt 0 view .LVU1303
4350 0056 0020 movs r0, #0
4351 0058 10BD pop {r4, pc}
4352 .LVL331:
4353 .L275:
1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4354 .loc 1 1912 1 view .LVU1304
4355 005a 00BF .align 2
4356 .L274:
4357 005c 00000000 .word UART_DMATxOnlyAbortCallback
4358 .cfi_endproc
4359 .LFE150:
4361 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
4362 .align 1
4363 .syntax unified
4364 .thumb
4365 .thumb_func
4367 UART_DMATxOnlyAbortCallback:
4368 .LVL332:
4369 .LFB179:
2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4370 .loc 1 2845 1 is_stmt 1 view -0
4371 .cfi_startproc
4372 @ args = 0, pretend = 0, frame = 0
4373 @ frame_needed = 0, uses_anonymous_args = 0
2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4374 .loc 1 2845 1 is_stmt 0 view .LVU1306
4375 0000 08B5 push {r3, lr}
4376 .LCFI44:
4377 .cfi_def_cfa_offset 8
4378 .cfi_offset 3, -8
4379 .cfi_offset 14, -4
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4380 .loc 1 2846 3 is_stmt 1 view .LVU1307
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4381 .loc 1 2846 23 is_stmt 0 view .LVU1308
4382 0002 806B ldr r0, [r0, #56]
4383 .LVL333:
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4384 .loc 1 2848 3 is_stmt 1 view .LVU1309
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4385 .loc 1 2848 22 is_stmt 0 view .LVU1310
ARM GAS /tmp/ccGtkZvD.s page 153
4386 0004 0023 movs r3, #0
4387 0006 C384 strh r3, [r0, #38] @ movhi
2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4388 .loc 1 2851 3 is_stmt 1 view .LVU1311
2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4389 .loc 1 2851 17 is_stmt 0 view .LVU1312
4390 0008 2023 movs r3, #32
4391 000a 80F83930 strb r3, [r0, #57]
2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4392 .loc 1 2859 3 is_stmt 1 view .LVU1313
4393 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4394 .LVL334:
2861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4395 .loc 1 2861 1 is_stmt 0 view .LVU1314
4396 0012 08BD pop {r3, pc}
4397 .cfi_endproc
4398 .LFE179:
4400 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
4401 .align 1
4402 .weak HAL_UART_AbortReceiveCpltCallback
4403 .syntax unified
4404 .thumb
4405 .thumb_func
4407 HAL_UART_AbortReceiveCpltCallback:
4408 .LVL335:
4409 .LFB160:
2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4410 .loc 1 2249 1 is_stmt 1 view -0
4411 .cfi_startproc
4412 @ args = 0, pretend = 0, frame = 0
4413 @ frame_needed = 0, uses_anonymous_args = 0
4414 @ link register save eliminated.
2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4415 .loc 1 2251 3 view .LVU1316
2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4416 .loc 1 2256 1 is_stmt 0 view .LVU1317
4417 0000 7047 bx lr
4418 .cfi_endproc
4419 .LFE160:
4421 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
4422 .align 1
4423 .global HAL_UART_AbortReceive_IT
4424 .syntax unified
4425 .thumb
4426 .thumb_func
4428 HAL_UART_AbortReceive_IT:
4429 .LVL336:
4430 .LFB151:
1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
4431 .loc 1 1929 1 is_stmt 1 view -0
4432 .cfi_startproc
4433 @ args = 0, pretend = 0, frame = 0
4434 @ frame_needed = 0, uses_anonymous_args = 0
1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
4435 .loc 1 1929 1 is_stmt 0 view .LVU1319
4436 0000 10B5 push {r4, lr}
4437 .LCFI45:
ARM GAS /tmp/ccGtkZvD.s page 154
4438 .cfi_def_cfa_offset 8
4439 .cfi_offset 4, -8
4440 .cfi_offset 14, -4
4441 0002 0446 mov r4, r0
1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4442 .loc 1 1931 3 is_stmt 1 view .LVU1320
4443 0004 0268 ldr r2, [r0]
4444 0006 D368 ldr r3, [r2, #12]
4445 0008 23F49073 bic r3, r3, #288
4446 000c D360 str r3, [r2, #12]
1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4447 .loc 1 1932 3 view .LVU1321
4448 000e 0268 ldr r2, [r0]
4449 0010 5369 ldr r3, [r2, #20]
4450 0012 23F00103 bic r3, r3, #1
4451 0016 5361 str r3, [r2, #20]
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4452 .loc 1 1935 3 view .LVU1322
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4453 .loc 1 1935 7 is_stmt 0 view .LVU1323
4454 0018 0368 ldr r3, [r0]
4455 001a 5A69 ldr r2, [r3, #20]
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4456 .loc 1 1935 6 view .LVU1324
4457 001c 12F0400F tst r2, #64
4458 0020 17D0 beq .L280
1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4459 .loc 1 1937 5 is_stmt 1 view .LVU1325
4460 0022 5A69 ldr r2, [r3, #20]
4461 0024 22F04002 bic r2, r2, #64
4462 0028 5A61 str r2, [r3, #20]
1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4463 .loc 1 1940 5 view .LVU1326
1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4464 .loc 1 1940 14 is_stmt 0 view .LVU1327
4465 002a 436B ldr r3, [r0, #52]
1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4466 .loc 1 1940 8 view .LVU1328
4467 002c 4BB1 cbz r3, .L281
1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4468 .loc 1 1944 7 is_stmt 1 view .LVU1329
1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4469 .loc 1 1944 40 is_stmt 0 view .LVU1330
4470 002e 0D4A ldr r2, .L284
4471 0030 1A65 str r2, [r3, #80]
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4472 .loc 1 1947 7 is_stmt 1 view .LVU1331
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4473 .loc 1 1947 11 is_stmt 0 view .LVU1332
4474 0032 406B ldr r0, [r0, #52]
4475 .LVL337:
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4476 .loc 1 1947 11 view .LVU1333
4477 0034 FFF7FEFF bl HAL_DMA_Abort_IT
4478 .LVL338:
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
4479 .loc 1 1947 10 view .LVU1334
ARM GAS /tmp/ccGtkZvD.s page 155
4480 0038 90B1 cbz r0, .L282
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4481 .loc 1 1950 9 is_stmt 1 view .LVU1335
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4482 .loc 1 1950 14 is_stmt 0 view .LVU1336
4483 003a 606B ldr r0, [r4, #52]
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4484 .loc 1 1950 22 view .LVU1337
4485 003c 036D ldr r3, [r0, #80]
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4486 .loc 1 1950 9 view .LVU1338
4487 003e 9847 blx r3
4488 .LVL339:
4489 0040 0EE0 b .L282
4490 .LVL340:
4491 .L281:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4492 .loc 1 1956 7 is_stmt 1 view .LVU1339
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4493 .loc 1 1956 26 is_stmt 0 view .LVU1340
4494 0042 0023 movs r3, #0
4495 0044 C385 strh r3, [r0, #46] @ movhi
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4496 .loc 1 1959 7 is_stmt 1 view .LVU1341
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4497 .loc 1 1959 22 is_stmt 0 view .LVU1342
4498 0046 2023 movs r3, #32
4499 0048 80F83A30 strb r3, [r0, #58]
1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4500 .loc 1 1967 7 is_stmt 1 view .LVU1343
4501 004c FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
4502 .LVL341:
1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4503 .loc 1 1967 7 is_stmt 0 view .LVU1344
4504 0050 06E0 b .L282
4505 .LVL342:
4506 .L280:
1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4507 .loc 1 1974 5 is_stmt 1 view .LVU1345
1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4508 .loc 1 1974 24 is_stmt 0 view .LVU1346
4509 0052 0023 movs r3, #0
4510 0054 C385 strh r3, [r0, #46] @ movhi
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4511 .loc 1 1977 5 is_stmt 1 view .LVU1347
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4512 .loc 1 1977 20 is_stmt 0 view .LVU1348
4513 0056 2023 movs r3, #32
4514 0058 80F83A30 strb r3, [r0, #58]
1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4515 .loc 1 1985 5 is_stmt 1 view .LVU1349
4516 005c FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
4517 .LVL343:
4518 .L282:
1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4519 .loc 1 1989 3 view .LVU1350
1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 156
4520 .loc 1 1990 1 is_stmt 0 view .LVU1351
4521 0060 0020 movs r0, #0
4522 0062 10BD pop {r4, pc}
4523 .LVL344:
4524 .L285:
1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4525 .loc 1 1990 1 view .LVU1352
4526 .align 2
4527 .L284:
4528 0064 00000000 .word UART_DMARxOnlyAbortCallback
4529 .cfi_endproc
4530 .LFE151:
4532 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
4533 .align 1
4534 .syntax unified
4535 .thumb
4536 .thumb_func
4538 UART_DMARxOnlyAbortCallback:
4539 .LVL345:
4540 .LFB180:
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4541 .loc 1 2873 1 is_stmt 1 view -0
4542 .cfi_startproc
4543 @ args = 0, pretend = 0, frame = 0
4544 @ frame_needed = 0, uses_anonymous_args = 0
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4545 .loc 1 2873 1 is_stmt 0 view .LVU1354
4546 0000 08B5 push {r3, lr}
4547 .LCFI46:
4548 .cfi_def_cfa_offset 8
4549 .cfi_offset 3, -8
4550 .cfi_offset 14, -4
2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4551 .loc 1 2874 3 is_stmt 1 view .LVU1355
2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4552 .loc 1 2874 23 is_stmt 0 view .LVU1356
4553 0002 806B ldr r0, [r0, #56]
4554 .LVL346:
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4555 .loc 1 2876 3 is_stmt 1 view .LVU1357
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4556 .loc 1 2876 22 is_stmt 0 view .LVU1358
4557 0004 0023 movs r3, #0
4558 0006 C385 strh r3, [r0, #46] @ movhi
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4559 .loc 1 2879 3 is_stmt 1 view .LVU1359
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4560 .loc 1 2879 18 is_stmt 0 view .LVU1360
4561 0008 2023 movs r3, #32
4562 000a 80F83A30 strb r3, [r0, #58]
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4563 .loc 1 2887 3 is_stmt 1 view .LVU1361
4564 000e FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
4565 .LVL347:
2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4566 .loc 1 2889 1 is_stmt 0 view .LVU1362
4567 0012 08BD pop {r3, pc}
ARM GAS /tmp/ccGtkZvD.s page 157
4568 .cfi_endproc
4569 .LFE180:
4571 .section .text.HAL_LIN_SendBreak,"ax",%progbits
4572 .align 1
4573 .global HAL_LIN_SendBreak
4574 .syntax unified
4575 .thumb
4576 .thumb_func
4578 HAL_LIN_SendBreak:
4579 .LVL348:
4580 .LFB161:
2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
4581 .loc 1 2288 1 is_stmt 1 view -0
4582 .cfi_startproc
4583 @ args = 0, pretend = 0, frame = 0
4584 @ frame_needed = 0, uses_anonymous_args = 0
4585 @ link register save eliminated.
2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4586 .loc 1 2290 3 view .LVU1364
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4587 .loc 1 2293 3 view .LVU1365
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4588 .loc 1 2293 3 view .LVU1366
4589 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4590 0004 012B cmp r3, #1
4591 0006 12D0 beq .L290
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4592 .loc 1 2293 3 discriminator 2 view .LVU1367
4593 0008 0123 movs r3, #1
4594 000a 80F83830 strb r3, [r0, #56]
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4595 .loc 1 2293 3 discriminator 2 view .LVU1368
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4596 .loc 1 2295 3 discriminator 2 view .LVU1369
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4597 .loc 1 2295 17 is_stmt 0 discriminator 2 view .LVU1370
4598 000e 2423 movs r3, #36
4599 0010 80F83930 strb r3, [r0, #57]
2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4600 .loc 1 2298 3 is_stmt 1 discriminator 2 view .LVU1371
4601 0014 0268 ldr r2, [r0]
4602 0016 D368 ldr r3, [r2, #12]
4603 0018 43F00103 orr r3, r3, #1
4604 001c D360 str r3, [r2, #12]
2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4605 .loc 1 2300 3 discriminator 2 view .LVU1372
2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4606 .loc 1 2300 17 is_stmt 0 discriminator 2 view .LVU1373
4607 001e 2023 movs r3, #32
4608 0020 80F83930 strb r3, [r0, #57]
2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4609 .loc 1 2303 3 is_stmt 1 discriminator 2 view .LVU1374
2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4610 .loc 1 2303 3 discriminator 2 view .LVU1375
4611 0024 0023 movs r3, #0
4612 0026 80F83830 strb r3, [r0, #56]
2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 158
4613 .loc 1 2303 3 discriminator 2 view .LVU1376
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4614 .loc 1 2305 3 discriminator 2 view .LVU1377
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4615 .loc 1 2305 10 is_stmt 0 discriminator 2 view .LVU1378
4616 002a 1846 mov r0, r3
4617 .LVL349:
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4618 .loc 1 2305 10 discriminator 2 view .LVU1379
4619 002c 7047 bx lr
4620 .LVL350:
4621 .L290:
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4622 .loc 1 2293 3 view .LVU1380
4623 002e 0220 movs r0, #2
4624 .LVL351:
2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4625 .loc 1 2306 1 view .LVU1381
4626 0030 7047 bx lr
4627 .cfi_endproc
4628 .LFE161:
4630 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
4631 .align 1
4632 .global HAL_MultiProcessor_EnterMuteMode
4633 .syntax unified
4634 .thumb
4635 .thumb_func
4637 HAL_MultiProcessor_EnterMuteMode:
4638 .LVL352:
4639 .LFB162:
2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
4640 .loc 1 2315 1 is_stmt 1 view -0
4641 .cfi_startproc
4642 @ args = 0, pretend = 0, frame = 0
4643 @ frame_needed = 0, uses_anonymous_args = 0
4644 @ link register save eliminated.
2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4645 .loc 1 2317 3 view .LVU1383
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4646 .loc 1 2320 3 view .LVU1384
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4647 .loc 1 2320 3 view .LVU1385
4648 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4649 0004 012B cmp r3, #1
4650 0006 12D0 beq .L293
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4651 .loc 1 2320 3 discriminator 2 view .LVU1386
4652 0008 0123 movs r3, #1
4653 000a 80F83830 strb r3, [r0, #56]
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4654 .loc 1 2320 3 discriminator 2 view .LVU1387
2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4655 .loc 1 2322 3 discriminator 2 view .LVU1388
2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4656 .loc 1 2322 17 is_stmt 0 discriminator 2 view .LVU1389
4657 000e 2423 movs r3, #36
4658 0010 80F83930 strb r3, [r0, #57]
ARM GAS /tmp/ccGtkZvD.s page 159
2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4659 .loc 1 2325 3 is_stmt 1 discriminator 2 view .LVU1390
4660 0014 0268 ldr r2, [r0]
4661 0016 D368 ldr r3, [r2, #12]
4662 0018 43F00203 orr r3, r3, #2
4663 001c D360 str r3, [r2, #12]
2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4664 .loc 1 2327 3 discriminator 2 view .LVU1391
2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4665 .loc 1 2327 17 is_stmt 0 discriminator 2 view .LVU1392
4666 001e 2023 movs r3, #32
4667 0020 80F83930 strb r3, [r0, #57]
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4668 .loc 1 2330 3 is_stmt 1 discriminator 2 view .LVU1393
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4669 .loc 1 2330 3 discriminator 2 view .LVU1394
4670 0024 0023 movs r3, #0
4671 0026 80F83830 strb r3, [r0, #56]
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4672 .loc 1 2330 3 discriminator 2 view .LVU1395
2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4673 .loc 1 2332 3 discriminator 2 view .LVU1396
2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4674 .loc 1 2332 10 is_stmt 0 discriminator 2 view .LVU1397
4675 002a 1846 mov r0, r3
4676 .LVL353:
2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4677 .loc 1 2332 10 discriminator 2 view .LVU1398
4678 002c 7047 bx lr
4679 .LVL354:
4680 .L293:
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4681 .loc 1 2320 3 view .LVU1399
4682 002e 0220 movs r0, #2
4683 .LVL355:
2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4684 .loc 1 2333 1 view .LVU1400
4685 0030 7047 bx lr
4686 .cfi_endproc
4687 .LFE162:
4689 .section .text.HAL_MultiProcessor_ExitMuteMode,"ax",%progbits
4690 .align 1
4691 .global HAL_MultiProcessor_ExitMuteMode
4692 .syntax unified
4693 .thumb
4694 .thumb_func
4696 HAL_MultiProcessor_ExitMuteMode:
4697 .LVL356:
4698 .LFB163:
2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
4699 .loc 1 2342 1 is_stmt 1 view -0
4700 .cfi_startproc
4701 @ args = 0, pretend = 0, frame = 0
4702 @ frame_needed = 0, uses_anonymous_args = 0
4703 @ link register save eliminated.
2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4704 .loc 1 2344 3 view .LVU1402
ARM GAS /tmp/ccGtkZvD.s page 160
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4705 .loc 1 2347 3 view .LVU1403
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4706 .loc 1 2347 3 view .LVU1404
4707 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4708 0004 012B cmp r3, #1
4709 0006 12D0 beq .L296
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4710 .loc 1 2347 3 discriminator 2 view .LVU1405
4711 0008 0123 movs r3, #1
4712 000a 80F83830 strb r3, [r0, #56]
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4713 .loc 1 2347 3 discriminator 2 view .LVU1406
2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4714 .loc 1 2349 3 discriminator 2 view .LVU1407
2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4715 .loc 1 2349 17 is_stmt 0 discriminator 2 view .LVU1408
4716 000e 2423 movs r3, #36
4717 0010 80F83930 strb r3, [r0, #57]
2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4718 .loc 1 2352 3 is_stmt 1 discriminator 2 view .LVU1409
4719 0014 0268 ldr r2, [r0]
4720 0016 D368 ldr r3, [r2, #12]
4721 0018 23F00203 bic r3, r3, #2
4722 001c D360 str r3, [r2, #12]
2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4723 .loc 1 2354 3 discriminator 2 view .LVU1410
2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4724 .loc 1 2354 17 is_stmt 0 discriminator 2 view .LVU1411
4725 001e 2023 movs r3, #32
4726 0020 80F83930 strb r3, [r0, #57]
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4727 .loc 1 2357 3 is_stmt 1 discriminator 2 view .LVU1412
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4728 .loc 1 2357 3 discriminator 2 view .LVU1413
4729 0024 0023 movs r3, #0
4730 0026 80F83830 strb r3, [r0, #56]
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4731 .loc 1 2357 3 discriminator 2 view .LVU1414
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4732 .loc 1 2359 3 discriminator 2 view .LVU1415
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4733 .loc 1 2359 10 is_stmt 0 discriminator 2 view .LVU1416
4734 002a 1846 mov r0, r3
4735 .LVL357:
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4736 .loc 1 2359 10 discriminator 2 view .LVU1417
4737 002c 7047 bx lr
4738 .LVL358:
4739 .L296:
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4740 .loc 1 2347 3 view .LVU1418
4741 002e 0220 movs r0, #2
4742 .LVL359:
2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4743 .loc 1 2360 1 view .LVU1419
4744 0030 7047 bx lr
ARM GAS /tmp/ccGtkZvD.s page 161
4745 .cfi_endproc
4746 .LFE163:
4748 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
4749 .align 1
4750 .global HAL_HalfDuplex_EnableTransmitter
4751 .syntax unified
4752 .thumb
4753 .thumb_func
4755 HAL_HalfDuplex_EnableTransmitter:
4756 .LVL360:
4757 .LFB164:
2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
4758 .loc 1 2369 1 is_stmt 1 view -0
4759 .cfi_startproc
4760 @ args = 0, pretend = 0, frame = 0
4761 @ frame_needed = 0, uses_anonymous_args = 0
4762 @ link register save eliminated.
2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4763 .loc 1 2370 3 view .LVU1421
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4764 .loc 1 2373 3 view .LVU1422
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4765 .loc 1 2373 3 view .LVU1423
4766 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4767 0004 012B cmp r3, #1
4768 0006 14D0 beq .L299
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4769 .loc 1 2373 3 discriminator 2 view .LVU1424
4770 0008 0123 movs r3, #1
4771 000a 80F83830 strb r3, [r0, #56]
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4772 .loc 1 2373 3 discriminator 2 view .LVU1425
2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4773 .loc 1 2375 3 discriminator 2 view .LVU1426
2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4774 .loc 1 2375 17 is_stmt 0 discriminator 2 view .LVU1427
4775 000e 2423 movs r3, #36
4776 0010 80F83930 strb r3, [r0, #57]
2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4777 .loc 1 2378 3 is_stmt 1 discriminator 2 view .LVU1428
2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4778 .loc 1 2378 17 is_stmt 0 discriminator 2 view .LVU1429
4779 0014 0268 ldr r2, [r0]
2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4780 .loc 1 2378 10 discriminator 2 view .LVU1430
4781 0016 D368 ldr r3, [r2, #12]
4782 .LVL361:
2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4783 .loc 1 2381 3 is_stmt 1 discriminator 2 view .LVU1431
2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4784 .loc 1 2381 10 is_stmt 0 discriminator 2 view .LVU1432
4785 0018 23F00C03 bic r3, r3, #12
4786 .LVL362:
2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4787 .loc 1 2384 3 is_stmt 1 discriminator 2 view .LVU1433
2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4788 .loc 1 2384 10 is_stmt 0 discriminator 2 view .LVU1434
ARM GAS /tmp/ccGtkZvD.s page 162
4789 001c 43F00803 orr r3, r3, #8
4790 .LVL363:
2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4791 .loc 1 2387 3 is_stmt 1 discriminator 2 view .LVU1435
4792 0020 D360 str r3, [r2, #12]
2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4793 .loc 1 2389 3 discriminator 2 view .LVU1436
2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4794 .loc 1 2389 17 is_stmt 0 discriminator 2 view .LVU1437
4795 0022 2023 movs r3, #32
4796 .LVL364:
2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4797 .loc 1 2389 17 discriminator 2 view .LVU1438
4798 0024 80F83930 strb r3, [r0, #57]
4799 .LVL365:
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4800 .loc 1 2392 3 is_stmt 1 discriminator 2 view .LVU1439
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4801 .loc 1 2392 3 discriminator 2 view .LVU1440
4802 0028 0023 movs r3, #0
4803 002a 80F83830 strb r3, [r0, #56]
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4804 .loc 1 2392 3 discriminator 2 view .LVU1441
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4805 .loc 1 2394 3 discriminator 2 view .LVU1442
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4806 .loc 1 2394 10 is_stmt 0 discriminator 2 view .LVU1443
4807 002e 1846 mov r0, r3
4808 .LVL366:
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4809 .loc 1 2394 10 discriminator 2 view .LVU1444
4810 0030 7047 bx lr
4811 .LVL367:
4812 .L299:
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4813 .loc 1 2373 3 view .LVU1445
4814 0032 0220 movs r0, #2
4815 .LVL368:
2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4816 .loc 1 2395 1 view .LVU1446
4817 0034 7047 bx lr
4818 .cfi_endproc
4819 .LFE164:
4821 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
4822 .align 1
4823 .global HAL_HalfDuplex_EnableReceiver
4824 .syntax unified
4825 .thumb
4826 .thumb_func
4828 HAL_HalfDuplex_EnableReceiver:
4829 .LVL369:
4830 .LFB165:
2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
4831 .loc 1 2404 1 is_stmt 1 view -0
4832 .cfi_startproc
4833 @ args = 0, pretend = 0, frame = 0
4834 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccGtkZvD.s page 163
4835 @ link register save eliminated.
2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4836 .loc 1 2405 3 view .LVU1448
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4837 .loc 1 2408 3 view .LVU1449
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4838 .loc 1 2408 3 view .LVU1450
4839 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4840 0004 012B cmp r3, #1
4841 0006 14D0 beq .L302
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4842 .loc 1 2408 3 discriminator 2 view .LVU1451
4843 0008 0123 movs r3, #1
4844 000a 80F83830 strb r3, [r0, #56]
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4845 .loc 1 2408 3 discriminator 2 view .LVU1452
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4846 .loc 1 2410 3 discriminator 2 view .LVU1453
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4847 .loc 1 2410 17 is_stmt 0 discriminator 2 view .LVU1454
4848 000e 2423 movs r3, #36
4849 0010 80F83930 strb r3, [r0, #57]
2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4850 .loc 1 2413 3 is_stmt 1 discriminator 2 view .LVU1455
2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4851 .loc 1 2413 17 is_stmt 0 discriminator 2 view .LVU1456
4852 0014 0268 ldr r2, [r0]
2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4853 .loc 1 2413 10 discriminator 2 view .LVU1457
4854 0016 D368 ldr r3, [r2, #12]
4855 .LVL370:
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4856 .loc 1 2416 3 is_stmt 1 discriminator 2 view .LVU1458
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4857 .loc 1 2416 10 is_stmt 0 discriminator 2 view .LVU1459
4858 0018 23F00C03 bic r3, r3, #12
4859 .LVL371:
2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4860 .loc 1 2419 3 is_stmt 1 discriminator 2 view .LVU1460
2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4861 .loc 1 2419 10 is_stmt 0 discriminator 2 view .LVU1461
4862 001c 43F00403 orr r3, r3, #4
4863 .LVL372:
2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4864 .loc 1 2422 3 is_stmt 1 discriminator 2 view .LVU1462
4865 0020 D360 str r3, [r2, #12]
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4866 .loc 1 2424 3 discriminator 2 view .LVU1463
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4867 .loc 1 2424 17 is_stmt 0 discriminator 2 view .LVU1464
4868 0022 2023 movs r3, #32
4869 .LVL373:
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4870 .loc 1 2424 17 discriminator 2 view .LVU1465
4871 0024 80F83930 strb r3, [r0, #57]
4872 .LVL374:
2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccGtkZvD.s page 164
4873 .loc 1 2427 3 is_stmt 1 discriminator 2 view .LVU1466
2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4874 .loc 1 2427 3 discriminator 2 view .LVU1467
4875 0028 0023 movs r3, #0
4876 002a 80F83830 strb r3, [r0, #56]
2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4877 .loc 1 2427 3 discriminator 2 view .LVU1468
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4878 .loc 1 2429 3 discriminator 2 view .LVU1469
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4879 .loc 1 2429 10 is_stmt 0 discriminator 2 view .LVU1470
4880 002e 1846 mov r0, r3
4881 .LVL375:
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4882 .loc 1 2429 10 discriminator 2 view .LVU1471
4883 0030 7047 bx lr
4884 .LVL376:
4885 .L302:
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4886 .loc 1 2408 3 view .LVU1472
4887 0032 0220 movs r0, #2
4888 .LVL377:
2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4889 .loc 1 2430 1 view .LVU1473
4890 0034 7047 bx lr
4891 .cfi_endproc
4892 .LFE165:
4894 .section .text.HAL_UART_GetState,"ax",%progbits
4895 .align 1
4896 .global HAL_UART_GetState
4897 .syntax unified
4898 .thumb
4899 .thumb_func
4901 HAL_UART_GetState:
4902 .LVL378:
4903 .LFB166:
2461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U;
4904 .loc 1 2461 1 is_stmt 1 view -0
4905 .cfi_startproc
4906 @ args = 0, pretend = 0, frame = 0
4907 @ frame_needed = 0, uses_anonymous_args = 0
4908 @ link register save eliminated.
2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp1 = huart->gState;
4909 .loc 1 2462 3 view .LVU1475
2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
4910 .loc 1 2463 3 view .LVU1476
2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
4911 .loc 1 2463 16 is_stmt 0 view .LVU1477
4912 0000 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
4913 .LVL379:
2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4914 .loc 1 2464 3 is_stmt 1 view .LVU1478
2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4915 .loc 1 2464 16 is_stmt 0 view .LVU1479
4916 0004 90F83A00 ldrb r0, [r0, #58] @ zero_extendqisi2
4917 .LVL380:
2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccGtkZvD.s page 165
4918 .loc 1 2466 3 is_stmt 1 view .LVU1480
2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4919 .loc 1 2467 1 is_stmt 0 view .LVU1481
4920 0008 1843 orrs r0, r0, r3
4921 .LVL381:
2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4922 .loc 1 2467 1 view .LVU1482
4923 000a 7047 bx lr
4924 .cfi_endproc
4925 .LFE166:
4927 .section .text.HAL_UART_GetError,"ax",%progbits
4928 .align 1
4929 .global HAL_UART_GetError
4930 .syntax unified
4931 .thumb
4932 .thumb_func
4934 HAL_UART_GetError:
4935 .LVL382:
4936 .LFB167:
2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return huart->ErrorCode;
4937 .loc 1 2476 1 is_stmt 1 view -0
4938 .cfi_startproc
4939 @ args = 0, pretend = 0, frame = 0
4940 @ frame_needed = 0, uses_anonymous_args = 0
4941 @ link register save eliminated.
2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4942 .loc 1 2477 3 view .LVU1484
2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4943 .loc 1 2477 15 is_stmt 0 view .LVU1485
4944 0000 C06B ldr r0, [r0, #60]
4945 .LVL383:
2478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4946 .loc 1 2478 1 view .LVU1486
4947 0002 7047 bx lr
4948 .cfi_endproc
4949 .LFE167:
4951 .text
4952 .Letext0:
4953 .file 2 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
4954 .file 3 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
4955 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
4956 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
4957 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
4958 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
4959 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h"
4960 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h"
4961 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
ARM GAS /tmp/ccGtkZvD.s page 166
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f4xx_hal_uart.c
/tmp/ccGtkZvD.s:20 .text.UART_EndTxTransfer:0000000000000000 $t
/tmp/ccGtkZvD.s:25 .text.UART_EndTxTransfer:0000000000000000 UART_EndTxTransfer
/tmp/ccGtkZvD.s:49 .text.UART_EndRxTransfer:0000000000000000 $t
/tmp/ccGtkZvD.s:54 .text.UART_EndRxTransfer:0000000000000000 UART_EndRxTransfer
/tmp/ccGtkZvD.s:82 .text.UART_Transmit_IT:0000000000000000 $t
/tmp/ccGtkZvD.s:87 .text.UART_Transmit_IT:0000000000000000 UART_Transmit_IT
/tmp/ccGtkZvD.s:195 .text.UART_SetConfig:0000000000000000 $t
/tmp/ccGtkZvD.s:200 .text.UART_SetConfig:0000000000000000 UART_SetConfig
/tmp/ccGtkZvD.s:572 .text.UART_SetConfig:0000000000000320 $d
/tmp/ccGtkZvD.s:578 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t
/tmp/ccGtkZvD.s:583 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout
/tmp/ccGtkZvD.s:676 .text.HAL_UART_MspInit:0000000000000000 $t
/tmp/ccGtkZvD.s:682 .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit
/tmp/ccGtkZvD.s:697 .text.HAL_UART_Init:0000000000000000 $t
/tmp/ccGtkZvD.s:703 .text.HAL_UART_Init:0000000000000000 HAL_UART_Init
/tmp/ccGtkZvD.s:798 .text.HAL_HalfDuplex_Init:0000000000000000 $t
/tmp/ccGtkZvD.s:804 .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init
/tmp/ccGtkZvD.s:904 .text.HAL_LIN_Init:0000000000000000 $t
/tmp/ccGtkZvD.s:910 .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init
/tmp/ccGtkZvD.s:1029 .text.HAL_MultiProcessor_Init:0000000000000000 $t
/tmp/ccGtkZvD.s:1035 .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init
/tmp/ccGtkZvD.s:1161 .text.HAL_UART_MspDeInit:0000000000000000 $t
/tmp/ccGtkZvD.s:1167 .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit
/tmp/ccGtkZvD.s:1182 .text.HAL_UART_DeInit:0000000000000000 $t
/tmp/ccGtkZvD.s:1188 .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit
/tmp/ccGtkZvD.s:1250 .text.HAL_UART_Transmit:0000000000000000 $t
/tmp/ccGtkZvD.s:1256 .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit
/tmp/ccGtkZvD.s:1494 .text.HAL_UART_Receive:0000000000000000 $t
/tmp/ccGtkZvD.s:1500 .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive
/tmp/ccGtkZvD.s:1749 .text.HAL_UART_Transmit_IT:0000000000000000 $t
/tmp/ccGtkZvD.s:1755 .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT
/tmp/ccGtkZvD.s:1853 .text.HAL_UART_Receive_IT:0000000000000000 $t
/tmp/ccGtkZvD.s:1859 .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT
/tmp/ccGtkZvD.s:1967 .text.HAL_UART_Transmit_DMA:0000000000000000 $t
/tmp/ccGtkZvD.s:1973 .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA
/tmp/ccGtkZvD.s:2117 .text.HAL_UART_Transmit_DMA:0000000000000080 $d
/tmp/ccGtkZvD.s:2993 .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt
/tmp/ccGtkZvD.s:3113 .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt
/tmp/ccGtkZvD.s:3468 .text.UART_DMAError:0000000000000000 UART_DMAError
/tmp/ccGtkZvD.s:2124 .text.HAL_UART_Receive_DMA:0000000000000000 $t
/tmp/ccGtkZvD.s:2130 .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA
/tmp/ccGtkZvD.s:2294 .text.HAL_UART_Receive_DMA:000000000000009c $d
/tmp/ccGtkZvD.s:3166 .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt
/tmp/ccGtkZvD.s:3415 .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt
/tmp/ccGtkZvD.s:2301 .text.HAL_UART_DMAPause:0000000000000000 $t
/tmp/ccGtkZvD.s:2307 .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause
/tmp/ccGtkZvD.s:2409 .text.HAL_UART_DMAResume:0000000000000000 $t
/tmp/ccGtkZvD.s:2415 .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume
/tmp/ccGtkZvD.s:2527 .text.HAL_UART_DMAStop:0000000000000000 $t
/tmp/ccGtkZvD.s:2533 .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop
/tmp/ccGtkZvD.s:2636 .text.HAL_UART_Abort:0000000000000000 $t
/tmp/ccGtkZvD.s:2642 .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort
/tmp/ccGtkZvD.s:2784 .text.HAL_UART_AbortTransmit:0000000000000000 $t
/tmp/ccGtkZvD.s:2790 .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit
/tmp/ccGtkZvD.s:2873 .text.HAL_UART_AbortReceive:0000000000000000 $t
ARM GAS /tmp/ccGtkZvD.s page 167
/tmp/ccGtkZvD.s:2879 .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive
/tmp/ccGtkZvD.s:2967 .text.HAL_UART_TxCpltCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:2973 .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback
/tmp/ccGtkZvD.s:2988 .text.UART_DMATransmitCplt:0000000000000000 $t
/tmp/ccGtkZvD.s:3049 .text.UART_EndTransmit_IT:0000000000000000 $t
/tmp/ccGtkZvD.s:3054 .text.UART_EndTransmit_IT:0000000000000000 UART_EndTransmit_IT
/tmp/ccGtkZvD.s:3087 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:3093 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback
/tmp/ccGtkZvD.s:3108 .text.UART_DMATxHalfCplt:0000000000000000 $t
/tmp/ccGtkZvD.s:3140 .text.HAL_UART_RxCpltCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:3146 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
/tmp/ccGtkZvD.s:3161 .text.UART_DMAReceiveCplt:0000000000000000 $t
/tmp/ccGtkZvD.s:3226 .text.UART_Receive_IT:0000000000000000 $t
/tmp/ccGtkZvD.s:3231 .text.UART_Receive_IT:0000000000000000 UART_Receive_IT
/tmp/ccGtkZvD.s:3389 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:3395 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback
/tmp/ccGtkZvD.s:3410 .text.UART_DMARxHalfCplt:0000000000000000 $t
/tmp/ccGtkZvD.s:3442 .text.HAL_UART_ErrorCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:3448 .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback
/tmp/ccGtkZvD.s:3463 .text.UART_DMAError:0000000000000000 $t
/tmp/ccGtkZvD.s:3565 .text.HAL_UART_IRQHandler:0000000000000000 $t
/tmp/ccGtkZvD.s:3571 .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler
/tmp/ccGtkZvD.s:3837 .text.HAL_UART_IRQHandler:000000000000011c $d
/tmp/ccGtkZvD.s:3847 .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError
/tmp/ccGtkZvD.s:3842 .text.UART_DMAAbortOnError:0000000000000000 $t
/tmp/ccGtkZvD.s:3880 .text.HAL_UART_AbortCpltCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:3886 .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback
/tmp/ccGtkZvD.s:3901 .text.HAL_UART_Abort_IT:0000000000000000 $t
/tmp/ccGtkZvD.s:3907 .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT
/tmp/ccGtkZvD.s:4097 .text.HAL_UART_Abort_IT:00000000000000bc $d
/tmp/ccGtkZvD.s:4174 .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback
/tmp/ccGtkZvD.s:4108 .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback
/tmp/ccGtkZvD.s:4103 .text.UART_DMARxAbortCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:4169 .text.UART_DMATxAbortCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:4235 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:4241 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback
/tmp/ccGtkZvD.s:4256 .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t
/tmp/ccGtkZvD.s:4262 .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT
/tmp/ccGtkZvD.s:4357 .text.HAL_UART_AbortTransmit_IT:000000000000005c $d
/tmp/ccGtkZvD.s:4367 .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback
/tmp/ccGtkZvD.s:4362 .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:4401 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:4407 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback
/tmp/ccGtkZvD.s:4422 .text.HAL_UART_AbortReceive_IT:0000000000000000 $t
/tmp/ccGtkZvD.s:4428 .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT
/tmp/ccGtkZvD.s:4528 .text.HAL_UART_AbortReceive_IT:0000000000000064 $d
/tmp/ccGtkZvD.s:4538 .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback
/tmp/ccGtkZvD.s:4533 .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t
/tmp/ccGtkZvD.s:4572 .text.HAL_LIN_SendBreak:0000000000000000 $t
/tmp/ccGtkZvD.s:4578 .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak
/tmp/ccGtkZvD.s:4631 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t
/tmp/ccGtkZvD.s:4637 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode
/tmp/ccGtkZvD.s:4690 .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 $t
/tmp/ccGtkZvD.s:4696 .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 HAL_MultiProcessor_ExitMuteMode
/tmp/ccGtkZvD.s:4749 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t
/tmp/ccGtkZvD.s:4755 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter
/tmp/ccGtkZvD.s:4822 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t
ARM GAS /tmp/ccGtkZvD.s page 168
/tmp/ccGtkZvD.s:4828 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver
/tmp/ccGtkZvD.s:4895 .text.HAL_UART_GetState:0000000000000000 $t
/tmp/ccGtkZvD.s:4901 .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState
/tmp/ccGtkZvD.s:4928 .text.HAL_UART_GetError:0000000000000000 $t
/tmp/ccGtkZvD.s:4934 .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError
UNDEFINED SYMBOLS
HAL_RCC_GetPCLK1Freq
HAL_RCC_GetPCLK2Freq
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_GetError
HAL_DMA_Abort_IT