ARM GAS /tmp/ccD7nRW1.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
4 .eabi_attribute 20, 1
5 .eabi_attribute 21, 1
6 .eabi_attribute 23, 3
7 .eabi_attribute 24, 1
8 .eabi_attribute 25, 1
9 .eabi_attribute 26, 1
10 .eabi_attribute 30, 1
11 .eabi_attribute 34, 1
12 .eabi_attribute 18, 4
13 .file "stm32f4xx_hal_uart.c"
14 .text
15 .Ltext0:
16 .cfi_sections .debug_frame
17 .section .text.UART_EndTxTransfer,"ax",%progbits
18 .align 1
19 .syntax unified
20 .thumb
21 .thumb_func
22 .fpu fpv4-sp-d16
24 UART_EndTxTransfer:
25 .LFB174:
26 .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):
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.
ARM GAS /tmp/ccD7nRW1.s page 2
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
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 ****
ARM GAS /tmp/ccD7nRW1.s page 3
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
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()
ARM GAS /tmp/ccD7nRW1.s page 4
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 **** |---------|-----------|---------------------------------------|
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 **** +-------------------------------------------------------------+
ARM GAS /tmp/ccD7nRW1.s page 5
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);
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);
ARM GAS /tmp/ccD7nRW1.s page 6
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
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)
ARM GAS /tmp/ccD7nRW1.s page 7
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));
373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Enable the peripheral */
ARM GAS /tmp/ccD7nRW1.s page 8
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);
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 */
ARM GAS /tmp/ccD7nRW1.s page 9
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)
487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccD7nRW1.s page 10
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
544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
ARM GAS /tmp/ccD7nRW1.s page 11
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);
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 */
ARM GAS /tmp/ccD7nRW1.s page 12
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 ****
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return HAL_OK;
659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccD7nRW1.s page 13
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 ****
715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (pCallback == NULL)
716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccD7nRW1.s page 14
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;
772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
ARM GAS /tmp/ccD7nRW1.s page 15
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
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
ARM GAS /tmp/ccD7nRW1.s page 16
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;
886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Return error status */
ARM GAS /tmp/ccD7nRW1.s page 17
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 ****
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.
ARM GAS /tmp/ccD7nRW1.s page 18
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
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
ARM GAS /tmp/ccD7nRW1.s page 19
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;
1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
ARM GAS /tmp/ccD7nRW1.s page 20
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 ****
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);
ARM GAS /tmp/ccD7nRW1.s page 21
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 */
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccD7nRW1.s page 22
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
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
ARM GAS /tmp/ccD7nRW1.s page 23
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)
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))
ARM GAS /tmp/ccD7nRW1.s page 24
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.
1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** * @retval HAL status
1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
ARM GAS /tmp/ccD7nRW1.s page 25
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 **** }
1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccD7nRW1.s page 26
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 */
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 **** }
ARM GAS /tmp/ccD7nRW1.s page 27
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 ****
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)
ARM GAS /tmp/ccD7nRW1.s page 28
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 **** {
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 ****
ARM GAS /tmp/ccD7nRW1.s page 29
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);
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) */
ARM GAS /tmp/ccD7nRW1.s page 30
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.
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;
ARM GAS /tmp/ccD7nRW1.s page 31
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;
1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** else
ARM GAS /tmp/ccD7nRW1.s page 32
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 */
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 **** {
ARM GAS /tmp/ccD7nRW1.s page 33
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));
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 */
ARM GAS /tmp/ccD7nRW1.s page 34
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;
1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccD7nRW1.s page 35
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 */
1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccD7nRW1.s page 36
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 **** }
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 -----------------------------------*/
ARM GAS /tmp/ccD7nRW1.s page 37
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 **** {
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)
ARM GAS /tmp/ccD7nRW1.s page 38
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.
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.
ARM GAS /tmp/ccD7nRW1.s page 39
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 **** }
2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /**
ARM GAS /tmp/ccD7nRW1.s page 40
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,
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 **** */
ARM GAS /tmp/ccD7nRW1.s page 41
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
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
ARM GAS /tmp/ccD7nRW1.s page 42
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 **** */
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 **** {
ARM GAS /tmp/ccD7nRW1.s page 43
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;
2425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Unlocked */
ARM GAS /tmp/ccD7nRW1.s page 44
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 **** * @}
2482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** */
2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccD7nRW1.s page 45
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)
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);
ARM GAS /tmp/ccD7nRW1.s page 46
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
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);
ARM GAS /tmp/ccD7nRW1.s page 47
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*/
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 */
ARM GAS /tmp/ccD7nRW1.s page 48
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 **** {
27 .loc 1 2700 0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
32 .LVL0:
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));
33 .loc 1 2702 0
34 0000 0268 ldr r2, [r0]
35 0002 D368 ldr r3, [r2, #12]
ARM GAS /tmp/ccD7nRW1.s page 49
36 0004 23F0C003 bic r3, r3, #192
37 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;
38 .loc 1 2705 0
39 000a 2023 movs r3, #32
40 000c 80F83930 strb r3, [r0, #57]
41 0010 7047 bx lr
42 .cfi_endproc
43 .LFE174:
45 .section .text.UART_EndRxTransfer,"ax",%progbits
46 .align 1
47 .syntax unified
48 .thumb
49 .thumb_func
50 .fpu fpv4-sp-d16
52 UART_EndRxTransfer:
53 .LFB175:
2706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
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 **** {
54 .loc 1 2714 0
55 .cfi_startproc
56 @ args = 0, pretend = 0, frame = 0
57 @ frame_needed = 0, uses_anonymous_args = 0
58 @ link register save eliminated.
59 .LVL1:
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));
60 .loc 1 2716 0
61 0000 0268 ldr r2, [r0]
62 0002 D368 ldr r3, [r2, #12]
63 0004 23F49073 bic r3, r3, #288
64 0008 D360 str r3, [r2, #12]
2717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
65 .loc 1 2717 0
66 000a 0268 ldr r2, [r0]
67 000c 5369 ldr r3, [r2, #20]
68 000e 23F00103 bic r3, r3, #1
69 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;
70 .loc 1 2720 0
71 0014 2023 movs r3, #32
72 0016 80F83A30 strb r3, [r0, #58]
73 001a 7047 bx lr
74 .cfi_endproc
75 .LFE175:
77 .section .text.UART_Transmit_IT,"ax",%progbits
ARM GAS /tmp/ccD7nRW1.s page 50
78 .align 1
79 .syntax unified
80 .thumb
81 .thumb_func
82 .fpu fpv4-sp-d16
84 UART_Transmit_IT:
85 .LFB181:
2721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
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 **** }
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;
ARM GAS /tmp/ccD7nRW1.s page 51
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;
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 */
ARM GAS /tmp/ccD7nRW1.s page 52
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 ****
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);
ARM GAS /tmp/ccD7nRW1.s page 53
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 **** {
86 .loc 1 2898 0
87 .cfi_startproc
88 @ args = 0, pretend = 0, frame = 0
89 @ frame_needed = 0, uses_anonymous_args = 0
90 @ link register save eliminated.
91 .LVL2:
2899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
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)
92 .loc 1 2902 0
93 0000 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
94 0004 DBB2 uxtb r3, r3
95 0006 212B cmp r3, #33
96 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 */
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;
ARM GAS /tmp/ccD7nRW1.s page 54
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;
97 .loc 1 2934 0
98 000a 0220 movs r0, #2
99 .LVL3:
100 000c 7047 bx lr
101 .LVL4:
102 .L10:
2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
103 .loc 1 2904 0
104 000e 8368 ldr r3, [r0, #8]
105 0010 B3F5805F cmp r3, #4096
106 0014 17D0 beq .L11
2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
107 .loc 1 2919 0
108 0016 0268 ldr r2, [r0]
109 0018 036A ldr r3, [r0, #32]
110 001a 591C adds r1, r3, #1
111 001c 0162 str r1, [r0, #32]
112 001e 1B78 ldrb r3, [r3] @ zero_extendqisi2
113 0020 5360 str r3, [r2, #4]
114 .L7:
2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
115 .loc 1 2922 0
116 0022 C38C ldrh r3, [r0, #38]
117 0024 9BB2 uxth r3, r3
118 0026 013B subs r3, r3, #1
119 0028 9BB2 uxth r3, r3
120 002a C384 strh r3, [r0, #38] @ movhi
121 002c DBB9 cbnz r3, .L9
2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
122 .loc 1 2925 0
123 002e 0268 ldr r2, [r0]
124 0030 D368 ldr r3, [r2, #12]
125 0032 23F08003 bic r3, r3, #128
126 0036 D360 str r3, [r2, #12]
2928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
127 .loc 1 2928 0
128 0038 0268 ldr r2, [r0]
129 003a D368 ldr r3, [r2, #12]
130 003c 43F04003 orr r3, r3, #64
131 0040 D360 str r3, [r2, #12]
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
132 .loc 1 2930 0
133 0042 0020 movs r0, #0
134 .LVL5:
135 0044 7047 bx lr
136 .LVL6:
137 .L11:
2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
138 .loc 1 2906 0
139 0046 036A ldr r3, [r0, #32]
140 .LVL7:
2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
141 .loc 1 2907 0
ARM GAS /tmp/ccD7nRW1.s page 55
142 0048 0268 ldr r2, [r0]
143 004a 1B88 ldrh r3, [r3]
144 .LVL8:
145 004c C3F30803 ubfx r3, r3, #0, #9
146 0050 5360 str r3, [r2, #4]
147 .LVL9:
2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
148 .loc 1 2908 0
149 0052 0369 ldr r3, [r0, #16]
150 0054 1BB9 cbnz r3, .L6
2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
151 .loc 1 2910 0
152 0056 036A ldr r3, [r0, #32]
153 0058 0233 adds r3, r3, #2
154 005a 0362 str r3, [r0, #32]
155 005c E1E7 b .L7
156 .L6:
2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
157 .loc 1 2914 0
158 005e 036A ldr r3, [r0, #32]
159 0060 0133 adds r3, r3, #1
160 0062 0362 str r3, [r0, #32]
161 0064 DDE7 b .L7
162 .L9:
2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
163 .loc 1 2930 0
164 0066 0020 movs r0, #0
165 .LVL10:
2935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
166 .loc 1 2936 0
167 0068 7047 bx lr
168 .cfi_endproc
169 .LFE181:
171 .section .text.UART_SetConfig,"ax",%progbits
172 .align 1
173 .syntax unified
174 .thumb
175 .thumb_func
176 .fpu fpv4-sp-d16
178 UART_SetConfig:
179 .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 ****
ARM GAS /tmp/ccD7nRW1.s page 56
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
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);
ARM GAS /tmp/ccD7nRW1.s page 57
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 */
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 **** {
180 .loc 1 3041 0
181 .cfi_startproc
182 @ args = 0, pretend = 0, frame = 0
183 @ frame_needed = 0, uses_anonymous_args = 0
184 .LVL11:
185 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
186 .LCFI0:
187 .cfi_def_cfa_offset 32
188 .cfi_offset 4, -32
189 .cfi_offset 5, -28
190 .cfi_offset 6, -24
191 .cfi_offset 7, -20
192 .cfi_offset 8, -16
193 .cfi_offset 9, -12
194 .cfi_offset 10, -8
195 .cfi_offset 14, -4
196 0004 0446 mov r4, r0
3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg;
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));
3046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
ARM GAS /tmp/ccD7nRW1.s page 58
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);
197 .loc 1 3053 0
198 0006 0268 ldr r2, [r0]
199 0008 1369 ldr r3, [r2, #16]
200 000a 23F44053 bic r3, r3, #12288
201 000e C168 ldr r1, [r0, #12]
202 0010 0B43 orrs r3, r3, r1
203 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
204 .loc 1 3062 0
205 0014 8368 ldr r3, [r0, #8]
206 0016 0269 ldr r2, [r0, #16]
207 0018 1343 orrs r3, r3, r2
208 001a 4269 ldr r2, [r0, #20]
209 001c 1343 orrs r3, r3, r2
210 001e C269 ldr r2, [r0, #28]
211 0020 1343 orrs r3, r3, r2
212 .LVL12:
3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1,
213 .loc 1 3063 0
214 0022 0168 ldr r1, [r0]
215 0024 CA68 ldr r2, [r1, #12]
216 0026 22F41642 bic r2, r2, #38400
217 002a 22F00C02 bic r2, r2, #12
218 002e 1343 orrs r3, r3, r2
219 .LVL13:
220 0030 CB60 str r3, [r1, #12]
221 .LVL14:
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);
222 .loc 1 3069 0
223 0032 0268 ldr r2, [r0]
224 0034 5369 ldr r3, [r2, #20]
225 0036 23F44073 bic r3, r3, #768
226 003a 8169 ldr r1, [r0, #24]
227 003c 0B43 orrs r3, r3, r1
228 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)
229 .loc 1 3072 0
ARM GAS /tmp/ccD7nRW1.s page 59
230 0040 C369 ldr r3, [r0, #28]
231 0042 B3F5004F cmp r3, #32768
232 0046 62D0 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))
233 .loc 1 3095 0
234 0048 D0F80080 ldr r8, [r0]
235 004c BB4B ldr r3, .L21
236 004e 9845 cmp r8, r3
237 0050 00F01B81 beq .L17
238 .loc 1 3095 0 is_stmt 0 discriminator 1
239 0054 03F58063 add r3, r3, #1024
240 0058 9845 cmp r8, r3
241 005a 00F01681 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);
242 .loc 1 3107 0 is_stmt 1
243 005e FFF7FEFF bl HAL_RCC_GetPCLK1Freq
244 .LVL15:
245 0062 00EB8000 add r0, r0, r0, lsl #2
246 0066 00EB8000 add r0, r0, r0, lsl #2
247 006a 6568 ldr r5, [r4, #4]
248 006c AD00 lsls r5, r5, #2
249 006e B0FBF5F5 udiv r5, r0, r5
250 0072 B34F ldr r7, .L21+4
251 0074 A7FB0535 umull r3, r5, r7, r5
ARM GAS /tmp/ccD7nRW1.s page 60
252 0078 6D09 lsrs r5, r5, #5
253 007a 2E01 lsls r6, r5, #4
254 007c FFF7FEFF bl HAL_RCC_GetPCLK1Freq
255 .LVL16:
256 0080 00EB8000 add r0, r0, r0, lsl #2
257 0084 00EB8000 add r0, r0, r0, lsl #2
258 0088 6568 ldr r5, [r4, #4]
259 008a AD00 lsls r5, r5, #2
260 008c B0FBF5FA udiv r10, r0, r5
261 0090 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
262 .LVL17:
263 0094 00EB8000 add r0, r0, r0, lsl #2
264 0098 00EB8000 add r0, r0, r0, lsl #2
265 009c 6568 ldr r5, [r4, #4]
266 009e AD00 lsls r5, r5, #2
267 00a0 B0FBF5F5 udiv r5, r0, r5
268 00a4 A7FB0535 umull r3, r5, r7, r5
269 00a8 6D09 lsrs r5, r5, #5
270 00aa 4FF06409 mov r9, #100
271 00ae 09FB15A5 mls r5, r9, r5, r10
272 00b2 2D01 lsls r5, r5, #4
273 00b4 3235 adds r5, r5, #50
274 00b6 A7FB0535 umull r3, r5, r7, r5
275 00ba 6D09 lsrs r5, r5, #5
276 00bc 05F0F005 and r5, r5, #240
277 00c0 3544 add r5, r5, r6
278 00c2 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
279 .LVL18:
280 00c6 00EB8000 add r0, r0, r0, lsl #2
281 00ca 00EB8000 add r0, r0, r0, lsl #2
282 00ce 6668 ldr r6, [r4, #4]
283 00d0 B600 lsls r6, r6, #2
284 00d2 B0FBF6F6 udiv r6, r0, r6
285 00d6 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
286 .LVL19:
287 00da 00EB8000 add r0, r0, r0, lsl #2
288 00de 00EB8000 add r0, r0, r0, lsl #2
289 00e2 6368 ldr r3, [r4, #4]
290 00e4 9B00 lsls r3, r3, #2
291 00e6 B0FBF3F0 udiv r0, r0, r3
292 00ea A7FB0030 umull r3, r0, r7, r0
293 00ee 4009 lsrs r0, r0, #5
294 00f0 09FB1069 mls r9, r9, r0, r6
295 00f4 4FEA0919 lsl r9, r9, #4
296 00f8 09F13209 add r9, r9, #50
297 00fc A7FB0937 umull r3, r7, r7, r9
298 0100 C7F34317 ubfx r7, r7, #5, #4
299 0104 2F44 add r7, r7, r5
300 0106 C8F80870 str r7, [r8, #8]
301 010a BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
302 .LVL20:
303 .L20:
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
304 .loc 1 3076 0
305 010e D0F80080 ldr r8, [r0]
306 0112 03F18043 add r3, r3, #1073741824
307 0116 03F51043 add r3, r3, #36864
ARM GAS /tmp/ccD7nRW1.s page 61
308 011a 9845 cmp r8, r3
309 011c 5CD0 beq .L14
3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
310 .loc 1 3076 0 is_stmt 0 discriminator 1
311 011e 03F58063 add r3, r3, #1024
312 0122 9845 cmp r8, r3
313 0124 58D0 beq .L14
3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
314 .loc 1 3088 0 is_stmt 1
315 0126 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
316 .LVL21:
317 012a 00EB8000 add r0, r0, r0, lsl #2
318 012e 00EB8000 add r0, r0, r0, lsl #2
319 0132 6568 ldr r5, [r4, #4]
320 0134 6D00 lsls r5, r5, #1
321 0136 B0FBF5F5 udiv r5, r0, r5
322 013a 814F ldr r7, .L21+4
323 013c A7FB0535 umull r3, r5, r7, r5
324 0140 6D09 lsrs r5, r5, #5
325 0142 2E01 lsls r6, r5, #4
326 0144 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
327 .LVL22:
328 0148 00EB8000 add r0, r0, r0, lsl #2
329 014c 00EB8000 add r0, r0, r0, lsl #2
330 0150 6568 ldr r5, [r4, #4]
331 0152 6D00 lsls r5, r5, #1
332 0154 B0FBF5FA udiv r10, r0, r5
333 0158 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
334 .LVL23:
335 015c 00EB8000 add r0, r0, r0, lsl #2
336 0160 00EB8000 add r0, r0, r0, lsl #2
337 0164 6568 ldr r5, [r4, #4]
338 0166 6D00 lsls r5, r5, #1
339 0168 B0FBF5F5 udiv r5, r0, r5
340 016c A7FB0535 umull r3, r5, r7, r5
341 0170 6D09 lsrs r5, r5, #5
342 0172 4FF06409 mov r9, #100
343 0176 09FB15A5 mls r5, r9, r5, r10
344 017a ED00 lsls r5, r5, #3
345 017c 3235 adds r5, r5, #50
346 017e A7FB0535 umull r3, r5, r7, r5
347 0182 6D09 lsrs r5, r5, #5
348 0184 6D00 lsls r5, r5, #1
349 0186 05F4F875 and r5, r5, #496
350 018a 3544 add r5, r5, r6
351 018c FFF7FEFF bl HAL_RCC_GetPCLK1Freq
352 .LVL24:
353 0190 00EB8000 add r0, r0, r0, lsl #2
354 0194 00EB8000 add r0, r0, r0, lsl #2
355 0198 6668 ldr r6, [r4, #4]
356 019a 7600 lsls r6, r6, #1
357 019c B0FBF6F6 udiv r6, r0, r6
358 01a0 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
359 .LVL25:
360 01a4 00EB8000 add r0, r0, r0, lsl #2
361 01a8 00EB8000 add r0, r0, r0, lsl #2
362 01ac 6368 ldr r3, [r4, #4]
ARM GAS /tmp/ccD7nRW1.s page 62
363 01ae 5B00 lsls r3, r3, #1
364 01b0 B0FBF3F3 udiv r3, r0, r3
365 01b4 A7FB0323 umull r2, r3, r7, r3
366 01b8 5B09 lsrs r3, r3, #5
367 01ba 09FB1369 mls r9, r9, r3, r6
368 01be 4FEAC909 lsl r9, r9, #3
369 01c2 09F13209 add r9, r9, #50
370 01c6 A7FB0937 umull r3, r7, r7, r9
371 01ca C7F34217 ubfx r7, r7, #5, #3
372 01ce 2F44 add r7, r7, r5
373 01d0 C8F80870 str r7, [r8, #8]
374 01d4 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
375 .LVL26:
376 .L14:
3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
377 .loc 1 3078 0
378 01d8 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
379 .LVL27:
380 01dc 00EB8000 add r0, r0, r0, lsl #2
381 01e0 00EB8000 add r0, r0, r0, lsl #2
382 01e4 6568 ldr r5, [r4, #4]
383 01e6 6D00 lsls r5, r5, #1
384 01e8 B0FBF5F5 udiv r5, r0, r5
385 01ec 544F ldr r7, .L21+4
386 01ee A7FB0535 umull r3, r5, r7, r5
387 01f2 6D09 lsrs r5, r5, #5
388 01f4 2E01 lsls r6, r5, #4
389 01f6 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
390 .LVL28:
391 01fa 00EB8000 add r0, r0, r0, lsl #2
392 01fe 00EB8000 add r0, r0, r0, lsl #2
393 0202 6568 ldr r5, [r4, #4]
394 0204 6D00 lsls r5, r5, #1
395 0206 B0FBF5FA udiv r10, r0, r5
396 020a FFF7FEFF bl HAL_RCC_GetPCLK2Freq
397 .LVL29:
398 020e 00EB8000 add r0, r0, r0, lsl #2
399 0212 00EB8000 add r0, r0, r0, lsl #2
400 0216 6568 ldr r5, [r4, #4]
401 0218 6D00 lsls r5, r5, #1
402 021a B0FBF5F5 udiv r5, r0, r5
403 021e A7FB0535 umull r3, r5, r7, r5
404 0222 6D09 lsrs r5, r5, #5
405 0224 4FF06409 mov r9, #100
406 0228 09FB15A5 mls r5, r9, r5, r10
407 022c ED00 lsls r5, r5, #3
408 022e 3235 adds r5, r5, #50
409 0230 A7FB0535 umull r3, r5, r7, r5
410 0234 6D09 lsrs r5, r5, #5
411 0236 6D00 lsls r5, r5, #1
412 0238 05F4F875 and r5, r5, #496
413 023c 3544 add r5, r5, r6
414 023e FFF7FEFF bl HAL_RCC_GetPCLK2Freq
415 .LVL30:
416 0242 00EB8000 add r0, r0, r0, lsl #2
417 0246 00EB8000 add r0, r0, r0, lsl #2
418 024a 6668 ldr r6, [r4, #4]
ARM GAS /tmp/ccD7nRW1.s page 63
419 024c 7600 lsls r6, r6, #1
420 024e B0FBF6F6 udiv r6, r0, r6
421 0252 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
422 .LVL31:
423 0256 00EB8000 add r0, r0, r0, lsl #2
424 025a 00EB8000 add r0, r0, r0, lsl #2
425 025e 6368 ldr r3, [r4, #4]
426 0260 5B00 lsls r3, r3, #1
427 0262 B0FBF3F3 udiv r3, r0, r3
428 0266 A7FB0323 umull r2, r3, r7, r3
429 026a 5B09 lsrs r3, r3, #5
430 026c 09FB1369 mls r9, r9, r3, r6
431 0270 4FEAC909 lsl r9, r9, #3
432 0274 09F13209 add r9, r9, #50
433 0278 A7FB0937 umull r3, r7, r7, r9
434 027c C7F34217 ubfx r7, r7, #5, #3
435 0280 2F44 add r7, r7, r5
436 0282 C8F80870 str r7, [r8, #8]
437 0286 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
438 .LVL32:
439 .L17:
3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
440 .loc 1 3097 0
441 028a FFF7FEFF bl HAL_RCC_GetPCLK2Freq
442 .LVL33:
443 028e 00EB8000 add r0, r0, r0, lsl #2
444 0292 00EB8000 add r0, r0, r0, lsl #2
445 0296 6568 ldr r5, [r4, #4]
446 0298 AD00 lsls r5, r5, #2
447 029a B0FBF5F5 udiv r5, r0, r5
448 029e 284F ldr r7, .L21+4
449 02a0 A7FB0535 umull r3, r5, r7, r5
450 02a4 6D09 lsrs r5, r5, #5
451 02a6 2E01 lsls r6, r5, #4
452 02a8 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
453 .LVL34:
454 02ac 00EB8000 add r0, r0, r0, lsl #2
455 02b0 00EB8000 add r0, r0, r0, lsl #2
456 02b4 6568 ldr r5, [r4, #4]
457 02b6 AD00 lsls r5, r5, #2
458 02b8 B0FBF5FA udiv r10, r0, r5
459 02bc FFF7FEFF bl HAL_RCC_GetPCLK2Freq
460 .LVL35:
461 02c0 00EB8000 add r0, r0, r0, lsl #2
462 02c4 00EB8000 add r0, r0, r0, lsl #2
463 02c8 6568 ldr r5, [r4, #4]
464 02ca AD00 lsls r5, r5, #2
465 02cc B0FBF5F5 udiv r5, r0, r5
466 02d0 A7FB0535 umull r3, r5, r7, r5
467 02d4 6D09 lsrs r5, r5, #5
468 02d6 4FF06409 mov r9, #100
469 02da 09FB15A5 mls r5, r9, r5, r10
470 02de 2D01 lsls r5, r5, #4
471 02e0 3235 adds r5, r5, #50
472 02e2 A7FB0535 umull r3, r5, r7, r5
473 02e6 6D09 lsrs r5, r5, #5
474 02e8 05F0F005 and r5, r5, #240
ARM GAS /tmp/ccD7nRW1.s page 64
475 02ec 3544 add r5, r5, r6
476 02ee FFF7FEFF bl HAL_RCC_GetPCLK2Freq
477 .LVL36:
478 02f2 00EB8000 add r0, r0, r0, lsl #2
479 02f6 00EB8000 add r0, r0, r0, lsl #2
480 02fa 6668 ldr r6, [r4, #4]
481 02fc B600 lsls r6, r6, #2
482 02fe B0FBF6F6 udiv r6, r0, r6
483 0302 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
484 .LVL37:
485 0306 00EB8000 add r0, r0, r0, lsl #2
486 030a 00EB8000 add r0, r0, r0, lsl #2
487 030e 6368 ldr r3, [r4, #4]
488 0310 9B00 lsls r3, r3, #2
489 0312 B0FBF3F3 udiv r3, r0, r3
490 0316 A7FB0323 umull r2, r3, r7, r3
491 031a 5B09 lsrs r3, r3, #5
492 031c 09FB1369 mls r9, r9, r3, r6
493 0320 4FEA0919 lsl r9, r9, #4
494 0324 09F13209 add r9, r9, #50
495 0328 A7FB0937 umull r3, r7, r7, r9
496 032c C7F34317 ubfx r7, r7, #5, #4
497 0330 2F44 add r7, r7, r5
498 0332 C8F80870 str r7, [r8, #8]
499 0336 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
500 .LVL38:
501 .L22:
502 033a 00BF .align 2
503 .L21:
504 033c 00100140 .word 1073811456
505 0340 1F85EB51 .word 1374389535
506 .cfi_endproc
507 .LFE184:
509 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
510 .align 1
511 .syntax unified
512 .thumb
513 .thumb_func
514 .fpu fpv4-sp-d16
516 UART_WaitOnFlagUntilTimeout:
517 .LFB173:
2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Wait until flag is set */
518 .loc 1 2668 0
519 .cfi_startproc
520 @ args = 4, pretend = 0, frame = 0
521 @ frame_needed = 0, uses_anonymous_args = 0
522 .LVL39:
523 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
524 .LCFI1:
525 .cfi_def_cfa_offset 24
526 .cfi_offset 4, -24
527 .cfi_offset 5, -20
528 .cfi_offset 6, -16
529 .cfi_offset 7, -12
530 .cfi_offset 8, -8
531 .cfi_offset 14, -4
532 0004 0546 mov r5, r0
ARM GAS /tmp/ccD7nRW1.s page 65
533 0006 0F46 mov r7, r1
534 0008 1646 mov r6, r2
535 000a 9846 mov r8, r3
536 000c 069C ldr r4, [sp, #24]
537 .LVL40:
538 .L25:
2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
539 .loc 1 2670 0
540 000e 2B68 ldr r3, [r5]
541 0010 1B68 ldr r3, [r3]
542 0012 37EA0303 bics r3, r7, r3
543 0016 0CBF ite eq
544 0018 0123 moveq r3, #1
545 001a 0023 movne r3, #0
546 001c B342 cmp r3, r6
547 001e 1ED1 bne .L30
2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
548 .loc 1 2673 0
549 0020 B4F1FF3F cmp r4, #-1
550 0024 F3D0 beq .L25
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
551 .loc 1 2675 0
552 0026 2CB1 cbz r4, .L26
2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
553 .loc 1 2675 0 is_stmt 0 discriminator 1
554 0028 FFF7FEFF bl HAL_GetTick
555 .LVL41:
556 002c A0EB0800 sub r0, r0, r8
557 0030 8442 cmp r4, r0
558 0032 ECD2 bcs .L25
559 .L26:
2678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
560 .loc 1 2678 0 is_stmt 1
561 0034 2A68 ldr r2, [r5]
562 0036 D368 ldr r3, [r2, #12]
563 0038 23F4D073 bic r3, r3, #416
564 003c D360 str r3, [r2, #12]
2679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
565 .loc 1 2679 0
566 003e 2A68 ldr r2, [r5]
567 0040 5369 ldr r3, [r2, #20]
568 0042 23F00103 bic r3, r3, #1
569 0046 5361 str r3, [r2, #20]
2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
570 .loc 1 2681 0
571 0048 2023 movs r3, #32
572 004a 85F83930 strb r3, [r5, #57]
2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
573 .loc 1 2682 0
574 004e 85F83A30 strb r3, [r5, #58]
2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
575 .loc 1 2685 0
576 0052 0023 movs r3, #0
577 0054 85F83830 strb r3, [r5, #56]
2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
578 .loc 1 2687 0
579 0058 0320 movs r0, #3
ARM GAS /tmp/ccD7nRW1.s page 66
580 005a BDE8F081 pop {r4, r5, r6, r7, r8, pc}
581 .LVL42:
582 .L30:
2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
583 .loc 1 2691 0
584 005e 0020 movs r0, #0
2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
585 .loc 1 2692 0
586 0060 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
587 .cfi_endproc
588 .LFE173:
590 .section .text.HAL_UART_MspInit,"ax",%progbits
591 .align 1
592 .weak HAL_UART_MspInit
593 .syntax unified
594 .thumb
595 .thumb_func
596 .fpu fpv4-sp-d16
598 HAL_UART_MspInit:
599 .LFB135:
668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
600 .loc 1 668 0
601 .cfi_startproc
602 @ args = 0, pretend = 0, frame = 0
603 @ frame_needed = 0, uses_anonymous_args = 0
604 @ link register save eliminated.
605 .LVL43:
606 0000 7047 bx lr
607 .cfi_endproc
608 .LFE135:
610 .section .text.HAL_UART_Init,"ax",%progbits
611 .align 1
612 .global HAL_UART_Init
613 .syntax unified
614 .thumb
615 .thumb_func
616 .fpu fpv4-sp-d16
618 HAL_UART_Init:
619 .LFB130:
318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
620 .loc 1 318 0
621 .cfi_startproc
622 @ args = 0, pretend = 0, frame = 0
623 @ frame_needed = 0, uses_anonymous_args = 0
624 .LVL44:
320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
625 .loc 1 320 0
626 0000 58B3 cbz r0, .L35
318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
627 .loc 1 318 0
628 0002 10B5 push {r4, lr}
629 .LCFI2:
630 .cfi_def_cfa_offset 8
631 .cfi_offset 4, -8
632 .cfi_offset 14, -4
633 0004 0446 mov r4, r0
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccD7nRW1.s page 67
634 .loc 1 339 0
635 0006 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
636 000a 0BB3 cbz r3, .L40
637 .LVL45:
638 .L34:
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
639 .loc 1 360 0
640 000c 2423 movs r3, #36
641 000e 84F83930 strb r3, [r4, #57]
363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
642 .loc 1 363 0
643 0012 2268 ldr r2, [r4]
644 0014 D368 ldr r3, [r2, #12]
645 0016 23F40053 bic r3, r3, #8192
646 001a D360 str r3, [r2, #12]
366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
647 .loc 1 366 0
648 001c 2046 mov r0, r4
649 001e FFF7FEFF bl UART_SetConfig
650 .LVL46:
371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
651 .loc 1 371 0
652 0022 2268 ldr r2, [r4]
653 0024 1369 ldr r3, [r2, #16]
654 0026 23F49043 bic r3, r3, #18432
655 002a 1361 str r3, [r2, #16]
372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
656 .loc 1 372 0
657 002c 2268 ldr r2, [r4]
658 002e 5369 ldr r3, [r2, #20]
659 0030 23F02A03 bic r3, r3, #42
660 0034 5361 str r3, [r2, #20]
375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
661 .loc 1 375 0
662 0036 2268 ldr r2, [r4]
663 0038 D368 ldr r3, [r2, #12]
664 003a 43F40053 orr r3, r3, #8192
665 003e D360 str r3, [r2, #12]
378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
666 .loc 1 378 0
667 0040 0020 movs r0, #0
668 0042 E063 str r0, [r4, #60]
379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
669 .loc 1 379 0
670 0044 2023 movs r3, #32
671 0046 84F83930 strb r3, [r4, #57]
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
672 .loc 1 380 0
673 004a 84F83A30 strb r3, [r4, #58]
382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
674 .loc 1 382 0
675 004e 10BD pop {r4, pc}
676 .LVL47:
677 .L40:
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
678 .loc 1 342 0
679 0050 80F83830 strb r3, [r0, #56]
ARM GAS /tmp/ccD7nRW1.s page 68
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
680 .loc 1 356 0
681 0054 FFF7FEFF bl HAL_UART_MspInit
682 .LVL48:
683 0058 D8E7 b .L34
684 .LVL49:
685 .L35:
686 .LCFI3:
687 .cfi_def_cfa_offset 0
688 .cfi_restore 4
689 .cfi_restore 14
322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
690 .loc 1 322 0
691 005a 0120 movs r0, #1
692 .LVL50:
693 005c 7047 bx lr
694 .cfi_endproc
695 .LFE130:
697 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
698 .align 1
699 .global HAL_HalfDuplex_Init
700 .syntax unified
701 .thumb
702 .thumb_func
703 .fpu fpv4-sp-d16
705 HAL_HalfDuplex_Init:
706 .LFB131:
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
707 .loc 1 393 0
708 .cfi_startproc
709 @ args = 0, pretend = 0, frame = 0
710 @ frame_needed = 0, uses_anonymous_args = 0
711 .LVL51:
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
712 .loc 1 395 0
713 0000 0028 cmp r0, #0
714 0002 30D0 beq .L44
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
715 .loc 1 393 0
716 0004 10B5 push {r4, lr}
717 .LCFI4:
718 .cfi_def_cfa_offset 8
719 .cfi_offset 4, -8
720 .cfi_offset 14, -4
721 0006 0446 mov r4, r0
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
722 .loc 1 405 0
723 0008 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
724 000c 33B3 cbz r3, .L49
725 .LVL52:
726 .L43:
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
727 .loc 1 426 0
728 000e 2423 movs r3, #36
729 0010 84F83930 strb r3, [r4, #57]
429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
730 .loc 1 429 0
ARM GAS /tmp/ccD7nRW1.s page 69
731 0014 2268 ldr r2, [r4]
732 0016 D368 ldr r3, [r2, #12]
733 0018 23F40053 bic r3, r3, #8192
734 001c D360 str r3, [r2, #12]
432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
735 .loc 1 432 0
736 001e 2046 mov r0, r4
737 0020 FFF7FEFF bl UART_SetConfig
738 .LVL53:
437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
739 .loc 1 437 0
740 0024 2268 ldr r2, [r4]
741 0026 1369 ldr r3, [r2, #16]
742 0028 23F49043 bic r3, r3, #18432
743 002c 1361 str r3, [r2, #16]
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
744 .loc 1 438 0
745 002e 2268 ldr r2, [r4]
746 0030 5369 ldr r3, [r2, #20]
747 0032 23F02203 bic r3, r3, #34
748 0036 5361 str r3, [r2, #20]
441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
749 .loc 1 441 0
750 0038 2268 ldr r2, [r4]
751 003a 5369 ldr r3, [r2, #20]
752 003c 43F00803 orr r3, r3, #8
753 0040 5361 str r3, [r2, #20]
444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
754 .loc 1 444 0
755 0042 2268 ldr r2, [r4]
756 0044 D368 ldr r3, [r2, #12]
757 0046 43F40053 orr r3, r3, #8192
758 004a D360 str r3, [r2, #12]
447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
759 .loc 1 447 0
760 004c 0020 movs r0, #0
761 004e E063 str r0, [r4, #60]
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
762 .loc 1 448 0
763 0050 2023 movs r3, #32
764 0052 84F83930 strb r3, [r4, #57]
449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
765 .loc 1 449 0
766 0056 84F83A30 strb r3, [r4, #58]
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
767 .loc 1 451 0
768 005a 10BD pop {r4, pc}
769 .LVL54:
770 .L49:
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
771 .loc 1 408 0
772 005c 80F83830 strb r3, [r0, #56]
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
773 .loc 1 422 0
774 0060 FFF7FEFF bl HAL_UART_MspInit
775 .LVL55:
776 0064 D3E7 b .L43
ARM GAS /tmp/ccD7nRW1.s page 70
777 .LVL56:
778 .L44:
779 .LCFI5:
780 .cfi_def_cfa_offset 0
781 .cfi_restore 4
782 .cfi_restore 14
397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
783 .loc 1 397 0
784 0066 0120 movs r0, #1
785 .LVL57:
786 0068 7047 bx lr
787 .cfi_endproc
788 .LFE131:
790 .section .text.HAL_LIN_Init,"ax",%progbits
791 .align 1
792 .global HAL_LIN_Init
793 .syntax unified
794 .thumb
795 .thumb_func
796 .fpu fpv4-sp-d16
798 HAL_LIN_Init:
799 .LFB132:
466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
800 .loc 1 466 0
801 .cfi_startproc
802 @ args = 0, pretend = 0, frame = 0
803 @ frame_needed = 0, uses_anonymous_args = 0
804 .LVL58:
468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
805 .loc 1 468 0
806 0000 0028 cmp r0, #0
807 0002 3BD0 beq .L53
466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
808 .loc 1 466 0
809 0004 38B5 push {r3, r4, r5, lr}
810 .LCFI6:
811 .cfi_def_cfa_offset 16
812 .cfi_offset 3, -16
813 .cfi_offset 4, -12
814 .cfi_offset 5, -8
815 .cfi_offset 14, -4
816 0006 0446 mov r4, r0
817 0008 0D46 mov r5, r1
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
818 .loc 1 481 0
819 000a 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
820 000e 002B cmp r3, #0
821 0010 2FD0 beq .L58
822 .LVL59:
823 .L52:
502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
824 .loc 1 502 0
825 0012 2423 movs r3, #36
826 0014 84F83930 strb r3, [r4, #57]
505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
827 .loc 1 505 0
828 0018 2268 ldr r2, [r4]
ARM GAS /tmp/ccD7nRW1.s page 71
829 001a D368 ldr r3, [r2, #12]
830 001c 23F40053 bic r3, r3, #8192
831 0020 D360 str r3, [r2, #12]
508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
832 .loc 1 508 0
833 0022 2046 mov r0, r4
834 0024 FFF7FEFF bl UART_SetConfig
835 .LVL60:
513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
836 .loc 1 513 0
837 0028 2268 ldr r2, [r4]
838 002a 1369 ldr r3, [r2, #16]
839 002c 23F40063 bic r3, r3, #2048
840 0030 1361 str r3, [r2, #16]
514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
841 .loc 1 514 0
842 0032 2268 ldr r2, [r4]
843 0034 5369 ldr r3, [r2, #20]
844 0036 23F02A03 bic r3, r3, #42
845 003a 5361 str r3, [r2, #20]
517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
846 .loc 1 517 0
847 003c 2268 ldr r2, [r4]
848 003e 1369 ldr r3, [r2, #16]
849 0040 43F48043 orr r3, r3, #16384
850 0044 1361 str r3, [r2, #16]
520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength);
851 .loc 1 520 0
852 0046 2268 ldr r2, [r4]
853 0048 1369 ldr r3, [r2, #16]
854 004a 23F02003 bic r3, r3, #32
855 004e 1361 str r3, [r2, #16]
521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
856 .loc 1 521 0
857 0050 2368 ldr r3, [r4]
858 0052 1969 ldr r1, [r3, #16]
859 0054 0D43 orrs r5, r5, r1
860 .LVL61:
861 0056 1D61 str r5, [r3, #16]
524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
862 .loc 1 524 0
863 0058 2268 ldr r2, [r4]
864 005a D368 ldr r3, [r2, #12]
865 005c 43F40053 orr r3, r3, #8192
866 0060 D360 str r3, [r2, #12]
527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
867 .loc 1 527 0
868 0062 0020 movs r0, #0
869 0064 E063 str r0, [r4, #60]
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
870 .loc 1 528 0
871 0066 2023 movs r3, #32
872 0068 84F83930 strb r3, [r4, #57]
529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
873 .loc 1 529 0
874 006c 84F83A30 strb r3, [r4, #58]
531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccD7nRW1.s page 72
875 .loc 1 531 0
876 0070 38BD pop {r3, r4, r5, pc}
877 .LVL62:
878 .L58:
484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
879 .loc 1 484 0
880 0072 80F83830 strb r3, [r0, #56]
498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
881 .loc 1 498 0
882 0076 FFF7FEFF bl HAL_UART_MspInit
883 .LVL63:
884 007a CAE7 b .L52
885 .LVL64:
886 .L53:
887 .LCFI7:
888 .cfi_def_cfa_offset 0
889 .cfi_restore 3
890 .cfi_restore 4
891 .cfi_restore 5
892 .cfi_restore 14
470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
893 .loc 1 470 0
894 007c 0120 movs r0, #1
895 .LVL65:
896 007e 7047 bx lr
897 .cfi_endproc
898 .LFE132:
900 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
901 .align 1
902 .global HAL_MultiProcessor_Init
903 .syntax unified
904 .thumb
905 .thumb_func
906 .fpu fpv4-sp-d16
908 HAL_MultiProcessor_Init:
909 .LFB133:
547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
910 .loc 1 547 0
911 .cfi_startproc
912 @ args = 0, pretend = 0, frame = 0
913 @ frame_needed = 0, uses_anonymous_args = 0
914 .LVL66:
549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
915 .loc 1 549 0
916 0000 0028 cmp r0, #0
917 0002 40D0 beq .L62
547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
918 .loc 1 547 0
919 0004 70B5 push {r4, r5, r6, lr}
920 .LCFI8:
921 .cfi_def_cfa_offset 16
922 .cfi_offset 4, -16
923 .cfi_offset 5, -12
924 .cfi_offset 6, -8
925 .cfi_offset 14, -4
926 0006 0446 mov r4, r0
927 0008 1646 mov r6, r2
ARM GAS /tmp/ccD7nRW1.s page 73
928 000a 0D46 mov r5, r1
563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
929 .loc 1 563 0
930 000c 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
931 0010 002B cmp r3, #0
932 0012 33D0 beq .L67
933 .LVL67:
934 .L61:
584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
935 .loc 1 584 0
936 0014 2423 movs r3, #36
937 0016 84F83930 strb r3, [r4, #57]
587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
938 .loc 1 587 0
939 001a 2268 ldr r2, [r4]
940 001c D368 ldr r3, [r2, #12]
941 001e 23F40053 bic r3, r3, #8192
942 0022 D360 str r3, [r2, #12]
590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
943 .loc 1 590 0
944 0024 2046 mov r0, r4
945 0026 FFF7FEFF bl UART_SetConfig
946 .LVL68:
595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
947 .loc 1 595 0
948 002a 2268 ldr r2, [r4]
949 002c 1369 ldr r3, [r2, #16]
950 002e 23F49043 bic r3, r3, #18432
951 0032 1361 str r3, [r2, #16]
596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
952 .loc 1 596 0
953 0034 2268 ldr r2, [r4]
954 0036 5369 ldr r3, [r2, #20]
955 0038 23F02A03 bic r3, r3, #42
956 003c 5361 str r3, [r2, #20]
599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address);
957 .loc 1 599 0
958 003e 2268 ldr r2, [r4]
959 0040 1369 ldr r3, [r2, #16]
960 0042 23F00F03 bic r3, r3, #15
961 0046 1361 str r3, [r2, #16]
600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
962 .loc 1 600 0
963 0048 2368 ldr r3, [r4]
964 004a 1969 ldr r1, [r3, #16]
965 004c 0D43 orrs r5, r5, r1
966 004e 1D61 str r5, [r3, #16]
603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod);
967 .loc 1 603 0
968 0050 2268 ldr r2, [r4]
969 0052 D368 ldr r3, [r2, #12]
970 0054 23F40063 bic r3, r3, #2048
971 0058 D360 str r3, [r2, #12]
604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
972 .loc 1 604 0
973 005a 2168 ldr r1, [r4]
974 005c CB68 ldr r3, [r1, #12]
ARM GAS /tmp/ccD7nRW1.s page 74
975 005e 3343 orrs r3, r3, r6
976 0060 CB60 str r3, [r1, #12]
607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
977 .loc 1 607 0
978 0062 2268 ldr r2, [r4]
979 0064 D368 ldr r3, [r2, #12]
980 0066 43F40053 orr r3, r3, #8192
981 006a D360 str r3, [r2, #12]
610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
982 .loc 1 610 0
983 006c 0020 movs r0, #0
984 006e E063 str r0, [r4, #60]
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
985 .loc 1 611 0
986 0070 2023 movs r3, #32
987 0072 84F83930 strb r3, [r4, #57]
612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
988 .loc 1 612 0
989 0076 84F83A30 strb r3, [r4, #58]
614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
990 .loc 1 614 0
991 007a 70BD pop {r4, r5, r6, pc}
992 .LVL69:
993 .L67:
566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
994 .loc 1 566 0
995 007c 80F83830 strb r3, [r0, #56]
580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
996 .loc 1 580 0
997 0080 FFF7FEFF bl HAL_UART_MspInit
998 .LVL70:
999 0084 C6E7 b .L61
1000 .LVL71:
1001 .L62:
1002 .LCFI9:
1003 .cfi_def_cfa_offset 0
1004 .cfi_restore 4
1005 .cfi_restore 5
1006 .cfi_restore 6
1007 .cfi_restore 14
551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1008 .loc 1 551 0
1009 0086 0120 movs r0, #1
1010 .LVL72:
1011 0088 7047 bx lr
1012 .cfi_endproc
1013 .LFE133:
1015 .section .text.HAL_UART_MspDeInit,"ax",%progbits
1016 .align 1
1017 .weak HAL_UART_MspDeInit
1018 .syntax unified
1019 .thumb
1020 .thumb_func
1021 .fpu fpv4-sp-d16
1023 HAL_UART_MspDeInit:
1024 .LFB136:
683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS /tmp/ccD7nRW1.s page 75
1025 .loc 1 683 0
1026 .cfi_startproc
1027 @ args = 0, pretend = 0, frame = 0
1028 @ frame_needed = 0, uses_anonymous_args = 0
1029 @ link register save eliminated.
1030 .LVL73:
1031 0000 7047 bx lr
1032 .cfi_endproc
1033 .LFE136:
1035 .section .text.HAL_UART_DeInit,"ax",%progbits
1036 .align 1
1037 .global HAL_UART_DeInit
1038 .syntax unified
1039 .thumb
1040 .thumb_func
1041 .fpu fpv4-sp-d16
1043 HAL_UART_DeInit:
1044 .LFB134:
624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1045 .loc 1 624 0
1046 .cfi_startproc
1047 @ args = 0, pretend = 0, frame = 0
1048 @ frame_needed = 0, uses_anonymous_args = 0
1049 .LVL74:
626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1050 .loc 1 626 0
1051 0000 A0B1 cbz r0, .L71
624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the UART handle allocation */
1052 .loc 1 624 0
1053 0002 10B5 push {r4, lr}
1054 .LCFI10:
1055 .cfi_def_cfa_offset 8
1056 .cfi_offset 4, -8
1057 .cfi_offset 14, -4
1058 0004 0446 mov r4, r0
634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1059 .loc 1 634 0
1060 0006 2423 movs r3, #36
1061 0008 80F83930 strb r3, [r0, #57]
637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1062 .loc 1 637 0
1063 000c 0268 ldr r2, [r0]
1064 000e D368 ldr r3, [r2, #12]
1065 0010 23F40053 bic r3, r3, #8192
1066 0014 D360 str r3, [r2, #12]
648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
1067 .loc 1 648 0
1068 0016 FFF7FEFF bl HAL_UART_MspDeInit
1069 .LVL75:
651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
1070 .loc 1 651 0
1071 001a 0020 movs r0, #0
1072 001c E063 str r0, [r4, #60]
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
1073 .loc 1 652 0
1074 001e 84F83900 strb r0, [r4, #57]
653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccD7nRW1.s page 76
1075 .loc 1 653 0
1076 0022 84F83A00 strb r0, [r4, #58]
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1077 .loc 1 656 0
1078 0026 84F83800 strb r0, [r4, #56]
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1079 .loc 1 658 0
1080 002a 10BD pop {r4, pc}
1081 .LVL76:
1082 .L71:
1083 .LCFI11:
1084 .cfi_def_cfa_offset 0
1085 .cfi_restore 4
1086 .cfi_restore 14
628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1087 .loc 1 628 0
1088 002c 0120 movs r0, #1
1089 .LVL77:
1090 002e 7047 bx lr
1091 .cfi_endproc
1092 .LFE134:
1094 .section .text.HAL_UART_Transmit,"ax",%progbits
1095 .align 1
1096 .global HAL_UART_Transmit
1097 .syntax unified
1098 .thumb
1099 .thumb_func
1100 .fpu fpv4-sp-d16
1102 HAL_UART_Transmit:
1103 .LFB137:
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
1104 .loc 1 1020 0
1105 .cfi_startproc
1106 @ args = 0, pretend = 0, frame = 0
1107 @ frame_needed = 0, uses_anonymous_args = 0
1108 .LVL78:
1109 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1110 .LCFI12:
1111 .cfi_def_cfa_offset 24
1112 .cfi_offset 4, -24
1113 .cfi_offset 5, -20
1114 .cfi_offset 6, -16
1115 .cfi_offset 7, -12
1116 .cfi_offset 8, -8
1117 .cfi_offset 14, -4
1118 0004 82B0 sub sp, sp, #8
1119 .LCFI13:
1120 .cfi_def_cfa_offset 32
1121 0006 1E46 mov r6, r3
1122 .LVL79:
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1123 .loc 1 1025 0
1124 0008 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
1125 .LVL80:
1126 000c DBB2 uxtb r3, r3
1127 000e 202B cmp r3, #32
1128 0010 04D0 beq .L91
ARM GAS /tmp/ccD7nRW1.s page 77
1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1129 .loc 1 1088 0
1130 0012 0223 movs r3, #2
1131 .LVL81:
1132 .L77:
1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1133 .loc 1 1090 0
1134 0014 1846 mov r0, r3
1135 0016 02B0 add sp, sp, #8
1136 .LCFI14:
1137 .cfi_remember_state
1138 .cfi_def_cfa_offset 24
1139 @ sp needed
1140 0018 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1141 .LVL82:
1142 .L91:
1143 .LCFI15:
1144 .cfi_restore_state
1145 001c 0446 mov r4, r0
1146 001e 0D46 mov r5, r1
1147 0020 9046 mov r8, r2
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1148 .loc 1 1027 0
1149 0022 0029 cmp r1, #0
1150 0024 55D0 beq .L84
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1151 .loc 1 1027 0 is_stmt 0 discriminator 1
1152 0026 002A cmp r2, #0
1153 0028 55D0 beq .L85
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1154 .loc 1 1033 0 is_stmt 1
1155 002a 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1156 002e 012B cmp r3, #1
1157 0030 01D1 bne .L92
1158 0032 0223 movs r3, #2
1159 0034 EEE7 b .L77
1160 .L92:
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1161 .loc 1 1033 0 is_stmt 0 discriminator 2
1162 0036 0123 movs r3, #1
1163 0038 80F83830 strb r3, [r0, #56]
1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1164 .loc 1 1035 0 is_stmt 1 discriminator 2
1165 003c 0023 movs r3, #0
1166 003e C363 str r3, [r0, #60]
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1167 .loc 1 1036 0 discriminator 2
1168 0040 2123 movs r3, #33
1169 0042 80F83930 strb r3, [r0, #57]
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1170 .loc 1 1039 0 discriminator 2
1171 0046 FFF7FEFF bl HAL_GetTick
1172 .LVL83:
1173 004a 0746 mov r7, r0
1174 .LVL84:
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1175 .loc 1 1041 0 discriminator 2
ARM GAS /tmp/ccD7nRW1.s page 78
1176 004c A4F82480 strh r8, [r4, #36] @ movhi
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1177 .loc 1 1042 0 discriminator 2
1178 0050 A4F82680 strh r8, [r4, #38] @ movhi
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1179 .loc 1 1043 0 discriminator 2
1180 0054 10E0 b .L78
1181 .LVL85:
1182 .L94:
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1183 .loc 1 1048 0
1184 0056 0096 str r6, [sp]
1185 0058 3B46 mov r3, r7
1186 005a 0022 movs r2, #0
1187 005c 8021 movs r1, #128
1188 005e 2046 mov r0, r4
1189 0060 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1190 .LVL86:
1191 0064 0028 cmp r0, #0
1192 0066 38D1 bne .L87
1193 .LVL87:
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1194 .loc 1 1053 0
1195 0068 2268 ldr r2, [r4]
1196 006a 2B88 ldrh r3, [r5]
1197 006c C3F30803 ubfx r3, r3, #0, #9
1198 0070 5360 str r3, [r2, #4]
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1199 .loc 1 1054 0
1200 0072 2369 ldr r3, [r4, #16]
1201 0074 CBB9 cbnz r3, .L80
1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1202 .loc 1 1056 0
1203 0076 0235 adds r5, r5, #2
1204 .LVL88:
1205 .L78:
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1206 .loc 1 1043 0
1207 0078 E38C ldrh r3, [r4, #38]
1208 007a 9BB2 uxth r3, r3
1209 007c BBB1 cbz r3, .L93
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1210 .loc 1 1045 0
1211 007e E38C ldrh r3, [r4, #38]
1212 0080 9BB2 uxth r3, r3
1213 0082 013B subs r3, r3, #1
1214 0084 9BB2 uxth r3, r3
1215 0086 E384 strh r3, [r4, #38] @ movhi
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1216 .loc 1 1046 0
1217 0088 A368 ldr r3, [r4, #8]
1218 008a B3F5805F cmp r3, #4096
1219 008e E2D0 beq .L94
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1220 .loc 1 1065 0
1221 0090 0096 str r6, [sp]
1222 0092 3B46 mov r3, r7
ARM GAS /tmp/ccD7nRW1.s page 79
1223 0094 0022 movs r2, #0
1224 0096 8021 movs r1, #128
1225 0098 2046 mov r0, r4
1226 009a FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1227 .LVL89:
1228 009e F0B9 cbnz r0, .L88
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1229 .loc 1 1069 0
1230 00a0 2368 ldr r3, [r4]
1231 .LVL90:
1232 00a2 2A78 ldrb r2, [r5] @ zero_extendqisi2
1233 00a4 5A60 str r2, [r3, #4]
1234 00a6 0135 adds r5, r5, #1
1235 .LVL91:
1236 00a8 E6E7 b .L78
1237 .LVL92:
1238 .L80:
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1239 .loc 1 1060 0
1240 00aa 0135 adds r5, r5, #1
1241 .LVL93:
1242 00ac E4E7 b .L78
1243 .LVL94:
1244 .L93:
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1245 .loc 1 1073 0
1246 00ae 0096 str r6, [sp]
1247 00b0 3B46 mov r3, r7
1248 00b2 0022 movs r2, #0
1249 00b4 4021 movs r1, #64
1250 00b6 2046 mov r0, r4
1251 00b8 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1252 .LVL95:
1253 00bc 0346 mov r3, r0
1254 00be 08B1 cbz r0, .L95
1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1255 .loc 1 1075 0
1256 00c0 0323 movs r3, #3
1257 00c2 A7E7 b .L77
1258 .L95:
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1259 .loc 1 1079 0
1260 00c4 2022 movs r2, #32
1261 00c6 84F83920 strb r2, [r4, #57]
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1262 .loc 1 1082 0
1263 00ca 0022 movs r2, #0
1264 00cc 84F83820 strb r2, [r4, #56]
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1265 .loc 1 1084 0
1266 00d0 A0E7 b .L77
1267 .LVL96:
1268 .L84:
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1269 .loc 1 1029 0
1270 00d2 0123 movs r3, #1
1271 00d4 9EE7 b .L77
ARM GAS /tmp/ccD7nRW1.s page 80
1272 .L85:
1273 00d6 0123 movs r3, #1
1274 00d8 9CE7 b .L77
1275 .LVL97:
1276 .L87:
1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1277 .loc 1 1050 0
1278 00da 0323 movs r3, #3
1279 00dc 9AE7 b .L77
1280 .L88:
1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1281 .loc 1 1067 0
1282 00de 0323 movs r3, #3
1283 00e0 98E7 b .L77
1284 .cfi_endproc
1285 .LFE137:
1287 .section .text.HAL_UART_Receive,"ax",%progbits
1288 .align 1
1289 .global HAL_UART_Receive
1290 .syntax unified
1291 .thumb
1292 .thumb_func
1293 .fpu fpv4-sp-d16
1295 HAL_UART_Receive:
1296 .LFB138:
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
1297 .loc 1 1102 0
1298 .cfi_startproc
1299 @ args = 0, pretend = 0, frame = 0
1300 @ frame_needed = 0, uses_anonymous_args = 0
1301 .LVL98:
1302 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1303 .LCFI16:
1304 .cfi_def_cfa_offset 24
1305 .cfi_offset 4, -24
1306 .cfi_offset 5, -20
1307 .cfi_offset 6, -16
1308 .cfi_offset 7, -12
1309 .cfi_offset 8, -8
1310 .cfi_offset 14, -4
1311 0004 82B0 sub sp, sp, #8
1312 .LCFI17:
1313 .cfi_def_cfa_offset 32
1314 0006 1E46 mov r6, r3
1315 .LVL99:
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1316 .loc 1 1107 0
1317 0008 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
1318 .LVL100:
1319 000c DBB2 uxtb r3, r3
1320 000e 202B cmp r3, #32
1321 0010 03D0 beq .L111
1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1322 .loc 1 1177 0
1323 0012 0220 movs r0, #2
1324 .LVL101:
1325 .L97:
ARM GAS /tmp/ccD7nRW1.s page 81
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1326 .loc 1 1179 0
1327 0014 02B0 add sp, sp, #8
1328 .LCFI18:
1329 .cfi_remember_state
1330 .cfi_def_cfa_offset 24
1331 @ sp needed
1332 0016 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1333 .LVL102:
1334 .L111:
1335 .LCFI19:
1336 .cfi_restore_state
1337 001a 0446 mov r4, r0
1338 001c 0D46 mov r5, r1
1339 001e 9046 mov r8, r2
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1340 .loc 1 1109 0
1341 0020 0029 cmp r1, #0
1342 0022 58D0 beq .L105
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1343 .loc 1 1109 0 is_stmt 0 discriminator 1
1344 0024 002A cmp r2, #0
1345 0026 58D0 beq .L106
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1346 .loc 1 1115 0 is_stmt 1
1347 0028 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1348 002c 012B cmp r3, #1
1349 002e 01D1 bne .L112
1350 0030 0220 movs r0, #2
1351 .LVL103:
1352 0032 EFE7 b .L97
1353 .LVL104:
1354 .L112:
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1355 .loc 1 1115 0 is_stmt 0 discriminator 2
1356 0034 0123 movs r3, #1
1357 0036 80F83830 strb r3, [r0, #56]
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1358 .loc 1 1117 0 is_stmt 1 discriminator 2
1359 003a 0023 movs r3, #0
1360 003c C363 str r3, [r0, #60]
1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1361 .loc 1 1118 0 discriminator 2
1362 003e 2223 movs r3, #34
1363 0040 80F83A30 strb r3, [r0, #58]
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1364 .loc 1 1121 0 discriminator 2
1365 0044 FFF7FEFF bl HAL_GetTick
1366 .LVL105:
1367 0048 0746 mov r7, r0
1368 .LVL106:
1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1369 .loc 1 1123 0 discriminator 2
1370 004a A4F82C80 strh r8, [r4, #44] @ movhi
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1371 .loc 1 1124 0 discriminator 2
1372 004e A4F82E80 strh r8, [r4, #46] @ movhi
ARM GAS /tmp/ccD7nRW1.s page 82
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1373 .loc 1 1127 0 discriminator 2
1374 0052 1DE0 b .L98
1375 .LVL107:
1376 .L114:
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1377 .loc 1 1132 0
1378 0054 0096 str r6, [sp]
1379 0056 3B46 mov r3, r7
1380 0058 0022 movs r2, #0
1381 005a 2021 movs r1, #32
1382 005c 2046 mov r0, r4
1383 005e FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1384 .LVL108:
1385 0062 0028 cmp r0, #0
1386 0064 3BD1 bne .L108
1387 .LVL109:
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1388 .loc 1 1137 0
1389 0066 2369 ldr r3, [r4, #16]
1390 0068 33B9 cbnz r3, .L100
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 2U;
1391 .loc 1 1139 0
1392 006a 2368 ldr r3, [r4]
1393 006c 5B68 ldr r3, [r3, #4]
1394 006e C3F30803 ubfx r3, r3, #0, #9
1395 0072 25F8023B strh r3, [r5], #2 @ movhi
1396 .LVL110:
1397 0076 0BE0 b .L98
1398 .LVL111:
1399 .L100:
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** pData += 1U;
1400 .loc 1 1144 0
1401 0078 2368 ldr r3, [r4]
1402 007a 5B68 ldr r3, [r3, #4]
1403 007c DBB2 uxtb r3, r3
1404 007e 25F8013B strh r3, [r5], #1 @ movhi
1405 .LVL112:
1406 0082 05E0 b .L98
1407 .LVL113:
1408 .L102:
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1409 .loc 1 1161 0
1410 0084 2368 ldr r3, [r4]
1411 0086 5B68 ldr r3, [r3, #4]
1412 0088 03F07F03 and r3, r3, #127
1413 008c 2B70 strb r3, [r5]
1414 008e 0135 adds r5, r5, #1
1415 .LVL114:
1416 .L98:
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1417 .loc 1 1127 0
1418 0090 E38D ldrh r3, [r4, #46]
1419 0092 9BB2 uxth r3, r3
1420 0094 C3B1 cbz r3, .L113
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1421 .loc 1 1129 0
ARM GAS /tmp/ccD7nRW1.s page 83
1422 0096 E38D ldrh r3, [r4, #46]
1423 0098 9BB2 uxth r3, r3
1424 009a 013B subs r3, r3, #1
1425 009c 9BB2 uxth r3, r3
1426 009e E385 strh r3, [r4, #46] @ movhi
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1427 .loc 1 1130 0
1428 00a0 A368 ldr r3, [r4, #8]
1429 00a2 B3F5805F cmp r3, #4096
1430 00a6 D5D0 beq .L114
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1431 .loc 1 1151 0
1432 00a8 0096 str r6, [sp]
1433 00aa 3B46 mov r3, r7
1434 00ac 0022 movs r2, #0
1435 00ae 2021 movs r1, #32
1436 00b0 2046 mov r0, r4
1437 00b2 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1438 .LVL115:
1439 00b6 A0B9 cbnz r0, .L109
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1440 .loc 1 1155 0
1441 00b8 2369 ldr r3, [r4, #16]
1442 00ba 002B cmp r3, #0
1443 00bc E2D1 bne .L102
1444 .LVL116:
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1445 .loc 1 1157 0
1446 00be 2368 ldr r3, [r4]
1447 00c0 5B68 ldr r3, [r3, #4]
1448 00c2 2B70 strb r3, [r5]
1449 00c4 0135 adds r5, r5, #1
1450 .LVL117:
1451 00c6 E3E7 b .L98
1452 .L113:
1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1453 .loc 1 1168 0
1454 00c8 2023 movs r3, #32
1455 00ca 84F83A30 strb r3, [r4, #58]
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1456 .loc 1 1171 0
1457 00ce 0020 movs r0, #0
1458 00d0 84F83800 strb r0, [r4, #56]
1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1459 .loc 1 1173 0
1460 00d4 9EE7 b .L97
1461 .LVL118:
1462 .L105:
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1463 .loc 1 1111 0
1464 00d6 0120 movs r0, #1
1465 .LVL119:
1466 00d8 9CE7 b .L97
1467 .LVL120:
1468 .L106:
1469 00da 0120 movs r0, #1
1470 .LVL121:
ARM GAS /tmp/ccD7nRW1.s page 84
1471 00dc 9AE7 b .L97
1472 .LVL122:
1473 .L108:
1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1474 .loc 1 1134 0
1475 00de 0320 movs r0, #3
1476 00e0 98E7 b .L97
1477 .L109:
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1478 .loc 1 1153 0
1479 00e2 0320 movs r0, #3
1480 00e4 96E7 b .L97
1481 .cfi_endproc
1482 .LFE138:
1484 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
1485 .align 1
1486 .global HAL_UART_Transmit_IT
1487 .syntax unified
1488 .thumb
1489 .thumb_func
1490 .fpu fpv4-sp-d16
1492 HAL_UART_Transmit_IT:
1493 .LFB139:
1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1494 .loc 1 1190 0
1495 .cfi_startproc
1496 @ args = 0, pretend = 0, frame = 0
1497 @ frame_needed = 0, uses_anonymous_args = 0
1498 @ link register save eliminated.
1499 .LVL123:
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1500 .loc 1 1192 0
1501 0000 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
1502 0004 DBB2 uxtb r3, r3
1503 0006 202B cmp r3, #32
1504 0008 01D0 beq .L121
1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1505 .loc 1 1219 0
1506 000a 0220 movs r0, #2
1507 .LVL124:
1508 000c 7047 bx lr
1509 .LVL125:
1510 .L121:
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1511 .loc 1 1194 0
1512 000e A9B1 cbz r1, .L118
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1513 .loc 1 1194 0 is_stmt 0 discriminator 1
1514 0010 B2B1 cbz r2, .L119
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1515 .loc 1 1200 0 is_stmt 1
1516 0012 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1517 0016 012B cmp r3, #1
1518 0018 14D0 beq .L120
1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1519 .loc 1 1202 0 discriminator 2
1520 001a 0162 str r1, [r0, #32]
ARM GAS /tmp/ccD7nRW1.s page 85
1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1521 .loc 1 1203 0 discriminator 2
1522 001c 8284 strh r2, [r0, #36] @ movhi
1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1523 .loc 1 1204 0 discriminator 2
1524 001e C284 strh r2, [r0, #38] @ movhi
1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1525 .loc 1 1206 0 discriminator 2
1526 0020 0023 movs r3, #0
1527 0022 C363 str r3, [r0, #60]
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1528 .loc 1 1207 0 discriminator 2
1529 0024 2122 movs r2, #33
1530 .LVL126:
1531 0026 80F83920 strb r2, [r0, #57]
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1532 .loc 1 1210 0 discriminator 2
1533 002a 80F83830 strb r3, [r0, #56]
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1534 .loc 1 1213 0 discriminator 2
1535 002e 0168 ldr r1, [r0]
1536 .LVL127:
1537 0030 CA68 ldr r2, [r1, #12]
1538 0032 42F08002 orr r2, r2, #128
1539 0036 CA60 str r2, [r1, #12]
1540 .LVL128:
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1541 .loc 1 1215 0 discriminator 2
1542 0038 1846 mov r0, r3
1543 .LVL129:
1544 003a 7047 bx lr
1545 .LVL130:
1546 .L118:
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1547 .loc 1 1196 0
1548 003c 0120 movs r0, #1
1549 .LVL131:
1550 003e 7047 bx lr
1551 .LVL132:
1552 .L119:
1553 0040 0120 movs r0, #1
1554 .LVL133:
1555 0042 7047 bx lr
1556 .LVL134:
1557 .L120:
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1558 .loc 1 1200 0
1559 0044 0220 movs r0, #2
1560 .LVL135:
1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1561 .loc 1 1221 0
1562 0046 7047 bx lr
1563 .cfi_endproc
1564 .LFE139:
1566 .section .text.HAL_UART_Receive_IT,"ax",%progbits
1567 .align 1
1568 .global HAL_UART_Receive_IT
ARM GAS /tmp/ccD7nRW1.s page 86
1569 .syntax unified
1570 .thumb
1571 .thumb_func
1572 .fpu fpv4-sp-d16
1574 HAL_UART_Receive_IT:
1575 .LFB140:
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1576 .loc 1 1232 0
1577 .cfi_startproc
1578 @ args = 0, pretend = 0, frame = 0
1579 @ frame_needed = 0, uses_anonymous_args = 0
1580 @ link register save eliminated.
1581 .LVL136:
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1582 .loc 1 1234 0
1583 0000 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
1584 0004 DBB2 uxtb r3, r3
1585 0006 202B cmp r3, #32
1586 0008 01D0 beq .L128
1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1587 .loc 1 1267 0
1588 000a 0220 movs r0, #2
1589 .LVL137:
1590 000c 7047 bx lr
1591 .LVL138:
1592 .L128:
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1593 .loc 1 1236 0
1594 000e F9B1 cbz r1, .L125
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1595 .loc 1 1236 0 is_stmt 0 discriminator 1
1596 0010 02B3 cbz r2, .L126
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1597 .loc 1 1242 0 is_stmt 1
1598 0012 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1599 0016 012B cmp r3, #1
1600 0018 1ED0 beq .L127
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
1601 .loc 1 1244 0 discriminator 2
1602 001a 8162 str r1, [r0, #40]
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = Size;
1603 .loc 1 1245 0 discriminator 2
1604 001c 8285 strh r2, [r0, #44] @ movhi
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1605 .loc 1 1246 0 discriminator 2
1606 001e C285 strh r2, [r0, #46] @ movhi
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1607 .loc 1 1248 0 discriminator 2
1608 0020 0023 movs r3, #0
1609 0022 C363 str r3, [r0, #60]
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1610 .loc 1 1249 0 discriminator 2
1611 0024 2222 movs r2, #34
1612 .LVL139:
1613 0026 80F83A20 strb r2, [r0, #58]
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1614 .loc 1 1252 0 discriminator 2
ARM GAS /tmp/ccD7nRW1.s page 87
1615 002a 80F83830 strb r3, [r0, #56]
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1616 .loc 1 1255 0 discriminator 2
1617 002e 0168 ldr r1, [r0]
1618 .LVL140:
1619 0030 CA68 ldr r2, [r1, #12]
1620 0032 42F48072 orr r2, r2, #256
1621 0036 CA60 str r2, [r1, #12]
1622 .LVL141:
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1623 .loc 1 1258 0 discriminator 2
1624 0038 0168 ldr r1, [r0]
1625 003a 4A69 ldr r2, [r1, #20]
1626 003c 42F00102 orr r2, r2, #1
1627 0040 4A61 str r2, [r1, #20]
1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1628 .loc 1 1261 0 discriminator 2
1629 0042 0168 ldr r1, [r0]
1630 0044 CA68 ldr r2, [r1, #12]
1631 0046 42F02002 orr r2, r2, #32
1632 004a CA60 str r2, [r1, #12]
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1633 .loc 1 1263 0 discriminator 2
1634 004c 1846 mov r0, r3
1635 .LVL142:
1636 004e 7047 bx lr
1637 .LVL143:
1638 .L125:
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1639 .loc 1 1238 0
1640 0050 0120 movs r0, #1
1641 .LVL144:
1642 0052 7047 bx lr
1643 .LVL145:
1644 .L126:
1645 0054 0120 movs r0, #1
1646 .LVL146:
1647 0056 7047 bx lr
1648 .LVL147:
1649 .L127:
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1650 .loc 1 1242 0
1651 0058 0220 movs r0, #2
1652 .LVL148:
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1653 .loc 1 1269 0
1654 005a 7047 bx lr
1655 .cfi_endproc
1656 .LFE140:
1658 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
1659 .align 1
1660 .global HAL_UART_Transmit_DMA
1661 .syntax unified
1662 .thumb
1663 .thumb_func
1664 .fpu fpv4-sp-d16
1666 HAL_UART_Transmit_DMA:
ARM GAS /tmp/ccD7nRW1.s page 88
1667 .LFB141:
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
1668 .loc 1 1280 0
1669 .cfi_startproc
1670 @ args = 0, pretend = 0, frame = 0
1671 @ frame_needed = 0, uses_anonymous_args = 0
1672 .LVL149:
1673 0000 38B5 push {r3, r4, r5, lr}
1674 .LCFI20:
1675 .cfi_def_cfa_offset 16
1676 .cfi_offset 3, -16
1677 .cfi_offset 4, -12
1678 .cfi_offset 5, -8
1679 .cfi_offset 14, -4
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1680 .loc 1 1284 0
1681 0002 90F83940 ldrb r4, [r0, #57] @ zero_extendqisi2
1682 0006 E4B2 uxtb r4, r4
1683 0008 202C cmp r4, #32
1684 000a 01D0 beq .L136
1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1685 .loc 1 1331 0
1686 000c 0220 movs r0, #2
1687 .LVL150:
1688 000e 38BD pop {r3, r4, r5, pc}
1689 .LVL151:
1690 .L136:
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1691 .loc 1 1286 0
1692 0010 0029 cmp r1, #0
1693 0012 31D0 beq .L132
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1694 .loc 1 1286 0 is_stmt 0 discriminator 1
1695 0014 002A cmp r2, #0
1696 0016 31D0 beq .L133
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1697 .loc 1 1292 0 is_stmt 1
1698 0018 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1699 001c 012B cmp r3, #1
1700 001e 01D1 bne .L137
1701 0020 0220 movs r0, #2
1702 .LVL152:
1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1703 .loc 1 1333 0
1704 0022 38BD pop {r3, r4, r5, pc}
1705 .LVL153:
1706 .L137:
1707 0024 1346 mov r3, r2
1708 0026 0446 mov r4, r0
1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1709 .loc 1 1292 0 discriminator 2
1710 0028 0122 movs r2, #1
1711 .LVL154:
1712 002a 80F83820 strb r2, [r0, #56]
1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferSize = Size;
1713 .loc 1 1294 0 discriminator 2
1714 002e 0162 str r1, [r0, #32]
ARM GAS /tmp/ccD7nRW1.s page 89
1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = Size;
1715 .loc 1 1295 0 discriminator 2
1716 0030 8384 strh r3, [r0, #36] @ movhi
1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1717 .loc 1 1296 0 discriminator 2
1718 0032 C384 strh r3, [r0, #38] @ movhi
1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1719 .loc 1 1298 0 discriminator 2
1720 0034 0025 movs r5, #0
1721 0036 C563 str r5, [r0, #60]
1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1722 .loc 1 1299 0 discriminator 2
1723 0038 2122 movs r2, #33
1724 003a 80F83920 strb r2, [r0, #57]
1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1725 .loc 1 1302 0 discriminator 2
1726 003e 026B ldr r2, [r0, #48]
1727 0040 0F48 ldr r0, .L138
1728 .LVL155:
1729 0042 D063 str r0, [r2, #60]
1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1730 .loc 1 1305 0 discriminator 2
1731 0044 226B ldr r2, [r4, #48]
1732 0046 0F48 ldr r0, .L138+4
1733 0048 1064 str r0, [r2, #64]
1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1734 .loc 1 1308 0 discriminator 2
1735 004a 226B ldr r2, [r4, #48]
1736 004c 0E48 ldr r0, .L138+8
1737 004e D064 str r0, [r2, #76]
1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1738 .loc 1 1311 0 discriminator 2
1739 0050 226B ldr r2, [r4, #48]
1740 0052 1565 str r5, [r2, #80]
1741 .LVL156:
1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1742 .loc 1 1315 0 discriminator 2
1743 0054 2268 ldr r2, [r4]
1744 0056 0432 adds r2, r2, #4
1745 0058 206B ldr r0, [r4, #48]
1746 005a FFF7FEFF bl HAL_DMA_Start_IT
1747 .LVL157:
1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1748 .loc 1 1318 0 discriminator 2
1749 005e 2368 ldr r3, [r4]
1750 0060 6FF04002 mvn r2, #64
1751 0064 1A60 str r2, [r3]
1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1752 .loc 1 1321 0 discriminator 2
1753 0066 84F83850 strb r5, [r4, #56]
1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1754 .loc 1 1325 0 discriminator 2
1755 006a 2268 ldr r2, [r4]
1756 006c 5369 ldr r3, [r2, #20]
1757 006e 43F08003 orr r3, r3, #128
1758 0072 5361 str r3, [r2, #20]
1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccD7nRW1.s page 90
1759 .loc 1 1327 0 discriminator 2
1760 0074 2846 mov r0, r5
1761 0076 38BD pop {r3, r4, r5, pc}
1762 .LVL158:
1763 .L132:
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1764 .loc 1 1288 0
1765 0078 0120 movs r0, #1
1766 .LVL159:
1767 007a 38BD pop {r3, r4, r5, pc}
1768 .LVL160:
1769 .L133:
1770 007c 0120 movs r0, #1
1771 .LVL161:
1772 007e 38BD pop {r3, r4, r5, pc}
1773 .L139:
1774 .align 2
1775 .L138:
1776 0080 00000000 .word UART_DMATransmitCplt
1777 0084 00000000 .word UART_DMATxHalfCplt
1778 0088 00000000 .word UART_DMAError
1779 .cfi_endproc
1780 .LFE141:
1782 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
1783 .align 1
1784 .global HAL_UART_Receive_DMA
1785 .syntax unified
1786 .thumb
1787 .thumb_func
1788 .fpu fpv4-sp-d16
1790 HAL_UART_Receive_DMA:
1791 .LFB142:
1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t *tmp;
1792 .loc 1 1345 0
1793 .cfi_startproc
1794 @ args = 0, pretend = 0, frame = 8
1795 @ frame_needed = 0, uses_anonymous_args = 0
1796 .LVL162:
1797 0000 30B5 push {r4, r5, lr}
1798 .LCFI21:
1799 .cfi_def_cfa_offset 12
1800 .cfi_offset 4, -12
1801 .cfi_offset 5, -8
1802 .cfi_offset 14, -4
1803 0002 83B0 sub sp, sp, #12
1804 .LCFI22:
1805 .cfi_def_cfa_offset 24
1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1806 .loc 1 1349 0
1807 0004 90F83A40 ldrb r4, [r0, #58] @ zero_extendqisi2
1808 0008 E4B2 uxtb r4, r4
1809 000a 202C cmp r4, #32
1810 000c 02D0 beq .L147
1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1811 .loc 1 1401 0
1812 000e 0220 movs r0, #2
1813 .LVL163:
ARM GAS /tmp/ccD7nRW1.s page 91
1814 .L141:
1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1815 .loc 1 1403 0
1816 0010 03B0 add sp, sp, #12
1817 .LCFI23:
1818 .cfi_remember_state
1819 .cfi_def_cfa_offset 12
1820 @ sp needed
1821 0012 30BD pop {r4, r5, pc}
1822 .LVL164:
1823 .L147:
1824 .LCFI24:
1825 .cfi_restore_state
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1826 .loc 1 1351 0
1827 0014 0029 cmp r1, #0
1828 0016 3DD0 beq .L143
1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1829 .loc 1 1351 0 is_stmt 0 discriminator 1
1830 0018 002A cmp r2, #0
1831 001a 3DD0 beq .L144
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1832 .loc 1 1357 0 is_stmt 1
1833 001c 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1834 0020 012B cmp r3, #1
1835 0022 01D1 bne .L148
1836 0024 0220 movs r0, #2
1837 .LVL165:
1838 0026 F3E7 b .L141
1839 .LVL166:
1840 .L148:
1841 0028 1346 mov r3, r2
1842 002a 0A46 mov r2, r1
1843 .LVL167:
1844 002c 0446 mov r4, r0
1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1845 .loc 1 1357 0 is_stmt 0 discriminator 2
1846 002e 0121 movs r1, #1
1847 .LVL168:
1848 0030 80F83810 strb r1, [r0, #56]
1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferSize = Size;
1849 .loc 1 1359 0 is_stmt 1 discriminator 2
1850 0034 8262 str r2, [r0, #40]
1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1851 .loc 1 1360 0 discriminator 2
1852 0036 8385 strh r3, [r0, #44] @ movhi
1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1853 .loc 1 1362 0 discriminator 2
1854 0038 0025 movs r5, #0
1855 003a C563 str r5, [r0, #60]
1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1856 .loc 1 1363 0 discriminator 2
1857 003c 2221 movs r1, #34
1858 003e 80F83A10 strb r1, [r0, #58]
1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1859 .loc 1 1366 0 discriminator 2
1860 0042 416B ldr r1, [r0, #52]
ARM GAS /tmp/ccD7nRW1.s page 92
1861 0044 1548 ldr r0, .L149
1862 .LVL169:
1863 0046 C863 str r0, [r1, #60]
1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1864 .loc 1 1369 0 discriminator 2
1865 0048 616B ldr r1, [r4, #52]
1866 004a 1548 ldr r0, .L149+4
1867 004c 0864 str r0, [r1, #64]
1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1868 .loc 1 1372 0 discriminator 2
1869 004e 616B ldr r1, [r4, #52]
1870 0050 1448 ldr r0, .L149+8
1871 0052 C864 str r0, [r1, #76]
1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1872 .loc 1 1375 0 discriminator 2
1873 0054 616B ldr r1, [r4, #52]
1874 0056 0D65 str r5, [r1, #80]
1875 .LVL170:
1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1876 .loc 1 1379 0 discriminator 2
1877 0058 2168 ldr r1, [r4]
1878 005a 0431 adds r1, r1, #4
1879 005c 606B ldr r0, [r4, #52]
1880 005e FFF7FEFF bl HAL_DMA_Start_IT
1881 .LVL171:
1882 .LBB2:
1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1883 .loc 1 1382 0 discriminator 2
1884 0062 0195 str r5, [sp, #4]
1885 0064 2368 ldr r3, [r4]
1886 0066 1A68 ldr r2, [r3]
1887 0068 0192 str r2, [sp, #4]
1888 006a 5A68 ldr r2, [r3, #4]
1889 006c 0192 str r2, [sp, #4]
1890 006e 019A ldr r2, [sp, #4]
1891 .LBE2:
1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1892 .loc 1 1385 0 discriminator 2
1893 0070 84F83850 strb r5, [r4, #56]
1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1894 .loc 1 1388 0 discriminator 2
1895 0074 DA68 ldr r2, [r3, #12]
1896 0076 42F48072 orr r2, r2, #256
1897 007a DA60 str r2, [r3, #12]
1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1898 .loc 1 1391 0 discriminator 2
1899 007c 2268 ldr r2, [r4]
1900 007e 5369 ldr r3, [r2, #20]
1901 0080 43F00103 orr r3, r3, #1
1902 0084 5361 str r3, [r2, #20]
1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1903 .loc 1 1395 0 discriminator 2
1904 0086 2268 ldr r2, [r4]
1905 0088 5369 ldr r3, [r2, #20]
1906 008a 43F04003 orr r3, r3, #64
1907 008e 5361 str r3, [r2, #20]
1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
ARM GAS /tmp/ccD7nRW1.s page 93
1908 .loc 1 1397 0 discriminator 2
1909 0090 2846 mov r0, r5
1910 0092 BDE7 b .L141
1911 .LVL172:
1912 .L143:
1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1913 .loc 1 1353 0
1914 0094 0120 movs r0, #1
1915 .LVL173:
1916 0096 BBE7 b .L141
1917 .LVL174:
1918 .L144:
1919 0098 0120 movs r0, #1
1920 .LVL175:
1921 009a B9E7 b .L141
1922 .L150:
1923 .align 2
1924 .L149:
1925 009c 00000000 .word UART_DMAReceiveCplt
1926 00a0 00000000 .word UART_DMARxHalfCplt
1927 00a4 00000000 .word UART_DMAError
1928 .cfi_endproc
1929 .LFE142:
1931 .section .text.HAL_UART_DMAPause,"ax",%progbits
1932 .align 1
1933 .global HAL_UART_DMAPause
1934 .syntax unified
1935 .thumb
1936 .thumb_func
1937 .fpu fpv4-sp-d16
1939 HAL_UART_DMAPause:
1940 .LFB143:
1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
1941 .loc 1 1412 0
1942 .cfi_startproc
1943 @ args = 0, pretend = 0, frame = 0
1944 @ frame_needed = 0, uses_anonymous_args = 0
1945 @ link register save eliminated.
1946 .LVL176:
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1947 .loc 1 1416 0
1948 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1949 0004 012B cmp r3, #1
1950 0006 31D0 beq .L155
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1951 .loc 1 1416 0 is_stmt 0 discriminator 2
1952 0008 0123 movs r3, #1
1953 000a 80F83830 strb r3, [r0, #56]
1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
1954 .loc 1 1418 0 is_stmt 1 discriminator 2
1955 000e 0168 ldr r1, [r0]
1956 0010 4A69 ldr r2, [r1, #20]
1957 0012 02F08002 and r2, r2, #128
1958 .LVL177:
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1959 .loc 1 1419 0 discriminator 2
1960 0016 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
ARM GAS /tmp/ccD7nRW1.s page 94
1961 001a DBB2 uxtb r3, r3
1962 001c 212B cmp r3, #33
1963 001e 0DD0 beq .L156
1964 .L153:
1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
1965 .loc 1 1425 0
1966 0020 0168 ldr r1, [r0]
1967 0022 4A69 ldr r2, [r1, #20]
1968 .LVL178:
1969 0024 02F04002 and r2, r2, #64
1970 .LVL179:
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1971 .loc 1 1426 0
1972 0028 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
1973 002c DBB2 uxtb r3, r3
1974 002e 222B cmp r3, #34
1975 0030 0BD0 beq .L157
1976 .LVL180:
1977 .L154:
1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
1978 .loc 1 1437 0
1979 0032 0023 movs r3, #0
1980 0034 80F83830 strb r3, [r0, #56]
1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1981 .loc 1 1439 0
1982 0038 1846 mov r0, r3
1983 .LVL181:
1984 003a 7047 bx lr
1985 .LVL182:
1986 .L156:
1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1987 .loc 1 1419 0 discriminator 1
1988 003c 002A cmp r2, #0
1989 003e EFD0 beq .L153
1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
1990 .loc 1 1422 0
1991 0040 4B69 ldr r3, [r1, #20]
1992 0042 23F08003 bic r3, r3, #128
1993 0046 4B61 str r3, [r1, #20]
1994 0048 EAE7 b .L153
1995 .L157:
1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
1996 .loc 1 1426 0 discriminator 1
1997 004a 002A cmp r2, #0
1998 004c F1D0 beq .L154
1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1999 .loc 1 1429 0
2000 004e CB68 ldr r3, [r1, #12]
2001 0050 23F48073 bic r3, r3, #256
2002 0054 CB60 str r3, [r1, #12]
1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2003 .loc 1 1430 0
2004 0056 0268 ldr r2, [r0]
2005 .LVL183:
2006 0058 5369 ldr r3, [r2, #20]
2007 005a 23F00103 bic r3, r3, #1
2008 005e 5361 str r3, [r2, #20]
ARM GAS /tmp/ccD7nRW1.s page 95
1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2009 .loc 1 1433 0
2010 0060 0268 ldr r2, [r0]
2011 0062 5369 ldr r3, [r2, #20]
2012 0064 23F04003 bic r3, r3, #64
2013 0068 5361 str r3, [r2, #20]
2014 006a E2E7 b .L154
2015 .LVL184:
2016 .L155:
1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2017 .loc 1 1416 0
2018 006c 0220 movs r0, #2
2019 .LVL185:
1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2020 .loc 1 1440 0
2021 006e 7047 bx lr
2022 .cfi_endproc
2023 .LFE143:
2025 .section .text.HAL_UART_DMAResume,"ax",%progbits
2026 .align 1
2027 .global HAL_UART_DMAResume
2028 .syntax unified
2029 .thumb
2030 .thumb_func
2031 .fpu fpv4-sp-d16
2033 HAL_UART_DMAResume:
2034 .LFB144:
1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2035 .loc 1 1449 0
2036 .cfi_startproc
2037 @ args = 0, pretend = 0, frame = 8
2038 @ frame_needed = 0, uses_anonymous_args = 0
2039 @ link register save eliminated.
2040 .LVL186:
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2041 .loc 1 1451 0
2042 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
2043 0004 012B cmp r3, #1
2044 0006 34D0 beq .L162
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2045 .loc 1 1451 0 is_stmt 0 discriminator 2
2046 0008 0123 movs r3, #1
2047 000a 80F83830 strb r3, [r0, #56]
1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2048 .loc 1 1453 0 is_stmt 1 discriminator 2
2049 000e 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
2050 0012 DBB2 uxtb r3, r3
2051 0014 212B cmp r3, #33
2052 0016 09D0 beq .L168
2053 .L160:
1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2054 .loc 1 1459 0
2055 0018 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
2056 001c DBB2 uxtb r3, r3
2057 001e 222B cmp r3, #34
2058 0020 0AD0 beq .L169
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccD7nRW1.s page 96
2059 .loc 1 1473 0
2060 0022 0023 movs r3, #0
2061 0024 80F83830 strb r3, [r0, #56]
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2062 .loc 1 1475 0
2063 0028 1846 mov r0, r3
2064 .LVL187:
1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2065 .loc 1 1476 0
2066 002a 7047 bx lr
2067 .LVL188:
2068 .L168:
1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2069 .loc 1 1456 0
2070 002c 0268 ldr r2, [r0]
2071 002e 5369 ldr r3, [r2, #20]
2072 0030 43F08003 orr r3, r3, #128
2073 0034 5361 str r3, [r2, #20]
2074 0036 EFE7 b .L160
2075 .L169:
1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Process Locked */
2076 .loc 1 1449 0
2077 0038 82B0 sub sp, sp, #8
2078 .LCFI25:
2079 .cfi_def_cfa_offset 8
2080 .LBB3:
1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2081 .loc 1 1462 0
2082 003a 0023 movs r3, #0
2083 003c 0193 str r3, [sp, #4]
2084 003e 0368 ldr r3, [r0]
2085 0040 1A68 ldr r2, [r3]
2086 0042 0192 str r2, [sp, #4]
2087 0044 5A68 ldr r2, [r3, #4]
2088 0046 0192 str r2, [sp, #4]
2089 0048 019A ldr r2, [sp, #4]
2090 .LBE3:
1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
2091 .loc 1 1465 0
2092 004a DA68 ldr r2, [r3, #12]
2093 004c 42F48072 orr r2, r2, #256
2094 0050 DA60 str r2, [r3, #12]
1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2095 .loc 1 1466 0
2096 0052 0268 ldr r2, [r0]
2097 0054 5369 ldr r3, [r2, #20]
2098 0056 43F00103 orr r3, r3, #1
2099 005a 5361 str r3, [r2, #20]
1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2100 .loc 1 1469 0
2101 005c 0268 ldr r2, [r0]
2102 005e 5369 ldr r3, [r2, #20]
2103 0060 43F04003 orr r3, r3, #64
2104 0064 5361 str r3, [r2, #20]
1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2105 .loc 1 1473 0
2106 0066 0023 movs r3, #0
ARM GAS /tmp/ccD7nRW1.s page 97
2107 0068 80F83830 strb r3, [r0, #56]
1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2108 .loc 1 1475 0
2109 006c 1846 mov r0, r3
2110 .LVL189:
1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2111 .loc 1 1476 0
2112 006e 02B0 add sp, sp, #8
2113 .LCFI26:
2114 .cfi_def_cfa_offset 0
2115 @ sp needed
2116 0070 7047 bx lr
2117 .LVL190:
2118 .L162:
1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2119 .loc 1 1451 0
2120 0072 0220 movs r0, #2
2121 .LVL191:
2122 0074 7047 bx lr
2123 .cfi_endproc
2124 .LFE144:
2126 .section .text.HAL_UART_DMAStop,"ax",%progbits
2127 .align 1
2128 .global HAL_UART_DMAStop
2129 .syntax unified
2130 .thumb
2131 .thumb_func
2132 .fpu fpv4-sp-d16
2134 HAL_UART_DMAStop:
2135 .LFB145:
1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2136 .loc 1 1485 0
2137 .cfi_startproc
2138 @ args = 0, pretend = 0, frame = 0
2139 @ frame_needed = 0, uses_anonymous_args = 0
2140 .LVL192:
2141 0000 10B5 push {r4, lr}
2142 .LCFI27:
2143 .cfi_def_cfa_offset 8
2144 .cfi_offset 4, -8
2145 .cfi_offset 14, -4
2146 0002 0446 mov r4, r0
2147 .LVL193:
1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2148 .loc 1 1494 0
2149 0004 0168 ldr r1, [r0]
2150 0006 4A69 ldr r2, [r1, #20]
2151 .LVL194:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2152 .loc 1 1495 0
2153 0008 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
2154 000c DBB2 uxtb r3, r3
2155 000e 212B cmp r3, #33
2156 0010 0AD0 beq .L176
2157 .LVL195:
2158 .L171:
1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
ARM GAS /tmp/ccD7nRW1.s page 98
2159 .loc 1 1508 0
2160 0012 2168 ldr r1, [r4]
2161 0014 4A69 ldr r2, [r1, #20]
2162 0016 02F04002 and r2, r2, #64
2163 .LVL196:
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2164 .loc 1 1509 0
2165 001a 94F83A30 ldrb r3, [r4, #58] @ zero_extendqisi2
2166 001e DBB2 uxtb r3, r3
2167 0020 222B cmp r3, #34
2168 0022 11D0 beq .L177
2169 .LVL197:
2170 .L173:
1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2171 .loc 1 1522 0
2172 0024 0020 movs r0, #0
2173 0026 10BD pop {r4, pc}
2174 .LVL198:
2175 .L176:
2176 0028 02F08002 and r2, r2, #128
2177 .LVL199:
1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2178 .loc 1 1495 0 discriminator 1
2179 002c 002A cmp r2, #0
2180 002e F0D0 beq .L171
1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2181 .loc 1 1497 0
2182 0030 4B69 ldr r3, [r1, #20]
2183 0032 23F08003 bic r3, r3, #128
2184 0036 4B61 str r3, [r1, #20]
1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2185 .loc 1 1500 0
2186 0038 006B ldr r0, [r0, #48]
2187 .LVL200:
2188 003a 08B1 cbz r0, .L172
1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2189 .loc 1 1502 0
2190 003c FFF7FEFF bl HAL_DMA_Abort
2191 .LVL201:
2192 .L172:
1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2193 .loc 1 1504 0
2194 0040 2046 mov r0, r4
2195 0042 FFF7FEFF bl UART_EndTxTransfer
2196 .LVL202:
2197 0046 E4E7 b .L171
2198 .LVL203:
2199 .L177:
1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2200 .loc 1 1509 0 discriminator 1
2201 0048 002A cmp r2, #0
2202 004a EBD0 beq .L173
1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2203 .loc 1 1511 0
2204 004c 4B69 ldr r3, [r1, #20]
2205 004e 23F04003 bic r3, r3, #64
2206 0052 4B61 str r3, [r1, #20]
ARM GAS /tmp/ccD7nRW1.s page 99
1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2207 .loc 1 1514 0
2208 0054 606B ldr r0, [r4, #52]
2209 0056 08B1 cbz r0, .L174
1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2210 .loc 1 1516 0
2211 0058 FFF7FEFF bl HAL_DMA_Abort
2212 .LVL204:
2213 .L174:
1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2214 .loc 1 1518 0
2215 005c 2046 mov r0, r4
2216 005e FFF7FEFF bl UART_EndRxTransfer
2217 .LVL205:
2218 0062 DFE7 b .L173
2219 .cfi_endproc
2220 .LFE145:
2222 .section .text.HAL_UART_Abort,"ax",%progbits
2223 .align 1
2224 .global HAL_UART_Abort
2225 .syntax unified
2226 .thumb
2227 .thumb_func
2228 .fpu fpv4-sp-d16
2230 HAL_UART_Abort:
2231 .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 */
2232 .loc 1 1537 0
2233 .cfi_startproc
2234 @ args = 0, pretend = 0, frame = 0
2235 @ frame_needed = 0, uses_anonymous_args = 0
2236 .LVL206:
2237 0000 10B5 push {r4, lr}
2238 .LCFI28:
2239 .cfi_def_cfa_offset 8
2240 .cfi_offset 4, -8
2241 .cfi_offset 14, -4
2242 0002 0446 mov r4, r0
1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2243 .loc 1 1539 0
2244 0004 0268 ldr r2, [r0]
2245 0006 D368 ldr r3, [r2, #12]
2246 0008 23F4F073 bic r3, r3, #480
2247 000c D360 str r3, [r2, #12]
1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2248 .loc 1 1540 0
2249 000e 0268 ldr r2, [r0]
2250 0010 5369 ldr r3, [r2, #20]
2251 0012 23F00103 bic r3, r3, #1
2252 0016 5361 str r3, [r2, #20]
1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2253 .loc 1 1543 0
2254 0018 0368 ldr r3, [r0]
2255 001a 5A69 ldr r2, [r3, #20]
2256 001c 12F0800F tst r2, #128
2257 0020 0BD0 beq .L179
1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccD7nRW1.s page 100
2258 .loc 1 1545 0
2259 0022 5A69 ldr r2, [r3, #20]
2260 0024 22F08002 bic r2, r2, #128
2261 0028 5A61 str r2, [r3, #20]
1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2262 .loc 1 1548 0
2263 002a 036B ldr r3, [r0, #48]
2264 002c 2BB1 cbz r3, .L179
1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2265 .loc 1 1552 0
2266 002e 0022 movs r2, #0
2267 0030 1A65 str r2, [r3, #80]
1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2268 .loc 1 1554 0
2269 0032 006B ldr r0, [r0, #48]
2270 .LVL207:
2271 0034 FFF7FEFF bl HAL_DMA_Abort
2272 .LVL208:
2273 0038 D0B9 cbnz r0, .L183
2274 .L179:
1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2275 .loc 1 1568 0
2276 003a 2368 ldr r3, [r4]
2277 003c 5A69 ldr r2, [r3, #20]
2278 003e 12F0400F tst r2, #64
2279 0042 0BD0 beq .L181
1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2280 .loc 1 1570 0
2281 0044 5A69 ldr r2, [r3, #20]
2282 0046 22F04002 bic r2, r2, #64
2283 004a 5A61 str r2, [r3, #20]
1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2284 .loc 1 1573 0
2285 004c 636B ldr r3, [r4, #52]
2286 004e 2BB1 cbz r3, .L181
1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2287 .loc 1 1577 0
2288 0050 0022 movs r2, #0
2289 0052 1A65 str r2, [r3, #80]
1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2290 .loc 1 1579 0
2291 0054 606B ldr r0, [r4, #52]
2292 0056 FFF7FEFF bl HAL_DMA_Abort
2293 .LVL209:
2294 005a 90B9 cbnz r0, .L184
2295 .L181:
1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2296 .loc 1 1593 0
2297 005c 0020 movs r0, #0
2298 005e E084 strh r0, [r4, #38] @ movhi
1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2299 .loc 1 1594 0
2300 0060 E085 strh r0, [r4, #46] @ movhi
1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2301 .loc 1 1597 0
2302 0062 E063 str r0, [r4, #60]
1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
ARM GAS /tmp/ccD7nRW1.s page 101
2303 .loc 1 1600 0
2304 0064 2023 movs r3, #32
2305 0066 84F83A30 strb r3, [r4, #58]
1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2306 .loc 1 1601 0
2307 006a 84F83930 strb r3, [r4, #57]
1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2308 .loc 1 1604 0
2309 006e 10BD pop {r4, pc}
2310 .LVL210:
2311 .L183:
1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2312 .loc 1 1556 0
2313 0070 206B ldr r0, [r4, #48]
2314 0072 FFF7FEFF bl HAL_DMA_GetError
2315 .LVL211:
2316 0076 2028 cmp r0, #32
2317 0078 DFD1 bne .L179
1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2318 .loc 1 1559 0
2319 007a 1023 movs r3, #16
2320 007c E363 str r3, [r4, #60]
1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2321 .loc 1 1561 0
2322 007e 0320 movs r0, #3
2323 0080 10BD pop {r4, pc}
2324 .LVL212:
2325 .L184:
1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2326 .loc 1 1581 0
2327 0082 606B ldr r0, [r4, #52]
2328 0084 FFF7FEFF bl HAL_DMA_GetError
2329 .LVL213:
2330 0088 2028 cmp r0, #32
2331 008a E7D1 bne .L181
1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2332 .loc 1 1584 0
2333 008c 1023 movs r3, #16
2334 008e E363 str r3, [r4, #60]
1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2335 .loc 1 1586 0
2336 0090 0320 movs r0, #3
2337 0092 10BD pop {r4, pc}
2338 .cfi_endproc
2339 .LFE146:
2341 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
2342 .align 1
2343 .global HAL_UART_AbortTransmit
2344 .syntax unified
2345 .thumb
2346 .thumb_func
2347 .fpu fpv4-sp-d16
2349 HAL_UART_AbortTransmit:
2350 .LFB147:
1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2351 .loc 1 1619 0
2352 .cfi_startproc
ARM GAS /tmp/ccD7nRW1.s page 102
2353 @ args = 0, pretend = 0, frame = 0
2354 @ frame_needed = 0, uses_anonymous_args = 0
2355 .LVL214:
2356 0000 10B5 push {r4, lr}
2357 .LCFI29:
2358 .cfi_def_cfa_offset 8
2359 .cfi_offset 4, -8
2360 .cfi_offset 14, -4
2361 0002 0446 mov r4, r0
1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2362 .loc 1 1621 0
2363 0004 0268 ldr r2, [r0]
2364 0006 D368 ldr r3, [r2, #12]
2365 0008 23F0C003 bic r3, r3, #192
2366 000c D360 str r3, [r2, #12]
1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2367 .loc 1 1624 0
2368 000e 0368 ldr r3, [r0]
2369 0010 5A69 ldr r2, [r3, #20]
2370 0012 12F0800F tst r2, #128
2371 0016 0BD0 beq .L186
1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2372 .loc 1 1626 0
2373 0018 5A69 ldr r2, [r3, #20]
2374 001a 22F08002 bic r2, r2, #128
2375 001e 5A61 str r2, [r3, #20]
1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2376 .loc 1 1629 0
2377 0020 036B ldr r3, [r0, #48]
2378 0022 2BB1 cbz r3, .L186
1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2379 .loc 1 1633 0
2380 0024 0022 movs r2, #0
2381 0026 1A65 str r2, [r3, #80]
1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2382 .loc 1 1635 0
2383 0028 006B ldr r0, [r0, #48]
2384 .LVL215:
2385 002a FFF7FEFF bl HAL_DMA_Abort
2386 .LVL216:
2387 002e 28B9 cbnz r0, .L189
2388 .L186:
1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2389 .loc 1 1649 0
2390 0030 0020 movs r0, #0
2391 0032 E084 strh r0, [r4, #38] @ movhi
1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2392 .loc 1 1652 0
2393 0034 2023 movs r3, #32
2394 0036 84F83930 strb r3, [r4, #57]
1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2395 .loc 1 1655 0
2396 003a 10BD pop {r4, pc}
2397 .LVL217:
2398 .L189:
1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2399 .loc 1 1637 0
ARM GAS /tmp/ccD7nRW1.s page 103
2400 003c 206B ldr r0, [r4, #48]
2401 003e FFF7FEFF bl HAL_DMA_GetError
2402 .LVL218:
2403 0042 2028 cmp r0, #32
2404 0044 F4D1 bne .L186
1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2405 .loc 1 1640 0
2406 0046 1023 movs r3, #16
2407 0048 E363 str r3, [r4, #60]
1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2408 .loc 1 1642 0
2409 004a 0320 movs r0, #3
2410 004c 10BD pop {r4, pc}
2411 .cfi_endproc
2412 .LFE147:
2414 .section .text.HAL_UART_AbortReceive,"ax",%progbits
2415 .align 1
2416 .global HAL_UART_AbortReceive
2417 .syntax unified
2418 .thumb
2419 .thumb_func
2420 .fpu fpv4-sp-d16
2422 HAL_UART_AbortReceive:
2423 .LFB148:
1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2424 .loc 1 1670 0
2425 .cfi_startproc
2426 @ args = 0, pretend = 0, frame = 0
2427 @ frame_needed = 0, uses_anonymous_args = 0
2428 .LVL219:
2429 0000 10B5 push {r4, lr}
2430 .LCFI30:
2431 .cfi_def_cfa_offset 8
2432 .cfi_offset 4, -8
2433 .cfi_offset 14, -4
2434 0002 0446 mov r4, r0
1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2435 .loc 1 1672 0
2436 0004 0268 ldr r2, [r0]
2437 0006 D368 ldr r3, [r2, #12]
2438 0008 23F49073 bic r3, r3, #288
2439 000c D360 str r3, [r2, #12]
1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2440 .loc 1 1673 0
2441 000e 0268 ldr r2, [r0]
2442 0010 5369 ldr r3, [r2, #20]
2443 0012 23F00103 bic r3, r3, #1
2444 0016 5361 str r3, [r2, #20]
1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2445 .loc 1 1676 0
2446 0018 0368 ldr r3, [r0]
2447 001a 5A69 ldr r2, [r3, #20]
2448 001c 12F0400F tst r2, #64
2449 0020 0BD0 beq .L191
1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2450 .loc 1 1678 0
2451 0022 5A69 ldr r2, [r3, #20]
ARM GAS /tmp/ccD7nRW1.s page 104
2452 0024 22F04002 bic r2, r2, #64
2453 0028 5A61 str r2, [r3, #20]
1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2454 .loc 1 1681 0
2455 002a 436B ldr r3, [r0, #52]
2456 002c 2BB1 cbz r3, .L191
1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2457 .loc 1 1685 0
2458 002e 0022 movs r2, #0
2459 0030 1A65 str r2, [r3, #80]
1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2460 .loc 1 1687 0
2461 0032 406B ldr r0, [r0, #52]
2462 .LVL220:
2463 0034 FFF7FEFF bl HAL_DMA_Abort
2464 .LVL221:
2465 0038 28B9 cbnz r0, .L194
2466 .L191:
1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2467 .loc 1 1701 0
2468 003a 0020 movs r0, #0
2469 003c E085 strh r0, [r4, #46] @ movhi
1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2470 .loc 1 1704 0
2471 003e 2023 movs r3, #32
2472 0040 84F83A30 strb r3, [r4, #58]
1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2473 .loc 1 1707 0
2474 0044 10BD pop {r4, pc}
2475 .LVL222:
2476 .L194:
1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2477 .loc 1 1689 0
2478 0046 606B ldr r0, [r4, #52]
2479 0048 FFF7FEFF bl HAL_DMA_GetError
2480 .LVL223:
2481 004c 2028 cmp r0, #32
2482 004e F4D1 bne .L191
1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2483 .loc 1 1692 0
2484 0050 1023 movs r3, #16
2485 0052 E363 str r3, [r4, #60]
1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2486 .loc 1 1694 0
2487 0054 0320 movs r0, #3
2488 0056 10BD pop {r4, pc}
2489 .cfi_endproc
2490 .LFE148:
2492 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
2493 .align 1
2494 .weak HAL_UART_TxCpltCallback
2495 .syntax unified
2496 .thumb
2497 .thumb_func
2498 .fpu fpv4-sp-d16
2500 HAL_UART_TxCpltCallback:
2501 .LFB153:
ARM GAS /tmp/ccD7nRW1.s page 105
2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2502 .loc 1 2145 0
2503 .cfi_startproc
2504 @ args = 0, pretend = 0, frame = 0
2505 @ frame_needed = 0, uses_anonymous_args = 0
2506 @ link register save eliminated.
2507 .LVL224:
2508 0000 7047 bx lr
2509 .cfi_endproc
2510 .LFE153:
2512 .section .text.UART_DMATransmitCplt,"ax",%progbits
2513 .align 1
2514 .syntax unified
2515 .thumb
2516 .thumb_func
2517 .fpu fpv4-sp-d16
2519 UART_DMATransmitCplt:
2520 .LFB168:
2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2521 .loc 1 2520 0
2522 .cfi_startproc
2523 @ args = 0, pretend = 0, frame = 0
2524 @ frame_needed = 0, uses_anonymous_args = 0
2525 .LVL225:
2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2526 .loc 1 2520 0
2527 0000 08B5 push {r3, lr}
2528 .LCFI31:
2529 .cfi_def_cfa_offset 8
2530 .cfi_offset 3, -8
2531 .cfi_offset 14, -4
2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
2532 .loc 1 2521 0
2533 0002 836B ldr r3, [r0, #56]
2534 .LVL226:
2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2535 .loc 1 2523 0
2536 0004 0268 ldr r2, [r0]
2537 0006 1268 ldr r2, [r2]
2538 0008 12F4807F tst r2, #256
2539 000c 0CD1 bne .L197
2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2540 .loc 1 2525 0
2541 000e 0022 movs r2, #0
2542 0010 DA84 strh r2, [r3, #38] @ movhi
2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2543 .loc 1 2529 0
2544 0012 1968 ldr r1, [r3]
2545 0014 4A69 ldr r2, [r1, #20]
2546 0016 22F08002 bic r2, r2, #128
2547 001a 4A61 str r2, [r1, #20]
2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2548 .loc 1 2532 0
2549 001c 1A68 ldr r2, [r3]
2550 001e D368 ldr r3, [r2, #12]
2551 .LVL227:
2552 0020 43F04003 orr r3, r3, #64
ARM GAS /tmp/ccD7nRW1.s page 106
2553 0024 D360 str r3, [r2, #12]
2554 0026 08BD pop {r3, pc}
2555 .LVL228:
2556 .L197:
2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2557 .loc 1 2543 0
2558 0028 1846 mov r0, r3
2559 .LVL229:
2560 002a FFF7FEFF bl HAL_UART_TxCpltCallback
2561 .LVL230:
2562 002e 08BD pop {r3, pc}
2563 .cfi_endproc
2564 .LFE168:
2566 .section .text.UART_EndTransmit_IT,"ax",%progbits
2567 .align 1
2568 .syntax unified
2569 .thumb
2570 .thumb_func
2571 .fpu fpv4-sp-d16
2573 UART_EndTransmit_IT:
2574 .LFB182:
2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
2575 .loc 1 2945 0
2576 .cfi_startproc
2577 @ args = 0, pretend = 0, frame = 0
2578 @ frame_needed = 0, uses_anonymous_args = 0
2579 .LVL231:
2580 0000 08B5 push {r3, lr}
2581 .LCFI32:
2582 .cfi_def_cfa_offset 8
2583 .cfi_offset 3, -8
2584 .cfi_offset 14, -4
2947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2585 .loc 1 2947 0
2586 0002 0168 ldr r1, [r0]
2587 0004 CB68 ldr r3, [r1, #12]
2588 0006 23F04003 bic r3, r3, #64
2589 000a CB60 str r3, [r1, #12]
2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2590 .loc 1 2950 0
2591 000c 2023 movs r3, #32
2592 000e 80F83930 strb r3, [r0, #57]
2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2593 .loc 1 2957 0
2594 0012 FFF7FEFF bl HAL_UART_TxCpltCallback
2595 .LVL232:
2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2596 .loc 1 2961 0
2597 0016 0020 movs r0, #0
2598 0018 08BD pop {r3, pc}
2599 .cfi_endproc
2600 .LFE182:
2602 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
2603 .align 1
2604 .weak HAL_UART_TxHalfCpltCallback
2605 .syntax unified
2606 .thumb
ARM GAS /tmp/ccD7nRW1.s page 107
2607 .thumb_func
2608 .fpu fpv4-sp-d16
2610 HAL_UART_TxHalfCpltCallback:
2611 .LFB154:
2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2612 .loc 1 2160 0
2613 .cfi_startproc
2614 @ args = 0, pretend = 0, frame = 0
2615 @ frame_needed = 0, uses_anonymous_args = 0
2616 @ link register save eliminated.
2617 .LVL233:
2618 0000 7047 bx lr
2619 .cfi_endproc
2620 .LFE154:
2622 .section .text.UART_DMATxHalfCplt,"ax",%progbits
2623 .align 1
2624 .syntax unified
2625 .thumb
2626 .thumb_func
2627 .fpu fpv4-sp-d16
2629 UART_DMATxHalfCplt:
2630 .LFB169:
2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2631 .loc 1 2555 0
2632 .cfi_startproc
2633 @ args = 0, pretend = 0, frame = 0
2634 @ frame_needed = 0, uses_anonymous_args = 0
2635 .LVL234:
2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2636 .loc 1 2555 0
2637 0000 08B5 push {r3, lr}
2638 .LCFI33:
2639 .cfi_def_cfa_offset 8
2640 .cfi_offset 3, -8
2641 .cfi_offset 14, -4
2642 .LVL235:
2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2643 .loc 1 2563 0
2644 0002 806B ldr r0, [r0, #56]
2645 .LVL236:
2646 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
2647 .LVL237:
2648 0008 08BD pop {r3, pc}
2649 .cfi_endproc
2650 .LFE169:
2652 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
2653 .align 1
2654 .weak HAL_UART_RxCpltCallback
2655 .syntax unified
2656 .thumb
2657 .thumb_func
2658 .fpu fpv4-sp-d16
2660 HAL_UART_RxCpltCallback:
2661 .LFB155:
2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2662 .loc 1 2175 0
2663 .cfi_startproc
ARM GAS /tmp/ccD7nRW1.s page 108
2664 @ args = 0, pretend = 0, frame = 0
2665 @ frame_needed = 0, uses_anonymous_args = 0
2666 @ link register save eliminated.
2667 .LVL238:
2668 0000 7047 bx lr
2669 .cfi_endproc
2670 .LFE155:
2672 .section .text.UART_DMAReceiveCplt,"ax",%progbits
2673 .align 1
2674 .syntax unified
2675 .thumb
2676 .thumb_func
2677 .fpu fpv4-sp-d16
2679 UART_DMAReceiveCplt:
2680 .LFB170:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2681 .loc 1 2574 0
2682 .cfi_startproc
2683 @ args = 0, pretend = 0, frame = 0
2684 @ frame_needed = 0, uses_anonymous_args = 0
2685 .LVL239:
2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2686 .loc 1 2574 0
2687 0000 08B5 push {r3, lr}
2688 .LCFI34:
2689 .cfi_def_cfa_offset 8
2690 .cfi_offset 3, -8
2691 .cfi_offset 14, -4
2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* DMA Normal mode*/
2692 .loc 1 2575 0
2693 0002 836B ldr r3, [r0, #56]
2694 .LVL240:
2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2695 .loc 1 2577 0
2696 0004 0268 ldr r2, [r0]
2697 0006 1268 ldr r2, [r2]
2698 0008 12F4807F tst r2, #256
2699 000c 13D1 bne .L207
2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2700 .loc 1 2579 0
2701 000e 0022 movs r2, #0
2702 0010 DA85 strh r2, [r3, #46] @ movhi
2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2703 .loc 1 2582 0
2704 0012 1968 ldr r1, [r3]
2705 0014 CA68 ldr r2, [r1, #12]
2706 0016 22F48072 bic r2, r2, #256
2707 001a CA60 str r2, [r1, #12]
2583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2708 .loc 1 2583 0
2709 001c 1968 ldr r1, [r3]
2710 001e 4A69 ldr r2, [r1, #20]
2711 0020 22F00102 bic r2, r2, #1
2712 0024 4A61 str r2, [r1, #20]
2587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2713 .loc 1 2587 0
2714 0026 1968 ldr r1, [r3]
ARM GAS /tmp/ccD7nRW1.s page 109
2715 0028 4A69 ldr r2, [r1, #20]
2716 002a 22F04002 bic r2, r2, #64
2717 002e 4A61 str r2, [r1, #20]
2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2718 .loc 1 2590 0
2719 0030 2022 movs r2, #32
2720 0032 83F83A20 strb r2, [r3, #58]
2721 .L207:
2597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2722 .loc 1 2597 0
2723 0036 1846 mov r0, r3
2724 .LVL241:
2725 0038 FFF7FEFF bl HAL_UART_RxCpltCallback
2726 .LVL242:
2727 003c 08BD pop {r3, pc}
2728 .cfi_endproc
2729 .LFE170:
2731 .section .text.UART_Receive_IT,"ax",%progbits
2732 .align 1
2733 .syntax unified
2734 .thumb
2735 .thumb_func
2736 .fpu fpv4-sp-d16
2738 UART_Receive_IT:
2739 .LFB183:
2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint16_t *tmp;
2740 .loc 1 2970 0
2741 .cfi_startproc
2742 @ args = 0, pretend = 0, frame = 0
2743 @ frame_needed = 0, uses_anonymous_args = 0
2744 .LVL243:
2745 0000 08B5 push {r3, lr}
2746 .LCFI35:
2747 .cfi_def_cfa_offset 8
2748 .cfi_offset 3, -8
2749 .cfi_offset 14, -4
2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2750 .loc 1 2974 0
2751 0002 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
2752 0006 DBB2 uxtb r3, r3
2753 0008 222B cmp r3, #34
2754 000a 01D0 beq .L218
3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2755 .loc 1 3030 0
2756 000c 0220 movs r0, #2
2757 .LVL244:
2758 000e 08BD pop {r3, pc}
2759 .LVL245:
2760 .L218:
2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2761 .loc 1 2976 0
2762 0010 8368 ldr r3, [r0, #8]
2763 0012 B3F5805F cmp r3, #4096
2764 0016 0FD0 beq .L219
2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2765 .loc 1 2992 0
2766 0018 0369 ldr r3, [r0, #16]
ARM GAS /tmp/ccD7nRW1.s page 110
2767 001a 0BBB cbnz r3, .L214
2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2768 .loc 1 2994 0
2769 001c 836A ldr r3, [r0, #40]
2770 001e 5A1C adds r2, r3, #1
2771 0020 8262 str r2, [r0, #40]
2772 0022 0268 ldr r2, [r0]
2773 0024 5268 ldr r2, [r2, #4]
2774 0026 1A70 strb r2, [r3]
2775 .L213:
3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2776 .loc 1 3002 0
2777 0028 C38D ldrh r3, [r0, #46]
2778 002a 9BB2 uxth r3, r3
2779 002c 013B subs r3, r3, #1
2780 002e 9BB2 uxth r3, r3
2781 0030 C385 strh r3, [r0, #46] @ movhi
2782 0032 F3B1 cbz r3, .L220
3026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2783 .loc 1 3026 0
2784 0034 0020 movs r0, #0
2785 .LVL246:
3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2786 .loc 1 3032 0
2787 0036 08BD pop {r3, pc}
2788 .LVL247:
2789 .L219:
2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
2790 .loc 1 2978 0
2791 0038 826A ldr r2, [r0, #40]
2792 .LVL248:
2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2793 .loc 1 2979 0
2794 003a 0369 ldr r3, [r0, #16]
2795 003c 43B9 cbnz r3, .L212
2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
2796 .loc 1 2981 0
2797 003e 0368 ldr r3, [r0]
2798 0040 5B68 ldr r3, [r3, #4]
2799 0042 C3F30803 ubfx r3, r3, #0, #9
2800 0046 1380 strh r3, [r2] @ movhi
2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2801 .loc 1 2982 0
2802 0048 836A ldr r3, [r0, #40]
2803 004a 0233 adds r3, r3, #2
2804 004c 8362 str r3, [r0, #40]
2805 004e EBE7 b .L213
2806 .L212:
2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
2807 .loc 1 2986 0
2808 0050 0368 ldr r3, [r0]
2809 0052 5B68 ldr r3, [r3, #4]
2810 0054 DBB2 uxtb r3, r3
2811 0056 1380 strh r3, [r2] @ movhi
2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2812 .loc 1 2987 0
2813 0058 836A ldr r3, [r0, #40]
ARM GAS /tmp/ccD7nRW1.s page 111
2814 005a 0133 adds r3, r3, #1
2815 005c 8362 str r3, [r0, #40]
2816 005e E3E7 b .L213
2817 .LVL249:
2818 .L214:
2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2819 .loc 1 2998 0
2820 0060 826A ldr r2, [r0, #40]
2821 0062 531C adds r3, r2, #1
2822 0064 8362 str r3, [r0, #40]
2823 0066 0368 ldr r3, [r0]
2824 0068 5B68 ldr r3, [r3, #4]
2825 006a 03F07F03 and r3, r3, #127
2826 006e 1370 strb r3, [r2]
2827 0070 DAE7 b .L213
2828 .L220:
3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2829 .loc 1 3005 0
2830 0072 0268 ldr r2, [r0]
2831 0074 D368 ldr r3, [r2, #12]
2832 0076 23F02003 bic r3, r3, #32
2833 007a D360 str r3, [r2, #12]
3008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2834 .loc 1 3008 0
2835 007c 0268 ldr r2, [r0]
2836 007e D368 ldr r3, [r2, #12]
2837 0080 23F48073 bic r3, r3, #256
2838 0084 D360 str r3, [r2, #12]
3011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2839 .loc 1 3011 0
2840 0086 0268 ldr r2, [r0]
2841 0088 5369 ldr r3, [r2, #20]
2842 008a 23F00103 bic r3, r3, #1
2843 008e 5361 str r3, [r2, #20]
3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2844 .loc 1 3014 0
2845 0090 2023 movs r3, #32
2846 0092 80F83A30 strb r3, [r0, #58]
3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2847 .loc 1 3021 0
2848 0096 FFF7FEFF bl HAL_UART_RxCpltCallback
2849 .LVL250:
3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2850 .loc 1 3024 0
2851 009a 0020 movs r0, #0
2852 009c 08BD pop {r3, pc}
2853 .cfi_endproc
2854 .LFE183:
2856 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
2857 .align 1
2858 .weak HAL_UART_RxHalfCpltCallback
2859 .syntax unified
2860 .thumb
2861 .thumb_func
2862 .fpu fpv4-sp-d16
2864 HAL_UART_RxHalfCpltCallback:
2865 .LFB156:
ARM GAS /tmp/ccD7nRW1.s page 112
2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2866 .loc 1 2190 0
2867 .cfi_startproc
2868 @ args = 0, pretend = 0, frame = 0
2869 @ frame_needed = 0, uses_anonymous_args = 0
2870 @ link register save eliminated.
2871 .LVL251:
2872 0000 7047 bx lr
2873 .cfi_endproc
2874 .LFE156:
2876 .section .text.UART_DMARxHalfCplt,"ax",%progbits
2877 .align 1
2878 .syntax unified
2879 .thumb
2880 .thumb_func
2881 .fpu fpv4-sp-d16
2883 UART_DMARxHalfCplt:
2884 .LFB171:
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2885 .loc 1 2608 0
2886 .cfi_startproc
2887 @ args = 0, pretend = 0, frame = 0
2888 @ frame_needed = 0, uses_anonymous_args = 0
2889 .LVL252:
2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2890 .loc 1 2608 0
2891 0000 08B5 push {r3, lr}
2892 .LCFI36:
2893 .cfi_def_cfa_offset 8
2894 .cfi_offset 3, -8
2895 .cfi_offset 14, -4
2896 .LVL253:
2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2897 .loc 1 2616 0
2898 0002 806B ldr r0, [r0, #56]
2899 .LVL254:
2900 0004 FFF7FEFF bl HAL_UART_RxHalfCpltCallback
2901 .LVL255:
2902 0008 08BD pop {r3, pc}
2903 .cfi_endproc
2904 .LFE171:
2906 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
2907 .align 1
2908 .weak HAL_UART_ErrorCallback
2909 .syntax unified
2910 .thumb
2911 .thumb_func
2912 .fpu fpv4-sp-d16
2914 HAL_UART_ErrorCallback:
2915 .LFB157:
2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2916 .loc 1 2205 0
2917 .cfi_startproc
2918 @ args = 0, pretend = 0, frame = 0
2919 @ frame_needed = 0, uses_anonymous_args = 0
2920 @ link register save eliminated.
2921 .LVL256:
ARM GAS /tmp/ccD7nRW1.s page 113
2922 0000 7047 bx lr
2923 .cfi_endproc
2924 .LFE157:
2926 .section .text.UART_DMAError,"ax",%progbits
2927 .align 1
2928 .syntax unified
2929 .thumb
2930 .thumb_func
2931 .fpu fpv4-sp-d16
2933 UART_DMAError:
2934 .LFB172:
2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2935 .loc 1 2627 0
2936 .cfi_startproc
2937 @ args = 0, pretend = 0, frame = 0
2938 @ frame_needed = 0, uses_anonymous_args = 0
2939 .LVL257:
2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2940 .loc 1 2627 0
2941 0000 10B5 push {r4, lr}
2942 .LCFI37:
2943 .cfi_def_cfa_offset 8
2944 .cfi_offset 4, -8
2945 .cfi_offset 14, -4
2946 .LVL258:
2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
2947 .loc 1 2629 0
2948 0002 846B ldr r4, [r0, #56]
2949 .LVL259:
2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2950 .loc 1 2632 0
2951 0004 2368 ldr r3, [r4]
2952 0006 5A69 ldr r2, [r3, #20]
2953 .LVL260:
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2954 .loc 1 2633 0
2955 0008 94F83930 ldrb r3, [r4, #57] @ zero_extendqisi2
2956 000c DBB2 uxtb r3, r3
2957 000e 212B cmp r3, #33
2958 0010 10D0 beq .L229
2959 .LVL261:
2960 .L226:
2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2961 .loc 1 2640 0
2962 0012 2368 ldr r3, [r4]
2963 0014 5A69 ldr r2, [r3, #20]
2964 0016 02F04002 and r2, r2, #64
2965 .LVL262:
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2966 .loc 1 2641 0
2967 001a 94F83A30 ldrb r3, [r4, #58] @ zero_extendqisi2
2968 001e DBB2 uxtb r3, r3
2969 0020 222B cmp r3, #34
2970 0022 11D0 beq .L230
2971 .LVL263:
2972 .L227:
2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
ARM GAS /tmp/ccD7nRW1.s page 114
2973 .loc 1 2647 0
2974 0024 E36B ldr r3, [r4, #60]
2975 0026 43F01003 orr r3, r3, #16
2976 002a E363 str r3, [r4, #60]
2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2977 .loc 1 2653 0
2978 002c 2046 mov r0, r4
2979 002e FFF7FEFF bl HAL_UART_ErrorCallback
2980 .LVL264:
2981 0032 10BD pop {r4, pc}
2982 .LVL265:
2983 .L229:
2984 0034 02F08002 and r2, r2, #128
2985 .LVL266:
2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
2986 .loc 1 2633 0 discriminator 1
2987 0038 002A cmp r2, #0
2988 003a EAD0 beq .L226
2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndTxTransfer(huart);
2989 .loc 1 2635 0
2990 003c 0023 movs r3, #0
2991 003e E384 strh r3, [r4, #38] @ movhi
2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
2992 .loc 1 2636 0
2993 0040 2046 mov r0, r4
2994 .LVL267:
2995 0042 FFF7FEFF bl UART_EndTxTransfer
2996 .LVL268:
2997 0046 E4E7 b .L226
2998 .LVL269:
2999 .L230:
2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3000 .loc 1 2641 0 discriminator 1
3001 0048 002A cmp r2, #0
3002 004a EBD0 beq .L227
2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_EndRxTransfer(huart);
3003 .loc 1 2643 0
3004 004c 0023 movs r3, #0
3005 004e E385 strh r3, [r4, #46] @ movhi
2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3006 .loc 1 2644 0
3007 0050 2046 mov r0, r4
3008 0052 FFF7FEFF bl UART_EndRxTransfer
3009 .LVL270:
3010 0056 E5E7 b .L227
3011 .cfi_endproc
3012 .LFE172:
3014 .section .text.HAL_UART_IRQHandler,"ax",%progbits
3015 .align 1
3016 .global HAL_UART_IRQHandler
3017 .syntax unified
3018 .thumb
3019 .thumb_func
3020 .fpu fpv4-sp-d16
3022 HAL_UART_IRQHandler:
3023 .LFB152:
1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
ARM GAS /tmp/ccD7nRW1.s page 115
3024 .loc 1 1999 0
3025 .cfi_startproc
3026 @ args = 0, pretend = 0, frame = 0
3027 @ frame_needed = 0, uses_anonymous_args = 0
3028 .LVL271:
3029 0000 10B5 push {r4, lr}
3030 .LCFI38:
3031 .cfi_def_cfa_offset 8
3032 .cfi_offset 4, -8
3033 .cfi_offset 14, -4
3034 0002 0446 mov r4, r0
2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
3035 .loc 1 2000 0
3036 0004 0268 ldr r2, [r0]
3037 0006 1368 ldr r3, [r2]
3038 .LVL272:
2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
3039 .loc 1 2001 0
3040 0008 D168 ldr r1, [r2, #12]
3041 .LVL273:
2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t errorflags = 0x00U;
3042 .loc 1 2002 0
3043 000a 5269 ldr r2, [r2, #20]
3044 .LVL274:
2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3045 .loc 1 2008 0
3046 000c 13F00F00 ands r0, r3, #15
3047 .LVL275:
3048 0010 05D1 bne .L232
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3049 .loc 1 2011 0
3050 0012 13F0200F tst r3, #32
3051 0016 02D0 beq .L232
2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3052 .loc 1 2011 0 is_stmt 0 discriminator 1
3053 0018 11F0200F tst r1, #32
3054 001c 53D1 bne .L247
3055 .L232:
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3056 .loc 1 2019 0 is_stmt 1
3057 001e 0028 cmp r0, #0
3058 0020 67D0 beq .L234
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3059 .loc 1 2019 0 is_stmt 0 discriminator 1
3060 0022 12F00102 ands r2, r2, #1
3061 .LVL276:
3062 0026 02D1 bne .L235
2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3063 .loc 1 2019 0 discriminator 2
3064 0028 11F4907F tst r1, #288
3065 002c 61D0 beq .L234
3066 .L235:
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3067 .loc 1 2022 0 is_stmt 1
3068 002e 13F0010F tst r3, #1
3069 0032 06D0 beq .L236
2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
ARM GAS /tmp/ccD7nRW1.s page 116
3070 .loc 1 2022 0 is_stmt 0 discriminator 1
3071 0034 11F4807F tst r1, #256
3072 0038 03D0 beq .L236
2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3073 .loc 1 2024 0 is_stmt 1
3074 003a E06B ldr r0, [r4, #60]
3075 .LVL277:
3076 003c 40F00100 orr r0, r0, #1
3077 0040 E063 str r0, [r4, #60]
3078 .L236:
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3079 .loc 1 2028 0
3080 0042 13F0040F tst r3, #4
3081 0046 04D0 beq .L237
2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3082 .loc 1 2028 0 is_stmt 0 discriminator 1
3083 0048 1AB1 cbz r2, .L237
2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3084 .loc 1 2030 0 is_stmt 1
3085 004a E06B ldr r0, [r4, #60]
3086 004c 40F00200 orr r0, r0, #2
3087 0050 E063 str r0, [r4, #60]
3088 .L237:
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3089 .loc 1 2034 0
3090 0052 13F0020F tst r3, #2
3091 0056 04D0 beq .L238
2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3092 .loc 1 2034 0 is_stmt 0 discriminator 1
3093 0058 1AB1 cbz r2, .L238
2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3094 .loc 1 2036 0 is_stmt 1
3095 005a E06B ldr r0, [r4, #60]
3096 005c 40F00400 orr r0, r0, #4
3097 0060 E063 str r0, [r4, #60]
3098 .L238:
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3099 .loc 1 2040 0
3100 0062 13F0080F tst r3, #8
3101 0066 04D0 beq .L239
2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3102 .loc 1 2040 0 is_stmt 0 discriminator 1
3103 0068 1AB1 cbz r2, .L239
2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3104 .loc 1 2042 0 is_stmt 1
3105 006a E26B ldr r2, [r4, #60]
3106 006c 42F00802 orr r2, r2, #8
3107 0070 E263 str r2, [r4, #60]
3108 .L239:
2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3109 .loc 1 2046 0
3110 0072 E26B ldr r2, [r4, #60]
3111 0074 002A cmp r2, #0
3112 0076 48D0 beq .L231
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3113 .loc 1 2049 0
3114 0078 13F0200F tst r3, #32
ARM GAS /tmp/ccD7nRW1.s page 117
3115 007c 02D0 beq .L240
2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3116 .loc 1 2049 0 is_stmt 0 discriminator 1
3117 007e 11F0200F tst r1, #32
3118 0082 24D1 bne .L248
3119 .LVL278:
3120 .L240:
2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
3121 .loc 1 2056 0 is_stmt 1
3122 0084 2368 ldr r3, [r4]
3123 0086 5B69 ldr r3, [r3, #20]
3124 0088 03F04003 and r3, r3, #64
3125 .LVL279:
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3126 .loc 1 2057 0
3127 008c E26B ldr r2, [r4, #60]
3128 008e 12F0080F tst r2, #8
3129 0092 00D1 bne .L241
2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3130 .loc 1 2057 0 is_stmt 0 discriminator 1
3131 0094 3BB3 cbz r3, .L242
3132 .L241:
2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3133 .loc 1 2062 0 is_stmt 1
3134 0096 2046 mov r0, r4
3135 0098 FFF7FEFF bl UART_EndRxTransfer
3136 .LVL280:
2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3137 .loc 1 2065 0
3138 009c 2368 ldr r3, [r4]
3139 009e 5A69 ldr r2, [r3, #20]
3140 00a0 12F0400F tst r2, #64
3141 00a4 1BD0 beq .L243
2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3142 .loc 1 2067 0
3143 00a6 5A69 ldr r2, [r3, #20]
3144 00a8 22F04002 bic r2, r2, #64
3145 00ac 5A61 str r2, [r3, #20]
2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3146 .loc 1 2070 0
3147 00ae 636B ldr r3, [r4, #52]
3148 00b0 8BB1 cbz r3, .L244
2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
3149 .loc 1 2074 0
3150 00b2 1A4A ldr r2, .L251
3151 00b4 1A65 str r2, [r3, #80]
2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3152 .loc 1 2075 0
3153 00b6 606B ldr r0, [r4, #52]
3154 00b8 FFF7FEFF bl HAL_DMA_Abort_IT
3155 .LVL281:
3156 00bc 28B3 cbz r0, .L231
2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3157 .loc 1 2078 0
3158 00be 606B ldr r0, [r4, #52]
3159 00c0 036D ldr r3, [r0, #80]
3160 00c2 9847 blx r3
ARM GAS /tmp/ccD7nRW1.s page 118
3161 .LVL282:
3162 00c4 10BD pop {r4, pc}
3163 .LVL283:
3164 .L247:
2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3165 .loc 1 2013 0
3166 00c6 2046 mov r0, r4
3167 .LVL284:
3168 00c8 FFF7FEFF bl UART_Receive_IT
3169 .LVL285:
2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3170 .loc 1 2014 0
3171 00cc 10BD pop {r4, pc}
3172 .LVL286:
3173 .L248:
2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3174 .loc 1 2051 0
3175 00ce 2046 mov r0, r4
3176 00d0 FFF7FEFF bl UART_Receive_IT
3177 .LVL287:
3178 00d4 D6E7 b .L240
3179 .LVL288:
3180 .L244:
2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3181 .loc 1 2089 0
3182 00d6 2046 mov r0, r4
3183 00d8 FFF7FEFF bl HAL_UART_ErrorCallback
3184 .LVL289:
3185 00dc 10BD pop {r4, pc}
3186 .LVL290:
3187 .L243:
2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3188 .loc 1 2101 0
3189 00de 2046 mov r0, r4
3190 00e0 FFF7FEFF bl HAL_UART_ErrorCallback
3191 .LVL291:
3192 00e4 10BD pop {r4, pc}
3193 .LVL292:
3194 .L242:
2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3195 .loc 1 2114 0
3196 00e6 2046 mov r0, r4
3197 00e8 FFF7FEFF bl HAL_UART_ErrorCallback
3198 .LVL293:
2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3199 .loc 1 2117 0
3200 00ec 0023 movs r3, #0
3201 00ee E363 str r3, [r4, #60]
3202 00f0 10BD pop {r4, pc}
3203 .LVL294:
3204 .L234:
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3205 .loc 1 2124 0
3206 00f2 13F0800F tst r3, #128
3207 00f6 02D0 beq .L245
2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3208 .loc 1 2124 0 is_stmt 0 discriminator 1
ARM GAS /tmp/ccD7nRW1.s page 119
3209 00f8 11F0800F tst r1, #128
3210 00fc 06D1 bne .L249
3211 .L245:
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3212 .loc 1 2131 0 is_stmt 1
3213 00fe 13F0400F tst r3, #64
3214 0102 02D0 beq .L231
2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3215 .loc 1 2131 0 is_stmt 0 discriminator 1
3216 0104 11F0400F tst r1, #64
3217 0108 04D1 bne .L250
3218 .LVL295:
3219 .L231:
3220 010a 10BD pop {r4, pc}
3221 .LVL296:
3222 .L249:
2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3223 .loc 1 2126 0 is_stmt 1
3224 010c 2046 mov r0, r4
3225 .LVL297:
3226 010e FFF7FEFF bl UART_Transmit_IT
3227 .LVL298:
2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3228 .loc 1 2127 0
3229 0112 10BD pop {r4, pc}
3230 .LVL299:
3231 .L250:
2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return;
3232 .loc 1 2133 0
3233 0114 2046 mov r0, r4
3234 .LVL300:
3235 0116 FFF7FEFF bl UART_EndTransmit_IT
3236 .LVL301:
2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3237 .loc 1 2134 0
3238 011a F6E7 b .L231
3239 .L252:
3240 .align 2
3241 .L251:
3242 011c 00000000 .word UART_DMAAbortOnError
3243 .cfi_endproc
3244 .LFE152:
3246 .section .text.UART_DMAAbortOnError,"ax",%progbits
3247 .align 1
3248 .syntax unified
3249 .thumb
3250 .thumb_func
3251 .fpu fpv4-sp-d16
3253 UART_DMAAbortOnError:
3254 .LFB176:
2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3255 .loc 1 2731 0
3256 .cfi_startproc
3257 @ args = 0, pretend = 0, frame = 0
3258 @ frame_needed = 0, uses_anonymous_args = 0
3259 .LVL302:
3260 0000 08B5 push {r3, lr}
ARM GAS /tmp/ccD7nRW1.s page 120
3261 .LCFI39:
3262 .cfi_def_cfa_offset 8
3263 .cfi_offset 3, -8
3264 .cfi_offset 14, -4
2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3265 .loc 1 2732 0
3266 0002 806B ldr r0, [r0, #56]
3267 .LVL303:
2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->TxXferCount = 0x00U;
3268 .loc 1 2733 0
3269 0004 0023 movs r3, #0
3270 0006 C385 strh r3, [r0, #46] @ movhi
2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3271 .loc 1 2734 0
3272 0008 C384 strh r3, [r0, #38] @ movhi
2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3273 .loc 1 2741 0
3274 000a FFF7FEFF bl HAL_UART_ErrorCallback
3275 .LVL304:
3276 000e 08BD pop {r3, pc}
3277 .cfi_endproc
3278 .LFE176:
3280 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
3281 .align 1
3282 .weak HAL_UART_AbortCpltCallback
3283 .syntax unified
3284 .thumb
3285 .thumb_func
3286 .fpu fpv4-sp-d16
3288 HAL_UART_AbortCpltCallback:
3289 .LFB158:
2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3290 .loc 1 2219 0
3291 .cfi_startproc
3292 @ args = 0, pretend = 0, frame = 0
3293 @ frame_needed = 0, uses_anonymous_args = 0
3294 @ link register save eliminated.
3295 .LVL305:
3296 0000 7047 bx lr
3297 .cfi_endproc
3298 .LFE158:
3300 .section .text.HAL_UART_Abort_IT,"ax",%progbits
3301 .align 1
3302 .global HAL_UART_Abort_IT
3303 .syntax unified
3304 .thumb
3305 .thumb_func
3306 .fpu fpv4-sp-d16
3308 HAL_UART_Abort_IT:
3309 .LFB149:
1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
3310 .loc 1 1724 0
3311 .cfi_startproc
3312 @ args = 0, pretend = 0, frame = 0
3313 @ frame_needed = 0, uses_anonymous_args = 0
3314 .LVL306:
1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
ARM GAS /tmp/ccD7nRW1.s page 121
3315 .loc 1 1724 0
3316 0000 10B5 push {r4, lr}
3317 .LCFI40:
3318 .cfi_def_cfa_offset 8
3319 .cfi_offset 4, -8
3320 .cfi_offset 14, -4
3321 0002 0446 mov r4, r0
3322 .LVL307:
1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3323 .loc 1 1728 0
3324 0004 0268 ldr r2, [r0]
3325 0006 D368 ldr r3, [r2, #12]
3326 0008 23F4F073 bic r3, r3, #480
3327 000c D360 str r3, [r2, #12]
1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3328 .loc 1 1729 0
3329 000e 0268 ldr r2, [r0]
3330 0010 5369 ldr r3, [r2, #20]
3331 0012 23F00103 bic r3, r3, #1
3332 0016 5361 str r3, [r2, #20]
1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3333 .loc 1 1734 0
3334 0018 036B ldr r3, [r0, #48]
3335 001a 33B1 cbz r3, .L257
1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3336 .loc 1 1738 0
3337 001c 0268 ldr r2, [r0]
3338 001e 5269 ldr r2, [r2, #20]
3339 0020 12F0800F tst r2, #128
3340 0024 1DD0 beq .L258
1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3341 .loc 1 1740 0
3342 0026 264A ldr r2, .L270
3343 0028 1A65 str r2, [r3, #80]
3344 .L257:
1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3345 .loc 1 1748 0
3346 002a 636B ldr r3, [r4, #52]
3347 002c 33B1 cbz r3, .L259
1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3348 .loc 1 1752 0
3349 002e 2268 ldr r2, [r4]
3350 0030 5269 ldr r2, [r2, #20]
3351 0032 12F0400F tst r2, #64
3352 0036 17D0 beq .L260
1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3353 .loc 1 1754 0
3354 0038 224A ldr r2, .L270+4
3355 003a 1A65 str r2, [r3, #80]
3356 .L259:
1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3357 .loc 1 1763 0
3358 003c 2368 ldr r3, [r4]
3359 003e 5A69 ldr r2, [r3, #20]
3360 0040 12F0800F tst r2, #128
3361 0044 13D0 beq .L264
1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccD7nRW1.s page 122
3362 .loc 1 1766 0
3363 0046 5A69 ldr r2, [r3, #20]
3364 0048 22F08002 bic r2, r2, #128
3365 004c 5A61 str r2, [r3, #20]
1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3366 .loc 1 1769 0
3367 004e 206B ldr r0, [r4, #48]
3368 .LVL308:
3369 0050 18B3 cbz r0, .L265
1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3370 .loc 1 1775 0
3371 0052 FFF7FEFF bl HAL_DMA_Abort_IT
3372 .LVL309:
3373 0056 10B3 cbz r0, .L266
1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3374 .loc 1 1777 0
3375 0058 236B ldr r3, [r4, #48]
3376 005a 0022 movs r2, #0
3377 005c 1A65 str r2, [r3, #80]
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3378 .loc 1 1725 0
3379 005e 0122 movs r2, #1
3380 0060 06E0 b .L261
3381 .LVL310:
3382 .L258:
1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3383 .loc 1 1744 0
3384 0062 0022 movs r2, #0
3385 0064 1A65 str r2, [r3, #80]
3386 0066 E0E7 b .L257
3387 .L260:
1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3388 .loc 1 1758 0
3389 0068 0022 movs r2, #0
3390 006a 1A65 str r2, [r3, #80]
3391 006c E6E7 b .L259
3392 .L264:
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3393 .loc 1 1725 0
3394 006e 0122 movs r2, #1
3395 .LVL311:
3396 .L261:
1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3397 .loc 1 1787 0
3398 0070 2368 ldr r3, [r4]
3399 0072 5969 ldr r1, [r3, #20]
3400 0074 11F0400F tst r1, #64
3401 0078 0CD0 beq .L262
1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3402 .loc 1 1789 0
3403 007a 5969 ldr r1, [r3, #20]
3404 007c 21F04001 bic r1, r1, #64
3405 0080 5961 str r1, [r3, #20]
1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3406 .loc 1 1792 0
3407 0082 606B ldr r0, [r4, #52]
3408 0084 30B1 cbz r0, .L262
ARM GAS /tmp/ccD7nRW1.s page 123
1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3409 .loc 1 1798 0
3410 0086 FFF7FEFF bl HAL_DMA_Abort_IT
3411 .LVL312:
3412 008a 50B1 cbz r0, .L267
1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** AbortCplt = 0x01U;
3413 .loc 1 1800 0
3414 008c 636B ldr r3, [r4, #52]
3415 008e 0022 movs r2, #0
3416 0090 1A65 str r2, [r3, #80]
3417 .LVL313:
1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3418 .loc 1 1801 0
3419 0092 0122 movs r2, #1
3420 .LVL314:
3421 .L262:
1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3422 .loc 1 1811 0
3423 0094 3AB9 cbnz r2, .L269
3424 .LVL315:
3425 .L263:
1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3426 .loc 1 1835 0
3427 0096 0020 movs r0, #0
3428 0098 10BD pop {r4, pc}
3429 .LVL316:
3430 .L265:
1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3431 .loc 1 1725 0
3432 009a 0122 movs r2, #1
3433 009c E8E7 b .L261
3434 .L266:
1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3435 .loc 1 1781 0
3436 009e 0022 movs r2, #0
3437 00a0 E6E7 b .L261
3438 .LVL317:
3439 .L267:
1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3440 .loc 1 1805 0
3441 00a2 0022 movs r2, #0
3442 00a4 F6E7 b .L262
3443 .LVL318:
3444 .L269:
1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3445 .loc 1 1814 0
3446 00a6 0023 movs r3, #0
3447 00a8 E384 strh r3, [r4, #38] @ movhi
1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3448 .loc 1 1815 0
3449 00aa E385 strh r3, [r4, #46] @ movhi
1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3450 .loc 1 1818 0
3451 00ac E363 str r3, [r4, #60]
1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3452 .loc 1 1821 0
3453 00ae 2023 movs r3, #32
ARM GAS /tmp/ccD7nRW1.s page 124
3454 00b0 84F83930 strb r3, [r4, #57]
1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3455 .loc 1 1822 0
3456 00b4 84F83A30 strb r3, [r4, #58]
1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3457 .loc 1 1830 0
3458 00b8 2046 mov r0, r4
3459 00ba FFF7FEFF bl HAL_UART_AbortCpltCallback
3460 .LVL319:
3461 00be EAE7 b .L263
3462 .L271:
3463 .align 2
3464 .L270:
3465 00c0 00000000 .word UART_DMATxAbortCallback
3466 00c4 00000000 .word UART_DMARxAbortCallback
3467 .cfi_endproc
3468 .LFE149:
3470 .section .text.UART_DMARxAbortCallback,"ax",%progbits
3471 .align 1
3472 .syntax unified
3473 .thumb
3474 .thumb_func
3475 .fpu fpv4-sp-d16
3477 UART_DMARxAbortCallback:
3478 .LFB178:
2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3479 .loc 1 2800 0
3480 .cfi_startproc
3481 @ args = 0, pretend = 0, frame = 0
3482 @ frame_needed = 0, uses_anonymous_args = 0
3483 .LVL320:
3484 0000 08B5 push {r3, lr}
3485 .LCFI41:
3486 .cfi_def_cfa_offset 8
3487 .cfi_offset 3, -8
3488 .cfi_offset 14, -4
2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3489 .loc 1 2801 0
3490 0002 806B ldr r0, [r0, #56]
3491 .LVL321:
2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3492 .loc 1 2803 0
3493 0004 436B ldr r3, [r0, #52]
3494 0006 0022 movs r2, #0
3495 0008 1A65 str r2, [r3, #80]
2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3496 .loc 1 2806 0
3497 000a 036B ldr r3, [r0, #48]
3498 000c 13B1 cbz r3, .L273
2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3499 .loc 1 2808 0
3500 000e 1B6D ldr r3, [r3, #80]
3501 0010 03B1 cbz r3, .L273
3502 .LVL322:
3503 .L272:
3504 0012 08BD pop {r3, pc}
3505 .LVL323:
ARM GAS /tmp/ccD7nRW1.s page 125
3506 .L273:
2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3507 .loc 1 2815 0
3508 0014 0023 movs r3, #0
3509 0016 C384 strh r3, [r0, #38] @ movhi
2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3510 .loc 1 2816 0
3511 0018 C385 strh r3, [r0, #46] @ movhi
2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3512 .loc 1 2819 0
3513 001a C363 str r3, [r0, #60]
2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3514 .loc 1 2822 0
3515 001c 2023 movs r3, #32
3516 001e 80F83930 strb r3, [r0, #57]
2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3517 .loc 1 2823 0
3518 0022 80F83A30 strb r3, [r0, #58]
2831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3519 .loc 1 2831 0
3520 0026 FFF7FEFF bl HAL_UART_AbortCpltCallback
3521 .LVL324:
3522 002a F2E7 b .L272
3523 .cfi_endproc
3524 .LFE178:
3526 .section .text.UART_DMATxAbortCallback,"ax",%progbits
3527 .align 1
3528 .syntax unified
3529 .thumb
3530 .thumb_func
3531 .fpu fpv4-sp-d16
3533 UART_DMATxAbortCallback:
3534 .LFB177:
2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3535 .loc 1 2755 0
3536 .cfi_startproc
3537 @ args = 0, pretend = 0, frame = 0
3538 @ frame_needed = 0, uses_anonymous_args = 0
3539 .LVL325:
3540 0000 08B5 push {r3, lr}
3541 .LCFI42:
3542 .cfi_def_cfa_offset 8
3543 .cfi_offset 3, -8
3544 .cfi_offset 14, -4
2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3545 .loc 1 2756 0
3546 0002 806B ldr r0, [r0, #56]
3547 .LVL326:
2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3548 .loc 1 2758 0
3549 0004 036B ldr r3, [r0, #48]
3550 0006 0022 movs r2, #0
3551 0008 1A65 str r2, [r3, #80]
2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3552 .loc 1 2761 0
3553 000a 436B ldr r3, [r0, #52]
3554 000c 13B1 cbz r3, .L277
ARM GAS /tmp/ccD7nRW1.s page 126
2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3555 .loc 1 2763 0
3556 000e 1B6D ldr r3, [r3, #80]
3557 0010 03B1 cbz r3, .L277
3558 .LVL327:
3559 .L276:
3560 0012 08BD pop {r3, pc}
3561 .LVL328:
3562 .L277:
2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3563 .loc 1 2770 0
3564 0014 0023 movs r3, #0
3565 0016 C384 strh r3, [r0, #38] @ movhi
2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3566 .loc 1 2771 0
3567 0018 C385 strh r3, [r0, #46] @ movhi
2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3568 .loc 1 2774 0
3569 001a C363 str r3, [r0, #60]
2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3570 .loc 1 2777 0
3571 001c 2023 movs r3, #32
3572 001e 80F83930 strb r3, [r0, #57]
2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3573 .loc 1 2778 0
3574 0022 80F83A30 strb r3, [r0, #58]
2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3575 .loc 1 2786 0
3576 0026 FFF7FEFF bl HAL_UART_AbortCpltCallback
3577 .LVL329:
3578 002a F2E7 b .L276
3579 .cfi_endproc
3580 .LFE177:
3582 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
3583 .align 1
3584 .weak HAL_UART_AbortTransmitCpltCallback
3585 .syntax unified
3586 .thumb
3587 .thumb_func
3588 .fpu fpv4-sp-d16
3590 HAL_UART_AbortTransmitCpltCallback:
3591 .LFB159:
2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3592 .loc 1 2234 0
3593 .cfi_startproc
3594 @ args = 0, pretend = 0, frame = 0
3595 @ frame_needed = 0, uses_anonymous_args = 0
3596 @ link register save eliminated.
3597 .LVL330:
3598 0000 7047 bx lr
3599 .cfi_endproc
3600 .LFE159:
3602 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
3603 .align 1
3604 .global HAL_UART_AbortTransmit_IT
3605 .syntax unified
3606 .thumb
ARM GAS /tmp/ccD7nRW1.s page 127
3607 .thumb_func
3608 .fpu fpv4-sp-d16
3610 HAL_UART_AbortTransmit_IT:
3611 .LFB150:
1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
3612 .loc 1 1852 0
3613 .cfi_startproc
3614 @ args = 0, pretend = 0, frame = 0
3615 @ frame_needed = 0, uses_anonymous_args = 0
3616 .LVL331:
1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
3617 .loc 1 1852 0
3618 0000 10B5 push {r4, lr}
3619 .LCFI43:
3620 .cfi_def_cfa_offset 8
3621 .cfi_offset 4, -8
3622 .cfi_offset 14, -4
3623 0002 0446 mov r4, r0
1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3624 .loc 1 1854 0
3625 0004 0268 ldr r2, [r0]
3626 0006 D368 ldr r3, [r2, #12]
3627 0008 23F0C003 bic r3, r3, #192
3628 000c D360 str r3, [r2, #12]
1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3629 .loc 1 1857 0
3630 000e 0368 ldr r3, [r0]
3631 0010 5A69 ldr r2, [r3, #20]
3632 0012 12F0800F tst r2, #128
3633 0016 19D0 beq .L282
1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3634 .loc 1 1859 0
3635 0018 5A69 ldr r2, [r3, #20]
3636 001a 22F08002 bic r2, r2, #128
3637 001e 5A61 str r2, [r3, #20]
1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3638 .loc 1 1862 0
3639 0020 036B ldr r3, [r0, #48]
3640 0022 5BB1 cbz r3, .L283
1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3641 .loc 1 1866 0
3642 0024 0D4A ldr r2, .L287
3643 0026 1A65 str r2, [r3, #80]
1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3644 .loc 1 1869 0
3645 0028 006B ldr r0, [r0, #48]
3646 .LVL332:
3647 002a FFF7FEFF bl HAL_DMA_Abort_IT
3648 .LVL333:
3649 002e 08B9 cbnz r0, .L286
3650 .L284:
1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3651 .loc 1 1912 0
3652 0030 0020 movs r0, #0
3653 0032 10BD pop {r4, pc}
3654 .LVL334:
3655 .L286:
ARM GAS /tmp/ccD7nRW1.s page 128
1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3656 .loc 1 1872 0
3657 0034 206B ldr r0, [r4, #48]
3658 0036 036D ldr r3, [r0, #80]
3659 0038 9847 blx r3
3660 .LVL335:
3661 003a F9E7 b .L284
3662 .LVL336:
3663 .L283:
1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3664 .loc 1 1878 0
3665 003c 0023 movs r3, #0
3666 003e C384 strh r3, [r0, #38] @ movhi
1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3667 .loc 1 1881 0
3668 0040 2023 movs r3, #32
3669 0042 80F83930 strb r3, [r0, #57]
1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3670 .loc 1 1889 0
3671 0046 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
3672 .LVL337:
3673 004a F1E7 b .L284
3674 .LVL338:
3675 .L282:
1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3676 .loc 1 1896 0
3677 004c 0023 movs r3, #0
3678 004e C384 strh r3, [r0, #38] @ movhi
1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3679 .loc 1 1899 0
3680 0050 2023 movs r3, #32
3681 0052 80F83930 strb r3, [r0, #57]
1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3682 .loc 1 1907 0
3683 0056 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
3684 .LVL339:
3685 005a E9E7 b .L284
3686 .L288:
3687 .align 2
3688 .L287:
3689 005c 00000000 .word UART_DMATxOnlyAbortCallback
3690 .cfi_endproc
3691 .LFE150:
3693 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
3694 .align 1
3695 .syntax unified
3696 .thumb
3697 .thumb_func
3698 .fpu fpv4-sp-d16
3700 UART_DMATxOnlyAbortCallback:
3701 .LFB179:
2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3702 .loc 1 2845 0
3703 .cfi_startproc
3704 @ args = 0, pretend = 0, frame = 0
3705 @ frame_needed = 0, uses_anonymous_args = 0
3706 .LVL340:
ARM GAS /tmp/ccD7nRW1.s page 129
3707 0000 08B5 push {r3, lr}
3708 .LCFI44:
3709 .cfi_def_cfa_offset 8
3710 .cfi_offset 3, -8
3711 .cfi_offset 14, -4
2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3712 .loc 1 2846 0
3713 0002 806B ldr r0, [r0, #56]
3714 .LVL341:
2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3715 .loc 1 2848 0
3716 0004 0023 movs r3, #0
3717 0006 C384 strh r3, [r0, #38] @ movhi
2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3718 .loc 1 2851 0
3719 0008 2023 movs r3, #32
3720 000a 80F83930 strb r3, [r0, #57]
2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3721 .loc 1 2859 0
3722 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
3723 .LVL342:
3724 0012 08BD pop {r3, pc}
3725 .cfi_endproc
3726 .LFE179:
3728 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
3729 .align 1
3730 .weak HAL_UART_AbortReceiveCpltCallback
3731 .syntax unified
3732 .thumb
3733 .thumb_func
3734 .fpu fpv4-sp-d16
3736 HAL_UART_AbortReceiveCpltCallback:
3737 .LFB160:
2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3738 .loc 1 2249 0
3739 .cfi_startproc
3740 @ args = 0, pretend = 0, frame = 0
3741 @ frame_needed = 0, uses_anonymous_args = 0
3742 @ link register save eliminated.
3743 .LVL343:
3744 0000 7047 bx lr
3745 .cfi_endproc
3746 .LFE160:
3748 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
3749 .align 1
3750 .global HAL_UART_AbortReceive_IT
3751 .syntax unified
3752 .thumb
3753 .thumb_func
3754 .fpu fpv4-sp-d16
3756 HAL_UART_AbortReceive_IT:
3757 .LFB151:
1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3758 .loc 1 1929 0
3759 .cfi_startproc
3760 @ args = 0, pretend = 0, frame = 0
3761 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccD7nRW1.s page 130
3762 .LVL344:
1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3763 .loc 1 1929 0
3764 0000 10B5 push {r4, lr}
3765 .LCFI45:
3766 .cfi_def_cfa_offset 8
3767 .cfi_offset 4, -8
3768 .cfi_offset 14, -4
3769 0002 0446 mov r4, r0
1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3770 .loc 1 1931 0
3771 0004 0268 ldr r2, [r0]
3772 0006 D368 ldr r3, [r2, #12]
3773 0008 23F49073 bic r3, r3, #288
3774 000c D360 str r3, [r2, #12]
1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3775 .loc 1 1932 0
3776 000e 0268 ldr r2, [r0]
3777 0010 5369 ldr r3, [r2, #20]
3778 0012 23F00103 bic r3, r3, #1
3779 0016 5361 str r3, [r2, #20]
1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3780 .loc 1 1935 0
3781 0018 0368 ldr r3, [r0]
3782 001a 5A69 ldr r2, [r3, #20]
3783 001c 12F0400F tst r2, #64
3784 0020 19D0 beq .L293
1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3785 .loc 1 1937 0
3786 0022 5A69 ldr r2, [r3, #20]
3787 0024 22F04002 bic r2, r2, #64
3788 0028 5A61 str r2, [r3, #20]
1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3789 .loc 1 1940 0
3790 002a 436B ldr r3, [r0, #52]
3791 002c 5BB1 cbz r3, .L294
1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3792 .loc 1 1944 0
3793 002e 0E4A ldr r2, .L298
3794 0030 1A65 str r2, [r3, #80]
1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** {
3795 .loc 1 1947 0
3796 0032 406B ldr r0, [r0, #52]
3797 .LVL345:
3798 0034 FFF7FEFF bl HAL_DMA_Abort_IT
3799 .LVL346:
3800 0038 08B9 cbnz r0, .L297
3801 .L295:
1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3802 .loc 1 1990 0
3803 003a 0020 movs r0, #0
3804 003c 10BD pop {r4, pc}
3805 .LVL347:
3806 .L297:
1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3807 .loc 1 1950 0
3808 003e 606B ldr r0, [r4, #52]
ARM GAS /tmp/ccD7nRW1.s page 131
3809 0040 036D ldr r3, [r0, #80]
3810 0042 9847 blx r3
3811 .LVL348:
3812 0044 F9E7 b .L295
3813 .LVL349:
3814 .L294:
1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3815 .loc 1 1956 0
3816 0046 0023 movs r3, #0
3817 0048 C385 strh r3, [r0, #46] @ movhi
1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3818 .loc 1 1959 0
3819 004a 2023 movs r3, #32
3820 004c 80F83A30 strb r3, [r0, #58]
1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3821 .loc 1 1967 0
3822 0050 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
3823 .LVL350:
3824 0054 F1E7 b .L295
3825 .LVL351:
3826 .L293:
1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3827 .loc 1 1974 0
3828 0056 0023 movs r3, #0
3829 0058 C385 strh r3, [r0, #46] @ movhi
1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3830 .loc 1 1977 0
3831 005a 2023 movs r3, #32
3832 005c 80F83A30 strb r3, [r0, #58]
1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3833 .loc 1 1985 0
3834 0060 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
3835 .LVL352:
3836 0064 E9E7 b .L295
3837 .L299:
3838 0066 00BF .align 2
3839 .L298:
3840 0068 00000000 .word UART_DMARxOnlyAbortCallback
3841 .cfi_endproc
3842 .LFE151:
3844 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
3845 .align 1
3846 .syntax unified
3847 .thumb
3848 .thumb_func
3849 .fpu fpv4-sp-d16
3851 UART_DMARxOnlyAbortCallback:
3852 .LFB180:
2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3853 .loc 1 2873 0
3854 .cfi_startproc
3855 @ args = 0, pretend = 0, frame = 0
3856 @ frame_needed = 0, uses_anonymous_args = 0
3857 .LVL353:
3858 0000 08B5 push {r3, lr}
3859 .LCFI46:
3860 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccD7nRW1.s page 132
3861 .cfi_offset 3, -8
3862 .cfi_offset 14, -4
2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3863 .loc 1 2874 0
3864 0002 806B ldr r0, [r0, #56]
3865 .LVL354:
2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3866 .loc 1 2876 0
3867 0004 0023 movs r3, #0
3868 0006 C385 strh r3, [r0, #46] @ movhi
2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3869 .loc 1 2879 0
3870 0008 2023 movs r3, #32
3871 000a 80F83A30 strb r3, [r0, #58]
2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3872 .loc 1 2887 0
3873 000e FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
3874 .LVL355:
3875 0012 08BD pop {r3, pc}
3876 .cfi_endproc
3877 .LFE180:
3879 .section .text.HAL_LIN_SendBreak,"ax",%progbits
3880 .align 1
3881 .global HAL_LIN_SendBreak
3882 .syntax unified
3883 .thumb
3884 .thumb_func
3885 .fpu fpv4-sp-d16
3887 HAL_LIN_SendBreak:
3888 .LFB161:
2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
3889 .loc 1 2288 0
3890 .cfi_startproc
3891 @ args = 0, pretend = 0, frame = 0
3892 @ frame_needed = 0, uses_anonymous_args = 0
3893 @ link register save eliminated.
3894 .LVL356:
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3895 .loc 1 2293 0
3896 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
3897 0004 012B cmp r3, #1
3898 0006 12D0 beq .L304
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3899 .loc 1 2293 0 is_stmt 0 discriminator 2
3900 0008 0123 movs r3, #1
3901 000a 80F83830 strb r3, [r0, #56]
2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3902 .loc 1 2295 0 is_stmt 1 discriminator 2
3903 000e 2423 movs r3, #36
3904 0010 80F83930 strb r3, [r0, #57]
2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3905 .loc 1 2298 0 discriminator 2
3906 0014 0268 ldr r2, [r0]
3907 0016 D368 ldr r3, [r2, #12]
3908 0018 43F00103 orr r3, r3, #1
3909 001c D360 str r3, [r2, #12]
2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccD7nRW1.s page 133
3910 .loc 1 2300 0 discriminator 2
3911 001e 2023 movs r3, #32
3912 0020 80F83930 strb r3, [r0, #57]
2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3913 .loc 1 2303 0 discriminator 2
3914 0024 0023 movs r3, #0
3915 0026 80F83830 strb r3, [r0, #56]
2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3916 .loc 1 2305 0 discriminator 2
3917 002a 1846 mov r0, r3
3918 .LVL357:
3919 002c 7047 bx lr
3920 .LVL358:
3921 .L304:
2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3922 .loc 1 2293 0
3923 002e 0220 movs r0, #2
3924 .LVL359:
2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3925 .loc 1 2306 0
3926 0030 7047 bx lr
3927 .cfi_endproc
3928 .LFE161:
3930 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
3931 .align 1
3932 .global HAL_MultiProcessor_EnterMuteMode
3933 .syntax unified
3934 .thumb
3935 .thumb_func
3936 .fpu fpv4-sp-d16
3938 HAL_MultiProcessor_EnterMuteMode:
3939 .LFB162:
2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
3940 .loc 1 2315 0
3941 .cfi_startproc
3942 @ args = 0, pretend = 0, frame = 0
3943 @ frame_needed = 0, uses_anonymous_args = 0
3944 @ link register save eliminated.
3945 .LVL360:
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3946 .loc 1 2320 0
3947 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
3948 0004 012B cmp r3, #1
3949 0006 12D0 beq .L307
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3950 .loc 1 2320 0 is_stmt 0 discriminator 2
3951 0008 0123 movs r3, #1
3952 000a 80F83830 strb r3, [r0, #56]
2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3953 .loc 1 2322 0 is_stmt 1 discriminator 2
3954 000e 2423 movs r3, #36
3955 0010 80F83930 strb r3, [r0, #57]
2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3956 .loc 1 2325 0 discriminator 2
3957 0014 0268 ldr r2, [r0]
3958 0016 D368 ldr r3, [r2, #12]
3959 0018 43F00203 orr r3, r3, #2
ARM GAS /tmp/ccD7nRW1.s page 134
3960 001c D360 str r3, [r2, #12]
2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3961 .loc 1 2327 0 discriminator 2
3962 001e 2023 movs r3, #32
3963 0020 80F83930 strb r3, [r0, #57]
2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3964 .loc 1 2330 0 discriminator 2
3965 0024 0023 movs r3, #0
3966 0026 80F83830 strb r3, [r0, #56]
2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
3967 .loc 1 2332 0 discriminator 2
3968 002a 1846 mov r0, r3
3969 .LVL361:
3970 002c 7047 bx lr
3971 .LVL362:
3972 .L307:
2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3973 .loc 1 2320 0
3974 002e 0220 movs r0, #2
3975 .LVL363:
2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3976 .loc 1 2333 0
3977 0030 7047 bx lr
3978 .cfi_endproc
3979 .LFE162:
3981 .section .text.HAL_MultiProcessor_ExitMuteMode,"ax",%progbits
3982 .align 1
3983 .global HAL_MultiProcessor_ExitMuteMode
3984 .syntax unified
3985 .thumb
3986 .thumb_func
3987 .fpu fpv4-sp-d16
3989 HAL_MultiProcessor_ExitMuteMode:
3990 .LFB163:
2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** /* Check the parameters */
3991 .loc 1 2342 0
3992 .cfi_startproc
3993 @ args = 0, pretend = 0, frame = 0
3994 @ frame_needed = 0, uses_anonymous_args = 0
3995 @ link register save eliminated.
3996 .LVL364:
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
3997 .loc 1 2347 0
3998 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
3999 0004 012B cmp r3, #1
4000 0006 12D0 beq .L310
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4001 .loc 1 2347 0 is_stmt 0 discriminator 2
4002 0008 0123 movs r3, #1
4003 000a 80F83830 strb r3, [r0, #56]
2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4004 .loc 1 2349 0 is_stmt 1 discriminator 2
4005 000e 2423 movs r3, #36
4006 0010 80F83930 strb r3, [r0, #57]
2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4007 .loc 1 2352 0 discriminator 2
4008 0014 0268 ldr r2, [r0]
ARM GAS /tmp/ccD7nRW1.s page 135
4009 0016 D368 ldr r3, [r2, #12]
4010 0018 23F00203 bic r3, r3, #2
4011 001c D360 str r3, [r2, #12]
2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4012 .loc 1 2354 0 discriminator 2
4013 001e 2023 movs r3, #32
4014 0020 80F83930 strb r3, [r0, #57]
2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4015 .loc 1 2357 0 discriminator 2
4016 0024 0023 movs r3, #0
4017 0026 80F83830 strb r3, [r0, #56]
2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4018 .loc 1 2359 0 discriminator 2
4019 002a 1846 mov r0, r3
4020 .LVL365:
4021 002c 7047 bx lr
4022 .LVL366:
4023 .L310:
2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4024 .loc 1 2347 0
4025 002e 0220 movs r0, #2
4026 .LVL367:
2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4027 .loc 1 2360 0
4028 0030 7047 bx lr
4029 .cfi_endproc
4030 .LFE163:
4032 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
4033 .align 1
4034 .global HAL_HalfDuplex_EnableTransmitter
4035 .syntax unified
4036 .thumb
4037 .thumb_func
4038 .fpu fpv4-sp-d16
4040 HAL_HalfDuplex_EnableTransmitter:
4041 .LFB164:
2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
4042 .loc 1 2369 0
4043 .cfi_startproc
4044 @ args = 0, pretend = 0, frame = 0
4045 @ frame_needed = 0, uses_anonymous_args = 0
4046 @ link register save eliminated.
4047 .LVL368:
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4048 .loc 1 2373 0
4049 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4050 0004 012B cmp r3, #1
4051 0006 14D0 beq .L313
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4052 .loc 1 2373 0 is_stmt 0 discriminator 2
4053 0008 0123 movs r3, #1
4054 000a 80F83830 strb r3, [r0, #56]
2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4055 .loc 1 2375 0 is_stmt 1 discriminator 2
4056 000e 2423 movs r3, #36
4057 0010 80F83930 strb r3, [r0, #57]
2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
ARM GAS /tmp/ccD7nRW1.s page 136
4058 .loc 1 2378 0 discriminator 2
4059 0014 0268 ldr r2, [r0]
4060 0016 D368 ldr r3, [r2, #12]
4061 .LVL369:
2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4062 .loc 1 2381 0 discriminator 2
4063 0018 23F00C03 bic r3, r3, #12
4064 .LVL370:
2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4065 .loc 1 2384 0 discriminator 2
4066 001c 43F00803 orr r3, r3, #8
4067 .LVL371:
2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4068 .loc 1 2387 0 discriminator 2
4069 0020 D360 str r3, [r2, #12]
2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4070 .loc 1 2389 0 discriminator 2
4071 0022 2023 movs r3, #32
4072 .LVL372:
4073 0024 80F83930 strb r3, [r0, #57]
4074 .LVL373:
2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4075 .loc 1 2392 0 discriminator 2
4076 0028 0023 movs r3, #0
4077 002a 80F83830 strb r3, [r0, #56]
2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4078 .loc 1 2394 0 discriminator 2
4079 002e 1846 mov r0, r3
4080 .LVL374:
4081 0030 7047 bx lr
4082 .LVL375:
4083 .L313:
2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4084 .loc 1 2373 0
4085 0032 0220 movs r0, #2
4086 .LVL376:
2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4087 .loc 1 2395 0
4088 0034 7047 bx lr
4089 .cfi_endproc
4090 .LFE164:
4092 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
4093 .align 1
4094 .global HAL_HalfDuplex_EnableReceiver
4095 .syntax unified
4096 .thumb
4097 .thumb_func
4098 .fpu fpv4-sp-d16
4100 HAL_HalfDuplex_EnableReceiver:
4101 .LFB165:
2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
4102 .loc 1 2404 0
4103 .cfi_startproc
4104 @ args = 0, pretend = 0, frame = 0
4105 @ frame_needed = 0, uses_anonymous_args = 0
4106 @ link register save eliminated.
4107 .LVL377:
ARM GAS /tmp/ccD7nRW1.s page 137
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4108 .loc 1 2408 0
4109 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4110 0004 012B cmp r3, #1
4111 0006 14D0 beq .L316
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4112 .loc 1 2408 0 is_stmt 0 discriminator 2
4113 0008 0123 movs r3, #1
4114 000a 80F83830 strb r3, [r0, #56]
2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4115 .loc 1 2410 0 is_stmt 1 discriminator 2
4116 000e 2423 movs r3, #36
4117 0010 80F83930 strb r3, [r0, #57]
2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4118 .loc 1 2413 0 discriminator 2
4119 0014 0268 ldr r2, [r0]
4120 0016 D368 ldr r3, [r2, #12]
4121 .LVL378:
2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4122 .loc 1 2416 0 discriminator 2
4123 0018 23F00C03 bic r3, r3, #12
4124 .LVL379:
2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4125 .loc 1 2419 0 discriminator 2
4126 001c 43F00403 orr r3, r3, #4
4127 .LVL380:
2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4128 .loc 1 2422 0 discriminator 2
4129 0020 D360 str r3, [r2, #12]
2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4130 .loc 1 2424 0 discriminator 2
4131 0022 2023 movs r3, #32
4132 .LVL381:
4133 0024 80F83930 strb r3, [r0, #57]
4134 .LVL382:
2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4135 .loc 1 2427 0 discriminator 2
4136 0028 0023 movs r3, #0
4137 002a 80F83830 strb r3, [r0, #56]
2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4138 .loc 1 2429 0 discriminator 2
4139 002e 1846 mov r0, r3
4140 .LVL383:
4141 0030 7047 bx lr
4142 .LVL384:
4143 .L316:
2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4144 .loc 1 2408 0
4145 0032 0220 movs r0, #2
4146 .LVL385:
2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4147 .loc 1 2430 0
4148 0034 7047 bx lr
4149 .cfi_endproc
4150 .LFE165:
4152 .section .text.HAL_UART_GetState,"ax",%progbits
4153 .align 1
ARM GAS /tmp/ccD7nRW1.s page 138
4154 .global HAL_UART_GetState
4155 .syntax unified
4156 .thumb
4157 .thumb_func
4158 .fpu fpv4-sp-d16
4160 HAL_UART_GetState:
4161 .LFB166:
2461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U;
4162 .loc 1 2461 0
4163 .cfi_startproc
4164 @ args = 0, pretend = 0, frame = 0
4165 @ frame_needed = 0, uses_anonymous_args = 0
4166 @ link register save eliminated.
4167 .LVL386:
2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** temp2 = huart->RxState;
4168 .loc 1 2463 0
4169 0000 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
4170 .LVL387:
2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4171 .loc 1 2464 0
4172 0004 90F83A00 ldrb r0, [r0, #58] @ zero_extendqisi2
4173 .LVL388:
2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4174 .loc 1 2467 0
4175 0008 1843 orrs r0, r0, r3
4176 .LVL389:
4177 000a 7047 bx lr
4178 .cfi_endproc
4179 .LFE166:
4181 .section .text.HAL_UART_GetError,"ax",%progbits
4182 .align 1
4183 .global HAL_UART_GetError
4184 .syntax unified
4185 .thumb
4186 .thumb_func
4187 .fpu fpv4-sp-d16
4189 HAL_UART_GetError:
4190 .LFB167:
2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** return huart->ErrorCode;
4191 .loc 1 2476 0
4192 .cfi_startproc
4193 @ args = 0, pretend = 0, frame = 0
4194 @ frame_needed = 0, uses_anonymous_args = 0
4195 @ link register save eliminated.
4196 .LVL390:
2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c **** }
4197 .loc 1 2477 0
4198 0000 C06B ldr r0, [r0, #60]
4199 .LVL391:
2478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c ****
4200 .loc 1 2478 0
4201 0002 7047 bx lr
4202 .cfi_endproc
4203 .LFE167:
4205 .text
4206 .Letext0:
4207 .file 2 "/usr/include/newlib/machine/_default_types.h"
ARM GAS /tmp/ccD7nRW1.s page 139
4208 .file 3 "/usr/include/newlib/sys/_stdint.h"
4209 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
4210 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h"
4211 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
4212 .file 7 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
4213 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
4214 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
4215 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h"
4216 .file 11 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h"
4217 .file 12 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
ARM GAS /tmp/ccD7nRW1.s page 140
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f4xx_hal_uart.c
/tmp/ccD7nRW1.s:18 .text.UART_EndTxTransfer:0000000000000000 $t
/tmp/ccD7nRW1.s:24 .text.UART_EndTxTransfer:0000000000000000 UART_EndTxTransfer
/tmp/ccD7nRW1.s:46 .text.UART_EndRxTransfer:0000000000000000 $t
/tmp/ccD7nRW1.s:52 .text.UART_EndRxTransfer:0000000000000000 UART_EndRxTransfer
/tmp/ccD7nRW1.s:78 .text.UART_Transmit_IT:0000000000000000 $t
/tmp/ccD7nRW1.s:84 .text.UART_Transmit_IT:0000000000000000 UART_Transmit_IT
/tmp/ccD7nRW1.s:172 .text.UART_SetConfig:0000000000000000 $t
/tmp/ccD7nRW1.s:178 .text.UART_SetConfig:0000000000000000 UART_SetConfig
/tmp/ccD7nRW1.s:504 .text.UART_SetConfig:000000000000033c $d
/tmp/ccD7nRW1.s:510 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t
/tmp/ccD7nRW1.s:516 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout
/tmp/ccD7nRW1.s:591 .text.HAL_UART_MspInit:0000000000000000 $t
/tmp/ccD7nRW1.s:598 .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit
/tmp/ccD7nRW1.s:611 .text.HAL_UART_Init:0000000000000000 $t
/tmp/ccD7nRW1.s:618 .text.HAL_UART_Init:0000000000000000 HAL_UART_Init
/tmp/ccD7nRW1.s:698 .text.HAL_HalfDuplex_Init:0000000000000000 $t
/tmp/ccD7nRW1.s:705 .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init
/tmp/ccD7nRW1.s:791 .text.HAL_LIN_Init:0000000000000000 $t
/tmp/ccD7nRW1.s:798 .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init
/tmp/ccD7nRW1.s:901 .text.HAL_MultiProcessor_Init:0000000000000000 $t
/tmp/ccD7nRW1.s:908 .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init
/tmp/ccD7nRW1.s:1016 .text.HAL_UART_MspDeInit:0000000000000000 $t
/tmp/ccD7nRW1.s:1023 .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit
/tmp/ccD7nRW1.s:1036 .text.HAL_UART_DeInit:0000000000000000 $t
/tmp/ccD7nRW1.s:1043 .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit
/tmp/ccD7nRW1.s:1095 .text.HAL_UART_Transmit:0000000000000000 $t
/tmp/ccD7nRW1.s:1102 .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit
/tmp/ccD7nRW1.s:1288 .text.HAL_UART_Receive:0000000000000000 $t
/tmp/ccD7nRW1.s:1295 .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive
/tmp/ccD7nRW1.s:1485 .text.HAL_UART_Transmit_IT:0000000000000000 $t
/tmp/ccD7nRW1.s:1492 .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT
/tmp/ccD7nRW1.s:1567 .text.HAL_UART_Receive_IT:0000000000000000 $t
/tmp/ccD7nRW1.s:1574 .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT
/tmp/ccD7nRW1.s:1659 .text.HAL_UART_Transmit_DMA:0000000000000000 $t
/tmp/ccD7nRW1.s:1666 .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA
/tmp/ccD7nRW1.s:1776 .text.HAL_UART_Transmit_DMA:0000000000000080 $d
/tmp/ccD7nRW1.s:2519 .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt
/tmp/ccD7nRW1.s:2629 .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt
/tmp/ccD7nRW1.s:2933 .text.UART_DMAError:0000000000000000 UART_DMAError
/tmp/ccD7nRW1.s:1783 .text.HAL_UART_Receive_DMA:0000000000000000 $t
/tmp/ccD7nRW1.s:1790 .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA
/tmp/ccD7nRW1.s:1925 .text.HAL_UART_Receive_DMA:000000000000009c $d
/tmp/ccD7nRW1.s:2679 .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt
/tmp/ccD7nRW1.s:2883 .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt
/tmp/ccD7nRW1.s:1932 .text.HAL_UART_DMAPause:0000000000000000 $t
/tmp/ccD7nRW1.s:1939 .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause
/tmp/ccD7nRW1.s:2026 .text.HAL_UART_DMAResume:0000000000000000 $t
/tmp/ccD7nRW1.s:2033 .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume
/tmp/ccD7nRW1.s:2127 .text.HAL_UART_DMAStop:0000000000000000 $t
/tmp/ccD7nRW1.s:2134 .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop
/tmp/ccD7nRW1.s:2223 .text.HAL_UART_Abort:0000000000000000 $t
/tmp/ccD7nRW1.s:2230 .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort
/tmp/ccD7nRW1.s:2342 .text.HAL_UART_AbortTransmit:0000000000000000 $t
/tmp/ccD7nRW1.s:2349 .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit
/tmp/ccD7nRW1.s:2415 .text.HAL_UART_AbortReceive:0000000000000000 $t
ARM GAS /tmp/ccD7nRW1.s page 141
/tmp/ccD7nRW1.s:2422 .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive
/tmp/ccD7nRW1.s:2493 .text.HAL_UART_TxCpltCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:2500 .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback
/tmp/ccD7nRW1.s:2513 .text.UART_DMATransmitCplt:0000000000000000 $t
/tmp/ccD7nRW1.s:2567 .text.UART_EndTransmit_IT:0000000000000000 $t
/tmp/ccD7nRW1.s:2573 .text.UART_EndTransmit_IT:0000000000000000 UART_EndTransmit_IT
/tmp/ccD7nRW1.s:2603 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:2610 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback
/tmp/ccD7nRW1.s:2623 .text.UART_DMATxHalfCplt:0000000000000000 $t
/tmp/ccD7nRW1.s:2653 .text.HAL_UART_RxCpltCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:2660 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
/tmp/ccD7nRW1.s:2673 .text.UART_DMAReceiveCplt:0000000000000000 $t
/tmp/ccD7nRW1.s:2732 .text.UART_Receive_IT:0000000000000000 $t
/tmp/ccD7nRW1.s:2738 .text.UART_Receive_IT:0000000000000000 UART_Receive_IT
/tmp/ccD7nRW1.s:2857 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:2864 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback
/tmp/ccD7nRW1.s:2877 .text.UART_DMARxHalfCplt:0000000000000000 $t
/tmp/ccD7nRW1.s:2907 .text.HAL_UART_ErrorCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:2914 .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback
/tmp/ccD7nRW1.s:2927 .text.UART_DMAError:0000000000000000 $t
/tmp/ccD7nRW1.s:3015 .text.HAL_UART_IRQHandler:0000000000000000 $t
/tmp/ccD7nRW1.s:3022 .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler
/tmp/ccD7nRW1.s:3242 .text.HAL_UART_IRQHandler:000000000000011c $d
/tmp/ccD7nRW1.s:3253 .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError
/tmp/ccD7nRW1.s:3247 .text.UART_DMAAbortOnError:0000000000000000 $t
/tmp/ccD7nRW1.s:3281 .text.HAL_UART_AbortCpltCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:3288 .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback
/tmp/ccD7nRW1.s:3301 .text.HAL_UART_Abort_IT:0000000000000000 $t
/tmp/ccD7nRW1.s:3308 .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT
/tmp/ccD7nRW1.s:3465 .text.HAL_UART_Abort_IT:00000000000000c0 $d
/tmp/ccD7nRW1.s:3533 .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback
/tmp/ccD7nRW1.s:3477 .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback
/tmp/ccD7nRW1.s:3471 .text.UART_DMARxAbortCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:3527 .text.UART_DMATxAbortCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:3583 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:3590 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback
/tmp/ccD7nRW1.s:3603 .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t
/tmp/ccD7nRW1.s:3610 .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT
/tmp/ccD7nRW1.s:3689 .text.HAL_UART_AbortTransmit_IT:000000000000005c $d
/tmp/ccD7nRW1.s:3700 .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback
/tmp/ccD7nRW1.s:3694 .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:3729 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:3736 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback
/tmp/ccD7nRW1.s:3749 .text.HAL_UART_AbortReceive_IT:0000000000000000 $t
/tmp/ccD7nRW1.s:3756 .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT
/tmp/ccD7nRW1.s:3840 .text.HAL_UART_AbortReceive_IT:0000000000000068 $d
/tmp/ccD7nRW1.s:3851 .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback
/tmp/ccD7nRW1.s:3845 .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t
/tmp/ccD7nRW1.s:3880 .text.HAL_LIN_SendBreak:0000000000000000 $t
/tmp/ccD7nRW1.s:3887 .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak
/tmp/ccD7nRW1.s:3931 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t
/tmp/ccD7nRW1.s:3938 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode
/tmp/ccD7nRW1.s:3982 .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 $t
/tmp/ccD7nRW1.s:3989 .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 HAL_MultiProcessor_ExitMuteMode
/tmp/ccD7nRW1.s:4033 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t
/tmp/ccD7nRW1.s:4040 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter
/tmp/ccD7nRW1.s:4093 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t
ARM GAS /tmp/ccD7nRW1.s page 142
/tmp/ccD7nRW1.s:4100 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver
/tmp/ccD7nRW1.s:4153 .text.HAL_UART_GetState:0000000000000000 $t
/tmp/ccD7nRW1.s:4160 .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState
/tmp/ccD7nRW1.s:4182 .text.HAL_UART_GetError:0000000000000000 $t
/tmp/ccD7nRW1.s:4189 .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError
.debug_frame:0000000000000010 $d
UNDEFINED SYMBOLS
HAL_RCC_GetPCLK1Freq
HAL_RCC_GetPCLK2Freq
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_GetError
HAL_DMA_Abort_IT