Files
bassofono/codice/build/stm32g4xx_hal_uart.lst
2021-07-03 18:17:05 +02:00

18948 lines
1.0 MiB
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
ARM GAS /tmp/ccgDLloS.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
4 .eabi_attribute 23, 1
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 2
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "stm32g4xx_hal_uart.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.UART_TxISR_16BIT,"ax",%progbits
16 .align 1
17 .p2align 2,,3
18 .syntax unified
19 .thumb
20 .thumb_func
21 .fpu fpv4-sp-d16
23 UART_TxISR_16BIT:
24 .LFB391:
25 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c"
1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ******************************************************************************
3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @file stm32g4xx_hal_uart.c
4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @author MCD Application Team
5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART HAL module driver.
6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * + Initialization and de-initialization functions
9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * + IO operation functions
10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * + Peripheral Control functions
11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *
12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *
13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim
14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ===============================================================================
15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### How to use this driver #####
16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ===============================================================================
17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The UART HAL driver can be used as follows:
19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) Enable the USARTx interface clock.
23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) UART pins configuration:
24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up.
26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) UART interrupts handling:
31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt,
32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** RXNE interrupt, RX/TX FIFOs related interrupts and Error Interrupts)
33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT()
ARM GAS /tmp/ccgDLloS.s page 2
34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** inside the transmit and receive processes.
35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel.
38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters.
40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel.
41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** interrupt on the DMA Tx/Rx channel.
44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Prescaler value , Hardware
46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure.
47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...)
49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the huart handle AdvancedInit structure.
50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_Init() API.
53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers
58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** by calling the HAL_LIN_Init() API.
59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers
61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API.
62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers
64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API.
65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini
68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by
69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API.
70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### Callback registration #####
72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ==================================
73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks.
77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Use Function @ref HAL_UART_RegisterCallback() to register a user callback.
80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Function @ref HAL_UART_RegisterCallback() allows to register following callbacks:
81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback.
90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxFifoFullCallback : Rx Fifo Full Callback.
ARM GAS /tmp/ccgDLloS.s page 3
91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxFifoEmptyCallback : Tx Fifo Empty Callback.
92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and a pointer to the user callback function.
96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Use function @ref HAL_UART_UnRegisterCallback() to reset a callback to the default
99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** weak (surcharged) function.
100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @ref HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and the Callback ID.
102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This function allows to reset following callbacks:
103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback.
112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) RxFifoFullCallback : Rx Fifo Full Callback.
113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) TxFifoEmptyCallback : Tx Fifo Empty Callback.
114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions:
119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** respectively @ref HAL_UART_RegisterRxEventCallback() , @ref HAL_UART_UnRegisterRxEventCallback(
120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** By default, after the @ref HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions:
124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** examples @ref HAL_UART_TxCpltCallback(), @ref HAL_UART_RxHalfCpltCallback().
125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively
126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the @ref HAL_UART_Init()
127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and @ref HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the @ref HAL_UART_Init() and @ref HAL_UART_DeInit()
129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit.
136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks
137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** using @ref HAL_UART_RegisterCallback() before calling @ref HAL_UART_DeInit()
138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** or @ref HAL_UART_Init() function.
139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** not defined, the callback registration feature is not available
143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and weak (surcharged) callbacks are used.
144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ******************************************************************************
ARM GAS /tmp/ccgDLloS.s page 4
148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @attention
149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *
150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * All rights reserved.</center></h2>
152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *
153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This software component is licensed by ST under BSD 3-Clause license,
154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the "License"; You may not use this file except in compliance with the
155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * License. You may obtain a copy of the License at:
156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * opensource.org/licenses/BSD-3-Clause
157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *
158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ******************************************************************************
159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #include "stm32g4xx_hal.h"
163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @addtogroup STM32G4xx_HAL_Driver
165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART UART
169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief HAL UART module driver
170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants
178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | U
181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_OVER8 | USART_CR1_FIFOEN)) /*!< UART or USART CR1 f
182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE | USART_CR3_ONEBIT | USART_CR
184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR3_RXFTCFG)) /*!< UART or USART CR3 fields of paramete
185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define LPUART_BRR_MIN 0x00000300U /* LPUART BRR minimum authorized value */
187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define LPUART_BRR_MAX 0x000FFFFFU /* LPUART BRR maximum authorized value */
188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define UART_BRR_MIN 0x10U /* UART BRR minimum authorized value */
190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #define UART_BRR_MAX 0x0000FFFFU /* UART BRR maximum authorized value */
191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @}
193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/
196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @addtogroup UART_Private_Functions
199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
ARM GAS /tmp/ccgDLloS.s page 5
205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart);
214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart);
215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart);
216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart);
217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart);
218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart);
219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart);
220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart);
221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart);
222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @}
224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Exported Constants --------------------------------------------------------*/
227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @addtogroup UART_Exported_Constants
228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const uint16_t UARTPrescTable[12] = {1U, 2U, 4U, 6U, 8U, 10U, 12U, 16U, 32U, 64U, 128U, 256U};
231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @}
233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/
236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialization and Configuration functions
243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *
244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim
245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ===============================================================================
246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### Initialization and Configuration functions #####
247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ===============================================================================
248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in asynchronous mode.
251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) For the asynchronous mode the parameters below can be configured:
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) Baud Rate
253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) Word Length
254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) Stop Bit
255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) Hardware flow control
258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) Receiver/transmitter modes
259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) Over Sampling Method
260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) One-Bit Sampling Method
261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) For the asynchronous mode, the following advanced features can be configured as well:
ARM GAS /tmp/ccgDLloS.s page 6
262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) TX and/or RX pin level inversion
263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) data logical level inversion
264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) RX and TX pins swap
265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) RX overrun detection disabling
266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) DMA disabling on RX error
267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) MSB first on communication line
268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (++) auto Baud rate detection
269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API
271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, UART LIN mode
272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and UART multiprocessor mode configuration procedures (details for the procedures
273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** are available in reference manual).
274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim
276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit,
278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** 8-bit or 9-bit), the possible UART formats are listed in the
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** following table.
280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Table 1. UART frame format.
282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** +-----------------------------------------------------------------------+
283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** | M1 bit | M0 bit | PCE bit | UART frame |
284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | |
286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | |
288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | |
290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | |
292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | |
294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | |
296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** +-----------------------------------------------------------------------+
297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the UART mode according to the specified
303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL)
311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
ARM GAS /tmp/ccgDLloS.s page 7
319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param((IS_UART_INSTANCE(huart->Instance)) || (IS_LPUART_INSTANCE(huart->Instance)));
324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware */
340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback(huart);
341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspInit(huart);
344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART Communication parameters */
352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart));
372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified
ARM GAS /tmp/ccgDLloS.s page 8
376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL)
384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check UART instance */
389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware */
405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback(huart);
406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspInit(huart);
409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART Communication parameters */
417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 9
433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart));
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified
445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length.
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values:
449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection
450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection
451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL)
457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the LIN UART instance */
462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the Break detection length parameter */
464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */
467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */
472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B)
473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 10
490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware */
491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback(huart);
492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspInit(huart);
495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART Communication parameters */
503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN);
517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength);
524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart));
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified
534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long).
537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method.
538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values:
539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection
540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark
541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * is useless and ignored by the initialization function.
543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection
544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to
545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API
546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after
ARM GAS /tmp/ccgDLloS.s page 11
547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_MultiProcessor_Init().
548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL)
554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the wake up method parameter */
559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Allocate lock resource and initialize it */
564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware */
575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback(huart);
576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspInit(huart);
579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART Communication parameters */
587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared:
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register. */
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK)
ARM GAS /tmp/ccgDLloS.s page 12
604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */
606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS)
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod);
611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart));
616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DeInitialize the UART peripheral.
621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart == NULL)
628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */
633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param((IS_UART_INSTANCE(huart->Instance)) || (IS_LPUART_INSTANCE(huart->Instance)));
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR1 = 0x0U;
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL)
645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DeInit the low level hardware */
649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback(huart);
650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DeInit the low level hardware */
652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
ARM GAS /tmp/ccgDLloS.s page 13
661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the UART MSP.
667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DeInitialize the UART MSP.
682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file
692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Register a User UART Callback
698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * To be used instead of the weak predefined callback
699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart uart handle
700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered
701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values:
702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_FIFO_FULL_CB_ID Rx Fifo Full Callback ID
712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_FIFO_EMPTY_CB_ID Tx Fifo Empty Callback ID
713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pCallback pointer to the Callback function
716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
ARM GAS /tmp/ccgDLloS.s page 14
718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pUART_CallbackTypeDef pCallback)
720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pCallback == NULL)
724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID)
735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback;
738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback = pCallback;
742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback;
746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback = pCallback;
750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback = pCallback;
754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback = pCallback;
758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback;
762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback;
766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID :
769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback = pCallback;
770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_FIFO_FULL_CB_ID :
773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback = pCallback;
774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
ARM GAS /tmp/ccgDLloS.s page 15
775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_FIFO_EMPTY_CB_ID :
777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback = pCallback;
778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = pCallback;
782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default :
789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR;
792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET)
796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID)
798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = pCallback;
801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default :
808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR;
811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR;
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status;
824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Unregister an UART Callback
828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback
829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart uart handle
830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered
831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This parameter can be one of the following values:
ARM GAS /tmp/ccgDLloS.s page 16
832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_RX_FIFO_FULL_CB_ID Rx Fifo Full Callback ID
842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_TX_FIFO_EMPTY_CB_ID Tx Fifo Empty Callback ID
843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState)
854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID)
856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa
859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl
863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal
867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl
871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error
875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort
879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak
883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** AbortTransmitCplt
884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** AbortReceiveCpltC
ARM GAS /tmp/ccgDLloS.s page 17
889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID :
892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu
893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_RX_FIFO_FULL_CB_ID :
896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback = HAL_UARTEx_RxFifoFullCallback; /* Legacy weak RxFif
897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_TX_FIFO_EMPTY_CB_ID :
900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback = HAL_UARTEx_TxFifoEmptyCallback; /* Legacy weak TxFif
901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn
905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe
909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default :
912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR;
915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState)
919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (CallbackID)
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default :
931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR;
934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR;
942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 18
946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status;
947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * To be used instead of the weak predefined callback
952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Uart handle
953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function
954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback
957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pCallback == NULL)
961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process locked */
968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback = pCallback;
973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR;
979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Release Lock */
982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status;
985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback
989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine
990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Uart handle
991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart)
994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process locked */
998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */
ARM GAS /tmp/ccgDLloS.s page 19
1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** status = HAL_ERROR;
1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Release Lock */
1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return status;
1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @}
1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Transmit/Receive functions
1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *
1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim
1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ===============================================================================
1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### IO operation functions #####
1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ===============================================================================
1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and Half duplex data transfers.
1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) There are two mode of transfer:
1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** after finishing transfer.
1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** or DMA, These API's return the HAL status.
1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The end of the data processing will be indicated through the
1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** using DMA mode.
1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process
1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Blocking mode API's are :
1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Transmit()
1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Receive()
1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DMAPause()
1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DMAResume()
1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DMAStop()
ARM GAS /tmp/ccgDLloS.s page 20
1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Abort()
1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o
1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** reception services:
1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback()
1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Errors are handled as follows :
1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error
1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in Interrupt mode reception .
1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow
1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed.
1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Transfer is kept ongoing on UART side.
1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback()
1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** user callback is executed.
1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim
1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Send an amount of data in blocking mode.
1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 provided through pData.
1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When FIFO mode is enabled, writing a data in the TDR register adds one
1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * data to the TXFIFO. Write operations to the TDR register are performed
1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * when TXFNF flag is set. From hardware perspective, TXFNF flag and
1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * TXE are mapped on the same bit-field.
1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
ARM GAS /tmp/ccgDLloS.s page 21
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Timeout Timeout duration.
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint3
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits;
1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *pdata16bits;
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart;
1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init tickstart for timeout management */
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tickstart = HAL_GetTick();
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size;
1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size;
1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = NULL;
1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = pData;
1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = NULL;
1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pdata8bits == NULL)
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU);
1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++;
1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU);
ARM GAS /tmp/ccgDLloS.s page 22
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++;
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--;
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY;
1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode.
1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 available through pData.
1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When FIFO mode is enabled, the RXFNE flag is set as long as the RXFIFO
1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * is not empty. Read operations from the RDR register are performed when
1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * RXFNE flag is set. From hardware perspective, RXFNE flag and
1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * RXNE are mapped on the same bit-field.
1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Timeout Timeout duration.
1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits;
1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *pdata16bits;
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask;
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart;
1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 23
1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init tickstart for timeout management */
1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tickstart = HAL_GetTick();
1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size;
1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size;
1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = NULL;
1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits = pData;
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = NULL;
1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* as long as data have to be received */
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while (huart->RxXferCount > 0U)
1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pdata8bits == NULL)
1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask);
1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++;
1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask);
1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++;
1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY;
1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode.
ARM GAS /tmp/ccgDLloS.s page 24
1288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 provided through pData.
1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size;
1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size;
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure Tx interrupt processing */
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE)
1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE
1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT_FIFOEN;
1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT_FIFOEN;
1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the TX FIFO threshold interrupt */
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE
1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT;
1340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT;
1344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 25
1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */
1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE);
1350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
1353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY;
1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode.
1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 available through pData.
1365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
1381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set Reception type to Standard reception */
1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance)))
1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
1389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
1392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size));
1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY;
1400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 26
1402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Send an amount of data in DMA mode.
1405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 provided through pData.
1408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
1421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
1424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size;
1427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size;
1428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
1436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
1439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA error callback */
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
1442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA abort callback */
1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART transmit DMA channel */
1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->
1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */
1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to ready */
1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
1458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 27
1459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the TC flag in the ICR register */
1461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
1462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
1466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
1470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY;
1474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode.
1479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain
1480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the parity bit (MSB position).
1481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * of u16 available through pData.
1484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
1497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
1500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set Reception type to Standard reception */
1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance)))
1505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
1508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
1511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size));
1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 28
1516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY;
1519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Pause the DMA Transfer.
1524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
1533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
1535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request */
1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request */
1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Resume the DMA Transfer.
1558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
1564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
1566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART DMA Tx request */
1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
1571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */
ARM GAS /tmp/ccgDLloS.s page 29
1573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
1574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */
1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART DMA Rx request */
1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
1584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Stop the DMA Transfer.
1590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
1594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
1596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback:
1598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete
1599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of
1600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the stream and the corresponding call back is executed. */
1601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel */
1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */
1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
1622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart);
1627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
ARM GAS /tmp/ccgDLloS.s page 30
1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
1631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */
1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
1646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart);
1651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
1658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
1660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations :
1661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY
1665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
1669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXE, TC, RXNE, PE, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interr
1671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_TXEIE_TXFN
1672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TCIE));
1673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE);
1674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
ARM GAS /tmp/ccgDLloS.s page 31
1687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */
1698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
1701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
1712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */
1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
1726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
1732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
1733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
1734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
1737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */
1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE)
1740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
1742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 32
1744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */
1745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
1746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
1759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
1761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations :
1762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
1763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY
1766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
1770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TCIE | USART_CR1_TXEIE_TXFNFIE));
1773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
1774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */
1792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
1795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx transfer counter */
ARM GAS /tmp/ccgDLloS.s page 33
1801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
1802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */
1804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE)
1805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
1807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */
1810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
1817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
1819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations :
1820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
1821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY
1824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
1828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */
1830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE));
1831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE);
1832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
1845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */
1856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 34
1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
1859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Rx transfer counter */
1865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
1866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
1868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
1869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */
1871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
1872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
1878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
1881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
1882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
1883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
1884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations :
1885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY
1889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
1890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
1891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
1892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
1893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
1894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t abortcplt = 1U;
1897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */
1899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_TCIE | USART_CR1_RXNEIE_RXFNEIE |
1900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE));
1901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE));
1902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
1910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** before any call to DMA Abort functions */
1911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Tx Handle is valid */
1912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
ARM GAS /tmp/ccgDLloS.s page 35
1915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Otherwise, set it to NULL */
1916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
1919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Rx Handle is valid */
1926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
1929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Otherwise, set it to NULL */
1930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
1933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable DMA Tx at UART level */
1944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
1947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL)
1948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
1950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA TX */
1953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
1954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 0U;
1960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL)
1971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 36
1972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
1973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA RX */
1976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
1977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 1U;
1980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
1982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 0U;
1984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
1989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (abortcplt == 1U)
1990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
1992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
1993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
1994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear ISR function pointers */
1996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
1997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
1998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset errorCode */
2000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
2003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
2004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */
2006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE)
2007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
2009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */
2012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
2013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
2015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort complete callback */
2022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
2023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
2025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
2026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 37
2029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
2034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
2036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations :
2037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
2038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY
2041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
2042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
2044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
2045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
2047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */
2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TCIE | USART_CR1_TXEIE_TXFNFIE));
2050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
2051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
2054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
2056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL)
2059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
2063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA TX */
2065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
2066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
2069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx transfer counter */
2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
2075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TxISR function pointers */
2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
2078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */
2080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
2085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
ARM GAS /tmp/ccgDLloS.s page 38
2086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
2088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
2089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Tx transfer counter */
2095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
2096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TxISR function pointers */
2098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
2099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */
2101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE)
2102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
2104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */
2107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
2112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
2113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
2115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
2116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
2124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
2126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * This procedure performs following operations :
2127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
2128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - Set handle State to READY
2131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - At abort completion, call user abort complete callback
2132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
2134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
2135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
2137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE));
2140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
2141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
ARM GAS /tmp/ccgDLloS.s page 39
2143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
2146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL)
2155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
2159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA RX */
2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
2165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Rx transfer counter */
2170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
2171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */
2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = NULL;
2174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
2176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F
2177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */
2179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
2180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
2188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset Rx transfer counter */
2198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
2199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 40
2200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */
2201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = NULL;
2202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
2204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
2205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
2213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
2221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Handle UART interrupt request.
2225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
2231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
2232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
2233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t errorflags;
2235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t errorcode;
2236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If no error occurs */
2238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE |
2239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (errorflags == 0U)
2240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/
2242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE_RXFNE) != 0U)
2243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U)
2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U)))
2245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxISR != NULL)
2247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR(huart);
2249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
2251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If some errors occur */
2255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((errorflags != 0U)
2256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U)
ARM GAS /tmp/ccgDLloS.s page 41
2257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))))
2258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/
2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
2261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
2263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
2265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/
2268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
2269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
2271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
2273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/
2276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
2277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
2279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
2281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/
2284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U)
2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) ||
2286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U)))
2287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
2289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
2291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/
2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U))
2295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
2297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO;
2299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/
2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
2303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/
2305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE_RXFNE) != 0U)
2306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U)
2307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U)))
2308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxISR != NULL)
2310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR(huart);
2312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 42
2314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Error is to be considered as blocking :
2316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - Receiver Timeout error in Reception
2317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - Overrun error in Reception
2318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** - any error occurs in DMA mode reception
2319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** errorcode = huart->ErrorCode;
2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
2322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
2323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Blocking error : transfer is aborted
2325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
2326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
2327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart);
2328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
2335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL)
2336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
2339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
2340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Abort DMA RX */
2342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
2346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user error callback */
2351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/
2353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart);
2354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/
2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user error callback */
2364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/
2366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart);
2367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/
2369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/ccgDLloS.s page 43
2371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
2376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error is notified to user through user error callback */
2377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/
2379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart);
2380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/
2382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
2388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } /* End if some error occurs */
2390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode :
2392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U))
2396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
2398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */
2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA mode enabled */
2403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing,
2404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (DMA cplt callback will be called).
2405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
2406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx);
2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
2409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reception is not complete */
2411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data;
2412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/
2414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_CLR(huart->hdmarx->Instance->CCR, DMA_CCR_CIRC))
2415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
2417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
2421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */
2422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 44
2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
2429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */
2431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx);
2432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/
2435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
2436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
2439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
2440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
2442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA mode not enabled */
2446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing.
2447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
2448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount;
2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
2450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U))
2451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
2453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE));
2454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt:(Frame error, noise error, overrun error) and RX FIFO T
2456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
2457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */
2463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
2464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
2466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/
2468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data);
2469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
2471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data);
2472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
2473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
2475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/
2479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U))
2480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF);
2482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing.
2484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If UART handle state fields need to be reset to READY, this could be done in Wakeup callback
ARM GAS /tmp/ccgDLloS.s page 45
2485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Wakeup Callback */
2488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback(huart);
2489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */
2491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart);
2492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
2494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
2497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE_TXFNF) != 0U)
2498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U)
2499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_TXFTIE) != 0U)))
2500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxISR != NULL)
2502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR(huart);
2504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
2506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/
2509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U))
2510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTransmit_IT(huart);
2512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
2513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART TX Fifo Empty occurred ----------------------------------------------*/
2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_TXFE) != 0U) && ((cr1its & USART_CR1_TXFEIE) != 0U))
2517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Tx Fifo Empty Callback */
2520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback(huart);
2521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Tx Fifo Empty Callback */
2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_TxFifoEmptyCallback(huart);
2524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
2526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART RX Fifo Full occurred ----------------------------------------------*/
2529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_RXFF) != 0U) && ((cr1its & USART_CR1_RXFFIE) != 0U))
2530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Rx Fifo Full Callback */
2533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback(huart);
2534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
2535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Rx Fifo Full Callback */
2536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxFifoFullCallback(huart);
2537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
2539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 46
2542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Tx Transfer completed callback.
2544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
2548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
2551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file.
2554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Tx Half Transfer completed callback.
2559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
2563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
2566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file.
2569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Rx Transfer completed callback.
2574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
2578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
2581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file.
2584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Rx Half Transfer completed callback.
2589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
2593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
2596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file.
ARM GAS /tmp/ccgDLloS.s page 47
2599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART error callback.
2604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
2608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
2611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file.
2614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Abort Complete callback.
2619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
2623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
2626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
2629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Abort Complete callback.
2634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
2638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
2641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
2644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
2649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
2653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
ARM GAS /tmp/ccgDLloS.s page 48
2656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
2659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception
2664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle
2665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in
2666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * reception buffer until which, data are available)
2667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(huart);
2673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UNUSED(Size);
2674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file.
2677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @}
2682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
2685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART control functions
2686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *
2687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim
2688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ===============================================================================
2689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### Peripheral Control functions #####
2690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ===============================================================================
2691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
2692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART.
2693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th
2694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature
2695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature
2696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode
2697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode
2698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode
2699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral
2700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features
2701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization
2702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter
2703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver
2704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters
2705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim
2706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
2707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register.
2711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module.
ARM GAS /tmp/ccgDLloS.s page 49
2713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout
2714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF.
2715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue)
2718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance)))
2720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue));
2722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue);
2723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature.
2728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module.
2730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
2731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart)
2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance)))
2735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
2737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Locked */
2739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
2740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the USART RTOEN bit */
2744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
2745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Unlocked */
2749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
2752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY;
2756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
2761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature.
2766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module.
2768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
2769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
ARM GAS /tmp/ccgDLloS.s page 50
2770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart)
2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance)))
2773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
2775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Locked */
2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
2778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the USART RTOEN bit */
2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
2783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Unlocked */
2787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
2790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_BUSY;
2794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
2797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
2799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode;
2804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called).
2805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
2807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart)
2809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
2811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */
2815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_MME);
2816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart));
2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode
2824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * as it may not have been in mute mode at this very moment).
2825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
ARM GAS /tmp/ccgDLloS.s page 51
2827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart)
2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
2831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */
2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME);
2836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (UART_CheckIdleState(huart));
2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode).
2844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called.
2845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
2847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver.
2855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
2857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
2859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
2861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TE and RE bits */
2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
2865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
2867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TE);
2868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter.
2878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status.
2880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
ARM GAS /tmp/ccgDLloS.s page 52
2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear TE and RE bits */
2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
2888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
2890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RE);
2891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Transmit break characters.
2902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
2904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */
2908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
2909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
2911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Send break characters */
2915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST);
2916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
2920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
2922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @}
2926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions
2929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief UART Peripheral State functions
2930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *
2931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @verbatim
2932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ==============================================================================
2933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ##### Peripheral State and Error functions #####
2934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ==============================================================================
2935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** [..]
2936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** This subsection provides functions allowing to :
2937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Return the UART handle state.
2938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (+) Return the UART handle error code
2939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** @endverbatim
ARM GAS /tmp/ccgDLloS.s page 53
2941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
2942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Return the UART handle state.
2946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART.
2948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL state
2949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
2951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp1;
2953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp2;
2954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp1 = huart->gState;
2955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp2 = huart->RxState;
2956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
2958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Return the UART handle error code.
2962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART.
2964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval UART Error Code
2965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)
2967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return huart->ErrorCode;
2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @}
2972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @}
2976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
2979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @{
2980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
2983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Initialize the callbacks to their default values.
2984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
2985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval none
2986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
2987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
2989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init the UART Callback settings */
2991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC
2992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb
2993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC
2994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb
2995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba
2996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa
2997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
ARM GAS /tmp/ccgDLloS.s page 54
2998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv
2999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb
3000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxFifoFullCallback = HAL_UARTEx_RxFifoFullCallback; /* Legacy weak RxFifoFullC
3001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxFifoEmptyCallback = HAL_UARTEx_TxFifoEmptyCallback; /* Legacy weak TxFifoEmpty
3002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall
3003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Configure the UART peripheral.
3009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
3010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
3011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
3013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tmpreg;
3015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t brrtemp;
3016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource;
3017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t usartdiv;
3018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK;
3019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t lpuart_ker_ck_pres;
3020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t pclk;
3021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */
3023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
3024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
3025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart))
3026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_LPUART_STOPBITS(huart->Init.StopBits));
3028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
3032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling));
3033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
3036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
3037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
3038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
3039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_PRESCALER(huart->Init.ClockPrescaler));
3040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
3042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure
3043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling:
3044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value
3045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value
3046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value
3047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
3050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
3052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according
3053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to huart->Init.StopBits value */
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
ARM GAS /tmp/ccgDLloS.s page 55
3055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
3057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure
3058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according
3059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to huart->Init.HwFlowCtl value
3060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according
3061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */
3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl;
3063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(UART_INSTANCE_LOWPOWER(huart)))
3065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling;
3067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
3069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART PRESC Configuration -----------------------*/
3071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure
3072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * - UART Clock Prescaler : set PRESCALER according to huart->Init.ClockPrescaler value */
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->PRESC, USART_PRESC_PRESCALER, huart->Init.ClockPrescaler);
3074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource);
3077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check LPUART instance */
3079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_INSTANCE_LOWPOWER(huart))
3080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Retrieve frequency clock */
3082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (clocksource)
3083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
3086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
3089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
3092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
3095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default:
3097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = 0U;
3098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR;
3099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If proper clock source reported */
3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pclk != 0U)
3104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Compute clock after Prescaler */
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** lpuart_ker_ck_pres = (pclk / UARTPrescTable[huart->Init.ClockPrescaler]);
3107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Ensure that Frequency clock is in the range [3 * baudrate, 4096 * baudrate] */
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((lpuart_ker_ck_pres < (3U * huart->Init.BaudRate)) ||
3110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
3111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 56
3112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR;
3113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check computed UsartDiv value is in allocated range
3117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (it is forbidden to write values lower than 0x300 in the LPUART_BRR register) */
3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** usartdiv = (uint32_t)(UART_DIV_LPUART(pclk, huart->Init.BaudRate, huart->Init.ClockPrescale
3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX))
3120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = usartdiv;
3122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR;
3126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } /* if ( (lpuart_ker_ck_pres < (3 * huart->Init.BaudRate) ) ||
3128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096 * huart->Init.BaudRate) )) */
3129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** } /* if (pclk != 0) */
3130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check UART Over Sampling to set Baud Rate Register */
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
3133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (clocksource)
3135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
3138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
3141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
3144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
3147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
3150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default:
3152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = 0U;
3153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR;
3154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pclk != 0U)
3159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate, huart->Init.ClockPrescal
3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
3162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U);
3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
3166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 57
3169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR;
3170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** switch (clocksource)
3176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
3179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
3182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
3185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
3188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
3191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** default:
3193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pclk = 0U;
3194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR;
3195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
3196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (pclk != 0U)
3199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */
3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate, huart->Init.ClockPresca
3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
3203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = usartdiv;
3205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ret = HAL_ERROR;
3209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize the number of data to process during RX/TX ISR execution */
3214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->NbTxDataToProcess = 1;
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->NbRxDataToProcess = 1;
3216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear ISR function pointers */
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
3220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return ret;
3222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features.
ARM GAS /tmp/ccgDLloS.s page 58
3226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
3227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
3230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
3232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit));
3233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure TX pin active level inversion */
3235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT))
3236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert));
3238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
3239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure RX pin active level inversion */
3242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT))
3243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert));
3245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
3246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure data inversion */
3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT))
3250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert));
3252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
3253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure RX/TX pins swap */
3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT))
3257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap));
3259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
3260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */
3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT))
3264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable));
3266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
3267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */
3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT))
3271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError));
3273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
3274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT))
3278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance));
3280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
3282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
ARM GAS /tmp/ccgDLloS.s page 59
3283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)
3284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode));
3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
3287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* if required, configure MSB first on communication line */
3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT))
3292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst));
3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
3295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Check the UART Idle State.
3300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
3301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
3302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart;
3306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize the UART ErrorCode */
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Init tickstart for timeout management */
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tickstart = HAL_GetTick();
3312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if the Transmitter is enabled */
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE)
3315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until TEACK flag is set */
3317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
3318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Timeout occurred */
3320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
3321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if the Receiver is enabled */
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE)
3326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until REACK flag is set */
3328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
3329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Timeout occurred */
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
3332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Initialize the UART State */
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 60
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
3341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
3343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Handle UART Communication Timeout.
3347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
3348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Flag Specifies the UART flag to check
3349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Status Flag status (SET or RESET)
3350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Tickstart Tick start value
3351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Timeout Timeout duration
3352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
3353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus
3355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout)
3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until flag is set */
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
3359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check for the Timeout */
3361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
3362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
3364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error)
3366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** interrupts for the interrupt process */
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_TXEI
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
3374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
3376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U)
3379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET)
3381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear Receiver Timeout flag*/
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
3384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error)
3386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** interrupts for the interrupt process */
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_TX
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
3393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Process Unlocked */
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
3396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 61
3397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_TIMEOUT;
3398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode.
3407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode
3408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
3409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
3410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART Handle is assumed as Locked.
3411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
3412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
3413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
3414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
3415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
3419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size;
3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size;
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
3422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
3425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
3428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
3431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Configure Rx interrupt processing */
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->FifoMode == UART_FIFOMODE_ENABLE) && (Size >= huart->NbRxDataToProcess))
3434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */
3436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
3437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT_FIFOEN;
3439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT_FIFOEN;
3443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
3446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and RX FIFO Threshold interrupt */
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
3450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */
ARM GAS /tmp/ccgDLloS.s page 62
3454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
3455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT;
3457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT;
3461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
3464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */
3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE);
3467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Start Receive operation in DMA mode.
3473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode.
3474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
3475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
3476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * UART Handle is assumed as Locked.
3477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
3478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
3479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
3480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval HAL status
3481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size;
3486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
3489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL)
3491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
3494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
3496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
3497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA error callback */
3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
3500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set the DMA abort callback */
3502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
3503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the DMA channel */
3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPt
3506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Set error code to DMA */
3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
3509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
ARM GAS /tmp/ccgDLloS.s page 63
3511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to ready */
3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_ERROR;
3516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UNLOCK(huart);
3519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
3525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
3527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */
3528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
3529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return HAL_OK;
3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
3536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
3537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
3540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXEIE, TCIE, TXFT interrupts */
3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE));
3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_TXFTIE));
3544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
3552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
3553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
3556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE));
3559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
3560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */
3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
3565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
ARM GAS /tmp/ccgDLloS.s page 64
3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset RxIsr function pointer */
3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
3573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
3578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle.
3579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
3582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Normal mode */
3586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC))
3587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
3589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit
3591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */
3592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
3593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
3595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Circular mode */
3598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Tx complete callback*/
3602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback(huart);
3603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
3605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
3606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback.
3612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle.
3613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
3616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Tx Half complete callback*/
3621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxHalfCpltCallback(huart);
3622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/
3624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
ARM GAS /tmp/ccgDLloS.s page 65
3625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
3630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle.
3631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
3634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* DMA Normal mode */
3638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC))
3639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
3643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
3647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** in the UART CR3 register */
3648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
3649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */
3654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
3657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode :
3661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
3662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/
3666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
3667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
3669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
3670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In other cases : use Rx Complete callback */
3675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/
3677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart);
3678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
3680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
3681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/ccgDLloS.s page 66
3682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART receive process half complete callback.
3687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle.
3688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
3691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode :
3695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
3696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/
3700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U);
3701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U);
3704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */
3709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Half complete callback*/
3711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxHalfCpltCallback(huart);
3712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/
3714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
3715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART communication error callback.
3721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle.
3722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
3725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
3729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
3730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
3732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
3733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
3736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart);
3737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 67
3739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
3741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart);
3745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
3748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/
3751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart);
3752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/
3754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
3755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
3760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
3761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle.
3762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
3765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
3769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/
3772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart);
3773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/
3775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
3776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
3781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
3782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
3784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle.
3785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
3792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
3794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx != NULL)
3795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 68
3796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL)
3797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
3799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
3804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset errorCode */
3807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
3810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */
3813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE)
3814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
3816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
3819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */
3824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort complete callback */
3826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
3827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
3829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
3830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
3836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
3837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
3839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle.
3840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
3847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
3849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx != NULL)
3850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL)
3852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 69
3853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return;
3854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
3859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Reset errorCode */
3862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
3865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */
3868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
3869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */
3876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort complete callback */
3878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortCpltCallback(huart);
3879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
3882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
3888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
3889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
3890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
3891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle.
3892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
3899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Flush the whole TX FIFO (if needed) */
3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->FifoMode == UART_FIFOMODE_ENABLE)
3902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_TXDATA_FLUSH_REQUEST);
3904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->gState to Ready */
3907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */
ARM GAS /tmp/ccgDLloS.s page 70
3910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
3912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
3913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
3915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
3916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
3921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
3922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
3923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
3924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param hdma DMA handle.
3925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
3928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Discard the received data */
3937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
3938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Restore huart->RxState to Ready */
3940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call user Abort complete callback */
3944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
3946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
3947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
3948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
3949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
3950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length .
3955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once
3956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
3957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
3958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart)
3961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */
3963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
3964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U)
3966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 71
3967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE);
3969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
3971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
3974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF);
3976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++;
3977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--;
3978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
3983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length.
3984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once
3985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
3986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
3987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
3988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
3989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart)
3990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
26 .loc 1 3990 0
27 .cfi_startproc
28 @ args = 0, pretend = 0, frame = 0
29 @ frame_needed = 0, uses_anonymous_args = 0
30 @ link register save eliminated.
31 .LVL0:
3991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp;
3992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */
3994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
32 .loc 1 3994 0
33 0000 D0F88430 ldr r3, [r0, #132]
34 0004 212B cmp r3, #33
35 0006 00D0 beq .L5
3995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U)
3997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
3999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE_TXFNFIE);
4000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
4002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
4003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pTxBuffPtr;
4007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
4008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
4009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--;
4010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
36 .loc 1 4012 0
ARM GAS /tmp/ccgDLloS.s page 72
37 0008 7047 bx lr
38 .L5:
3996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
39 .loc 1 3996 0
40 000a B0F85630 ldrh r3, [r0, #86]
41 000e 0268 ldr r2, [r0]
42 0010 9BB2 uxth r3, r3
43 0012 6BB1 cbz r3, .L6
44 .LVL1:
4007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
45 .loc 1 4007 0
46 0014 016D ldr r1, [r0, #80]
47 0016 31F8023B ldrh r3, [r1], #2
48 001a C3F30803 ubfx r3, r3, #0, #9
49 001e 9362 str r3, [r2, #40]
4009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
50 .loc 1 4009 0
51 0020 B0F85630 ldrh r3, [r0, #86]
4008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--;
52 .loc 1 4008 0
53 0024 0165 str r1, [r0, #80]
54 .LVL2:
4009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
55 .loc 1 4009 0
56 0026 013B subs r3, r3, #1
57 0028 9BB2 uxth r3, r3
58 002a A0F85630 strh r3, [r0, #86] @ movhi
59 .loc 1 4012 0
60 002e 7047 bx lr
61 .LVL3:
62 .L6:
63 .LBB18:
64 .LBB19:
3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
65 .loc 1 3968 0
66 0030 1368 ldr r3, [r2]
67 0032 23F08003 bic r3, r3, #128
68 0036 1360 str r3, [r2]
3971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
69 .loc 1 3971 0
70 0038 1368 ldr r3, [r2]
71 003a 43F04003 orr r3, r3, #64
72 003e 1360 str r3, [r2]
73 0040 7047 bx lr
74 .LBE19:
75 .LBE18:
76 .cfi_endproc
77 .LFE391:
79 0042 00BF .section .text.UART_TxISR_16BIT_FIFOEN,"ax",%progbits
80 .align 1
81 .p2align 2,,3
82 .syntax unified
83 .thumb
84 .thumb_func
85 .fpu fpv4-sp-d16
87 UART_TxISR_16BIT_FIFOEN:
88 .LFB393:
ARM GAS /tmp/ccgDLloS.s page 73
4013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length and FIFO mode is enabled.
4016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once
4017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
4018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
4019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
4020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
4021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart)
4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_tx_data;
4024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */
4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
4027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** for (nb_tx_data = huart->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--)
4029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U)
4031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the TX FIFO threshold interrupt */
4033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
4034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
4037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; /* force exit loop */
4039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (READ_BIT(huart->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U)
4041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF);
4043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++;
4044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--;
4045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Nothing to do */
4049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length and FIFO mode is enabled.
4056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once
4057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
4058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
4059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
4060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
4061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_TxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart)
4062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
89 .loc 1 4062 0
90 .cfi_startproc
91 @ args = 0, pretend = 0, frame = 0
92 @ frame_needed = 0, uses_anonymous_args = 0
93 @ link register save eliminated.
94 .LVL4:
4063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp;
ARM GAS /tmp/ccgDLloS.s page 74
4064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_tx_data;
4065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */
4067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
95 .loc 1 4067 0
96 0000 D0F88430 ldr r3, [r0, #132]
97 0004 212B cmp r3, #33
98 0006 00D0 beq .L29
99 .L26:
100 0008 7047 bx lr
101 .L29:
4068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** for (nb_tx_data = huart->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--)
102 .loc 1 4069 0
103 000a B0F86A30 ldrh r3, [r0, #106]
104 .LVL5:
105 000e 002B cmp r3, #0
106 0010 FAD0 beq .L26
4070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->TxXferCount == 0U)
107 .loc 1 4071 0
108 0012 B0F85620 ldrh r2, [r0, #86]
109 0016 92B2 uxth r2, r2
4062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp;
110 .loc 1 4062 0
111 0018 10B4 push {r4}
112 .LCFI0:
113 .cfi_def_cfa_offset 4
114 .cfi_offset 4, -4
115 001a 0468 ldr r4, [r0]
116 .loc 1 4071 0
117 001c C2B1 cbz r2, .L11
118 .L12:
119 .LVL6:
4072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the TX FIFO threshold interrupt */
4074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
4075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
4077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
4078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break; /* force exit loop */
4080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else if (READ_BIT(huart->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U)
120 .loc 1 4081 0
121 001e E269 ldr r2, [r4, #28]
4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
122 .loc 1 4069 0
123 0020 013B subs r3, r3, #1
124 .LVL7:
125 .loc 1 4081 0
126 0022 12F0800F tst r2, #128
4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
127 .loc 1 4069 0
128 0026 9BB2 uxth r3, r3
129 .LVL8:
130 .loc 1 4081 0
ARM GAS /tmp/ccgDLloS.s page 75
131 0028 0CD0 beq .L13
4082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pTxBuffPtr;
4084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
132 .loc 1 4084 0
133 002a 016D ldr r1, [r0, #80]
134 002c 31F8022B ldrh r2, [r1], #2
135 0030 C2F30802 ubfx r2, r2, #0, #9
136 0034 A262 str r2, [r4, #40]
4085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
4086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--;
137 .loc 1 4086 0
138 0036 B0F85620 ldrh r2, [r0, #86]
4085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
139 .loc 1 4085 0
140 003a 0165 str r1, [r0, #80]
141 .LVL9:
142 .loc 1 4086 0
143 003c 013A subs r2, r2, #1
144 003e 92B2 uxth r2, r2
145 0040 A0F85620 strh r2, [r0, #86] @ movhi
146 .LVL10:
147 .L13:
4069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
148 .loc 1 4069 0 discriminator 2
149 0044 63B1 cbz r3, .L7
4071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
150 .loc 1 4071 0
151 0046 B0F85620 ldrh r2, [r0, #86]
152 004a 92B2 uxth r2, r2
153 004c 002A cmp r2, #0
154 004e E6D1 bne .L12
155 .L11:
156 .LVL11:
157 .LBB22:
158 .LBB23:
4033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
159 .loc 1 4033 0
160 0050 A368 ldr r3, [r4, #8]
161 .LVL12:
162 0052 23F40003 bic r3, r3, #8388608
163 0056 A360 str r3, [r4, #8]
4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
164 .loc 1 4036 0
165 0058 2368 ldr r3, [r4]
166 005a 43F04003 orr r3, r3, #64
167 005e 2360 str r3, [r4]
168 .LVL13:
169 .L7:
170 .LBE23:
171 .LBE22:
4087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Nothing to do */
4091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 76
4093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
172 .loc 1 4094 0
173 0060 5DF8044B ldr r4, [sp], #4
174 .LCFI1:
175 .cfi_restore 4
176 .cfi_def_cfa_offset 0
177 0064 7047 bx lr
178 .cfi_endproc
179 .LFE393:
181 0066 00BF .section .text.UART_TxISR_8BIT,"ax",%progbits
182 .align 1
183 .p2align 2,,3
184 .syntax unified
185 .thumb
186 .thumb_func
187 .fpu fpv4-sp-d16
189 UART_TxISR_8BIT:
190 .LFB390:
3961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is ongoing */
191 .loc 1 3961 0
192 .cfi_startproc
193 @ args = 0, pretend = 0, frame = 0
194 @ frame_needed = 0, uses_anonymous_args = 0
195 @ link register save eliminated.
196 .LVL14:
3963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
197 .loc 1 3963 0
198 0000 D0F88430 ldr r3, [r0, #132]
199 0004 212B cmp r3, #33
200 0006 00D0 beq .L33
3980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
201 .loc 1 3980 0
202 0008 7047 bx lr
203 .L33:
3965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
204 .loc 1 3965 0
205 000a B0F85630 ldrh r3, [r0, #86]
206 000e 0268 ldr r2, [r0]
207 0010 9BB2 uxth r3, r3
208 0012 5BB1 cbz r3, .L34
3975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++;
209 .loc 1 3975 0
210 0014 016D ldr r1, [r0, #80]
211 0016 11F8013B ldrb r3, [r1], #1 @ zero_extendqisi2
212 001a 9362 str r3, [r2, #40]
3977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
213 .loc 1 3977 0
214 001c B0F85630 ldrh r3, [r0, #86]
3976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--;
215 .loc 1 3976 0
216 0020 0165 str r1, [r0, #80]
3977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
217 .loc 1 3977 0
218 0022 013B subs r3, r3, #1
219 0024 9BB2 uxth r3, r3
220 0026 A0F85630 strh r3, [r0, #86] @ movhi
ARM GAS /tmp/ccgDLloS.s page 77
3980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
221 .loc 1 3980 0
222 002a 7047 bx lr
223 .L34:
224 .LVL15:
225 .LBB26:
226 .LBB27:
3968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
227 .loc 1 3968 0
228 002c 1368 ldr r3, [r2]
229 002e 23F08003 bic r3, r3, #128
230 0032 1360 str r3, [r2]
3971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
231 .loc 1 3971 0
232 0034 1368 ldr r3, [r2]
233 0036 43F04003 orr r3, r3, #64
234 003a 1360 str r3, [r2]
235 003c 7047 bx lr
236 .LBE27:
237 .LBE26:
238 .cfi_endproc
239 .LFE390:
241 003e 00BF .section .text.UART_TxISR_8BIT_FIFOEN,"ax",%progbits
242 .align 1
243 .p2align 2,,3
244 .syntax unified
245 .thumb
246 .thumb_func
247 .fpu fpv4-sp-d16
249 UART_TxISR_8BIT_FIFOEN:
250 .LFB392:
4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_tx_data;
251 .loc 1 4022 0
252 .cfi_startproc
253 @ args = 0, pretend = 0, frame = 0
254 @ frame_needed = 0, uses_anonymous_args = 0
255 @ link register save eliminated.
256 .LVL16:
4026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
257 .loc 1 4026 0
258 0000 D0F88430 ldr r3, [r0, #132]
259 0004 212B cmp r3, #33
260 0006 00D0 beq .L57
261 .L54:
262 0008 7047 bx lr
263 .L57:
4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
264 .loc 1 4028 0
265 000a B0F86A30 ldrh r3, [r0, #106]
266 .LVL17:
267 000e 002B cmp r3, #0
268 0010 FAD0 beq .L54
4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
269 .loc 1 4030 0
270 0012 B0F85620 ldrh r2, [r0, #86]
271 0016 92B2 uxth r2, r2
4022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_tx_data;
ARM GAS /tmp/ccgDLloS.s page 78
272 .loc 1 4022 0
273 0018 10B4 push {r4}
274 .LCFI2:
275 .cfi_def_cfa_offset 4
276 .cfi_offset 4, -4
277 001a 0468 ldr r4, [r0]
4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
278 .loc 1 4030 0
279 001c B2B1 cbz r2, .L39
280 .L40:
4040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
281 .loc 1 4040 0
282 001e E269 ldr r2, [r4, #28]
4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
283 .loc 1 4028 0
284 0020 013B subs r3, r3, #1
285 .LVL18:
4040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
286 .loc 1 4040 0
287 0022 12F0800F tst r2, #128
4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
288 .loc 1 4028 0
289 0026 9BB2 uxth r3, r3
290 .LVL19:
4040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
291 .loc 1 4040 0
292 0028 0AD0 beq .L41
4042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pTxBuffPtr++;
293 .loc 1 4042 0
294 002a 016D ldr r1, [r0, #80]
295 002c 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2
296 0030 A262 str r2, [r4, #40]
4044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
297 .loc 1 4044 0
298 0032 B0F85620 ldrh r2, [r0, #86]
4043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount--;
299 .loc 1 4043 0
300 0036 0165 str r1, [r0, #80]
4044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
301 .loc 1 4044 0
302 0038 013A subs r2, r2, #1
303 003a 92B2 uxth r2, r2
304 003c A0F85620 strh r2, [r0, #86] @ movhi
305 .L41:
4028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
306 .loc 1 4028 0 discriminator 2
307 0040 63B1 cbz r3, .L35
4030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
308 .loc 1 4030 0
309 0042 B0F85620 ldrh r2, [r0, #86]
310 0046 92B2 uxth r2, r2
311 0048 002A cmp r2, #0
312 004a E8D1 bne .L40
313 .L39:
314 .LVL20:
315 .LBB30:
316 .LBB31:
ARM GAS /tmp/ccgDLloS.s page 79
4033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
317 .loc 1 4033 0
318 004c A368 ldr r3, [r4, #8]
319 .LVL21:
320 004e 23F40003 bic r3, r3, #8388608
321 0052 A360 str r3, [r4, #8]
4036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
322 .loc 1 4036 0
323 0054 2368 ldr r3, [r4]
324 0056 43F04003 orr r3, r3, #64
325 005a 2360 str r3, [r4]
326 .LVL22:
327 .L35:
328 .LBE31:
329 .LBE30:
4052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
330 .loc 1 4052 0
331 005c 5DF8044B ldr r4, [sp], #4
332 .LCFI3:
333 .cfi_restore 4
334 .cfi_def_cfa_offset 0
335 0060 7047 bx lr
336 .cfi_endproc
337 .LFE392:
339 0062 00BF .section .text.HAL_UART_MspInit,"ax",%progbits
340 .align 1
341 .p2align 2,,3
342 .weak HAL_UART_MspInit
343 .syntax unified
344 .thumb
345 .thumb_func
346 .fpu fpv4-sp-d16
348 HAL_UART_MspInit:
349 .LFB334:
671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
350 .loc 1 671 0
351 .cfi_startproc
352 @ args = 0, pretend = 0, frame = 0
353 @ frame_needed = 0, uses_anonymous_args = 0
354 @ link register save eliminated.
355 .LVL23:
678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
356 .loc 1 678 0
357 0000 7047 bx lr
358 .cfi_endproc
359 .LFE334:
361 0002 00BF .section .text.HAL_UART_MspDeInit,"ax",%progbits
362 .align 1
363 .p2align 2,,3
364 .weak HAL_UART_MspDeInit
365 .syntax unified
366 .thumb
367 .thumb_func
368 .fpu fpv4-sp-d16
370 HAL_UART_MspDeInit:
371 .LFB406:
372 .cfi_startproc
ARM GAS /tmp/ccgDLloS.s page 80
373 @ args = 0, pretend = 0, frame = 0
374 @ frame_needed = 0, uses_anonymous_args = 0
375 @ link register save eliminated.
376 0000 7047 bx lr
377 .cfi_endproc
378 .LFE406:
380 0002 00BF .section .text.HAL_UART_DeInit,"ax",%progbits
381 .align 1
382 .p2align 2,,3
383 .global HAL_UART_DeInit
384 .syntax unified
385 .thumb
386 .thumb_func
387 .fpu fpv4-sp-d16
389 HAL_UART_DeInit:
390 .LFB333:
625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
391 .loc 1 625 0
392 .cfi_startproc
393 @ args = 0, pretend = 0, frame = 0
394 @ frame_needed = 0, uses_anonymous_args = 0
395 .LVL24:
627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
396 .loc 1 627 0
397 0000 D0B1 cbz r0, .L62
625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
398 .loc 1 625 0
399 0002 38B5 push {r3, r4, r5, lr}
400 .LCFI4:
401 .cfi_def_cfa_offset 16
402 .cfi_offset 3, -16
403 .cfi_offset 4, -12
404 .cfi_offset 5, -8
405 .cfi_offset 14, -4
635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
406 .loc 1 635 0
407 0004 2422 movs r2, #36
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
408 .loc 1 637 0
409 0006 0368 ldr r3, [r0]
635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
410 .loc 1 635 0
411 0008 C0F88420 str r2, [r0, #132]
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
412 .loc 1 637 0
413 000c 1A68 ldr r2, [r3]
639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
414 .loc 1 639 0
415 000e 0025 movs r5, #0
416 0010 0446 mov r4, r0
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
417 .loc 1 637 0
418 0012 22F00102 bic r2, r2, #1
419 0016 1A60 str r2, [r3]
639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
420 .loc 1 639 0
421 0018 1D60 str r5, [r3]
ARM GAS /tmp/ccgDLloS.s page 81
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
422 .loc 1 640 0
423 001a 5D60 str r5, [r3, #4]
641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
424 .loc 1 641 0
425 001c 9D60 str r5, [r3, #8]
652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
426 .loc 1 652 0
427 001e FFF7FEFF bl HAL_UART_MspDeInit
428 .LVL25:
655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
429 .loc 1 655 0
430 0022 C4F88C50 str r5, [r4, #140]
660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
431 .loc 1 660 0
432 0026 84F88050 strb r5, [r4, #128]
656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
433 .loc 1 656 0
434 002a C4F88450 str r5, [r4, #132]
662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
435 .loc 1 662 0
436 002e 2846 mov r0, r5
657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
437 .loc 1 657 0
438 0030 C4F88850 str r5, [r4, #136]
658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
439 .loc 1 658 0
440 0034 E566 str r5, [r4, #108]
663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
441 .loc 1 663 0
442 0036 38BD pop {r3, r4, r5, pc}
443 .LVL26:
444 .L62:
445 .LCFI5:
446 .cfi_def_cfa_offset 0
447 .cfi_restore 3
448 .cfi_restore 4
449 .cfi_restore 5
450 .cfi_restore 14
629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
451 .loc 1 629 0
452 0038 0120 movs r0, #1
453 .LVL27:
663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
454 .loc 1 663 0
455 003a 7047 bx lr
456 .cfi_endproc
457 .LFE333:
459 .section .text.HAL_UART_Transmit,"ax",%progbits
460 .align 1
461 .p2align 2,,3
462 .global HAL_UART_Transmit
463 .syntax unified
464 .thumb
465 .thumb_func
466 .fpu fpv4-sp-d16
468 HAL_UART_Transmit:
ARM GAS /tmp/ccgDLloS.s page 82
469 .LFB336:
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits;
470 .loc 1 1122 0
471 .cfi_startproc
472 @ args = 0, pretend = 0, frame = 8
473 @ frame_needed = 0, uses_anonymous_args = 0
474 .LVL28:
475 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
476 .LCFI6:
477 .cfi_def_cfa_offset 28
478 .cfi_offset 4, -28
479 .cfi_offset 5, -24
480 .cfi_offset 6, -20
481 .cfi_offset 7, -16
482 .cfi_offset 8, -12
483 .cfi_offset 9, -8
484 .cfi_offset 14, -4
485 0004 0E46 mov r6, r1
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
486 .loc 1 1128 0
487 0006 D0F88410 ldr r1, [r0, #132]
488 .LVL29:
489 000a 2029 cmp r1, #32
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits;
490 .loc 1 1122 0
491 000c 83B0 sub sp, sp, #12
492 .LCFI7:
493 .cfi_def_cfa_offset 40
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
494 .loc 1 1128 0
495 000e 47D1 bne .L95
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
496 .loc 1 1130 0
497 0010 002E cmp r6, #0
498 0012 49D0 beq .L94
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
499 .loc 1 1130 0 is_stmt 0 discriminator 1
500 0014 0192 str r2, [sp, #4]
501 0016 002A cmp r2, #0
502 0018 46D0 beq .L94
503 001a 1D46 mov r5, r3
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
504 .loc 1 1135 0 is_stmt 1
505 001c 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
506 .LVL30:
507 0020 012B cmp r3, #1
508 0022 0446 mov r4, r0
509 0024 3CD0 beq .L95
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
510 .loc 1 1138 0 discriminator 2
511 0026 2123 movs r3, #33
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
512 .loc 1 1135 0 discriminator 2
513 0028 0121 movs r1, #1
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
514 .loc 1 1137 0 discriminator 2
515 002a 0027 movs r7, #0
ARM GAS /tmp/ccgDLloS.s page 83
516 002c C0F88C70 str r7, [r0, #140]
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
517 .loc 1 1135 0 discriminator 2
518 0030 80F88010 strb r1, [r0, #128]
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
519 .loc 1 1138 0 discriminator 2
520 0034 C0F88430 str r3, [r0, #132]
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
521 .loc 1 1141 0 discriminator 2
522 0038 FFF7FEFF bl HAL_GetTick
523 .LVL31:
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
524 .loc 1 1147 0 discriminator 2
525 003c A368 ldr r3, [r4, #8]
1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size;
526 .loc 1 1143 0 discriminator 2
527 003e 019A ldr r2, [sp, #4]
528 0040 A4F85420 strh r2, [r4, #84] @ movhi
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
529 .loc 1 1147 0 discriminator 2
530 0044 B3F5805F cmp r3, #4096
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
531 .loc 1 1141 0 discriminator 2
532 0048 8046 mov r8, r0
533 .LVL32:
1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
534 .loc 1 1144 0 discriminator 2
535 004a A4F85620 strh r2, [r4, #86] @ movhi
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
536 .loc 1 1147 0 discriminator 2
537 004e 00F09780 beq .L120
538 .LVL33:
539 .L69:
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
540 .loc 1 1160 0
541 0052 B4F85630 ldrh r3, [r4, #86]
542 0056 2068 ldr r0, [r4]
543 .LVL34:
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
544 .loc 1 1158 0
545 0058 0022 movs r2, #0
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
546 .loc 1 1160 0
547 005a 9BB2 uxth r3, r3
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
548 .loc 1 1158 0
549 005c 84F88020 strb r2, [r4, #128]
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
550 .loc 1 1160 0
551 0060 A3B1 cbz r3, .L83
552 .L82:
553 0062 6A1C adds r2, r5, #1
554 0064 24D1 bne .L76
555 .L77:
556 .LBB40:
557 .LBB41:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 84
558 .loc 1 3358 0
559 0066 C269 ldr r2, [r0, #28]
560 0068 1306 lsls r3, r2, #24
561 006a FCD5 bpl .L77
562 .L78:
563 .LBE41:
564 .LBE40:
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
565 .loc 1 1166 0
566 006c 002E cmp r6, #0
567 006e 48D0 beq .L121
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++;
568 .loc 1 1173 0
569 0070 16F8013B ldrb r3, [r6], #1 @ zero_extendqisi2
570 .LVL35:
571 .L119:
572 0074 8362 str r3, [r0, #40]
573 .LVL36:
1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
574 .loc 1 1176 0
575 0076 B4F85630 ldrh r3, [r4, #86]
576 007a 013B subs r3, r3, #1
577 007c 9BB2 uxth r3, r3
578 007e A4F85630 strh r3, [r4, #86] @ movhi
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
579 .loc 1 1160 0
580 0082 B4F85630 ldrh r3, [r4, #86]
581 0086 9BB2 uxth r3, r3
582 0088 002B cmp r3, #0
583 008a EAD1 bne .L82
584 .LVL37:
585 .L83:
586 008c 6A1C adds r2, r5, #1
587 008e 3DD1 bne .L88
588 .L89:
589 .LBB44:
590 .LBB45:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
591 .loc 1 3358 0
592 0090 C369 ldr r3, [r0, #28]
593 0092 5B06 lsls r3, r3, #25
594 0094 FCD5 bpl .L89
595 .L90:
596 .LBE45:
597 .LBE44:
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
598 .loc 1 1185 0
599 0096 2023 movs r3, #32
600 0098 C4F88430 str r3, [r4, #132]
1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
601 .loc 1 1187 0
602 009c 0020 movs r0, #0
603 009e 00E0 b .L68
604 .LVL38:
605 .L95:
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
606 .loc 1 1191 0
ARM GAS /tmp/ccgDLloS.s page 85
607 00a0 0220 movs r0, #2
608 .LVL39:
609 .L68:
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
610 .loc 1 1193 0
611 00a2 03B0 add sp, sp, #12
612 .LCFI8:
613 .cfi_remember_state
614 .cfi_def_cfa_offset 28
615 @ sp needed
616 00a4 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
617 .LVL40:
618 .L94:
619 .LCFI9:
620 .cfi_restore_state
1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
621 .loc 1 1132 0
622 00a8 0120 movs r0, #1
623 .LVL41:
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
624 .loc 1 1193 0
625 00aa 03B0 add sp, sp, #12
626 .LCFI10:
627 .cfi_remember_state
628 .cfi_def_cfa_offset 28
629 @ sp needed
630 00ac BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
631 .LVL42:
632 .L76:
633 .LCFI11:
634 .cfi_restore_state
635 .LBB53:
636 .LBB42:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
637 .loc 1 3358 0
638 00b0 C369 ldr r3, [r0, #28]
639 00b2 13F08009 ands r9, r3, #128
640 00b6 D9D1 bne .L78
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
641 .loc 1 3363 0
642 00b8 FFF7FEFF bl HAL_GetTick
643 .LVL43:
644 00bc A0EB0800 sub r0, r0, r8
645 00c0 8542 cmp r5, r0
646 00c2 2068 ldr r0, [r4]
647 00c4 4AD3 bcc .L85
648 00c6 002D cmp r5, #0
649 00c8 48D0 beq .L85
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
650 .loc 1 3378 0
651 00ca 0368 ldr r3, [r0]
652 00cc 5B07 lsls r3, r3, #29
653 00ce C8D5 bpl .L82
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
654 .loc 1 3380 0
655 00d0 C369 ldr r3, [r0, #28]
656 00d2 1905 lsls r1, r3, #20
ARM GAS /tmp/ccgDLloS.s page 86
657 00d4 C5D5 bpl .L82
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
658 .loc 1 3383 0
659 00d6 4FF40063 mov r3, #2048
660 00da 0362 str r3, [r0, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
661 .loc 1 3387 0
662 00dc 0368 ldr r3, [r0]
663 00de 23F4D073 bic r3, r3, #416
664 00e2 0360 str r3, [r0]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
665 .loc 1 3388 0
666 00e4 8268 ldr r2, [r0, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
667 .loc 1 3390 0
668 00e6 2023 movs r3, #32
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
669 .loc 1 3388 0
670 00e8 22F00102 bic r2, r2, #1
671 00ec 8260 str r2, [r0, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
672 .loc 1 3390 0
673 00ee C4F88430 str r3, [r4, #132]
674 .LBE42:
675 .LBE53:
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
676 .loc 1 1164 0
677 00f2 0320 movs r0, #3
678 .LBB54:
679 .LBB43:
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
680 .loc 1 3391 0
681 00f4 C4F88830 str r3, [r4, #136]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
682 .loc 1 3395 0
683 00f8 84F88090 strb r9, [r4, #128]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
684 .loc 1 3392 0
685 00fc C4F88C30 str r3, [r4, #140]
686 0100 CFE7 b .L68
687 .L121:
688 .LBE43:
689 .LBE54:
1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++;
690 .loc 1 1168 0
691 0102 37F8023B ldrh r3, [r7], #2
692 .LVL44:
693 0106 C3F30803 ubfx r3, r3, #0, #9
694 010a B3E7 b .L119
695 .LVL45:
696 .L88:
697 .LBB55:
698 .LBB50:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
699 .loc 1 3358 0
700 010c C669 ldr r6, [r0, #28]
701 010e 16F04006 ands r6, r6, #64
ARM GAS /tmp/ccgDLloS.s page 87
702 0112 C0D1 bne .L90
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
703 .loc 1 3363 0
704 0114 FFF7FEFF bl HAL_GetTick
705 .LVL46:
706 0118 A0EB0800 sub r0, r0, r8
707 011c 8542 cmp r5, r0
708 011e 2068 ldr r0, [r4]
709 0120 1CD3 bcc .L85
710 0122 DDB1 cbz r5, .L85
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
711 .loc 1 3378 0
712 0124 0368 ldr r3, [r0]
713 0126 5F07 lsls r7, r3, #29
714 0128 B0D5 bpl .L83
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
715 .loc 1 3380 0
716 012a C369 ldr r3, [r0, #28]
717 012c 1905 lsls r1, r3, #20
718 012e ADD5 bpl .L83
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
719 .loc 1 3383 0
720 0130 4FF40063 mov r3, #2048
721 0134 0362 str r3, [r0, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
722 .loc 1 3387 0
723 0136 0368 ldr r3, [r0]
724 0138 23F4D073 bic r3, r3, #416
725 013c 0360 str r3, [r0]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
726 .loc 1 3388 0
727 013e 8268 ldr r2, [r0, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
728 .loc 1 3390 0
729 0140 2023 movs r3, #32
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
730 .loc 1 3388 0
731 0142 22F00102 bic r2, r2, #1
732 0146 8260 str r2, [r0, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
733 .loc 1 3390 0
734 0148 C4F88430 str r3, [r4, #132]
735 .LBE50:
736 .LBE55:
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
737 .loc 1 1181 0
738 014c 0320 movs r0, #3
739 .LBB56:
740 .LBB51:
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
741 .loc 1 3391 0
742 014e C4F88830 str r3, [r4, #136]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
743 .loc 1 3395 0
744 0152 84F88060 strb r6, [r4, #128]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
745 .loc 1 3392 0
ARM GAS /tmp/ccgDLloS.s page 88
746 0156 C4F88C30 str r3, [r4, #140]
747 015a A2E7 b .L68
748 .L85:
749 .LVL47:
750 .LBB46:
751 .LBB47:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
752 .loc 1 3367 0
753 015c 0368 ldr r3, [r0]
754 015e 23F4D073 bic r3, r3, #416
755 0162 0360 str r3, [r0]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
756 .loc 1 3368 0
757 0164 8368 ldr r3, [r0, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
758 .loc 1 3370 0
759 0166 2022 movs r2, #32
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
760 .loc 1 3368 0
761 0168 23F00103 bic r3, r3, #1
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
762 .loc 1 3373 0
763 016c 0021 movs r1, #0
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
764 .loc 1 3368 0
765 016e 8360 str r3, [r0, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
766 .loc 1 3370 0
767 0170 C4F88420 str r2, [r4, #132]
768 .LBE47:
769 .LBE46:
770 .LBE51:
771 .LBE56:
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
772 .loc 1 1181 0
773 0174 0320 movs r0, #3
774 .LBB57:
775 .LBB52:
776 .LBB49:
777 .LBB48:
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
778 .loc 1 3373 0
779 0176 84F88010 strb r1, [r4, #128]
780 .LVL48:
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
781 .loc 1 3371 0
782 017a C4F88820 str r2, [r4, #136]
783 017e 90E7 b .L68
784 .LVL49:
785 .L120:
786 .LBE48:
787 .LBE49:
788 .LBE52:
789 .LBE57:
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
790 .loc 1 1147 0 discriminator 1
791 0180 2369 ldr r3, [r4, #16]
ARM GAS /tmp/ccgDLloS.s page 89
792 0182 002B cmp r3, #0
793 0184 7FF465AF bne .L69
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
794 .loc 1 1147 0 is_stmt 0
795 0188 3746 mov r7, r6
1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
796 .loc 1 1149 0 is_stmt 1
797 018a 1E46 mov r6, r3
798 .LVL50:
799 018c 61E7 b .L69
800 .cfi_endproc
801 .LFE336:
803 018e 00BF .section .text.HAL_UART_Receive,"ax",%progbits
804 .align 1
805 .p2align 2,,3
806 .global HAL_UART_Receive
807 .syntax unified
808 .thumb
809 .thumb_func
810 .fpu fpv4-sp-d16
812 HAL_UART_Receive:
813 .LFB337:
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits;
814 .loc 1 1211 0
815 .cfi_startproc
816 @ args = 0, pretend = 0, frame = 8
817 @ frame_needed = 0, uses_anonymous_args = 0
818 .LVL51:
819 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
820 .LCFI12:
821 .cfi_def_cfa_offset 32
822 .cfi_offset 4, -32
823 .cfi_offset 5, -28
824 .cfi_offset 6, -24
825 .cfi_offset 7, -20
826 .cfi_offset 8, -16
827 .cfi_offset 9, -12
828 .cfi_offset 10, -8
829 .cfi_offset 14, -4
830 0004 0E46 mov r6, r1
1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
831 .loc 1 1218 0
832 0006 D0F88810 ldr r1, [r0, #136]
833 .LVL52:
834 000a 2029 cmp r1, #32
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint8_t *pdata8bits;
835 .loc 1 1211 0
836 000c 82B0 sub sp, sp, #8
837 .LCFI13:
838 .cfi_def_cfa_offset 40
1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
839 .loc 1 1218 0
840 000e 4ED1 bne .L148
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
841 .loc 1 1220 0
842 0010 002E cmp r6, #0
843 0012 50D0 beq .L147
ARM GAS /tmp/ccgDLloS.s page 90
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
844 .loc 1 1220 0 is_stmt 0 discriminator 1
845 0014 0192 str r2, [sp, #4]
846 0016 002A cmp r2, #0
847 0018 4DD0 beq .L147
848 001a 1D46 mov r5, r3
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
849 .loc 1 1225 0 is_stmt 1
850 001c 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
851 .LVL53:
852 0020 012B cmp r3, #1
853 0022 0446 mov r4, r0
854 0024 43D0 beq .L148
1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
855 .loc 1 1228 0 discriminator 2
856 0026 2223 movs r3, #34
1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
857 .loc 1 1227 0 discriminator 2
858 0028 0027 movs r7, #0
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
859 .loc 1 1225 0 discriminator 2
860 002a 0121 movs r1, #1
1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
861 .loc 1 1227 0 discriminator 2
862 002c C0F88C70 str r7, [r0, #140]
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
863 .loc 1 1225 0 discriminator 2
864 0030 80F88010 strb r1, [r0, #128]
1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
865 .loc 1 1228 0 discriminator 2
866 0034 C0F88830 str r3, [r0, #136]
1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
867 .loc 1 1229 0 discriminator 2
868 0038 C766 str r7, [r0, #108]
1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
869 .loc 1 1232 0 discriminator 2
870 003a FFF7FEFF bl HAL_GetTick
871 .LVL54:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
872 .loc 1 1238 0 discriminator 2
873 003e A368 ldr r3, [r4, #8]
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size;
874 .loc 1 1234 0 discriminator 2
875 0040 019A ldr r2, [sp, #4]
876 0042 A4F85C20 strh r2, [r4, #92] @ movhi
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
877 .loc 1 1238 0 discriminator 2
878 0046 B3F5805F cmp r3, #4096
1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
879 .loc 1 1232 0 discriminator 2
880 004a 8146 mov r9, r0
881 .LVL55:
1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
882 .loc 1 1235 0 discriminator 2
883 004c A4F85E20 strh r2, [r4, #94] @ movhi
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
884 .loc 1 1238 0 discriminator 2
ARM GAS /tmp/ccgDLloS.s page 91
885 0050 00F08680 beq .L168
886 0054 002B cmp r3, #0
887 0056 32D0 beq .L169
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
888 .loc 1 1238 0 is_stmt 0 discriminator 6
889 0058 B3F1805F cmp r3, #268435456
890 005c 00F09380 beq .L170
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
891 .loc 1 1238 0 discriminator 10
892 0060 A4F86070 strh r7, [r4, #96] @ movhi
893 .L129:
894 .LVL56:
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
895 .loc 1 1250 0 is_stmt 1
896 0064 4FF00008 mov r8, #0
897 .LVL57:
898 .L144:
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
899 .loc 1 1256 0
900 0068 B4F85E30 ldrh r3, [r4, #94]
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
901 .loc 1 1253 0
902 006c 0022 movs r2, #0
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
903 .loc 1 1256 0
904 006e 9BB2 uxth r3, r3
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
905 .loc 1 1253 0
906 0070 84F88020 strb r2, [r4, #128]
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
907 .loc 1 1256 0
908 0074 B3B1 cbz r3, .L132
909 .LVL58:
910 .L167:
911 0076 2068 ldr r0, [r4]
912 .LVL59:
913 .L143:
914 0078 6A1C adds r2, r5, #1
915 007a 27D1 bne .L137
916 .L138:
917 .LBB62:
918 .LBB63:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
919 .loc 1 3358 0
920 007c C269 ldr r2, [r0, #28]
921 007e 9306 lsls r3, r2, #26
922 0080 FCD5 bpl .L138
923 .L139:
924 .LBE63:
925 .LBE62:
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++;
926 .loc 1 1264 0
927 0082 436A ldr r3, [r0, #36]
928 0084 3B40 ands r3, r3, r7
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
929 .loc 1 1262 0
930 0086 002E cmp r6, #0
ARM GAS /tmp/ccgDLloS.s page 92
931 0088 49D0 beq .L171
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata8bits++;
932 .loc 1 1269 0
933 008a 06F8013B strb r3, [r6], #1
934 .LVL60:
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
935 .loc 1 1272 0
936 008e B4F85E30 ldrh r3, [r4, #94]
937 0092 013B subs r3, r3, #1
938 0094 9BB2 uxth r3, r3
939 0096 A4F85E30 strh r3, [r4, #94] @ movhi
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
940 .loc 1 1256 0
941 009a B4F85E30 ldrh r3, [r4, #94]
942 009e 9BB2 uxth r3, r3
943 00a0 002B cmp r3, #0
944 00a2 E8D1 bne .L167
945 .LVL61:
946 .L132:
1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
947 .loc 1 1276 0
948 00a4 2023 movs r3, #32
949 00a6 C4F88830 str r3, [r4, #136]
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
950 .loc 1 1278 0
951 00aa 0020 movs r0, #0
952 00ac 00E0 b .L165
953 .LVL62:
954 .L148:
1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
955 .loc 1 1282 0
956 00ae 0220 movs r0, #2
957 .LVL63:
958 .L165:
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
959 .loc 1 1284 0
960 00b0 02B0 add sp, sp, #8
961 .LCFI14:
962 .cfi_remember_state
963 .cfi_def_cfa_offset 32
964 @ sp needed
965 00b2 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
966 .LVL64:
967 .L147:
968 .LCFI15:
969 .cfi_restore_state
1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
970 .loc 1 1222 0
971 00b6 0120 movs r0, #1
972 .LVL65:
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
973 .loc 1 1284 0
974 00b8 02B0 add sp, sp, #8
975 .LCFI16:
976 .cfi_remember_state
977 .cfi_def_cfa_offset 32
978 @ sp needed
ARM GAS /tmp/ccgDLloS.s page 93
979 00ba BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
980 .LVL66:
981 .L169:
982 .LCFI17:
983 .cfi_restore_state
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
984 .loc 1 1238 0 discriminator 5
985 00be 2369 ldr r3, [r4, #16]
986 00c0 002B cmp r3, #0
987 00c2 56D1 bne .L128
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
988 .loc 1 1238 0 is_stmt 0 discriminator 7
989 00c4 FF27 movs r7, #255
990 00c6 A4F86070 strh r7, [r4, #96] @ movhi
991 00ca CBE7 b .L129
992 .LVL67:
993 .L137:
994 .LBB72:
995 .LBB68:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
996 .loc 1 3358 0 is_stmt 1
997 00cc C369 ldr r3, [r0, #28]
998 00ce 13F0200A ands r10, r3, #32
999 00d2 D6D1 bne .L139
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1000 .loc 1 3363 0
1001 00d4 FFF7FEFF bl HAL_GetTick
1002 .LVL68:
1003 00d8 A0EB0900 sub r0, r0, r9
1004 00dc 8542 cmp r5, r0
1005 00de 2CD3 bcc .L172
1006 00e0 2068 ldr r0, [r4]
1007 00e2 0346 mov r3, r0
1008 00e4 55B3 cbz r5, .L134
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1009 .loc 1 3378 0
1010 00e6 0368 ldr r3, [r0]
1011 00e8 5B07 lsls r3, r3, #29
1012 00ea C5D5 bpl .L143
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1013 .loc 1 3380 0
1014 00ec C369 ldr r3, [r0, #28]
1015 00ee 1905 lsls r1, r3, #20
1016 00f0 C2D5 bpl .L143
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1017 .loc 1 3383 0
1018 00f2 4FF40063 mov r3, #2048
1019 00f6 0362 str r3, [r0, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1020 .loc 1 3387 0
1021 00f8 0368 ldr r3, [r0]
1022 00fa 23F4D073 bic r3, r3, #416
1023 00fe 0360 str r3, [r0]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1024 .loc 1 3388 0
1025 0100 8268 ldr r2, [r0, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
ARM GAS /tmp/ccgDLloS.s page 94
1026 .loc 1 3390 0
1027 0102 2023 movs r3, #32
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1028 .loc 1 3388 0
1029 0104 22F00102 bic r2, r2, #1
1030 0108 8260 str r2, [r0, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1031 .loc 1 3390 0
1032 010a C4F88430 str r3, [r4, #132]
1033 .LBE68:
1034 .LBE72:
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1035 .loc 1 1260 0
1036 010e 0320 movs r0, #3
1037 .LBB73:
1038 .LBB69:
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
1039 .loc 1 3391 0
1040 0110 C4F88830 str r3, [r4, #136]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1041 .loc 1 3395 0
1042 0114 84F880A0 strb r10, [r4, #128]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1043 .loc 1 3392 0
1044 0118 C4F88C30 str r3, [r4, #140]
1045 011c C8E7 b .L165
1046 .L171:
1047 .LBE69:
1048 .LBE73:
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits++;
1049 .loc 1 1264 0
1050 011e 28F8023B strh r3, [r8], #2 @ movhi
1051 .LVL69:
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1052 .loc 1 1272 0
1053 0122 B4F85E30 ldrh r3, [r4, #94]
1054 0126 013B subs r3, r3, #1
1055 0128 9BB2 uxth r3, r3
1056 012a A4F85E30 strh r3, [r4, #94] @ movhi
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1057 .loc 1 1256 0
1058 012e B4F85E30 ldrh r3, [r4, #94]
1059 0132 9BB2 uxth r3, r3
1060 0134 002B cmp r3, #0
1061 0136 9FD1 bne .L143
1062 0138 B4E7 b .L132
1063 .LVL70:
1064 .L172:
1065 013a 2368 ldr r3, [r4]
1066 .L134:
1067 .LVL71:
1068 .LBB74:
1069 .LBB70:
1070 .LBB64:
1071 .LBB65:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1072 .loc 1 3367 0
ARM GAS /tmp/ccgDLloS.s page 95
1073 013c 1A68 ldr r2, [r3]
1074 013e 22F4D072 bic r2, r2, #416
1075 0142 1A60 str r2, [r3]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1076 .loc 1 3368 0
1077 0144 9A68 ldr r2, [r3, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1078 .loc 1 3370 0
1079 0146 2021 movs r1, #32
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1080 .loc 1 3368 0
1081 0148 22F00102 bic r2, r2, #1
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1082 .loc 1 3373 0
1083 014c 0025 movs r5, #0
1084 .LVL72:
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1085 .loc 1 3368 0
1086 014e 9A60 str r2, [r3, #8]
1087 .LBE65:
1088 .LBE64:
1089 .LBE70:
1090 .LBE74:
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1091 .loc 1 1260 0
1092 0150 0320 movs r0, #3
1093 .LBB75:
1094 .LBB71:
1095 .LBB67:
1096 .LBB66:
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1097 .loc 1 3370 0
1098 0152 C4F88410 str r1, [r4, #132]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1099 .loc 1 3373 0
1100 0156 84F88050 strb r5, [r4, #128]
1101 .LVL73:
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1102 .loc 1 3371 0
1103 015a C4F88810 str r1, [r4, #136]
1104 015e A7E7 b .L165
1105 .LVL74:
1106 .L168:
1107 .LBE66:
1108 .LBE67:
1109 .LBE71:
1110 .LBE75:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
1111 .loc 1 1238 0 discriminator 1
1112 0160 2369 ldr r3, [r4, #16]
1113 0162 53B9 cbnz r3, .L173
1114 0164 40F2FF17 movw r7, #511
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
1115 .loc 1 1238 0 is_stmt 0
1116 0168 B046 mov r8, r6
1117 016a A4F86070 strh r7, [r4, #96] @ movhi
1118 .LVL75:
ARM GAS /tmp/ccgDLloS.s page 96
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1119 .loc 1 1244 0 is_stmt 1
1120 016e 1E46 mov r6, r3
1121 .LVL76:
1122 0170 7AE7 b .L144
1123 .LVL77:
1124 .L128:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
1125 .loc 1 1238 0 discriminator 8
1126 0172 7F27 movs r7, #127
1127 0174 A4F86070 strh r7, [r4, #96] @ movhi
1128 0178 74E7 b .L129
1129 .L173:
1130 017a FF23 movs r3, #255
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1131 .loc 1 1250 0
1132 017c B846 mov r8, r7
1133 017e A4F86030 strh r3, [r4, #96] @ movhi
1134 .LVL78:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
1135 .loc 1 1238 0
1136 0182 1F46 mov r7, r3
1137 0184 70E7 b .L144
1138 .LVL79:
1139 .L170:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
1140 .loc 1 1238 0 is_stmt 0 discriminator 9
1141 0186 2369 ldr r3, [r4, #16]
1142 0188 002B cmp r3, #0
1143 018a F2D0 beq .L128
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhMask = huart->Mask;
1144 .loc 1 1238 0 discriminator 12
1145 018c 3F27 movs r7, #63
1146 018e A4F86070 strh r7, [r4, #96] @ movhi
1147 0192 67E7 b .L129
1148 .cfi_endproc
1149 .LFE337:
1151 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
1152 .align 1
1153 .p2align 2,,3
1154 .global HAL_UART_Transmit_IT
1155 .syntax unified
1156 .thumb
1157 .thumb_func
1158 .fpu fpv4-sp-d16
1160 HAL_UART_Transmit_IT:
1161 .LFB338:
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1162 .loc 1 1297 0 is_stmt 1
1163 .cfi_startproc
1164 @ args = 0, pretend = 0, frame = 0
1165 @ frame_needed = 0, uses_anonymous_args = 0
1166 @ link register save eliminated.
1167 .LVL80:
1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1168 .loc 1 1299 0
1169 0000 D0F88430 ldr r3, [r0, #132]
ARM GAS /tmp/ccgDLloS.s page 97
1170 0004 202B cmp r3, #32
1171 0006 2AD1 bne .L182
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1172 .loc 1 1301 0
1173 0008 59B3 cbz r1, .L181
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1174 .loc 1 1301 0 is_stmt 0 discriminator 1
1175 000a 52B3 cbz r2, .L181
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1176 .loc 1 1306 0 is_stmt 1
1177 000c 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
1178 0010 012B cmp r3, #1
1179 0012 24D0 beq .L182
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1180 .loc 1 1297 0 discriminator 2
1181 0014 30B4 push {r4, r5}
1182 .LCFI18:
1183 .cfi_def_cfa_offset 8
1184 .cfi_offset 4, -8
1185 .cfi_offset 5, -4
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1186 .loc 1 1317 0 discriminator 2
1187 0016 446E ldr r4, [r0, #100]
1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size;
1188 .loc 1 1308 0 discriminator 2
1189 0018 0165 str r1, [r0, #80]
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1190 .loc 1 1311 0 discriminator 2
1191 001a 0023 movs r3, #0
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1192 .loc 1 1306 0 discriminator 2
1193 001c 0125 movs r5, #1
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1194 .loc 1 1314 0 discriminator 2
1195 001e 2121 movs r1, #33
1196 .LVL81:
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1197 .loc 1 1317 0 discriminator 2
1198 0020 B4F1005F cmp r4, #536870912
1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
1199 .loc 1 1310 0 discriminator 2
1200 0024 A0F85620 strh r2, [r0, #86] @ movhi
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1201 .loc 1 1311 0 discriminator 2
1202 0028 4367 str r3, [r0, #116]
1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1203 .loc 1 1313 0 discriminator 2
1204 002a C0F88C30 str r3, [r0, #140]
1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size;
1205 .loc 1 1309 0 discriminator 2
1206 002e A0F85420 strh r2, [r0, #84] @ movhi
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1207 .loc 1 1306 0 discriminator 2
1208 0032 80F88050 strb r5, [r0, #128]
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1209 .loc 1 1314 0 discriminator 2
1210 0036 C0F88410 str r1, [r0, #132]
ARM GAS /tmp/ccgDLloS.s page 98
1211 003a 8368 ldr r3, [r0, #8]
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1212 .loc 1 1317 0 discriminator 2
1213 003c 13D0 beq .L191
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1214 .loc 1 1337 0
1215 003e B3F5805F cmp r3, #4096
1216 0042 26D0 beq .L192
1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1217 .loc 1 1343 0
1218 0044 164B ldr r3, .L194
1219 .LVL82:
1220 .L178:
1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1221 .loc 1 1349 0
1222 0046 0168 ldr r1, [r0]
1223 0048 4367 str r3, [r0, #116]
1224 004a 0A68 ldr r2, [r1]
1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1225 .loc 1 1346 0
1226 004c 0023 movs r3, #0
1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1227 .loc 1 1349 0
1228 004e 42F08002 orr r2, r2, #128
1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1229 .loc 1 1346 0
1230 0052 80F88030 strb r3, [r0, #128]
1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1231 .loc 1 1352 0
1232 0056 1846 mov r0, r3
1233 .LVL83:
1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1234 .loc 1 1349 0
1235 0058 0A60 str r2, [r1]
1236 .L175:
1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1237 .loc 1 1358 0
1238 005a 30BC pop {r4, r5}
1239 .LCFI19:
1240 .cfi_restore 5
1241 .cfi_restore 4
1242 .cfi_def_cfa_offset 0
1243 005c 7047 bx lr
1244 .LVL84:
1245 .L182:
1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1246 .loc 1 1356 0
1247 005e 0220 movs r0, #2
1248 .LVL85:
1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1249 .loc 1 1358 0
1250 0060 7047 bx lr
1251 .LVL86:
1252 .L181:
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1253 .loc 1 1303 0
1254 0062 0120 movs r0, #1
ARM GAS /tmp/ccgDLloS.s page 99
1255 .LVL87:
1256 0064 7047 bx lr
1257 .LVL88:
1258 .L191:
1259 .LCFI20:
1260 .cfi_def_cfa_offset 8
1261 .cfi_offset 4, -8
1262 .cfi_offset 5, -4
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1263 .loc 1 1320 0
1264 0066 B3F5805F cmp r3, #4096
1265 006a 0BD0 beq .L193
1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1266 .loc 1 1326 0
1267 006c 0D4B ldr r3, .L194+4
1268 .LVL89:
1269 .L177:
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1270 .loc 1 1332 0
1271 006e 0168 ldr r1, [r0]
1272 0070 4367 str r3, [r0, #116]
1273 0072 8A68 ldr r2, [r1, #8]
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1274 .loc 1 1329 0
1275 0074 0023 movs r3, #0
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1276 .loc 1 1332 0
1277 0076 42F40002 orr r2, r2, #8388608
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1278 .loc 1 1329 0
1279 007a 80F88030 strb r3, [r0, #128]
1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1280 .loc 1 1352 0
1281 007e 1846 mov r0, r3
1282 .LVL90:
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1283 .loc 1 1332 0
1284 0080 8A60 str r2, [r1, #8]
1285 0082 EAE7 b .L175
1286 .LVL91:
1287 .L193:
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1288 .loc 1 1320 0 discriminator 1
1289 0084 0169 ldr r1, [r0, #16]
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1290 .loc 1 1322 0 discriminator 1
1291 0086 074B ldr r3, .L194+4
1292 0088 074A ldr r2, .L194+8
1293 .LVL92:
1294 008a 0029 cmp r1, #0
1295 008c 08BF it eq
1296 008e 1346 moveq r3, r2
1297 0090 EDE7 b .L177
1298 .LVL93:
1299 .L192:
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1300 .loc 1 1337 0 discriminator 1
ARM GAS /tmp/ccgDLloS.s page 100
1301 0092 0169 ldr r1, [r0, #16]
1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1302 .loc 1 1339 0 discriminator 1
1303 0094 024B ldr r3, .L194
1304 0096 054A ldr r2, .L194+12
1305 .LVL94:
1306 0098 0029 cmp r1, #0
1307 009a 08BF it eq
1308 009c 1346 moveq r3, r2
1309 009e D2E7 b .L178
1310 .L195:
1311 .align 2
1312 .L194:
1313 00a0 00000000 .word UART_TxISR_8BIT
1314 00a4 00000000 .word UART_TxISR_8BIT_FIFOEN
1315 00a8 00000000 .word UART_TxISR_16BIT_FIFOEN
1316 00ac 00000000 .word UART_TxISR_16BIT
1317 .cfi_endproc
1318 .LFE338:
1320 .section .text.HAL_UART_Receive_IT,"ax",%progbits
1321 .align 1
1322 .p2align 2,,3
1323 .global HAL_UART_Receive_IT
1324 .syntax unified
1325 .thumb
1326 .thumb_func
1327 .fpu fpv4-sp-d16
1329 HAL_UART_Receive_IT:
1330 .LFB339:
1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1331 .loc 1 1371 0
1332 .cfi_startproc
1333 @ args = 0, pretend = 0, frame = 0
1334 @ frame_needed = 0, uses_anonymous_args = 0
1335 @ link register save eliminated.
1336 .LVL95:
1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1337 .loc 1 1373 0
1338 0000 D0F88830 ldr r3, [r0, #136]
1339 0004 202B cmp r3, #32
1340 0006 3CD1 bne .L219
1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1341 .loc 1 1375 0
1342 0008 0029 cmp r1, #0
1343 000a 3CD0 beq .L218
1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1344 .loc 1 1375 0 is_stmt 0 discriminator 1
1345 000c 002A cmp r2, #0
1346 000e 3AD0 beq .L218
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1347 .loc 1 1380 0 is_stmt 1
1348 0010 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
1349 0014 012B cmp r3, #1
1350 0016 34D0 beq .L219
1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1351 .loc 1 1371 0 discriminator 2
1352 0018 30B4 push {r4, r5}
ARM GAS /tmp/ccgDLloS.s page 101
1353 .LCFI21:
1354 .cfi_def_cfa_offset 8
1355 .cfi_offset 4, -8
1356 .cfi_offset 5, -4
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1357 .loc 1 1385 0 discriminator 2
1358 001a 4E4B ldr r3, .L242
1359 001c 0468 ldr r4, [r0]
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1360 .loc 1 1380 0 discriminator 2
1361 001e 0125 movs r5, #1
1362 0020 80F88050 strb r5, [r0, #128]
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1363 .loc 1 1385 0 discriminator 2
1364 0024 9C42 cmp r4, r3
1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1365 .loc 1 1383 0 discriminator 2
1366 0026 4FF00005 mov r5, #0
1367 002a C566 str r5, [r0, #108]
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1368 .loc 1 1385 0 discriminator 2
1369 002c 06D0 beq .L198
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1370 .loc 1 1388 0
1371 002e 6368 ldr r3, [r4, #4]
1372 0030 1B02 lsls r3, r3, #8
1373 0032 03D5 bpl .L198
1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1374 .loc 1 1391 0
1375 0034 2368 ldr r3, [r4]
1376 0036 43F08063 orr r3, r3, #67108864
1377 003a 2360 str r3, [r4]
1378 .L198:
1379 .LVL96:
1380 .LBB78:
1381 .LBB79:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1382 .loc 1 3424 0
1383 003c 8368 ldr r3, [r0, #8]
3418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size;
1384 .loc 1 3418 0
1385 003e 8165 str r1, [r0, #88]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1386 .loc 1 3424 0
1387 0040 B3F5805F cmp r3, #4096
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1388 .loc 1 3421 0
1389 0044 4FF00001 mov r1, #0
1390 .LVL97:
3419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size;
1391 .loc 1 3419 0
1392 0048 A0F85C20 strh r2, [r0, #92] @ movhi
3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
1393 .loc 1 3420 0
1394 004c A0F85E20 strh r2, [r0, #94] @ movhi
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1395 .loc 1 3421 0
ARM GAS /tmp/ccgDLloS.s page 102
1396 0050 0167 str r1, [r0, #112]
1397 0052 456E ldr r5, [r0, #100]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1398 .loc 1 3424 0
1399 0054 19D0 beq .L237
1400 0056 002B cmp r3, #0
1401 0058 3CD1 bne .L205
1402 005a 0369 ldr r3, [r0, #16]
1403 005c 002B cmp r3, #0
1404 005e 6CD0 beq .L238
1405 .L206:
1406 0060 7F23 movs r3, #127
1407 0062 A0F86030 strh r3, [r0, #96] @ movhi
1408 .L207:
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1409 .loc 1 3427 0
1410 0066 2223 movs r3, #34
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1411 .loc 1 3426 0
1412 0068 0021 movs r1, #0
1413 006a C0F88C10 str r1, [r0, #140]
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1414 .loc 1 3427 0
1415 006e C0F88830 str r3, [r0, #136]
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1416 .loc 1 3430 0
1417 0072 A368 ldr r3, [r4, #8]
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1418 .loc 1 3433 0
1419 0074 B5F1005F cmp r5, #536870912
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1420 .loc 1 3430 0
1421 0078 43F00103 orr r3, r3, #1
1422 007c A360 str r3, [r4, #8]
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1423 .loc 1 3433 0
1424 007e 3AD1 bne .L203
1425 0080 15E0 b .L213
1426 .LVL98:
1427 .L219:
1428 .LCFI22:
1429 .cfi_def_cfa_offset 0
1430 .cfi_restore 4
1431 .cfi_restore 5
1432 .LBE79:
1433 .LBE78:
1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1434 .loc 1 1399 0
1435 0082 0220 movs r0, #2
1436 .LVL99:
1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1437 .loc 1 1401 0
1438 0084 7047 bx lr
1439 .LVL100:
1440 .L218:
1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1441 .loc 1 1377 0
ARM GAS /tmp/ccgDLloS.s page 103
1442 0086 0120 movs r0, #1
1443 .LVL101:
1444 0088 7047 bx lr
1445 .LVL102:
1446 .L237:
1447 .LCFI23:
1448 .cfi_def_cfa_offset 8
1449 .cfi_offset 4, -8
1450 .cfi_offset 5, -4
1451 .LBB84:
1452 .LBB80:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1453 .loc 1 3424 0
1454 008a 0369 ldr r3, [r0, #16]
1455 008c 002B cmp r3, #0
1456 008e 3ED0 beq .L239
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1457 .loc 1 3427 0
1458 0090 2223 movs r3, #34
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1459 .loc 1 3426 0
1460 0092 C0F88C10 str r1, [r0, #140]
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1461 .loc 1 3427 0
1462 0096 C0F88830 str r3, [r0, #136]
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1463 .loc 1 3430 0
1464 009a A368 ldr r3, [r4, #8]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1465 .loc 1 3424 0
1466 009c FF21 movs r1, #255
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1467 .loc 1 3430 0
1468 009e 43F00103 orr r3, r3, #1
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1469 .loc 1 3433 0
1470 00a2 B5F1005F cmp r5, #536870912
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1471 .loc 1 3424 0
1472 00a6 A0F86010 strh r1, [r0, #96] @ movhi
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1473 .loc 1 3430 0
1474 00aa A360 str r3, [r4, #8]
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1475 .loc 1 3433 0
1476 00ac 23D1 bne .L203
1477 .L213:
1478 00ae B0F86830 ldrh r3, [r0, #104]
1479 00b2 9342 cmp r3, r2
1480 00b4 1FD8 bhi .L203
3442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1481 .loc 1 3442 0
1482 00b6 284B ldr r3, .L242+4
1483 .L211:
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
1484 .loc 1 3448 0
1485 00b8 2268 ldr r2, [r4]
ARM GAS /tmp/ccgDLloS.s page 104
1486 .LVL103:
1487 00ba 0367 str r3, [r0, #112]
1488 00bc 42F48072 orr r2, r2, #256
3445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1489 .loc 1 3445 0
1490 00c0 0023 movs r3, #0
1491 00c2 80F88030 strb r3, [r0, #128]
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
1492 .loc 1 3448 0
1493 00c6 2260 str r2, [r4]
3449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1494 .loc 1 3449 0
1495 00c8 A268 ldr r2, [r4, #8]
1496 00ca 42F08052 orr r2, r2, #268435456
1497 .LBE80:
1498 .LBE84:
1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1499 .loc 1 1395 0
1500 00ce 1846 mov r0, r3
1501 .LVL104:
1502 .LBB85:
1503 .LBB81:
3449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1504 .loc 1 3449 0
1505 00d0 A260 str r2, [r4, #8]
1506 00d2 1AE0 b .L229
1507 .LVL105:
1508 .L205:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1509 .loc 1 3424 0
1510 00d4 B3F1805F cmp r3, #268435456
1511 00d8 33D0 beq .L240
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1512 .loc 1 3427 0
1513 00da 2223 movs r3, #34
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1514 .loc 1 3426 0
1515 00dc C0F88C10 str r1, [r0, #140]
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1516 .loc 1 3427 0
1517 00e0 C0F88830 str r3, [r0, #136]
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1518 .loc 1 3430 0
1519 00e4 A368 ldr r3, [r4, #8]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1520 .loc 1 3424 0
1521 00e6 A0F86010 strh r1, [r0, #96] @ movhi
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1522 .loc 1 3430 0
1523 00ea 43F00103 orr r3, r3, #1
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1524 .loc 1 3433 0
1525 00ee B5F1005F cmp r5, #536870912
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1526 .loc 1 3430 0
1527 00f2 A360 str r3, [r4, #8]
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 105
1528 .loc 1 3433 0
1529 00f4 DBD0 beq .L213
1530 .L203:
3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1531 .loc 1 3460 0
1532 00f6 194B ldr r3, .L242+8
1533 .L202:
3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1534 .loc 1 3466 0
1535 00f8 2268 ldr r2, [r4]
1536 .LVL106:
1537 00fa 0367 str r3, [r0, #112]
1538 00fc 42F49072 orr r2, r2, #288
3463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1539 .loc 1 3463 0
1540 0100 0023 movs r3, #0
1541 0102 80F88030 strb r3, [r0, #128]
1542 .LBE81:
1543 .LBE85:
1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1544 .loc 1 1395 0
1545 0106 1846 mov r0, r3
1546 .LVL107:
1547 .LBB86:
1548 .LBB82:
3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1549 .loc 1 3466 0
1550 0108 2260 str r2, [r4]
1551 .L229:
1552 .LBE82:
1553 .LBE86:
1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1554 .loc 1 1401 0
1555 010a 30BC pop {r4, r5}
1556 .LCFI24:
1557 .cfi_remember_state
1558 .cfi_restore 5
1559 .cfi_restore 4
1560 .cfi_def_cfa_offset 0
1561 010c 7047 bx lr
1562 .LVL108:
1563 .L239:
1564 .LCFI25:
1565 .cfi_restore_state
1566 .LBB87:
1567 .LBB83:
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1568 .loc 1 3427 0
1569 010e 2221 movs r1, #34
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1570 .loc 1 3426 0
1571 0110 C0F88C30 str r3, [r0, #140]
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1572 .loc 1 3427 0
1573 0114 C0F88810 str r1, [r0, #136]
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1574 .loc 1 3430 0
ARM GAS /tmp/ccgDLloS.s page 106
1575 0118 A368 ldr r3, [r4, #8]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1576 .loc 1 3424 0
1577 011a 40F2FF11 movw r1, #511
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1578 .loc 1 3430 0
1579 011e 43F00103 orr r3, r3, #1
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1580 .loc 1 3433 0
1581 0122 B5F1005F cmp r5, #536870912
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1582 .loc 1 3424 0
1583 0126 A0F86010 strh r1, [r0, #96] @ movhi
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1584 .loc 1 3430 0
1585 012a A360 str r3, [r4, #8]
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1586 .loc 1 3433 0
1587 012c 03D1 bne .L231
1588 012e B0F86830 ldrh r3, [r0, #104]
1589 0132 9342 cmp r3, r2
1590 0134 0CD9 bls .L241
1591 .L231:
3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1592 .loc 1 3456 0
1593 0136 0A4B ldr r3, .L242+12
1594 0138 DEE7 b .L202
1595 .L238:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1596 .loc 1 3424 0
1597 013a FF23 movs r3, #255
1598 013c A0F86030 strh r3, [r0, #96] @ movhi
1599 0140 91E7 b .L207
1600 .L240:
1601 0142 0369 ldr r3, [r0, #16]
1602 0144 002B cmp r3, #0
1603 0146 8BD0 beq .L206
1604 0148 3F23 movs r3, #63
1605 014a A0F86030 strh r3, [r0, #96] @ movhi
1606 014e 8AE7 b .L207
1607 .L241:
3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1608 .loc 1 3438 0
1609 0150 044B ldr r3, .L242+16
1610 0152 B1E7 b .L211
1611 .L243:
1612 .align 2
1613 .L242:
1614 0154 00800040 .word 1073774592
1615 0158 00000000 .word UART_RxISR_8BIT_FIFOEN
1616 015c 00000000 .word UART_RxISR_8BIT
1617 0160 00000000 .word UART_RxISR_16BIT
1618 0164 00000000 .word UART_RxISR_16BIT_FIFOEN
1619 .LBE83:
1620 .LBE87:
1621 .cfi_endproc
1622 .LFE339:
ARM GAS /tmp/ccgDLloS.s page 107
1624 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
1625 .align 1
1626 .p2align 2,,3
1627 .global HAL_UART_Transmit_DMA
1628 .syntax unified
1629 .thumb
1630 .thumb_func
1631 .fpu fpv4-sp-d16
1633 HAL_UART_Transmit_DMA:
1634 .LFB340:
1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1635 .loc 1 1414 0
1636 .cfi_startproc
1637 @ args = 0, pretend = 0, frame = 0
1638 @ frame_needed = 0, uses_anonymous_args = 0
1639 .LVL109:
1640 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1641 .LCFI26:
1642 .cfi_def_cfa_offset 24
1643 .cfi_offset 4, -24
1644 .cfi_offset 5, -20
1645 .cfi_offset 6, -16
1646 .cfi_offset 7, -12
1647 .cfi_offset 8, -8
1648 .cfi_offset 14, -4
1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1649 .loc 1 1416 0
1650 0004 D0F88460 ldr r6, [r0, #132]
1651 0008 202E cmp r6, #32
1652 000a 32D1 bne .L251
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1653 .loc 1 1418 0
1654 000c A1B3 cbz r1, .L250
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1655 .loc 1 1418 0 is_stmt 0 discriminator 1
1656 000e 9AB3 cbz r2, .L250
1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1657 .loc 1 1423 0 is_stmt 1
1658 0010 90F88040 ldrb r4, [r0, #128] @ zero_extendqisi2
1659 0014 012C cmp r4, #1
1660 0016 2CD0 beq .L251
1661 0018 0546 mov r5, r0
1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1662 .loc 1 1432 0 discriminator 2
1663 001a 806F ldr r0, [r0, #120]
1664 .LVL110:
1427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1665 .loc 1 1427 0 discriminator 2
1666 001c A5F85620 strh r2, [r5, #86] @ movhi
1667 0020 1346 mov r3, r2
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1668 .loc 1 1429 0 discriminator 2
1669 0022 4FF00008 mov r8, #0
1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1670 .loc 1 1430 0 discriminator 2
1671 0026 2122 movs r2, #33
1672 .LVL111:
ARM GAS /tmp/ccgDLloS.s page 108
1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1673 .loc 1 1423 0 discriminator 2
1674 0028 0124 movs r4, #1
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1675 .loc 1 1429 0 discriminator 2
1676 002a C5F88C80 str r8, [r5, #140]
1677 .LVL112:
1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferSize = Size;
1678 .loc 1 1425 0 discriminator 2
1679 002e 2965 str r1, [r5, #80]
1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1680 .loc 1 1430 0 discriminator 2
1681 0030 C5F88420 str r2, [r5, #132]
1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = Size;
1682 .loc 1 1426 0 discriminator 2
1683 0034 A5F85430 strh r3, [r5, #84] @ movhi
1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1684 .loc 1 1423 0 discriminator 2
1685 0038 85F88040 strb r4, [r5, #128]
1686 003c 2A68 ldr r2, [r5]
1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1687 .loc 1 1432 0 discriminator 2
1688 003e 68B1 cbz r0, .L246
1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1689 .loc 1 1435 0
1690 0040 134F ldr r7, .L256
1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1691 .loc 1 1438 0
1692 0042 DFF854C0 ldr ip, .L256+8
1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1693 .loc 1 1435 0
1694 0046 C762 str r7, [r0, #44]
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1695 .loc 1 1441 0
1696 0048 124F ldr r7, .L256+4
1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1697 .loc 1 1444 0
1698 004a C0F83880 str r8, [r0, #56]
1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1699 .loc 1 1447 0
1700 004e 2832 adds r2, r2, #40
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1701 .loc 1 1441 0
1702 0050 C0E90CC7 strd ip, r7, [r0, #48]
1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1703 .loc 1 1447 0
1704 0054 FFF7FEFF bl HAL_DMA_Start_IT
1705 .LVL113:
1706 0058 88B9 cbnz r0, .L247
1707 005a 2A68 ldr r2, [r5]
1708 .L246:
1461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1709 .loc 1 1461 0
1710 005c 4023 movs r3, #64
1711 005e 1362 str r3, [r2, #32]
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1712 .loc 1 1467 0
ARM GAS /tmp/ccgDLloS.s page 109
1713 0060 9368 ldr r3, [r2, #8]
1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1714 .loc 1 1463 0
1715 0062 0020 movs r0, #0
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1716 .loc 1 1467 0
1717 0064 43F08003 orr r3, r3, #128
1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1718 .loc 1 1463 0
1719 0068 85F88000 strb r0, [r5, #128]
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1720 .loc 1 1467 0
1721 006c 9360 str r3, [r2, #8]
1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1722 .loc 1 1475 0
1723 006e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1724 .LVL114:
1725 .L251:
1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1726 .loc 1 1473 0
1727 0072 0220 movs r0, #2
1728 .LVL115:
1729 .L245:
1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1730 .loc 1 1475 0
1731 0074 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1732 .LVL116:
1733 .L250:
1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1734 .loc 1 1420 0
1735 0078 0120 movs r0, #1
1736 .LVL117:
1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1737 .loc 1 1475 0
1738 007a BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1739 .LVL118:
1740 .L247:
1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1741 .loc 1 1450 0
1742 007e 1023 movs r3, #16
1743 0080 C5F88C30 str r3, [r5, #140]
1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1744 .loc 1 1452 0
1745 0084 85F88080 strb r8, [r5, #128]
1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1746 .loc 1 1457 0
1747 0088 2046 mov r0, r4
1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1748 .loc 1 1455 0
1749 008a C5F88460 str r6, [r5, #132]
1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1750 .loc 1 1457 0
1751 008e F1E7 b .L245
1752 .L257:
1753 .align 2
1754 .L256:
1755 0090 00000000 .word UART_DMATransmitCplt
ARM GAS /tmp/ccgDLloS.s page 110
1756 0094 00000000 .word UART_DMAError
1757 0098 00000000 .word UART_DMATxHalfCplt
1758 .cfi_endproc
1759 .LFE340:
1761 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
1762 .align 1
1763 .p2align 2,,3
1764 .global HAL_UART_Receive_DMA
1765 .syntax unified
1766 .thumb
1767 .thumb_func
1768 .fpu fpv4-sp-d16
1770 HAL_UART_Receive_DMA:
1771 .LFB341:
1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1772 .loc 1 1490 0
1773 .cfi_startproc
1774 @ args = 0, pretend = 0, frame = 0
1775 @ frame_needed = 0, uses_anonymous_args = 0
1776 .LVL119:
1777 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1778 .LCFI27:
1779 .cfi_def_cfa_offset 24
1780 .cfi_offset 3, -24
1781 .cfi_offset 4, -20
1782 .cfi_offset 5, -16
1783 .cfi_offset 6, -12
1784 .cfi_offset 7, -8
1785 .cfi_offset 14, -4
1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1786 .loc 1 1492 0
1787 0002 D0F88840 ldr r4, [r0, #136]
1788 0006 202C cmp r4, #32
1789 0008 45D1 bne .L266
1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1790 .loc 1 1494 0
1791 000a 0029 cmp r1, #0
1792 000c 45D0 beq .L265
1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1793 .loc 1 1494 0 is_stmt 0 discriminator 1
1794 000e 002A cmp r2, #0
1795 0010 43D0 beq .L265
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1796 .loc 1 1499 0 is_stmt 1
1797 0012 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
1798 0016 012B cmp r3, #1
1799 0018 3DD0 beq .L266
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1800 .loc 1 1504 0 discriminator 2
1801 001a 0568 ldr r5, [r0]
1802 001c 254B ldr r3, .L274
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1803 .loc 1 1499 0 discriminator 2
1804 001e 0124 movs r4, #1
1805 0020 80F88040 strb r4, [r0, #128]
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1806 .loc 1 1504 0 discriminator 2
ARM GAS /tmp/ccgDLloS.s page 111
1807 0024 9D42 cmp r5, r3
1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1808 .loc 1 1502 0 discriminator 2
1809 0026 4FF00004 mov r4, #0
1810 002a C466 str r4, [r0, #108]
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1811 .loc 1 1504 0 discriminator 2
1812 002c 06D0 beq .L260
1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1813 .loc 1 1507 0
1814 002e 6B68 ldr r3, [r5, #4]
1815 0030 1B02 lsls r3, r3, #8
1816 0032 03D5 bpl .L260
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1817 .loc 1 1510 0
1818 0034 2B68 ldr r3, [r5]
1819 0036 43F08063 orr r3, r3, #67108864
1820 003a 2B60 str r3, [r5]
1821 .L260:
1822 .LVL120:
1823 003c 0446 mov r4, r0
1824 .LBB90:
1825 .LBB91:
3490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1826 .loc 1 3490 0
1827 003e C06F ldr r0, [r0, #124]
1828 .LVL121:
3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size;
1829 .loc 1 3484 0
1830 0040 A165 str r1, [r4, #88]
1831 0042 1346 mov r3, r2
1832 .LVL122:
3487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1833 .loc 1 3487 0
1834 0044 0026 movs r6, #0
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1835 .loc 1 3488 0
1836 0046 2222 movs r2, #34
1837 .LVL123:
3487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1838 .loc 1 3487 0
1839 0048 C4F88C60 str r6, [r4, #140]
3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1840 .loc 1 3485 0
1841 004c A4F85C30 strh r3, [r4, #92] @ movhi
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1842 .loc 1 3488 0
1843 0050 C4F88820 str r2, [r4, #136]
3490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1844 .loc 1 3490 0
1845 0054 78B1 cbz r0, .L261
3496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1846 .loc 1 3496 0
1847 0056 184F ldr r7, .L274+4
3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1848 .loc 1 3493 0
1849 0058 DFF864C0 ldr ip, .L274+12
ARM GAS /tmp/ccgDLloS.s page 112
3502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1850 .loc 1 3502 0
1851 005c 8663 str r6, [r0, #56]
3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1852 .loc 1 3505 0
1853 005e 0A46 mov r2, r1
1854 0060 05F12401 add r1, r5, #36
1855 .LVL124:
3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1856 .loc 1 3499 0
1857 0064 154D ldr r5, .L274+8
3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1858 .loc 1 3493 0
1859 0066 C0F82CC0 str ip, [r0, #44]
3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1860 .loc 1 3499 0
1861 006a C0E90C75 strd r7, r5, [r0, #48]
3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
1862 .loc 1 3505 0
1863 006e FFF7FEFF bl HAL_DMA_Start_IT
1864 .LVL125:
1865 0072 A0B9 cbnz r0, .L262
1866 0074 2568 ldr r5, [r4]
1867 .L261:
3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1868 .loc 1 3521 0
1869 0076 2B68 ldr r3, [r5]
3518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1870 .loc 1 3518 0
1871 0078 0020 movs r0, #0
3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1872 .loc 1 3521 0
1873 007a 43F48073 orr r3, r3, #256
3518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1874 .loc 1 3518 0
1875 007e 84F88000 strb r0, [r4, #128]
3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1876 .loc 1 3521 0
1877 0082 2B60 str r3, [r5]
3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1878 .loc 1 3524 0
1879 0084 AB68 ldr r3, [r5, #8]
1880 0086 43F00103 orr r3, r3, #1
1881 008a AB60 str r3, [r5, #8]
3528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1882 .loc 1 3528 0
1883 008c AB68 ldr r3, [r5, #8]
1884 008e 43F04003 orr r3, r3, #64
1885 0092 AB60 str r3, [r5, #8]
1886 .LBE91:
1887 .LBE90:
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1888 .loc 1 1520 0
1889 0094 F8BD pop {r3, r4, r5, r6, r7, pc}
1890 .LVL126:
1891 .L266:
1518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 113
1892 .loc 1 1518 0
1893 0096 0220 movs r0, #2
1894 .LVL127:
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1895 .loc 1 1520 0
1896 0098 F8BD pop {r3, r4, r5, r6, r7, pc}
1897 .LVL128:
1898 .L265:
1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1899 .loc 1 1496 0
1900 009a 0120 movs r0, #1
1901 .LVL129:
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1902 .loc 1 1520 0
1903 009c F8BD pop {r3, r4, r5, r6, r7, pc}
1904 .LVL130:
1905 .L262:
1906 .LBB93:
1907 .LBB92:
3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1908 .loc 1 3508 0
1909 009e 1022 movs r2, #16
3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1910 .loc 1 3513 0
1911 00a0 2023 movs r3, #32
3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1912 .loc 1 3508 0
1913 00a2 C4F88C20 str r2, [r4, #140]
3510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1914 .loc 1 3510 0
1915 00a6 84F88060 strb r6, [r4, #128]
3515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1916 .loc 1 3515 0
1917 00aa 0120 movs r0, #1
3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1918 .loc 1 3513 0
1919 00ac C4F88430 str r3, [r4, #132]
1920 .LBE92:
1921 .LBE93:
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1922 .loc 1 1520 0
1923 00b0 F8BD pop {r3, r4, r5, r6, r7, pc}
1924 .LVL131:
1925 .L275:
1926 00b2 00BF .align 2
1927 .L274:
1928 00b4 00800040 .word 1073774592
1929 00b8 00000000 .word UART_DMARxHalfCplt
1930 00bc 00000000 .word UART_DMAError
1931 00c0 00000000 .word UART_DMAReceiveCplt
1932 .cfi_endproc
1933 .LFE341:
1935 .section .text.HAL_UART_DMAPause,"ax",%progbits
1936 .align 1
1937 .p2align 2,,3
1938 .global HAL_UART_DMAPause
1939 .syntax unified
ARM GAS /tmp/ccgDLloS.s page 114
1940 .thumb
1941 .thumb_func
1942 .fpu fpv4-sp-d16
1944 HAL_UART_DMAPause:
1945 .LFB342:
1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1946 .loc 1 1528 0
1947 .cfi_startproc
1948 @ args = 0, pretend = 0, frame = 0
1949 @ frame_needed = 0, uses_anonymous_args = 0
1950 @ link register save eliminated.
1951 .LVL132:
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1952 .loc 1 1532 0
1953 0000 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
1954 0004 012B cmp r3, #1
1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1955 .loc 1 1528 0
1956 0006 30B4 push {r4, r5}
1957 .LCFI28:
1958 .cfi_def_cfa_offset 8
1959 .cfi_offset 4, -8
1960 .cfi_offset 5, -4
1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1961 .loc 1 1529 0
1962 0008 D0F88450 ldr r5, [r0, #132]
1963 .LVL133:
1530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1964 .loc 1 1530 0
1965 000c D0F88840 ldr r4, [r0, #136]
1966 .LVL134:
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1967 .loc 1 1532 0
1968 0010 28D0 beq .L280
1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1969 .loc 1 1534 0 discriminator 2
1970 0012 0368 ldr r3, [r0]
1971 0014 9A68 ldr r2, [r3, #8]
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1972 .loc 1 1532 0 discriminator 2
1973 0016 0121 movs r1, #1
1974 0018 80F88010 strb r1, [r0, #128]
1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1975 .loc 1 1534 0 discriminator 2
1976 001c 1106 lsls r1, r2, #24
1977 001e 01D5 bpl .L278
1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1978 .loc 1 1534 0 is_stmt 0 discriminator 1
1979 0020 212D cmp r5, #33
1980 0022 17D0 beq .L288
1981 .L278:
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1982 .loc 1 1540 0 is_stmt 1
1983 0024 9A68 ldr r2, [r3, #8]
1984 0026 5206 lsls r2, r2, #25
1985 0028 05D4 bmi .L289
1986 .L279:
ARM GAS /tmp/ccgDLloS.s page 115
1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1987 .loc 1 1551 0
1988 002a 0023 movs r3, #0
1989 002c 80F88030 strb r3, [r0, #128]
1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
1990 .loc 1 1554 0
1991 0030 30BC pop {r4, r5}
1992 .LCFI29:
1993 .cfi_remember_state
1994 .cfi_restore 5
1995 .cfi_restore 4
1996 .cfi_def_cfa_offset 0
1997 .LVL135:
1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
1998 .loc 1 1553 0
1999 0032 1846 mov r0, r3
2000 .LVL136:
1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2001 .loc 1 1554 0
2002 0034 7047 bx lr
2003 .LVL137:
2004 .L289:
2005 .LCFI30:
2006 .cfi_restore_state
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
2007 .loc 1 1540 0 discriminator 1
2008 0036 222C cmp r4, #34
2009 0038 F7D1 bne .L279
1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2010 .loc 1 1544 0
2011 003a 1A68 ldr r2, [r3]
2012 003c 22F48072 bic r2, r2, #256
2013 0040 1A60 str r2, [r3]
1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2014 .loc 1 1545 0
2015 0042 9A68 ldr r2, [r3, #8]
2016 0044 22F00102 bic r2, r2, #1
2017 0048 9A60 str r2, [r3, #8]
1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2018 .loc 1 1548 0
2019 004a 9A68 ldr r2, [r3, #8]
2020 004c 22F04002 bic r2, r2, #64
2021 0050 9A60 str r2, [r3, #8]
2022 0052 EAE7 b .L279
2023 .L288:
1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2024 .loc 1 1538 0
2025 0054 9A68 ldr r2, [r3, #8]
2026 0056 22F08002 bic r2, r2, #128
2027 005a 9A60 str r2, [r3, #8]
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
2028 .loc 1 1540 0
2029 005c 9A68 ldr r2, [r3, #8]
2030 005e 5206 lsls r2, r2, #25
2031 0060 E3D5 bpl .L279
2032 0062 E8E7 b .L289
2033 .L280:
ARM GAS /tmp/ccgDLloS.s page 116
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2034 .loc 1 1532 0
2035 0064 0220 movs r0, #2
2036 .LVL138:
1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2037 .loc 1 1554 0
2038 0066 30BC pop {r4, r5}
2039 .LCFI31:
2040 .cfi_restore 5
2041 .cfi_restore 4
2042 .cfi_def_cfa_offset 0
2043 .LVL139:
2044 0068 7047 bx lr
2045 .cfi_endproc
2046 .LFE342:
2048 006a 00BF .section .text.HAL_UART_DMAResume,"ax",%progbits
2049 .align 1
2050 .p2align 2,,3
2051 .global HAL_UART_DMAResume
2052 .syntax unified
2053 .thumb
2054 .thumb_func
2055 .fpu fpv4-sp-d16
2057 HAL_UART_DMAResume:
2058 .LFB343:
1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
2059 .loc 1 1562 0
2060 .cfi_startproc
2061 @ args = 0, pretend = 0, frame = 0
2062 @ frame_needed = 0, uses_anonymous_args = 0
2063 @ link register save eliminated.
2064 .LVL140:
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2065 .loc 1 1563 0
2066 0000 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
2067 0004 012B cmp r3, #1
2068 0006 23D0 beq .L294
1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2069 .loc 1 1565 0 discriminator 2
2070 0008 D0F88430 ldr r3, [r0, #132]
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2071 .loc 1 1563 0 discriminator 2
2072 000c 0122 movs r2, #1
1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2073 .loc 1 1565 0 discriminator 2
2074 000e 212B cmp r3, #33
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2075 .loc 1 1563 0 discriminator 2
2076 0010 80F88020 strb r2, [r0, #128]
1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2077 .loc 1 1565 0 discriminator 2
2078 0014 04D1 bne .L292
1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2079 .loc 1 1568 0
2080 0016 0268 ldr r2, [r0]
2081 0018 9368 ldr r3, [r2, #8]
2082 001a 43F08003 orr r3, r3, #128
ARM GAS /tmp/ccgDLloS.s page 117
2083 001e 9360 str r3, [r2, #8]
2084 .L292:
1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2085 .loc 1 1570 0
2086 0020 D0F88830 ldr r3, [r0, #136]
2087 0024 222B cmp r3, #34
2088 0026 0ED1 bne .L293
1573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2089 .loc 1 1573 0
2090 0028 0368 ldr r3, [r0]
2091 002a 0822 movs r2, #8
2092 002c 1A62 str r2, [r3, #32]
1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
2093 .loc 1 1576 0
2094 002e 1A68 ldr r2, [r3]
2095 0030 42F48072 orr r2, r2, #256
2096 0034 1A60 str r2, [r3]
1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2097 .loc 1 1577 0
2098 0036 9A68 ldr r2, [r3, #8]
2099 0038 42F00102 orr r2, r2, #1
2100 003c 9A60 str r2, [r3, #8]
1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2101 .loc 1 1580 0
2102 003e 9A68 ldr r2, [r3, #8]
2103 0040 42F04002 orr r2, r2, #64
2104 0044 9A60 str r2, [r3, #8]
2105 .L293:
1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2106 .loc 1 1583 0
2107 0046 0023 movs r3, #0
2108 0048 80F88030 strb r3, [r0, #128]
1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2109 .loc 1 1585 0
2110 004c 1846 mov r0, r3
2111 .LVL141:
2112 004e 7047 bx lr
2113 .LVL142:
2114 .L294:
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2115 .loc 1 1563 0
2116 0050 0220 movs r0, #2
2117 .LVL143:
1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2118 .loc 1 1586 0
2119 0052 7047 bx lr
2120 .cfi_endproc
2121 .LFE343:
2123 .section .text.HAL_UART_DMAStop,"ax",%progbits
2124 .align 1
2125 .p2align 2,,3
2126 .global HAL_UART_DMAStop
2127 .syntax unified
2128 .thumb
2129 .thumb_func
2130 .fpu fpv4-sp-d16
2132 HAL_UART_DMAStop:
ARM GAS /tmp/ccgDLloS.s page 118
2133 .LFB344:
1594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
2134 .loc 1 1594 0
2135 .cfi_startproc
2136 @ args = 0, pretend = 0, frame = 0
2137 @ frame_needed = 0, uses_anonymous_args = 0
2138 .LVL144:
2139 0000 38B5 push {r3, r4, r5, lr}
2140 .LCFI32:
2141 .cfi_def_cfa_offset 16
2142 .cfi_offset 3, -16
2143 .cfi_offset 4, -12
2144 .cfi_offset 5, -8
2145 .cfi_offset 14, -4
1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2146 .loc 1 1606 0
2147 0002 0368 ldr r3, [r0]
1602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
2148 .loc 1 1602 0
2149 0004 D0F88410 ldr r1, [r0, #132]
2150 .LVL145:
1603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2151 .loc 1 1603 0
2152 0008 D0F88850 ldr r5, [r0, #136]
2153 .LVL146:
1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2154 .loc 1 1606 0
2155 000c 9A68 ldr r2, [r3, #8]
2156 000e 1206 lsls r2, r2, #24
1594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
2157 .loc 1 1594 0
2158 0010 0446 mov r4, r0
1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2159 .loc 1 1606 0
2160 0012 01D5 bpl .L296
1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2161 .loc 1 1606 0 is_stmt 0 discriminator 1
2162 0014 2129 cmp r1, #33
2163 0016 2AD0 beq .L319
2164 .LVL147:
2165 .L296:
1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
2166 .loc 1 1630 0 is_stmt 1
2167 0018 9868 ldr r0, [r3, #8]
2168 001a 10F04000 ands r0, r0, #64
2169 001e 02D0 beq .L300
1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
2170 .loc 1 1630 0 is_stmt 0 discriminator 1
2171 0020 222D cmp r5, #34
2172 0022 01D0 beq .L320
1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2173 .loc 1 1653 0 is_stmt 1
2174 0024 0020 movs r0, #0
2175 .L300:
1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2176 .loc 1 1654 0
2177 0026 38BD pop {r3, r4, r5, pc}
ARM GAS /tmp/ccgDLloS.s page 119
2178 .LVL148:
2179 .L320:
1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2180 .loc 1 1633 0
2181 0028 9A68 ldr r2, [r3, #8]
1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2182 .loc 1 1636 0
2183 002a E06F ldr r0, [r4, #124]
1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2184 .loc 1 1633 0
2185 002c 22F04002 bic r2, r2, #64
2186 0030 9A60 str r2, [r3, #8]
1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2187 .loc 1 1636 0
2188 0032 20B1 cbz r0, .L301
1638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2189 .loc 1 1638 0
2190 0034 FFF7FEFF bl HAL_DMA_Abort
2191 .LVL149:
2192 0038 0028 cmp r0, #0
2193 003a 2ED1 bne .L302
2194 .L318:
2195 003c 2368 ldr r3, [r4]
2196 .L301:
2197 .LVL150:
2198 .LBB94:
2199 .LBB95:
3558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
2200 .loc 1 3558 0
2201 003e 1A68 ldr r2, [r3]
2202 0040 22F49072 bic r2, r2, #288
2203 0044 1A60 str r2, [r3]
3559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2204 .loc 1 3559 0
2205 0046 9A68 ldr r2, [r3, #8]
2206 0048 22F08052 bic r2, r2, #268435456
2207 004c 22F00102 bic r2, r2, #1
2208 0050 9A60 str r2, [r3, #8]
3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2209 .loc 1 3562 0
2210 0052 E26E ldr r2, [r4, #108]
2211 0054 012A cmp r2, #1
2212 0056 03D1 bne .L304
3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2213 .loc 1 3564 0
2214 0058 1A68 ldr r2, [r3]
2215 005a 22F01002 bic r2, r2, #16
2216 005e 1A60 str r2, [r3]
2217 .L304:
3569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2218 .loc 1 3569 0
2219 0060 0020 movs r0, #0
3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2220 .loc 1 3568 0
2221 0062 2023 movs r3, #32
2222 0064 C4F88830 str r3, [r4, #136]
3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 120
2223 .loc 1 3572 0
2224 0068 2067 str r0, [r4, #112]
3569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2225 .loc 1 3569 0
2226 006a E066 str r0, [r4, #108]
2227 .LBE95:
2228 .LBE94:
1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2229 .loc 1 1654 0
2230 006c 38BD pop {r3, r4, r5, pc}
2231 .LVL151:
2232 .L319:
1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2233 .loc 1 1609 0
2234 006e 9A68 ldr r2, [r3, #8]
1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2235 .loc 1 1612 0
2236 0070 806F ldr r0, [r0, #120]
2237 .LVL152:
1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2238 .loc 1 1609 0
2239 0072 22F08002 bic r2, r2, #128
2240 0076 9A60 str r2, [r3, #8]
1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2241 .loc 1 1612 0
2242 0078 18B1 cbz r0, .L297
1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2243 .loc 1 1614 0
2244 007a FFF7FEFF bl HAL_DMA_Abort
2245 .LVL153:
2246 007e B0B9 cbnz r0, .L298
2247 .L317:
2248 0080 2368 ldr r3, [r4]
2249 .L297:
2250 .LVL154:
2251 .LBB96:
2252 .LBB97:
3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_TXFTIE));
2253 .loc 1 3542 0
2254 0082 1A68 ldr r2, [r3]
2255 0084 22F0C002 bic r2, r2, #192
2256 0088 1A60 str r2, [r3]
3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2257 .loc 1 3543 0
2258 008a 9A68 ldr r2, [r3, #8]
3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2259 .loc 1 3546 0
2260 008c 2021 movs r1, #32
3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2261 .loc 1 3543 0
2262 008e 22F40002 bic r2, r2, #8388608
2263 0092 9A60 str r2, [r3, #8]
3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2264 .loc 1 3546 0
2265 0094 C4F88410 str r1, [r4, #132]
2266 0098 BEE7 b .L296
2267 .LVL155:
ARM GAS /tmp/ccgDLloS.s page 121
2268 .L302:
2269 .LBE97:
2270 .LBE96:
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2271 .loc 1 1640 0
2272 009a E06F ldr r0, [r4, #124]
2273 009c FFF7FEFF bl HAL_DMA_GetError
2274 .LVL156:
2275 00a0 2028 cmp r0, #32
2276 00a2 CBD1 bne .L318
2277 .L303:
1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2278 .loc 1 1643 0
2279 00a4 1023 movs r3, #16
2280 00a6 C4F88C30 str r3, [r4, #140]
1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2281 .loc 1 1645 0
2282 00aa 0320 movs r0, #3
1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2283 .loc 1 1654 0
2284 00ac 38BD pop {r3, r4, r5, pc}
2285 .LVL157:
2286 .L298:
1616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2287 .loc 1 1616 0
2288 00ae A06F ldr r0, [r4, #120]
2289 00b0 FFF7FEFF bl HAL_DMA_GetError
2290 .LVL158:
2291 00b4 2028 cmp r0, #32
2292 00b6 E3D1 bne .L317
2293 00b8 F4E7 b .L303
2294 .cfi_endproc
2295 .LFE344:
2297 00ba 00BF .section .text.HAL_UART_Abort,"ax",%progbits
2298 .align 1
2299 .p2align 2,,3
2300 .global HAL_UART_Abort
2301 .syntax unified
2302 .thumb
2303 .thumb_func
2304 .fpu fpv4-sp-d16
2306 HAL_UART_Abort:
2307 .LFB345:
1669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXE, TC, RXNE, PE, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interr
2308 .loc 1 1669 0
2309 .cfi_startproc
2310 @ args = 0, pretend = 0, frame = 0
2311 @ frame_needed = 0, uses_anonymous_args = 0
2312 .LVL159:
2313 0000 38B5 push {r3, r4, r5, lr}
2314 .LCFI33:
2315 .cfi_def_cfa_offset 16
2316 .cfi_offset 3, -16
2317 .cfi_offset 4, -12
2318 .cfi_offset 5, -8
2319 .cfi_offset 14, -4
1671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TCIE));
ARM GAS /tmp/ccgDLloS.s page 122
2320 .loc 1 1671 0
2321 0002 0368 ldr r3, [r0]
2322 0004 1A68 ldr r2, [r3]
2323 0006 22F4F072 bic r2, r2, #480
2324 000a 1A60 str r2, [r3]
1673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2325 .loc 1 1673 0
2326 000c 9A68 ldr r2, [r3, #8]
2327 000e 22F08452 bic r2, r2, #276824064
2328 0012 22F00102 bic r2, r2, #1
2329 0016 9A60 str r2, [r3, #8]
1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2330 .loc 1 1676 0
2331 0018 C26E ldr r2, [r0, #108]
2332 001a 012A cmp r2, #1
1669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TXE, TC, RXNE, PE, RXFT, TXFT and ERR (Frame error, noise error, overrun error) interr
2333 .loc 1 1669 0
2334 001c 0446 mov r4, r0
1676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2335 .loc 1 1676 0
2336 001e 03D1 bne .L322
1678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2337 .loc 1 1678 0
2338 0020 1A68 ldr r2, [r3]
2339 0022 22F01002 bic r2, r2, #16
2340 0026 1A60 str r2, [r3]
2341 .L322:
1682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2342 .loc 1 1682 0
2343 0028 9A68 ldr r2, [r3, #8]
2344 002a 1106 lsls r1, r2, #24
2345 002c 0BD5 bpl .L323
1684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2346 .loc 1 1684 0
2347 002e 9A68 ldr r2, [r3, #8]
1687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2348 .loc 1 1687 0
2349 0030 A06F ldr r0, [r4, #120]
2350 .LVL160:
1684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2351 .loc 1 1684 0
2352 0032 22F08002 bic r2, r2, #128
2353 0036 9A60 str r2, [r3, #8]
1687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2354 .loc 1 1687 0
2355 0038 28B1 cbz r0, .L323
1691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2356 .loc 1 1691 0
2357 003a 0023 movs r3, #0
2358 003c 8363 str r3, [r0, #56]
1693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2359 .loc 1 1693 0
2360 003e FFF7FEFF bl HAL_DMA_Abort
2361 .LVL161:
2362 0042 68BB cbnz r0, .L324
2363 .L344:
2364 0044 2368 ldr r3, [r4]
ARM GAS /tmp/ccgDLloS.s page 123
2365 .L323:
1707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2366 .loc 1 1707 0
2367 0046 9A68 ldr r2, [r3, #8]
2368 0048 5206 lsls r2, r2, #25
2369 004a 0BD5 bpl .L327
1709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2370 .loc 1 1709 0
2371 004c 9A68 ldr r2, [r3, #8]
1712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2372 .loc 1 1712 0
2373 004e E06F ldr r0, [r4, #124]
1709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2374 .loc 1 1709 0
2375 0050 22F04002 bic r2, r2, #64
2376 0054 9A60 str r2, [r3, #8]
1712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2377 .loc 1 1712 0
2378 0056 28B1 cbz r0, .L327
1716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2379 .loc 1 1716 0
2380 0058 0023 movs r3, #0
2381 005a 8363 str r3, [r0, #56]
1718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2382 .loc 1 1718 0
2383 005c FFF7FEFF bl HAL_DMA_Abort
2384 .LVL162:
2385 0060 40BB cbnz r0, .L328
2386 .L345:
2387 0062 2368 ldr r3, [r4]
2388 .L327:
1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2389 .loc 1 1739 0
2390 0064 616E ldr r1, [r4, #100]
1732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
2391 .loc 1 1732 0
2392 0066 0022 movs r2, #0
1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2393 .loc 1 1736 0
2394 0068 0F20 movs r0, #15
1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2395 .loc 1 1739 0
2396 006a B1F1005F cmp r1, #536870912
1732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
2397 .loc 1 1732 0
2398 006e A4F85620 strh r2, [r4, #86] @ movhi
1733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2399 .loc 1 1733 0
2400 0072 A4F85E20 strh r2, [r4, #94] @ movhi
1736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2401 .loc 1 1736 0
2402 0076 1862 str r0, [r3, #32]
1739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2403 .loc 1 1739 0
2404 0078 03D1 bne .L330
1741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2405 .loc 1 1741 0
ARM GAS /tmp/ccgDLloS.s page 124
2406 007a 9A69 ldr r2, [r3, #24]
2407 007c 42F01002 orr r2, r2, #16
2408 0080 9A61 str r2, [r3, #24]
2409 .L330:
1745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2410 .loc 1 1745 0
2411 0082 9969 ldr r1, [r3, #24]
1750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2412 .loc 1 1750 0
2413 0084 0022 movs r2, #0
1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2414 .loc 1 1748 0
2415 0086 2025 movs r5, #32
1745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2416 .loc 1 1745 0
2417 0088 41F00801 orr r1, r1, #8
2418 008c 9961 str r1, [r3, #24]
1754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2419 .loc 1 1754 0
2420 008e 1046 mov r0, r2
1748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2421 .loc 1 1748 0
2422 0090 C4F88450 str r5, [r4, #132]
1749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2423 .loc 1 1749 0
2424 0094 C4F88850 str r5, [r4, #136]
1750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2425 .loc 1 1750 0
2426 0098 E266 str r2, [r4, #108]
1752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2427 .loc 1 1752 0
2428 009a C4F88C20 str r2, [r4, #140]
1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2429 .loc 1 1755 0
2430 009e 38BD pop {r3, r4, r5, pc}
2431 .LVL163:
2432 .L324:
1695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2433 .loc 1 1695 0
2434 00a0 A06F ldr r0, [r4, #120]
2435 00a2 FFF7FEFF bl HAL_DMA_GetError
2436 .LVL164:
2437 00a6 2028 cmp r0, #32
2438 00a8 CCD1 bne .L344
2439 .L329:
1723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2440 .loc 1 1723 0
2441 00aa 1023 movs r3, #16
2442 00ac C4F88C30 str r3, [r4, #140]
1725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2443 .loc 1 1725 0
2444 00b0 0320 movs r0, #3
1755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2445 .loc 1 1755 0
2446 00b2 38BD pop {r3, r4, r5, pc}
2447 .LVL165:
2448 .L328:
ARM GAS /tmp/ccgDLloS.s page 125
1720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2449 .loc 1 1720 0
2450 00b4 E06F ldr r0, [r4, #124]
2451 00b6 FFF7FEFF bl HAL_DMA_GetError
2452 .LVL166:
2453 00ba 2028 cmp r0, #32
2454 00bc D1D1 bne .L345
2455 00be F4E7 b .L329
2456 .cfi_endproc
2457 .LFE345:
2459 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
2460 .align 1
2461 .p2align 2,,3
2462 .global HAL_UART_AbortTransmit
2463 .syntax unified
2464 .thumb
2465 .thumb_func
2466 .fpu fpv4-sp-d16
2468 HAL_UART_AbortTransmit:
2469 .LFB346:
1770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */
2470 .loc 1 1770 0
2471 .cfi_startproc
2472 @ args = 0, pretend = 0, frame = 0
2473 @ frame_needed = 0, uses_anonymous_args = 0
2474 .LVL167:
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
2475 .loc 1 1772 0
2476 0000 0368 ldr r3, [r0]
2477 0002 1A68 ldr r2, [r3]
2478 0004 22F0C002 bic r2, r2, #192
1770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */
2479 .loc 1 1770 0
2480 0008 10B5 push {r4, lr}
2481 .LCFI34:
2482 .cfi_def_cfa_offset 8
2483 .cfi_offset 4, -8
2484 .cfi_offset 14, -4
1772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
2485 .loc 1 1772 0
2486 000a 1A60 str r2, [r3]
1773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2487 .loc 1 1773 0
2488 000c 9A68 ldr r2, [r3, #8]
2489 000e 22F40002 bic r2, r2, #8388608
2490 0012 9A60 str r2, [r3, #8]
1776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2491 .loc 1 1776 0
2492 0014 9A68 ldr r2, [r3, #8]
2493 0016 1206 lsls r2, r2, #24
1770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable TCIE, TXEIE and TXFTIE interrupts */
2494 .loc 1 1770 0
2495 0018 0446 mov r4, r0
1776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2496 .loc 1 1776 0
2497 001a 0AD5 bpl .L347
1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 126
2498 .loc 1 1778 0
2499 001c 9A68 ldr r2, [r3, #8]
1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2500 .loc 1 1781 0
2501 001e 806F ldr r0, [r0, #120]
2502 .LVL168:
1778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2503 .loc 1 1778 0
2504 0020 22F08002 bic r2, r2, #128
2505 0024 9A60 str r2, [r3, #8]
1781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2506 .loc 1 1781 0
2507 0026 20B1 cbz r0, .L347
1785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2508 .loc 1 1785 0
2509 0028 0023 movs r3, #0
2510 002a 8363 str r3, [r0, #56]
1787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2511 .loc 1 1787 0
2512 002c FFF7FEFF bl HAL_DMA_Abort
2513 .LVL169:
2514 0030 80B9 cbnz r0, .L360
2515 .L347:
1804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2516 .loc 1 1804 0
2517 0032 636E ldr r3, [r4, #100]
1801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2518 .loc 1 1801 0
2519 0034 0022 movs r2, #0
1804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2520 .loc 1 1804 0
2521 0036 B3F1005F cmp r3, #536870912
1801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2522 .loc 1 1801 0
2523 003a A4F85620 strh r2, [r4, #86] @ movhi
1804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2524 .loc 1 1804 0
2525 003e 04D1 bne .L349
1806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2526 .loc 1 1806 0
2527 0040 2268 ldr r2, [r4]
2528 0042 9369 ldr r3, [r2, #24]
2529 0044 43F01003 orr r3, r3, #16
2530 0048 9361 str r3, [r2, #24]
2531 .L349:
1810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2532 .loc 1 1810 0
2533 004a 2023 movs r3, #32
2534 004c C4F88430 str r3, [r4, #132]
1812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2535 .loc 1 1812 0
2536 0050 0020 movs r0, #0
1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2537 .loc 1 1813 0
2538 0052 10BD pop {r4, pc}
2539 .LVL170:
2540 .L360:
ARM GAS /tmp/ccgDLloS.s page 127
1789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2541 .loc 1 1789 0
2542 0054 A06F ldr r0, [r4, #120]
2543 0056 FFF7FEFF bl HAL_DMA_GetError
2544 .LVL171:
2545 005a 2028 cmp r0, #32
2546 005c E9D1 bne .L347
1792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2547 .loc 1 1792 0
2548 005e 1023 movs r3, #16
2549 0060 C4F88C30 str r3, [r4, #140]
1794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2550 .loc 1 1794 0
2551 0064 0320 movs r0, #3
1813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2552 .loc 1 1813 0
2553 0066 10BD pop {r4, pc}
2554 .cfi_endproc
2555 .LFE346:
2557 .section .text.HAL_UART_AbortReceive,"ax",%progbits
2558 .align 1
2559 .p2align 2,,3
2560 .global HAL_UART_AbortReceive
2561 .syntax unified
2562 .thumb
2563 .thumb_func
2564 .fpu fpv4-sp-d16
2566 HAL_UART_AbortReceive:
2567 .LFB347:
1828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */
2568 .loc 1 1828 0
2569 .cfi_startproc
2570 @ args = 0, pretend = 0, frame = 0
2571 @ frame_needed = 0, uses_anonymous_args = 0
2572 .LVL172:
2573 0000 38B5 push {r3, r4, r5, lr}
2574 .LCFI35:
2575 .cfi_def_cfa_offset 16
2576 .cfi_offset 3, -16
2577 .cfi_offset 4, -12
2578 .cfi_offset 5, -8
2579 .cfi_offset 14, -4
1830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE | USART_CR3_RXFTIE);
2580 .loc 1 1830 0
2581 0002 0368 ldr r3, [r0]
2582 0004 1A68 ldr r2, [r3]
2583 0006 22F49072 bic r2, r2, #288
2584 000a 1A60 str r2, [r3]
1831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2585 .loc 1 1831 0
2586 000c 9A68 ldr r2, [r3, #8]
2587 000e 22F08052 bic r2, r2, #268435456
2588 0012 22F00102 bic r2, r2, #1
2589 0016 9A60 str r2, [r3, #8]
1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2590 .loc 1 1834 0
2591 0018 C26E ldr r2, [r0, #108]
ARM GAS /tmp/ccgDLloS.s page 128
2592 001a 012A cmp r2, #1
1828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable PEIE, EIE, RXNEIE and RXFTIE interrupts */
2593 .loc 1 1828 0
2594 001c 0446 mov r4, r0
1834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2595 .loc 1 1834 0
2596 001e 03D1 bne .L362
1836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2597 .loc 1 1836 0
2598 0020 1A68 ldr r2, [r3]
2599 0022 22F01002 bic r2, r2, #16
2600 0026 1A60 str r2, [r3]
2601 .L362:
1840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2602 .loc 1 1840 0
2603 0028 9A68 ldr r2, [r3, #8]
2604 002a 5206 lsls r2, r2, #25
2605 002c 0BD5 bpl .L363
1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2606 .loc 1 1842 0
2607 002e 9A68 ldr r2, [r3, #8]
1845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2608 .loc 1 1845 0
2609 0030 E06F ldr r0, [r4, #124]
2610 .LVL173:
1842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2611 .loc 1 1842 0
2612 0032 22F04002 bic r2, r2, #64
2613 0036 9A60 str r2, [r3, #8]
1845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2614 .loc 1 1845 0
2615 0038 28B1 cbz r0, .L363
1849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2616 .loc 1 1849 0
2617 003a 0023 movs r3, #0
2618 003c 8363 str r3, [r0, #56]
1851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2619 .loc 1 1851 0
2620 003e FFF7FEFF bl HAL_DMA_Abort
2621 .LVL174:
2622 0042 78B9 cbnz r0, .L364
2623 .L374:
2624 0044 2368 ldr r3, [r4]
2625 .L363:
1865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2626 .loc 1 1865 0
2627 0046 0022 movs r2, #0
1868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2628 .loc 1 1868 0
2629 0048 0F21 movs r1, #15
1865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2630 .loc 1 1865 0
2631 004a A4F85E20 strh r2, [r4, #94] @ movhi
1868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2632 .loc 1 1868 0
2633 004e 1962 str r1, [r3, #32]
1871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 129
2634 .loc 1 1871 0
2635 0050 9969 ldr r1, [r3, #24]
1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2636 .loc 1 1874 0
2637 0052 2025 movs r5, #32
1871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2638 .loc 1 1871 0
2639 0054 41F00801 orr r1, r1, #8
2640 0058 9961 str r1, [r3, #24]
1877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2641 .loc 1 1877 0
2642 005a 1046 mov r0, r2
1874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2643 .loc 1 1874 0
2644 005c C4F88850 str r5, [r4, #136]
1875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2645 .loc 1 1875 0
2646 0060 E266 str r2, [r4, #108]
1878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2647 .loc 1 1878 0
2648 0062 38BD pop {r3, r4, r5, pc}
2649 .LVL175:
2650 .L364:
1853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2651 .loc 1 1853 0
2652 0064 E06F ldr r0, [r4, #124]
2653 0066 FFF7FEFF bl HAL_DMA_GetError
2654 .LVL176:
2655 006a 2028 cmp r0, #32
2656 006c EAD1 bne .L374
1856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2657 .loc 1 1856 0
2658 006e 1023 movs r3, #16
2659 0070 C4F88C30 str r3, [r4, #140]
1858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2660 .loc 1 1858 0
2661 0074 0320 movs r0, #3
1878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2662 .loc 1 1878 0
2663 0076 38BD pop {r3, r4, r5, pc}
2664 .cfi_endproc
2665 .LFE347:
2667 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
2668 .align 1
2669 .p2align 2,,3
2670 .weak HAL_UART_TxCpltCallback
2671 .syntax unified
2672 .thumb
2673 .thumb_func
2674 .fpu fpv4-sp-d16
2676 HAL_UART_TxCpltCallback:
2677 .LFB410:
2678 .cfi_startproc
2679 @ args = 0, pretend = 0, frame = 0
2680 @ frame_needed = 0, uses_anonymous_args = 0
2681 @ link register save eliminated.
2682 0000 7047 bx lr
ARM GAS /tmp/ccgDLloS.s page 130
2683 .cfi_endproc
2684 .LFE410:
2686 0002 00BF .section .text.UART_DMATransmitCplt,"ax",%progbits
2687 .align 1
2688 .p2align 2,,3
2689 .syntax unified
2690 .thumb
2691 .thumb_func
2692 .fpu fpv4-sp-d16
2694 UART_DMATransmitCplt:
2695 .LFB380:
3582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
2696 .loc 1 3582 0
2697 .cfi_startproc
2698 @ args = 0, pretend = 0, frame = 0
2699 @ frame_needed = 0, uses_anonymous_args = 0
2700 .LVL177:
3582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
2701 .loc 1 3582 0
2702 0000 08B5 push {r3, lr}
2703 .LCFI36:
2704 .cfi_def_cfa_offset 8
2705 .cfi_offset 3, -8
2706 .cfi_offset 14, -4
3586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2707 .loc 1 3586 0
2708 0002 0368 ldr r3, [r0]
3583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2709 .loc 1 3583 0
2710 0004 806A ldr r0, [r0, #40]
2711 .LVL178:
3586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2712 .loc 1 3586 0
2713 0006 1B68 ldr r3, [r3]
2714 0008 13F02003 ands r3, r3, #32
2715 000c 0BD1 bne .L377
3592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2716 .loc 1 3592 0
2717 000e 0268 ldr r2, [r0]
3588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2718 .loc 1 3588 0
2719 0010 A0F85630 strh r3, [r0, #86] @ movhi
3592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2720 .loc 1 3592 0
2721 0014 9368 ldr r3, [r2, #8]
2722 0016 23F08003 bic r3, r3, #128
2723 001a 9360 str r3, [r2, #8]
3595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2724 .loc 1 3595 0
2725 001c 1368 ldr r3, [r2]
2726 001e 43F04003 orr r3, r3, #64
2727 0022 1360 str r3, [r2]
3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2728 .loc 1 3608 0
2729 0024 08BD pop {r3, pc}
2730 .L377:
3605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/ccgDLloS.s page 131
2731 .loc 1 3605 0
2732 0026 FFF7FEFF bl HAL_UART_TxCpltCallback
2733 .LVL179:
3608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2734 .loc 1 3608 0
2735 002a 08BD pop {r3, pc}
2736 .cfi_endproc
2737 .LFE380:
2739 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
2740 .align 1
2741 .p2align 2,,3
2742 .weak HAL_UART_TxHalfCpltCallback
2743 .syntax unified
2744 .thumb
2745 .thumb_func
2746 .fpu fpv4-sp-d16
2748 HAL_UART_TxHalfCpltCallback:
2749 .LFB408:
2750 .cfi_startproc
2751 @ args = 0, pretend = 0, frame = 0
2752 @ frame_needed = 0, uses_anonymous_args = 0
2753 @ link register save eliminated.
2754 0000 7047 bx lr
2755 .cfi_endproc
2756 .LFE408:
2758 0002 00BF .section .text.UART_DMATxHalfCplt,"ax",%progbits
2759 .align 1
2760 .p2align 2,,3
2761 .syntax unified
2762 .thumb
2763 .thumb_func
2764 .fpu fpv4-sp-d16
2766 UART_DMATxHalfCplt:
2767 .LFB381:
3616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
2768 .loc 1 3616 0
2769 .cfi_startproc
2770 @ args = 0, pretend = 0, frame = 0
2771 @ frame_needed = 0, uses_anonymous_args = 0
2772 .LVL180:
3616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
2773 .loc 1 3616 0
2774 0000 08B5 push {r3, lr}
2775 .LCFI37:
2776 .cfi_def_cfa_offset 8
2777 .cfi_offset 3, -8
2778 .cfi_offset 14, -4
3624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2779 .loc 1 3624 0
2780 0002 806A ldr r0, [r0, #40]
2781 .LVL181:
2782 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
2783 .LVL182:
3626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2784 .loc 1 3626 0
2785 0008 08BD pop {r3, pc}
2786 .cfi_endproc
ARM GAS /tmp/ccgDLloS.s page 132
2787 .LFE381:
2789 000a 00BF .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
2790 .align 1
2791 .p2align 2,,3
2792 .weak HAL_UART_RxCpltCallback
2793 .syntax unified
2794 .thumb
2795 .thumb_func
2796 .fpu fpv4-sp-d16
2798 HAL_UART_RxCpltCallback:
2799 .LFB414:
2800 .cfi_startproc
2801 @ args = 0, pretend = 0, frame = 0
2802 @ frame_needed = 0, uses_anonymous_args = 0
2803 @ link register save eliminated.
2804 0000 7047 bx lr
2805 .cfi_endproc
2806 .LFE414:
2808 0002 00BF .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
2809 .align 1
2810 .p2align 2,,3
2811 .weak HAL_UART_RxHalfCpltCallback
2812 .syntax unified
2813 .thumb
2814 .thumb_func
2815 .fpu fpv4-sp-d16
2817 HAL_UART_RxHalfCpltCallback:
2818 .LFB412:
2819 .cfi_startproc
2820 @ args = 0, pretend = 0, frame = 0
2821 @ frame_needed = 0, uses_anonymous_args = 0
2822 @ link register save eliminated.
2823 0000 7047 bx lr
2824 .cfi_endproc
2825 .LFE412:
2827 0002 00BF .section .text.HAL_UART_ErrorCallback,"ax",%progbits
2828 .align 1
2829 .p2align 2,,3
2830 .weak HAL_UART_ErrorCallback
2831 .syntax unified
2832 .thumb
2833 .thumb_func
2834 .fpu fpv4-sp-d16
2836 HAL_UART_ErrorCallback:
2837 .LFB416:
2838 .cfi_startproc
2839 @ args = 0, pretend = 0, frame = 0
2840 @ frame_needed = 0, uses_anonymous_args = 0
2841 @ link register save eliminated.
2842 0000 7047 bx lr
2843 .cfi_endproc
2844 .LFE416:
2846 0002 00BF .section .text.UART_DMAError,"ax",%progbits
2847 .align 1
2848 .p2align 2,,3
2849 .syntax unified
2850 .thumb
ARM GAS /tmp/ccgDLloS.s page 133
2851 .thumb_func
2852 .fpu fpv4-sp-d16
2854 UART_DMAError:
2855 .LFB384:
3725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
2856 .loc 1 3725 0
2857 .cfi_startproc
2858 @ args = 0, pretend = 0, frame = 0
2859 @ frame_needed = 0, uses_anonymous_args = 0
2860 .LVL183:
3726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2861 .loc 1 3726 0
2862 0000 806A ldr r0, [r0, #40]
2863 .LVL184:
3732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2864 .loc 1 3732 0
2865 0002 0368 ldr r3, [r0]
3725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
2866 .loc 1 3725 0
2867 0004 10B5 push {r4, lr}
2868 .LCFI38:
2869 .cfi_def_cfa_offset 8
2870 .cfi_offset 4, -8
2871 .cfi_offset 14, -4
3728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
2872 .loc 1 3728 0
2873 0006 D0F88440 ldr r4, [r0, #132]
2874 .LVL185:
3729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2875 .loc 1 3729 0
2876 000a D0F88810 ldr r1, [r0, #136]
2877 .LVL186:
3732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2878 .loc 1 3732 0
2879 000e 9A68 ldr r2, [r3, #8]
2880 0010 1206 lsls r2, r2, #24
2881 0012 01D5 bpl .L387
3732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2882 .loc 1 3732 0 is_stmt 0 discriminator 1
2883 0014 212C cmp r4, #33
2884 0016 24D0 beq .L397
2885 .LVL187:
2886 .L387:
3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
2887 .loc 1 3740 0 is_stmt 1
2888 0018 9A68 ldr r2, [r3, #8]
2889 001a 5206 lsls r2, r2, #25
2890 001c 01D5 bpl .L388
3740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
2891 .loc 1 3740 0 is_stmt 0 discriminator 1
2892 001e 2229 cmp r1, #34
2893 0020 08D0 beq .L398
2894 .L388:
3747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2895 .loc 1 3747 0 is_stmt 1
2896 0022 D0F88C30 ldr r3, [r0, #140]
2897 0026 43F01003 orr r3, r3, #16
ARM GAS /tmp/ccgDLloS.s page 134
2898 002a C0F88C30 str r3, [r0, #140]
3754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2899 .loc 1 3754 0
2900 002e FFF7FEFF bl HAL_UART_ErrorCallback
2901 .LVL188:
3756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2902 .loc 1 3756 0
2903 0032 10BD pop {r4, pc}
2904 .LVL189:
2905 .L398:
3743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndRxTransfer(huart);
2906 .loc 1 3743 0
2907 0034 0022 movs r2, #0
2908 0036 A0F85E20 strh r2, [r0, #94] @ movhi
2909 .LVL190:
2910 .LBB98:
2911 .LBB99:
3558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
2912 .loc 1 3558 0
2913 003a 1A68 ldr r2, [r3]
2914 003c 22F49072 bic r2, r2, #288
2915 0040 1A60 str r2, [r3]
3559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2916 .loc 1 3559 0
2917 0042 9A68 ldr r2, [r3, #8]
2918 0044 22F08052 bic r2, r2, #268435456
2919 0048 22F00102 bic r2, r2, #1
2920 004c 9A60 str r2, [r3, #8]
3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
2921 .loc 1 3562 0
2922 004e C26E ldr r2, [r0, #108]
2923 0050 012A cmp r2, #1
2924 0052 15D0 beq .L399
2925 .L389:
3569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2926 .loc 1 3569 0
2927 0054 0023 movs r3, #0
3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2928 .loc 1 3568 0
2929 0056 2022 movs r2, #32
2930 0058 C0F88820 str r2, [r0, #136]
3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2931 .loc 1 3572 0
2932 005c 0367 str r3, [r0, #112]
3569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2933 .loc 1 3569 0
2934 005e C366 str r3, [r0, #108]
2935 0060 DFE7 b .L388
2936 .LVL191:
2937 .L397:
2938 .LBE99:
2939 .LBE98:
3735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_EndTxTransfer(huart);
2940 .loc 1 3735 0
2941 0062 0022 movs r2, #0
2942 0064 A0F85620 strh r2, [r0, #86] @ movhi
2943 .LVL192:
ARM GAS /tmp/ccgDLloS.s page 135
2944 .LBB101:
2945 .LBB102:
3542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_TXFTIE));
2946 .loc 1 3542 0
2947 0068 1A68 ldr r2, [r3]
2948 006a 22F0C002 bic r2, r2, #192
2949 006e 1A60 str r2, [r3]
3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2950 .loc 1 3543 0
2951 0070 9A68 ldr r2, [r3, #8]
3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2952 .loc 1 3546 0
2953 0072 2024 movs r4, #32
2954 .LVL193:
3543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
2955 .loc 1 3543 0
2956 0074 22F40002 bic r2, r2, #8388608
2957 0078 9A60 str r2, [r3, #8]
3546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2958 .loc 1 3546 0
2959 007a C0F88440 str r4, [r0, #132]
2960 007e CBE7 b .L387
2961 .LVL194:
2962 .L399:
2963 .LBE102:
2964 .LBE101:
2965 .LBB103:
2966 .LBB100:
3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
2967 .loc 1 3564 0
2968 0080 1A68 ldr r2, [r3]
2969 0082 22F01002 bic r2, r2, #16
2970 0086 1A60 str r2, [r3]
2971 0088 E4E7 b .L389
2972 .LBE100:
2973 .LBE103:
2974 .cfi_endproc
2975 .LFE384:
2977 008a 00BF .section .text.UART_DMAAbortOnError,"ax",%progbits
2978 .align 1
2979 .p2align 2,,3
2980 .syntax unified
2981 .thumb
2982 .thumb_func
2983 .fpu fpv4-sp-d16
2985 UART_DMAAbortOnError:
2986 .LFB385:
3765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
2987 .loc 1 3765 0
2988 .cfi_startproc
2989 @ args = 0, pretend = 0, frame = 0
2990 @ frame_needed = 0, uses_anonymous_args = 0
2991 .LVL195:
2992 0000 08B5 push {r3, lr}
2993 .LCFI39:
2994 .cfi_def_cfa_offset 8
2995 .cfi_offset 3, -8
ARM GAS /tmp/ccgDLloS.s page 136
2996 .cfi_offset 14, -4
3766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
2997 .loc 1 3766 0
2998 0002 836A ldr r3, [r0, #40]
2999 .LVL196:
3767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxXferCount = 0U;
3000 .loc 1 3767 0
3001 0004 0022 movs r2, #0
3002 0006 A3F85E20 strh r2, [r3, #94] @ movhi
3775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3003 .loc 1 3775 0
3004 000a 1846 mov r0, r3
3005 .LVL197:
3768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3006 .loc 1 3768 0
3007 000c A3F85620 strh r2, [r3, #86] @ movhi
3775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3008 .loc 1 3775 0
3009 0010 FFF7FEFF bl HAL_UART_ErrorCallback
3010 .LVL198:
3777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3011 .loc 1 3777 0
3012 0014 08BD pop {r3, pc}
3013 .cfi_endproc
3014 .LFE385:
3016 0016 00BF .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
3017 .align 1
3018 .p2align 2,,3
3019 .weak HAL_UART_AbortCpltCallback
3020 .syntax unified
3021 .thumb
3022 .thumb_func
3023 .fpu fpv4-sp-d16
3025 HAL_UART_AbortCpltCallback:
3026 .LFB418:
3027 .cfi_startproc
3028 @ args = 0, pretend = 0, frame = 0
3029 @ frame_needed = 0, uses_anonymous_args = 0
3030 @ link register save eliminated.
3031 0000 7047 bx lr
3032 .cfi_endproc
3033 .LFE418:
3035 0002 00BF .section .text.HAL_UART_Abort_IT,"ax",%progbits
3036 .align 1
3037 .p2align 2,,3
3038 .global HAL_UART_Abort_IT
3039 .syntax unified
3040 .thumb
3041 .thumb_func
3042 .fpu fpv4-sp-d16
3044 HAL_UART_Abort_IT:
3045 .LFB348:
1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t abortcplt = 1U;
3046 .loc 1 1895 0
3047 .cfi_startproc
3048 @ args = 0, pretend = 0, frame = 0
3049 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccgDLloS.s page 137
3050 .LVL199:
1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t abortcplt = 1U;
3051 .loc 1 1895 0
3052 0000 38B5 push {r3, r4, r5, lr}
3053 .LCFI40:
3054 .cfi_def_cfa_offset 16
3055 .cfi_offset 3, -16
3056 .cfi_offset 4, -12
3057 .cfi_offset 5, -8
3058 .cfi_offset 14, -4
1899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** USART_CR1_TXEIE_TXFNFIE));
3059 .loc 1 1899 0
3060 0002 0368 ldr r3, [r0]
3061 0004 1A68 ldr r2, [r3]
3062 0006 22F4F072 bic r2, r2, #480
3063 000a 1A60 str r2, [r3]
1901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3064 .loc 1 1901 0
3065 000c 9A68 ldr r2, [r3, #8]
3066 000e 22F08452 bic r2, r2, #276824064
3067 0012 22F00102 bic r2, r2, #1
3068 0016 9A60 str r2, [r3, #8]
1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3069 .loc 1 1904 0
3070 0018 C26E ldr r2, [r0, #108]
3071 001a 012A cmp r2, #1
1895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t abortcplt = 1U;
3072 .loc 1 1895 0
3073 001c 0446 mov r4, r0
1904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3074 .loc 1 1904 0
3075 001e 03D1 bne .L404
1906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3076 .loc 1 1906 0
3077 0020 1A68 ldr r2, [r3]
3078 0022 22F01002 bic r2, r2, #16
3079 0026 1A60 str r2, [r3]
3080 .L404:
1912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3081 .loc 1 1912 0
3082 0028 A06F ldr r0, [r4, #120]
3083 .LVL200:
3084 002a 28B1 cbz r0, .L405
1916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3085 .loc 1 1916 0
3086 002c 9A68 ldr r2, [r3, #8]
3087 002e 12F08002 ands r2, r2, #128
1918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3088 .loc 1 1918 0
3089 0032 18BF it ne
3090 0034 2C4A ldrne r2, .L438
1922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3091 .loc 1 1922 0
3092 0036 8263 str r2, [r0, #56]
3093 .L405:
1926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3094 .loc 1 1926 0
ARM GAS /tmp/ccgDLloS.s page 138
3095 0038 E16F ldr r1, [r4, #124]
3096 003a 29B1 cbz r1, .L407
1930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3097 .loc 1 1930 0
3098 003c 9A68 ldr r2, [r3, #8]
3099 003e 12F04002 ands r2, r2, #64
1932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3100 .loc 1 1932 0
3101 0042 18BF it ne
3102 0044 294A ldrne r2, .L438+4
1936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3103 .loc 1 1936 0
3104 0046 8A63 str r2, [r1, #56]
3105 .L407:
1941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3106 .loc 1 1941 0
3107 0048 9A68 ldr r2, [r3, #8]
3108 004a 1506 lsls r5, r2, #24
3109 004c 0CD5 bpl .L409
1944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3110 .loc 1 1944 0
3111 004e 9A68 ldr r2, [r3, #8]
3112 0050 22F08002 bic r2, r2, #128
3113 0054 9A60 str r2, [r3, #8]
1947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3114 .loc 1 1947 0
3115 0056 38B1 cbz r0, .L409
1953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3116 .loc 1 1953 0
3117 0058 FFF7FEFF bl HAL_DMA_Abort_IT
3118 .LVL201:
3119 005c 0028 cmp r0, #0
3120 005e 36D0 beq .L410
1955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3121 .loc 1 1955 0
3122 0060 A26F ldr r2, [r4, #120]
3123 0062 2368 ldr r3, [r4]
3124 0064 0021 movs r1, #0
3125 0066 9163 str r1, [r2, #56]
3126 .L409:
1965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3127 .loc 1 1965 0
3128 0068 9A68 ldr r2, [r3, #8]
3129 006a 5106 lsls r1, r2, #25
3130 006c 0CD5 bpl .L413
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3131 .loc 1 1967 0
3132 006e 9A68 ldr r2, [r3, #8]
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3133 .loc 1 1970 0
3134 0070 E06F ldr r0, [r4, #124]
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3135 .loc 1 1967 0
3136 0072 22F04002 bic r2, r2, #64
3137 0076 9A60 str r2, [r3, #8]
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3138 .loc 1 1970 0
ARM GAS /tmp/ccgDLloS.s page 139
3139 0078 30B1 cbz r0, .L413
3140 .LVL202:
3141 .L411:
1976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3142 .loc 1 1976 0
3143 007a FFF7FEFF bl HAL_DMA_Abort_IT
3144 .LVL203:
3145 007e 20B3 cbz r0, .L430
1978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** abortcplt = 1U;
3146 .loc 1 1978 0
3147 0080 E26F ldr r2, [r4, #124]
3148 0082 2368 ldr r3, [r4]
3149 0084 0021 movs r1, #0
3150 0086 9163 str r1, [r2, #56]
3151 .LVL204:
3152 .L413:
2006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3153 .loc 1 2006 0
3154 0088 616E ldr r1, [r4, #100]
1992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3155 .loc 1 1992 0
3156 008a 0022 movs r2, #0
2003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3157 .loc 1 2003 0
3158 008c 0F20 movs r0, #15
2006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3159 .loc 1 2006 0
3160 008e B1F1005F cmp r1, #536870912
1992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3161 .loc 1 1992 0
3162 0092 A4F85620 strh r2, [r4, #86] @ movhi
1996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
3163 .loc 1 1996 0
3164 0096 2267 str r2, [r4, #112]
1993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3165 .loc 1 1993 0
3166 0098 A4F85E20 strh r2, [r4, #94] @ movhi
1997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3167 .loc 1 1997 0
3168 009c 6267 str r2, [r4, #116]
2000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3169 .loc 1 2000 0
3170 009e C4F88C20 str r2, [r4, #140]
2003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3171 .loc 1 2003 0
3172 00a2 1862 str r0, [r3, #32]
2006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3173 .loc 1 2006 0
3174 00a4 03D1 bne .L415
2008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3175 .loc 1 2008 0
3176 00a6 9A69 ldr r2, [r3, #24]
3177 00a8 42F01002 orr r2, r2, #16
3178 00ac 9A61 str r2, [r3, #24]
3179 .L415:
2012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3180 .loc 1 2012 0
ARM GAS /tmp/ccgDLloS.s page 140
3181 00ae 9A69 ldr r2, [r3, #24]
2015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3182 .loc 1 2015 0
3183 00b0 2021 movs r1, #32
2012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3184 .loc 1 2012 0
3185 00b2 42F00802 orr r2, r2, #8
2017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3186 .loc 1 2017 0
3187 00b6 0025 movs r5, #0
2012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3188 .loc 1 2012 0
3189 00b8 9A61 str r2, [r3, #24]
2025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3190 .loc 1 2025 0
3191 00ba 2046 mov r0, r4
2015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3192 .loc 1 2015 0
3193 00bc C4F88410 str r1, [r4, #132]
2016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3194 .loc 1 2016 0
3195 00c0 C4F88810 str r1, [r4, #136]
2017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3196 .loc 1 2017 0
3197 00c4 E566 str r5, [r4, #108]
2025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3198 .loc 1 2025 0
3199 00c6 FFF7FEFF bl HAL_UART_AbortCpltCallback
3200 .LVL205:
3201 .L430:
2030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3202 .loc 1 2030 0
3203 00ca 0020 movs r0, #0
3204 00cc 38BD pop {r3, r4, r5, pc}
3205 .LVL206:
3206 .L410:
1965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3207 .loc 1 1965 0
3208 00ce 2368 ldr r3, [r4]
3209 00d0 9A68 ldr r2, [r3, #8]
3210 00d2 5206 lsls r2, r2, #25
3211 00d4 F9D5 bpl .L430
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3212 .loc 1 1967 0
3213 00d6 9A68 ldr r2, [r3, #8]
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3214 .loc 1 1970 0
3215 00d8 E06F ldr r0, [r4, #124]
1967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3216 .loc 1 1967 0
3217 00da 22F04002 bic r2, r2, #64
3218 00de 9A60 str r2, [r3, #8]
1970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3219 .loc 1 1970 0
3220 00e0 0028 cmp r0, #0
3221 00e2 CAD1 bne .L411
3222 00e4 F1E7 b .L430
ARM GAS /tmp/ccgDLloS.s page 141
3223 .L439:
3224 00e6 00BF .align 2
3225 .L438:
3226 00e8 00000000 .word UART_DMATxAbortCallback
3227 00ec 00000000 .word UART_DMARxAbortCallback
3228 .cfi_endproc
3229 .LFE348:
3231 .section .text.UART_DMARxAbortCallback,"ax",%progbits
3232 .align 1
3233 .p2align 2,,3
3234 .syntax unified
3235 .thumb
3236 .thumb_func
3237 .fpu fpv4-sp-d16
3239 UART_DMARxAbortCallback:
3240 .LFB387:
3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3241 .loc 1 3843 0
3242 .cfi_startproc
3243 @ args = 0, pretend = 0, frame = 0
3244 @ frame_needed = 0, uses_anonymous_args = 0
3245 .LVL207:
3844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3246 .loc 1 3844 0
3247 0000 836A ldr r3, [r0, #40]
3248 .LVL208:
3849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3249 .loc 1 3849 0
3250 0002 D3E91E21 ldrd r2, r1, [r3, #120]
3846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3251 .loc 1 3846 0
3252 0006 0020 movs r0, #0
3253 .LVL209:
3254 0008 8863 str r0, [r1, #56]
3849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3255 .loc 1 3849 0
3256 000a 12B1 cbz r2, .L441
3851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3257 .loc 1 3851 0
3258 000c 926B ldr r2, [r2, #56]
3259 000e 02B1 cbz r2, .L441
3260 0010 7047 bx lr
3261 .L441:
3865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3262 .loc 1 3865 0
3263 0012 1968 ldr r1, [r3]
3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3264 .loc 1 3858 0
3265 0014 0022 movs r2, #0
3865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3266 .loc 1 3865 0
3267 0016 0F20 movs r0, #15
3843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3268 .loc 1 3843 0
3269 0018 10B5 push {r4, lr}
3270 .LCFI41:
3271 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccgDLloS.s page 142
3272 .cfi_offset 4, -8
3273 .cfi_offset 14, -4
3858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3274 .loc 1 3858 0
3275 001a A3F85620 strh r2, [r3, #86] @ movhi
3859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3276 .loc 1 3859 0
3277 001e A3F85E20 strh r2, [r3, #94] @ movhi
3862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3278 .loc 1 3862 0
3279 0022 C3F88C20 str r2, [r3, #140]
3865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3280 .loc 1 3865 0
3281 0026 0862 str r0, [r1, #32]
3868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3282 .loc 1 3868 0
3283 0028 8869 ldr r0, [r1, #24]
3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3284 .loc 1 3871 0
3285 002a 2024 movs r4, #32
3868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3286 .loc 1 3868 0
3287 002c 40F00800 orr r0, r0, #8
3288 0030 8861 str r0, [r1, #24]
3871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3289 .loc 1 3871 0
3290 0032 C3F88440 str r4, [r3, #132]
3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3291 .loc 1 3881 0
3292 0036 1846 mov r0, r3
3872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3293 .loc 1 3872 0
3294 0038 C3F88840 str r4, [r3, #136]
3873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3295 .loc 1 3873 0
3296 003c DA66 str r2, [r3, #108]
3881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3297 .loc 1 3881 0
3298 003e FFF7FEFF bl HAL_UART_AbortCpltCallback
3299 .LVL210:
3883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3300 .loc 1 3883 0
3301 0042 10BD pop {r4, pc}
3302 .cfi_endproc
3303 .LFE387:
3305 .section .text.UART_DMATxAbortCallback,"ax",%progbits
3306 .align 1
3307 .p2align 2,,3
3308 .syntax unified
3309 .thumb
3310 .thumb_func
3311 .fpu fpv4-sp-d16
3313 UART_DMATxAbortCallback:
3314 .LFB386:
3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3315 .loc 1 3788 0
3316 .cfi_startproc
ARM GAS /tmp/ccgDLloS.s page 143
3317 @ args = 0, pretend = 0, frame = 0
3318 @ frame_needed = 0, uses_anonymous_args = 0
3319 .LVL211:
3789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3320 .loc 1 3789 0
3321 0000 836A ldr r3, [r0, #40]
3322 .LVL212:
3794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3323 .loc 1 3794 0
3324 0002 D3E91E12 ldrd r1, r2, [r3, #120]
3791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3325 .loc 1 3791 0
3326 0006 0020 movs r0, #0
3327 .LVL213:
3328 0008 8863 str r0, [r1, #56]
3794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3329 .loc 1 3794 0
3330 000a 12B1 cbz r2, .L450
3796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3331 .loc 1 3796 0
3332 000c 926B ldr r2, [r2, #56]
3333 000e 02B1 cbz r2, .L450
3334 0010 7047 bx lr
3335 .L450:
3813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3336 .loc 1 3813 0
3337 0012 586E ldr r0, [r3, #100]
3810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3338 .loc 1 3810 0
3339 0014 1968 ldr r1, [r3]
3788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3340 .loc 1 3788 0
3341 0016 10B5 push {r4, lr}
3342 .LCFI42:
3343 .cfi_def_cfa_offset 8
3344 .cfi_offset 4, -8
3345 .cfi_offset 14, -4
3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3346 .loc 1 3803 0
3347 0018 0022 movs r2, #0
3810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3348 .loc 1 3810 0
3349 001a 0F24 movs r4, #15
3813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3350 .loc 1 3813 0
3351 001c B0F1005F cmp r0, #536870912
3803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = 0U;
3352 .loc 1 3803 0
3353 0020 A3F85620 strh r2, [r3, #86] @ movhi
3804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3354 .loc 1 3804 0
3355 0024 A3F85E20 strh r2, [r3, #94] @ movhi
3807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3356 .loc 1 3807 0
3357 0028 C3F88C20 str r2, [r3, #140]
3810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3358 .loc 1 3810 0
ARM GAS /tmp/ccgDLloS.s page 144
3359 002c 0C62 str r4, [r1, #32]
3813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3360 .loc 1 3813 0
3361 002e 0AD0 beq .L459
3362 .L452:
3819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3363 .loc 1 3819 0
3364 0030 2022 movs r2, #32
3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3365 .loc 1 3821 0
3366 0032 0021 movs r1, #0
3819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3367 .loc 1 3819 0
3368 0034 C3F88420 str r2, [r3, #132]
3829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3369 .loc 1 3829 0
3370 0038 1846 mov r0, r3
3820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3371 .loc 1 3820 0
3372 003a C3F88820 str r2, [r3, #136]
3821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3373 .loc 1 3821 0
3374 003e D966 str r1, [r3, #108]
3829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3375 .loc 1 3829 0
3376 0040 FFF7FEFF bl HAL_UART_AbortCpltCallback
3377 .LVL214:
3831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3378 .loc 1 3831 0
3379 0044 10BD pop {r4, pc}
3380 .LVL215:
3381 .L459:
3815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3382 .loc 1 3815 0
3383 0046 8A69 ldr r2, [r1, #24]
3384 0048 42F01002 orr r2, r2, #16
3385 004c 8A61 str r2, [r1, #24]
3386 004e EFE7 b .L452
3387 .cfi_endproc
3388 .LFE386:
3390 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
3391 .align 1
3392 .p2align 2,,3
3393 .weak HAL_UART_AbortTransmitCpltCallback
3394 .syntax unified
3395 .thumb
3396 .thumb_func
3397 .fpu fpv4-sp-d16
3399 HAL_UART_AbortTransmitCpltCallback:
3400 .LFB420:
3401 .cfi_startproc
3402 @ args = 0, pretend = 0, frame = 0
3403 @ frame_needed = 0, uses_anonymous_args = 0
3404 @ link register save eliminated.
3405 0000 7047 bx lr
3406 .cfi_endproc
3407 .LFE420:
ARM GAS /tmp/ccgDLloS.s page 145
3409 0002 00BF .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
3410 .align 1
3411 .p2align 2,,3
3412 .global HAL_UART_AbortTransmit_IT
3413 .syntax unified
3414 .thumb
3415 .thumb_func
3416 .fpu fpv4-sp-d16
3418 HAL_UART_AbortTransmit_IT:
3419 .LFB349:
2047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */
3420 .loc 1 2047 0
3421 .cfi_startproc
3422 @ args = 0, pretend = 0, frame = 0
3423 @ frame_needed = 0, uses_anonymous_args = 0
3424 .LVL216:
2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
3425 .loc 1 2049 0
3426 0000 0368 ldr r3, [r0]
3427 0002 1A68 ldr r2, [r3]
3428 0004 22F0C002 bic r2, r2, #192
2047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */
3429 .loc 1 2047 0
3430 0008 10B5 push {r4, lr}
3431 .LCFI43:
3432 .cfi_def_cfa_offset 8
3433 .cfi_offset 4, -8
3434 .cfi_offset 14, -4
2049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_TXFTIE);
3435 .loc 1 2049 0
3436 000a 1A60 str r2, [r3]
2050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3437 .loc 1 2050 0
3438 000c 9A68 ldr r2, [r3, #8]
3439 000e 22F40002 bic r2, r2, #8388608
3440 0012 9A60 str r2, [r3, #8]
2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3441 .loc 1 2053 0
3442 0014 9A68 ldr r2, [r3, #8]
3443 0016 12F08002 ands r2, r2, #128
2047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable interrupts */
3444 .loc 1 2047 0
3445 001a 0446 mov r4, r0
2053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3446 .loc 1 2053 0
3447 001c 10D0 beq .L462
2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3448 .loc 1 2055 0
3449 001e 9A68 ldr r2, [r3, #8]
2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3450 .loc 1 2058 0
3451 0020 816F ldr r1, [r0, #120]
2055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3452 .loc 1 2055 0
3453 0022 22F08002 bic r2, r2, #128
3454 0026 9A60 str r2, [r3, #8]
2058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 146
3455 .loc 1 2058 0
3456 0028 F1B1 cbz r1, .L463
2062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3457 .loc 1 2062 0
3458 002a 144B ldr r3, .L471
3459 002c 8B63 str r3, [r1, #56]
2065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3460 .loc 1 2065 0
3461 002e 0846 mov r0, r1
3462 .LVL217:
3463 0030 FFF7FEFF bl HAL_DMA_Abort_IT
3464 .LVL218:
3465 0034 88B1 cbz r0, .L464
2068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3466 .loc 1 2068 0
3467 0036 A06F ldr r0, [r4, #120]
3468 0038 836B ldr r3, [r0, #56]
3469 003a 9847 blx r3
3470 .LVL219:
2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3471 .loc 1 2120 0
3472 003c 0020 movs r0, #0
3473 003e 10BD pop {r4, pc}
3474 .LVL220:
3475 .L462:
2101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3476 .loc 1 2101 0
3477 0040 416E ldr r1, [r0, #100]
2095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3478 .loc 1 2095 0
3479 0042 A0F85620 strh r2, [r0, #86] @ movhi
2101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3480 .loc 1 2101 0
3481 0046 B1F1005F cmp r1, #536870912
2098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3482 .loc 1 2098 0
3483 004a 4267 str r2, [r0, #116]
2101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3484 .loc 1 2101 0
3485 004c 07D0 beq .L470
3486 .L465:
2107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3487 .loc 1 2107 0
3488 004e 2023 movs r3, #32
3489 0050 C4F88430 str r3, [r4, #132]
2115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3490 .loc 1 2115 0
3491 0054 2046 mov r0, r4
3492 .LVL221:
3493 0056 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
3494 .LVL222:
3495 .L464:
2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3496 .loc 1 2120 0
3497 005a 0020 movs r0, #0
3498 005c 10BD pop {r4, pc}
3499 .LVL223:
ARM GAS /tmp/ccgDLloS.s page 147
3500 .L470:
2103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3501 .loc 1 2103 0
3502 005e 9A69 ldr r2, [r3, #24]
3503 0060 42F01002 orr r2, r2, #16
3504 0064 9A61 str r2, [r3, #24]
3505 0066 F2E7 b .L465
3506 .L463:
2080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3507 .loc 1 2080 0
3508 0068 2023 movs r3, #32
2074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3509 .loc 1 2074 0
3510 006a A0F85610 strh r1, [r0, #86] @ movhi
2077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3511 .loc 1 2077 0
3512 006e 4167 str r1, [r0, #116]
2080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3513 .loc 1 2080 0
3514 0070 C0F88430 str r3, [r0, #132]
2088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3515 .loc 1 2088 0
3516 0074 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
3517 .LVL224:
2120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3518 .loc 1 2120 0
3519 0078 0020 movs r0, #0
3520 007a 10BD pop {r4, pc}
3521 .LVL225:
3522 .L472:
3523 .align 2
3524 .L471:
3525 007c 00000000 .word UART_DMATxOnlyAbortCallback
3526 .cfi_endproc
3527 .LFE349:
3529 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
3530 .align 1
3531 .p2align 2,,3
3532 .syntax unified
3533 .thumb
3534 .thumb_func
3535 .fpu fpv4-sp-d16
3537 UART_DMATxOnlyAbortCallback:
3538 .LFB388:
3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3539 .loc 1 3895 0
3540 .cfi_startproc
3541 @ args = 0, pretend = 0, frame = 0
3542 @ frame_needed = 0, uses_anonymous_args = 0
3543 .LVL226:
3896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3544 .loc 1 3896 0
3545 0000 806A ldr r0, [r0, #40]
3546 .LVL227:
3895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3547 .loc 1 3895 0
3548 0002 08B5 push {r3, lr}
ARM GAS /tmp/ccgDLloS.s page 148
3549 .LCFI44:
3550 .cfi_def_cfa_offset 8
3551 .cfi_offset 3, -8
3552 .cfi_offset 14, -4
3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3553 .loc 1 3901 0
3554 0004 436E ldr r3, [r0, #100]
3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3555 .loc 1 3898 0
3556 0006 0022 movs r2, #0
3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3557 .loc 1 3901 0
3558 0008 B3F1005F cmp r3, #536870912
3898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3559 .loc 1 3898 0
3560 000c A0F85620 strh r2, [r0, #86] @ movhi
3901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3561 .loc 1 3901 0
3562 0010 04D1 bne .L474
3903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3563 .loc 1 3903 0
3564 0012 0268 ldr r2, [r0]
3565 0014 9369 ldr r3, [r2, #24]
3566 0016 43F01003 orr r3, r3, #16
3567 001a 9361 str r3, [r2, #24]
3568 .L474:
3907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3569 .loc 1 3907 0
3570 001c 2023 movs r3, #32
3571 001e C0F88430 str r3, [r0, #132]
3915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3572 .loc 1 3915 0
3573 0022 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
3574 .LVL228:
3917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3575 .loc 1 3917 0
3576 0026 08BD pop {r3, pc}
3577 .cfi_endproc
3578 .LFE388:
3580 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
3581 .align 1
3582 .p2align 2,,3
3583 .weak HAL_UART_AbortReceiveCpltCallback
3584 .syntax unified
3585 .thumb
3586 .thumb_func
3587 .fpu fpv4-sp-d16
3589 HAL_UART_AbortReceiveCpltCallback:
3590 .LFB422:
3591 .cfi_startproc
3592 @ args = 0, pretend = 0, frame = 0
3593 @ frame_needed = 0, uses_anonymous_args = 0
3594 @ link register save eliminated.
3595 0000 7047 bx lr
3596 .cfi_endproc
3597 .LFE422:
3599 0002 00BF .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
ARM GAS /tmp/ccgDLloS.s page 149
3600 .align 1
3601 .p2align 2,,3
3602 .global HAL_UART_AbortReceive_IT
3603 .syntax unified
3604 .thumb
3605 .thumb_func
3606 .fpu fpv4-sp-d16
3608 HAL_UART_AbortReceive_IT:
3609 .LFB350:
2137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3610 .loc 1 2137 0
3611 .cfi_startproc
3612 @ args = 0, pretend = 0, frame = 0
3613 @ frame_needed = 0, uses_anonymous_args = 0
3614 .LVL229:
2137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3615 .loc 1 2137 0
3616 0000 38B5 push {r3, r4, r5, lr}
3617 .LCFI45:
3618 .cfi_def_cfa_offset 16
3619 .cfi_offset 3, -16
3620 .cfi_offset 4, -12
3621 .cfi_offset 5, -8
3622 .cfi_offset 14, -4
2139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
3623 .loc 1 2139 0
3624 0002 0368 ldr r3, [r0]
3625 0004 1A68 ldr r2, [r3]
3626 0006 22F49072 bic r2, r2, #288
3627 000a 1A60 str r2, [r3]
2140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3628 .loc 1 2140 0
3629 000c 9A68 ldr r2, [r3, #8]
3630 000e 22F08052 bic r2, r2, #268435456
3631 0012 22F00102 bic r2, r2, #1
3632 0016 9A60 str r2, [r3, #8]
2143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3633 .loc 1 2143 0
3634 0018 C26E ldr r2, [r0, #108]
3635 001a 012A cmp r2, #1
2137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3636 .loc 1 2137 0
3637 001c 0446 mov r4, r0
2143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3638 .loc 1 2143 0
3639 001e 03D1 bne .L478
2145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3640 .loc 1 2145 0
3641 0020 1A68 ldr r2, [r3]
3642 0022 22F01002 bic r2, r2, #16
3643 0026 1A60 str r2, [r3]
3644 .L478:
2149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3645 .loc 1 2149 0
3646 0028 9A68 ldr r2, [r3, #8]
3647 002a 12F04002 ands r2, r2, #64
3648 002e 10D0 beq .L479
ARM GAS /tmp/ccgDLloS.s page 150
2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3649 .loc 1 2151 0
3650 0030 9968 ldr r1, [r3, #8]
2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3651 .loc 1 2154 0
3652 0032 E26F ldr r2, [r4, #124]
2151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3653 .loc 1 2151 0
3654 0034 21F04001 bic r1, r1, #64
3655 0038 9960 str r1, [r3, #8]
2154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3656 .loc 1 2154 0
3657 003a C2B1 cbz r2, .L480
2158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3658 .loc 1 2158 0
3659 003c 154B ldr r3, .L486
3660 003e 9363 str r3, [r2, #56]
2161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3661 .loc 1 2161 0
3662 0040 1046 mov r0, r2
3663 .LVL230:
3664 0042 FFF7FEFF bl HAL_DMA_Abort_IT
3665 .LVL231:
3666 0046 10B1 cbz r0, .L481
2164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3667 .loc 1 2164 0
3668 0048 E06F ldr r0, [r4, #124]
3669 004a 836B ldr r3, [r0, #56]
3670 004c 9847 blx r3
3671 .LVL232:
3672 .L481:
2221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3673 .loc 1 2221 0
3674 004e 0020 movs r0, #0
3675 0050 38BD pop {r3, r4, r5, pc}
3676 .LVL233:
3677 .L479:
2207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3678 .loc 1 2207 0
3679 0052 2021 movs r1, #32
2204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3680 .loc 1 2204 0
3681 0054 0F20 movs r0, #15
3682 .LVL234:
2198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3683 .loc 1 2198 0
3684 0056 A4F85E20 strh r2, [r4, #94] @ movhi
2201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3685 .loc 1 2201 0
3686 005a A265 str r2, [r4, #88]
2204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3687 .loc 1 2204 0
3688 005c 1862 str r0, [r3, #32]
2216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3689 .loc 1 2216 0
3690 005e 2046 mov r0, r4
2207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
ARM GAS /tmp/ccgDLloS.s page 151
3691 .loc 1 2207 0
3692 0060 C4F88810 str r1, [r4, #136]
2208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3693 .loc 1 2208 0
3694 0064 E266 str r2, [r4, #108]
2216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3695 .loc 1 2216 0
3696 0066 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
3697 .LVL235:
2221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3698 .loc 1 2221 0
3699 006a 0020 movs r0, #0
3700 006c 38BD pop {r3, r4, r5, pc}
3701 .LVL236:
3702 .L480:
2176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3703 .loc 1 2176 0
3704 006e 0F21 movs r1, #15
2170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3705 .loc 1 2170 0
3706 0070 A4F85E20 strh r2, [r4, #94] @ movhi
2173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3707 .loc 1 2173 0
3708 0074 A265 str r2, [r4, #88]
2176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3709 .loc 1 2176 0
3710 0076 1962 str r1, [r3, #32]
2179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3711 .loc 1 2179 0
3712 0078 9969 ldr r1, [r3, #24]
2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3713 .loc 1 2182 0
3714 007a 2025 movs r5, #32
2179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3715 .loc 1 2179 0
3716 007c 41F00801 orr r1, r1, #8
3717 0080 9961 str r1, [r3, #24]
2191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3718 .loc 1 2191 0
3719 0082 2046 mov r0, r4
3720 .LVL237:
2182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3721 .loc 1 2182 0
3722 0084 C4F88850 str r5, [r4, #136]
2183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3723 .loc 1 2183 0
3724 0088 E266 str r2, [r4, #108]
2191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3725 .loc 1 2191 0
3726 008a FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
3727 .LVL238:
2221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3728 .loc 1 2221 0
3729 008e 0020 movs r0, #0
3730 0090 38BD pop {r3, r4, r5, pc}
3731 .LVL239:
3732 .L487:
ARM GAS /tmp/ccgDLloS.s page 152
3733 0092 00BF .align 2
3734 .L486:
3735 0094 00000000 .word UART_DMARxOnlyAbortCallback
3736 .cfi_endproc
3737 .LFE350:
3739 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
3740 .align 1
3741 .p2align 2,,3
3742 .syntax unified
3743 .thumb
3744 .thumb_func
3745 .fpu fpv4-sp-d16
3747 UART_DMARxOnlyAbortCallback:
3748 .LFB389:
3928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3749 .loc 1 3928 0
3750 .cfi_startproc
3751 @ args = 0, pretend = 0, frame = 0
3752 @ frame_needed = 0, uses_anonymous_args = 0
3753 .LVL240:
3754 0000 38B5 push {r3, r4, r5, lr}
3755 .LCFI46:
3756 .cfi_def_cfa_offset 16
3757 .cfi_offset 3, -16
3758 .cfi_offset 4, -12
3759 .cfi_offset 5, -8
3760 .cfi_offset 14, -4
3929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3761 .loc 1 3929 0
3762 0002 836A ldr r3, [r0, #40]
3763 .LVL241:
3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3764 .loc 1 3934 0
3765 0004 1A68 ldr r2, [r3]
3931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3766 .loc 1 3931 0
3767 0006 0024 movs r4, #0
3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3768 .loc 1 3934 0
3769 0008 0F21 movs r1, #15
3931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3770 .loc 1 3931 0
3771 000a A3F85E40 strh r4, [r3, #94] @ movhi
3934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3772 .loc 1 3934 0
3773 000e 1162 str r1, [r2, #32]
3937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3774 .loc 1 3937 0
3775 0010 9169 ldr r1, [r2, #24]
3940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3776 .loc 1 3940 0
3777 0012 2025 movs r5, #32
3937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3778 .loc 1 3937 0
3779 0014 41F00801 orr r1, r1, #8
3780 0018 9161 str r1, [r2, #24]
3949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/ccgDLloS.s page 153
3781 .loc 1 3949 0
3782 001a 1846 mov r0, r3
3783 .LVL242:
3940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3784 .loc 1 3940 0
3785 001c C3F88850 str r5, [r3, #136]
3941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3786 .loc 1 3941 0
3787 0020 DC66 str r4, [r3, #108]
3949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3788 .loc 1 3949 0
3789 0022 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
3790 .LVL243:
3951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3791 .loc 1 3951 0
3792 0026 38BD pop {r3, r4, r5, pc}
3793 .cfi_endproc
3794 .LFE389:
3796 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits
3797 .align 1
3798 .p2align 2,,3
3799 .weak HAL_UARTEx_RxEventCallback
3800 .syntax unified
3801 .thumb
3802 .thumb_func
3803 .fpu fpv4-sp-d16
3805 HAL_UARTEx_RxEventCallback:
3806 .LFB360:
2670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3807 .loc 1 2670 0
3808 .cfi_startproc
3809 @ args = 0, pretend = 0, frame = 0
3810 @ frame_needed = 0, uses_anonymous_args = 0
3811 @ link register save eliminated.
3812 .LVL244:
2678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3813 .loc 1 2678 0
3814 0000 7047 bx lr
3815 .cfi_endproc
3816 .LFE360:
3818 0002 00BF .section .text.HAL_UART_IRQHandler,"ax",%progbits
3819 .align 1
3820 .p2align 2,,3
3821 .global HAL_UART_IRQHandler
3822 .syntax unified
3823 .thumb
3824 .thumb_func
3825 .fpu fpv4-sp-d16
3827 HAL_UART_IRQHandler:
3828 .LFB351:
2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
3829 .loc 1 2229 0
3830 .cfi_startproc
3831 @ args = 0, pretend = 0, frame = 0
3832 @ frame_needed = 0, uses_anonymous_args = 0
3833 .LVL245:
2230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
ARM GAS /tmp/ccgDLloS.s page 154
3834 .loc 1 2230 0
3835 0000 0368 ldr r3, [r0]
3836 0002 DA69 ldr r2, [r3, #28]
3837 .LVL246:
2231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
3838 .loc 1 2231 0
3839 0004 1968 ldr r1, [r3]
3840 .LVL247:
2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
3841 .loc 1 2229 0
3842 0006 2DE9F041 push {r4, r5, r6, r7, r8, lr}
3843 .LCFI47:
3844 .cfi_def_cfa_offset 24
3845 .cfi_offset 4, -24
3846 .cfi_offset 5, -20
3847 .cfi_offset 6, -16
3848 .cfi_offset 7, -12
3849 .cfi_offset 8, -8
3850 .cfi_offset 14, -4
2238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (errorflags == 0U)
3851 .loc 1 2238 0
3852 000a 40F60F05 movw r5, #2063
2239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3853 .loc 1 2239 0
3854 000e 2A42 tst r2, r5
2229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
3855 .loc 1 2229 0
3856 0010 0446 mov r4, r0
2232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3857 .loc 1 2232 0
3858 0012 9868 ldr r0, [r3, #8]
3859 .LVL248:
2239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3860 .loc 1 2239 0
3861 0014 7BD0 beq .L625
2256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))))
3862 .loc 1 2256 0
3863 0016 AB4D ldr r5, .L635
3864 0018 0540 ands r5, r0, r5
3865 001a 00F09780 beq .L626
2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3866 .loc 1 2260 0
3867 001e D707 lsls r7, r2, #31
3868 0020 09D5 bpl .L498
3869 .L631:
2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3870 .loc 1 2260 0 is_stmt 0 discriminator 1
3871 0022 CE05 lsls r6, r1, #23
3872 0024 07D5 bpl .L498
2262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3873 .loc 1 2262 0 is_stmt 1
3874 0026 0126 movs r6, #1
3875 0028 1E62 str r6, [r3, #32]
2264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3876 .loc 1 2264 0
3877 002a D4F88C60 ldr r6, [r4, #140]
3878 002e 46F00106 orr r6, r6, #1
ARM GAS /tmp/ccgDLloS.s page 155
3879 0032 C4F88C60 str r6, [r4, #140]
3880 .L498:
2268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3881 .loc 1 2268 0
3882 0036 9707 lsls r7, r2, #30
3883 0038 02F00406 and r6, r2, #4
3884 003c 40F1D380 bpl .L499
2268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3885 .loc 1 2268 0 is_stmt 0 discriminator 1
3886 0040 C707 lsls r7, r0, #31
3887 0042 0AD5 bpl .L501
2270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3888 .loc 1 2270 0 is_stmt 1
3889 0044 0227 movs r7, #2
3890 0046 1F62 str r7, [r3, #32]
2272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3891 .loc 1 2272 0
3892 0048 D4F88C70 ldr r7, [r4, #140]
3893 004c 47F00407 orr r7, r7, #4
3894 0050 C4F88C70 str r7, [r4, #140]
2276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3895 .loc 1 2276 0
3896 0054 002E cmp r6, #0
3897 0056 40F0CC80 bne .L502
3898 .L501:
2284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U) ||
3899 .loc 1 2284 0
3900 005a 1707 lsls r7, r2, #28
3901 005c 05D5 bpl .L503
2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U)))
3902 .loc 1 2285 0
3903 005e 8E06 lsls r6, r1, #26
3904 0060 00F1DF80 bmi .L504
2285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((cr3its & (USART_CR3_RXFTIE | USART_CR3_EIE)) != 0U)))
3905 .loc 1 2285 0 is_stmt 0 discriminator 1
3906 0064 002D cmp r5, #0
3907 0066 40F0DC80 bne .L504
3908 .L503:
2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3909 .loc 1 2294 0 is_stmt 1
3910 006a 1505 lsls r5, r2, #20
3911 006c 0AD5 bpl .L505
2294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3912 .loc 1 2294 0 is_stmt 0 discriminator 1
3913 006e 4F01 lsls r7, r1, #5
3914 0070 08D5 bpl .L505
2296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3915 .loc 1 2296 0 is_stmt 1
3916 0072 4FF40065 mov r5, #2048
3917 0076 1D62 str r5, [r3, #32]
2298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3918 .loc 1 2298 0
3919 0078 D4F88C50 ldr r5, [r4, #140]
3920 007c 45F02005 orr r5, r5, #32
3921 0080 C4F88C50 str r5, [r4, #140]
3922 .L505:
2302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 156
3923 .loc 1 2302 0
3924 0084 D4F88C50 ldr r5, [r4, #140]
3925 0088 002D cmp r5, #0
3926 008a 70D0 beq .L491
2305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U)
3927 .loc 1 2305 0
3928 008c 9606 lsls r6, r2, #26
3929 008e 07D5 bpl .L507
2306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U)))
3930 .loc 1 2306 0
3931 0090 8D06 lsls r5, r1, #26
3932 0092 40F1D380 bpl .L627
3933 .LVL249:
3934 .L508:
2309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3935 .loc 1 2309 0
3936 0096 226F ldr r2, [r4, #112]
3937 .LVL250:
3938 0098 12B1 cbz r2, .L507
2311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3939 .loc 1 2311 0
3940 009a 2046 mov r0, r4
3941 009c 9047 blx r2
3942 .LVL251:
3943 009e 2368 ldr r3, [r4]
3944 .L507:
2320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
3945 .loc 1 2320 0
3946 00a0 D4F88C50 ldr r5, [r4, #140]
3947 .LVL252:
2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
3948 .loc 1 2321 0
3949 00a4 9968 ldr r1, [r3, #8]
3950 00a6 4906 lsls r1, r1, #25
3951 00a8 03D4 bmi .L509
2321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
3952 .loc 1 2321 0 is_stmt 0 discriminator 1
3953 00aa 15F02805 ands r5, r5, #40
3954 .LVL253:
3955 00ae 00F0D680 beq .L510
3956 .L509:
3957 .LVL254:
3958 .LBB104:
3959 .LBB105:
3558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
3960 .loc 1 3558 0 is_stmt 1
3961 00b2 1A68 ldr r2, [r3]
3962 00b4 22F49072 bic r2, r2, #288
3963 00b8 1A60 str r2, [r3]
3559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3964 .loc 1 3559 0
3965 00ba 9A68 ldr r2, [r3, #8]
3966 00bc 22F08052 bic r2, r2, #268435456
3967 00c0 22F00102 bic r2, r2, #1
3968 00c4 9A60 str r2, [r3, #8]
3562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3969 .loc 1 3562 0
ARM GAS /tmp/ccgDLloS.s page 157
3970 00c6 E26E ldr r2, [r4, #108]
3971 00c8 012A cmp r2, #1
3972 00ca 03D1 bne .L511
3564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3973 .loc 1 3564 0
3974 00cc 1A68 ldr r2, [r3]
3975 00ce 22F01002 bic r2, r2, #16
3976 00d2 1A60 str r2, [r3]
3977 .L511:
3569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3978 .loc 1 3569 0
3979 00d4 0022 movs r2, #0
3568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3980 .loc 1 3568 0
3981 00d6 2021 movs r1, #32
3982 00d8 C4F88810 str r1, [r4, #136]
3569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3983 .loc 1 3569 0
3984 00dc E266 str r2, [r4, #108]
3985 .LBE105:
3986 .LBE104:
2330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3987 .loc 1 2330 0
3988 00de 9968 ldr r1, [r3, #8]
3989 .LBB107:
3990 .LBB106:
3572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
3991 .loc 1 3572 0
3992 00e0 2267 str r2, [r4, #112]
3993 .LVL255:
3994 .LBE106:
3995 .LBE107:
2330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
3996 .loc 1 2330 0
3997 00e2 4A06 lsls r2, r1, #25
3998 00e4 40F1A680 bpl .L512
2332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
3999 .loc 1 2332 0
4000 00e8 9A68 ldr r2, [r3, #8]
2335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4001 .loc 1 2335 0
4002 00ea E06F ldr r0, [r4, #124]
2332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4003 .loc 1 2332 0
4004 00ec 22F04002 bic r2, r2, #64
4005 00f0 9A60 str r2, [r3, #8]
2335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4006 .loc 1 2335 0
4007 00f2 0028 cmp r0, #0
4008 00f4 00F09E80 beq .L512
2339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4009 .loc 1 2339 0
4010 00f8 734B ldr r3, .L635+4
4011 00fa 8363 str r3, [r0, #56]
2342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4012 .loc 1 2342 0
4013 00fc FFF7FEFF bl HAL_DMA_Abort_IT
ARM GAS /tmp/ccgDLloS.s page 158
4014 .LVL256:
4015 0100 0028 cmp r0, #0
4016 0102 34D0 beq .L491
2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4017 .loc 1 2345 0
4018 0104 E06F ldr r0, [r4, #124]
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4019 .loc 1 2540 0
4020 0106 BDE8F041 pop {r4, r5, r6, r7, r8, lr}
4021 .LCFI48:
4022 .cfi_remember_state
4023 .cfi_restore 14
4024 .cfi_restore 8
4025 .cfi_restore 7
4026 .cfi_restore 6
4027 .cfi_restore 5
4028 .cfi_restore 4
4029 .cfi_def_cfa_offset 0
4030 .LVL257:
2345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4031 .loc 1 2345 0
4032 010a 836B ldr r3, [r0, #56]
4033 010c 1847 bx r3 @ indirect register sibling call
4034 .LVL258:
4035 .L625:
4036 .LCFI49:
4037 .cfi_restore_state
2242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE_RXFNEIE) != 0U)
4038 .loc 1 2242 0
4039 010e 9706 lsls r7, r2, #26
4040 0110 09D5 bpl .L493
2243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_RXFTIE) != 0U)))
4041 .loc 1 2243 0
4042 0112 8E06 lsls r6, r1, #26
4043 0114 05D5 bpl .L628
4044 .L494:
2246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4045 .loc 1 2246 0
4046 0116 236F ldr r3, [r4, #112]
4047 0118 4BB3 cbz r3, .L491
2503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4048 .loc 1 2503 0
4049 011a 2046 mov r0, r4
4050 .LVL259:
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4051 .loc 1 2540 0
4052 011c BDE8F041 pop {r4, r5, r6, r7, r8, lr}
4053 .LCFI50:
4054 .cfi_remember_state
4055 .cfi_restore 14
4056 .cfi_restore 8
4057 .cfi_restore 7
4058 .cfi_restore 6
4059 .cfi_restore 5
4060 .cfi_restore 4
4061 .cfi_def_cfa_offset 0
4062 .LVL260:
ARM GAS /tmp/ccgDLloS.s page 159
2503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4063 .loc 1 2503 0
4064 0120 1847 bx r3 @ indirect register sibling call
4065 .LVL261:
4066 .L628:
4067 .LCFI51:
4068 .cfi_restore_state
2244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4069 .loc 1 2244 0
4070 0122 C500 lsls r5, r0, #3
4071 0124 F7D4 bmi .L494
4072 .L493:
2393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
4073 .loc 1 2393 0
4074 0126 E56E ldr r5, [r4, #108]
4075 0128 012D cmp r5, #1
4076 012a 22D0 beq .L629
4077 .L513:
2479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4078 .loc 1 2479 0
4079 012c D502 lsls r5, r2, #11
4080 012e 01D5 bpl .L516
2479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4081 .loc 1 2479 0 is_stmt 0 discriminator 1
4082 0130 4702 lsls r7, r0, #9
4083 0132 6ED4 bmi .L630
4084 .L516:
2497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (((cr1its & USART_CR1_TXEIE_TXFNFIE) != 0U)
4085 .loc 1 2497 0 is_stmt 1
4086 0134 1606 lsls r6, r2, #24
4087 0136 10D5 bpl .L517
2498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** || ((cr3its & USART_CR3_TXFTIE) != 0U)))
4088 .loc 1 2498 0
4089 0138 0D06 lsls r5, r1, #24
4090 013a 01D4 bmi .L518
2499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4091 .loc 1 2499 0
4092 013c 0002 lsls r0, r0, #8
4093 .LVL262:
4094 013e 0CD5 bpl .L517
4095 .L518:
2501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4096 .loc 1 2501 0
4097 0140 636F ldr r3, [r4, #116]
4098 0142 A3B1 cbz r3, .L491
2503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4099 .loc 1 2503 0
4100 0144 2046 mov r0, r4
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4101 .loc 1 2540 0
4102 0146 BDE8F041 pop {r4, r5, r6, r7, r8, lr}
4103 .LCFI52:
4104 .cfi_remember_state
4105 .cfi_restore 14
4106 .cfi_restore 8
4107 .cfi_restore 7
4108 .cfi_restore 6
ARM GAS /tmp/ccgDLloS.s page 160
4109 .cfi_restore 5
4110 .cfi_restore 4
4111 .cfi_def_cfa_offset 0
4112 .LVL263:
2503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4113 .loc 1 2503 0
4114 014a 1847 bx r3 @ indirect register sibling call
4115 .LVL264:
4116 .L626:
4117 .LCFI53:
4118 .cfi_restore_state
2257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4119 .loc 1 2257 0
4120 014c 5F4E ldr r6, .L635+8
4121 014e 3142 tst r1, r6
4122 0150 E9D0 beq .L493
2260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4123 .loc 1 2260 0
4124 0152 D707 lsls r7, r2, #31
4125 0154 7FF56FAF bpl .L498
4126 0158 63E7 b .L631
4127 .LVL265:
4128 .L517:
2509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4129 .loc 1 2509 0
4130 015a 5706 lsls r7, r2, #25
4131 015c 01D5 bpl .L519
2509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4132 .loc 1 2509 0 is_stmt 0 discriminator 1
4133 015e 4E06 lsls r6, r1, #25
4134 0160 70D4 bmi .L632
4135 .L519:
2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4136 .loc 1 2516 0 is_stmt 1
4137 0162 1502 lsls r5, r2, #8
4138 0164 4ED4 bmi .L633
4139 .L520:
2529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4140 .loc 1 2529 0
4141 0166 D301 lsls r3, r2, #7
4142 0168 01D5 bpl .L491
2529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4143 .loc 1 2529 0 is_stmt 0 discriminator 1
4144 016a 0029 cmp r1, #0
4145 016c 7DDB blt .L634
4146 .LVL266:
4147 .L491:
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4148 .loc 1 2540 0 is_stmt 1
4149 016e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
4150 .LVL267:
4151 .L629:
2394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U))
4152 .loc 1 2394 0
4153 0172 D706 lsls r7, r2, #27
4154 0174 DAD5 bpl .L513
2395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 161
4155 .loc 1 2395 0
4156 0176 CE06 lsls r6, r1, #27
4157 0178 D8D5 bpl .L513
2397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4158 .loc 1 2397 0
4159 017a 1022 movs r2, #16
4160 .LVL268:
4161 017c 1A62 str r2, [r3, #32]
2400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4162 .loc 1 2400 0
4163 017e 9A68 ldr r2, [r3, #8]
4164 0180 12F04002 ands r2, r2, #64
4165 0184 76D0 beq .L514
4166 .LBB108:
2406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
4167 .loc 1 2406 0
4168 0186 E06F ldr r0, [r4, #124]
4169 .LVL269:
4170 0188 0168 ldr r1, [r0]
4171 .LVL270:
4172 018a 4A68 ldr r2, [r1, #4]
4173 018c 92B2 uxth r2, r2
4174 .LVL271:
2407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
4175 .loc 1 2407 0
4176 018e 002A cmp r2, #0
4177 0190 EDD0 beq .L491
2408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4178 .loc 1 2408 0
4179 0192 B4F85C50 ldrh r5, [r4, #92]
4180 0196 9542 cmp r5, r2
4181 0198 E9D9 bls .L491
2411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4182 .loc 1 2411 0
4183 019a A4F85E20 strh r2, [r4, #94] @ movhi
2414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4184 .loc 1 2414 0
4185 019e 0A68 ldr r2, [r1]
4186 .LVL272:
4187 01a0 12F02002 ands r2, r2, #32
4188 01a4 17D1 bne .L515
2417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4189 .loc 1 2417 0
4190 01a6 1968 ldr r1, [r3]
4191 01a8 21F48071 bic r1, r1, #256
4192 01ac 1960 str r1, [r3]
4193 .LVL273:
2418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4194 .loc 1 2418 0
4195 01ae 9968 ldr r1, [r3, #8]
4196 01b0 21F00101 bic r1, r1, #1
4197 01b4 9960 str r1, [r3, #8]
2422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4198 .loc 1 2422 0
4199 01b6 9968 ldr r1, [r3, #8]
2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4200 .loc 1 2425 0
ARM GAS /tmp/ccgDLloS.s page 162
4201 01b8 2025 movs r5, #32
2422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4202 .loc 1 2422 0
4203 01ba 21F04001 bic r1, r1, #64
4204 01be 9960 str r1, [r3, #8]
2425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4205 .loc 1 2425 0
4206 01c0 C4F88850 str r5, [r4, #136]
2426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4207 .loc 1 2426 0
4208 01c4 E266 str r2, [r4, #108]
2428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4209 .loc 1 2428 0
4210 01c6 1A68 ldr r2, [r3]
4211 01c8 22F01002 bic r2, r2, #16
4212 01cc 1A60 str r2, [r3]
2431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4213 .loc 1 2431 0
4214 01ce FFF7FEFF bl HAL_DMA_Abort
4215 .LVL274:
4216 01d2 B4F85C50 ldrh r5, [r4, #92]
4217 .L515:
2438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4218 .loc 1 2438 0
4219 01d6 B4F85E10 ldrh r1, [r4, #94]
4220 01da 691A subs r1, r5, r1
4221 01dc 89B2 uxth r1, r1
4222 01de 2046 mov r0, r4
4223 01e0 FFF7FEFF bl HAL_UARTEx_RxEventCallback
4224 .LVL275:
4225 01e4 C3E7 b .L491
4226 .LVL276:
4227 .L499:
4228 .LBE108:
2276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4229 .loc 1 2276 0
4230 01e6 002E cmp r6, #0
4231 01e8 3FF437AF beq .L501
2276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4232 .loc 1 2276 0 is_stmt 0 discriminator 1
4233 01ec C607 lsls r6, r0, #31
4234 01ee 7FF534AF bpl .L501
4235 .L502:
2278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4236 .loc 1 2278 0 is_stmt 1
4237 01f2 0426 movs r6, #4
4238 01f4 1E62 str r6, [r3, #32]
2280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4239 .loc 1 2280 0
4240 01f6 D4F88C60 ldr r6, [r4, #140]
4241 01fa 46F00206 orr r6, r6, #2
4242 01fe C4F88C60 str r6, [r4, #140]
4243 0202 2AE7 b .L501
4244 .LVL277:
4245 .L633:
2516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4246 .loc 1 2516 0 discriminator 1
ARM GAS /tmp/ccgDLloS.s page 163
4247 0204 4800 lsls r0, r1, #1
4248 0206 AED5 bpl .L520
2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4249 .loc 1 2523 0
4250 0208 2046 mov r0, r4
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4251 .loc 1 2540 0
4252 020a BDE8F041 pop {r4, r5, r6, r7, r8, lr}
4253 .LCFI54:
4254 .cfi_remember_state
4255 .cfi_restore 14
4256 .cfi_restore 8
4257 .cfi_restore 7
4258 .cfi_restore 6
4259 .cfi_restore 5
4260 .cfi_restore 4
4261 .cfi_def_cfa_offset 0
4262 .LVL278:
2523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4263 .loc 1 2523 0
4264 020e FFF7FEBF b HAL_UARTEx_TxFifoEmptyCallback
4265 .LVL279:
4266 .L630:
4267 .LCFI55:
4268 .cfi_restore_state
2481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4269 .loc 1 2481 0
4270 0212 4FF48012 mov r2, #1048576
4271 .LVL280:
2491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4272 .loc 1 2491 0
4273 0216 2046 mov r0, r4
4274 .LVL281:
2481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4275 .loc 1 2481 0
4276 0218 1A62 str r2, [r3, #32]
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4277 .loc 1 2540 0
4278 021a BDE8F041 pop {r4, r5, r6, r7, r8, lr}
4279 .LCFI56:
4280 .cfi_remember_state
4281 .cfi_restore 14
4282 .cfi_restore 8
4283 .cfi_restore 7
4284 .cfi_restore 6
4285 .cfi_restore 5
4286 .cfi_restore 4
4287 .cfi_def_cfa_offset 0
4288 .LVL282:
2491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4289 .loc 1 2491 0
4290 021e FFF7FEBF b HAL_UARTEx_WakeupCallback
4291 .LVL283:
4292 .L504:
4293 .LCFI57:
4294 .cfi_restore_state
2288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 164
4295 .loc 1 2288 0
4296 0222 0825 movs r5, #8
4297 0224 1D62 str r5, [r3, #32]
2290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4298 .loc 1 2290 0
4299 0226 D4F88C50 ldr r5, [r4, #140]
4300 022a 45F00805 orr r5, r5, #8
4301 022e C4F88C50 str r5, [r4, #140]
4302 0232 1AE7 b .L503
4303 .LVL284:
4304 .L512:
2356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4305 .loc 1 2356 0
4306 0234 2046 mov r0, r4
4307 0236 FFF7FEFF bl HAL_UART_ErrorCallback
4308 .LVL285:
4309 023a 98E7 b .L491
4310 .LVL286:
4311 .L627:
2307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4312 .loc 1 2307 0
4313 023c C000 lsls r0, r0, #3
4314 .LVL287:
4315 023e 7FF52FAF bpl .L507
4316 0242 28E7 b .L508
4317 .L632:
4318 .LVL288:
4319 .LBB109:
4320 .LBB110:
4095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode.
4098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains
4099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * the configuration information for the specified UART module.
4100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
4101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
4102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart)
4103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
4105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE);
4321 .loc 1 4105 0
4322 0244 1A68 ldr r2, [r3]
4323 .LVL289:
4106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
4324 .loc 1 4108 0
4325 0246 2025 movs r5, #32
4105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4326 .loc 1 4105 0
4327 0248 22F04002 bic r2, r2, #64
4109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Cleat TxISR function pointer */
4111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
4328 .loc 1 4111 0
4329 024c 0021 movs r1, #0
4330 .LVL290:
ARM GAS /tmp/ccgDLloS.s page 165
4105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4331 .loc 1 4105 0
4332 024e 1A60 str r2, [r3]
4112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Tx complete callback*/
4115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxCpltCallback(huart);
4116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
4118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
4333 .loc 1 4118 0
4334 0250 2046 mov r0, r4
4108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4335 .loc 1 4108 0
4336 0252 C4F88450 str r5, [r4, #132]
4111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4337 .loc 1 4111 0
4338 0256 6167 str r1, [r4, #116]
4339 .loc 1 4118 0
4340 0258 FFF7FEFF bl HAL_UART_TxCpltCallback
4341 .LVL291:
4342 025c 87E7 b .L491
4343 .LVL292:
4344 .L510:
4345 .LBE110:
4346 .LBE109:
2382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4347 .loc 1 2382 0
4348 025e 2046 mov r0, r4
4349 0260 FFF7FEFF bl HAL_UART_ErrorCallback
4350 .LVL293:
2384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4351 .loc 1 2384 0
4352 0264 C4F88C50 str r5, [r4, #140]
4353 0268 81E7 b .L491
4354 .LVL294:
4355 .L634:
2536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4356 .loc 1 2536 0
4357 026a 2046 mov r0, r4
2540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4358 .loc 1 2540 0
4359 026c BDE8F041 pop {r4, r5, r6, r7, r8, lr}
4360 .LCFI58:
4361 .cfi_remember_state
4362 .cfi_restore 14
4363 .cfi_restore 8
4364 .cfi_restore 7
4365 .cfi_restore 6
4366 .cfi_restore 5
4367 .cfi_restore 4
4368 .cfi_def_cfa_offset 0
4369 .LVL295:
2536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4370 .loc 1 2536 0
4371 0270 FFF7FEBF b HAL_UARTEx_RxFifoFullCallback
4372 .LVL296:
ARM GAS /tmp/ccgDLloS.s page 166
4373 .L514:
4374 .LCFI59:
4375 .cfi_restore_state
4376 .LBB111:
2448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
4377 .loc 1 2448 0
4378 0274 B4F85E00 ldrh r0, [r4, #94]
4379 .LVL297:
2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U))
4380 .loc 1 2449 0
4381 0278 B4F85E10 ldrh r1, [r4, #94]
4382 .LVL298:
4383 027c 89B2 uxth r1, r1
2448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
4384 .loc 1 2448 0
4385 027e 80B2 uxth r0, r0
4386 .LVL299:
2449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** && (nb_rx_data > 0U))
4387 .loc 1 2449 0
4388 0280 0029 cmp r1, #0
4389 0282 3FF474AF beq .L491
2448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
4390 .loc 1 2448 0
4391 0286 B4F85C10 ldrh r1, [r4, #92]
4392 028a 081A subs r0, r1, r0
4393 .LVL300:
4394 028c 81B2 uxth r1, r0
2450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4395 .loc 1 2450 0
4396 028e 0029 cmp r1, #0
4397 0290 3FF46DAF beq .L491
2453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4398 .loc 1 2453 0
4399 0294 1868 ldr r0, [r3]
4400 0296 20F49070 bic r0, r0, #288
4401 029a 1860 str r0, [r3]
2456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4402 .loc 1 2456 0
4403 029c 9868 ldr r0, [r3, #8]
4404 029e 20F08050 bic r0, r0, #268435456
4405 02a2 20F00100 bic r0, r0, #1
2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4406 .loc 1 2459 0
4407 02a6 2025 movs r5, #32
2456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4408 .loc 1 2456 0
4409 02a8 9860 str r0, [r3, #8]
2459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4410 .loc 1 2459 0
4411 02aa C4F88850 str r5, [r4, #136]
2460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4412 .loc 1 2460 0
4413 02ae E266 str r2, [r4, #108]
2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4414 .loc 1 2465 0
4415 02b0 1868 ldr r0, [r3]
2463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 167
4416 .loc 1 2463 0
4417 02b2 2267 str r2, [r4, #112]
2465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4418 .loc 1 2465 0
4419 02b4 20F01002 bic r2, r0, #16
4420 02b8 1A60 str r2, [r3]
2471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4421 .loc 1 2471 0
4422 02ba 2046 mov r0, r4
4423 02bc FFF7FEFF bl HAL_UARTEx_RxEventCallback
4424 .LVL301:
4425 02c0 55E7 b .L491
4426 .L636:
4427 02c2 00BF .align 2
4428 .L635:
4429 02c4 01000010 .word 268435457
4430 02c8 00000000 .word UART_DMAAbortOnError
4431 02cc 20010004 .word 67109152
4432 .LBE111:
4433 .cfi_endproc
4434 .LFE351:
4436 .section .text.UART_RxISR_8BIT,"ax",%progbits
4437 .align 1
4438 .p2align 2,,3
4439 .syntax unified
4440 .thumb
4441 .thumb_func
4442 .fpu fpv4-sp-d16
4444 UART_RxISR_8BIT:
4445 .LFB395:
4119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length .
4124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
4125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
4126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
4127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart)
4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4446 .loc 1 4128 0
4447 .cfi_startproc
4448 @ args = 0, pretend = 0, frame = 0
4449 @ frame_needed = 0, uses_anonymous_args = 0
4450 .LVL302:
4129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
4130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata;
4131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */
4133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
4451 .loc 1 4133 0
4452 0000 D0F88810 ldr r1, [r0, #136]
4453 0004 0268 ldr r2, [r0]
4454 0006 2229 cmp r1, #34
4128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
4455 .loc 1 4128 0
4456 0008 38B5 push {r3, r4, r5, lr}
ARM GAS /tmp/ccgDLloS.s page 168
4457 .LCFI60:
4458 .cfi_def_cfa_offset 16
4459 .cfi_offset 3, -16
4460 .cfi_offset 4, -12
4461 .cfi_offset 5, -8
4462 .cfi_offset 14, -4
4463 .loc 1 4133 0
4464 000a 04D0 beq .L643
4134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
4136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++;
4138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
4139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U)
4141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
4143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE));
4144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
4146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
4149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */
4152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
4153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode :
4155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
4157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */
4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/
4163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
4164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */
4172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/
4174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart);
4175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
4177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
4178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 169
4183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */
4186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
4465 .loc 1 4186 0
4466 000c 9369 ldr r3, [r2, #24]
4467 000e 43F00803 orr r3, r3, #8
4468 0012 9361 str r3, [r2, #24]
4469 .LVL303:
4470 .L637:
4187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4471 .loc 1 4188 0
4472 0014 38BD pop {r3, r4, r5, pc}
4473 .LVL304:
4474 .L643:
4135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
4475 .loc 1 4135 0
4476 0016 526A ldr r2, [r2, #36]
4477 .LVL305:
4136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++;
4478 .loc 1 4136 0
4479 0018 90F86040 ldrb r4, [r0, #96] @ zero_extendqisi2
4480 001c 816D ldr r1, [r0, #88]
4481 001e 2240 ands r2, r2, r4
4482 .LVL306:
4483 0020 0A70 strb r2, [r1]
4484 .LVL307:
4138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4485 .loc 1 4138 0
4486 0022 B0F85E20 ldrh r2, [r0, #94]
4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
4487 .loc 1 4137 0
4488 0026 816D ldr r1, [r0, #88]
4138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4489 .loc 1 4138 0
4490 0028 013A subs r2, r2, #1
4491 002a 92B2 uxth r2, r2
4492 002c A0F85E20 strh r2, [r0, #94] @ movhi
4140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4493 .loc 1 4140 0
4494 0030 B0F85E20 ldrh r2, [r0, #94]
4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
4495 .loc 1 4137 0
4496 0034 0131 adds r1, r1, #1
4140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4497 .loc 1 4140 0
4498 0036 92B2 uxth r2, r2
4137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
4499 .loc 1 4137 0
4500 0038 8165 str r1, [r0, #88]
4140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4501 .loc 1 4140 0
4502 003a 002A cmp r2, #0
4503 003c EAD1 bne .L637
4504 .LBB114:
4505 .LBB115:
ARM GAS /tmp/ccgDLloS.s page 170
4143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4506 .loc 1 4143 0
4507 003e 0368 ldr r3, [r0]
4508 0040 1968 ldr r1, [r3]
4509 0042 21F49071 bic r1, r1, #288
4510 0046 1960 str r1, [r3]
4146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4511 .loc 1 4146 0
4512 0048 9968 ldr r1, [r3, #8]
4149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4513 .loc 1 4149 0
4514 004a 2025 movs r5, #32
4146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4515 .loc 1 4146 0
4516 004c 21F00101 bic r1, r1, #1
4517 0050 9960 str r1, [r3, #8]
4149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4518 .loc 1 4149 0
4519 0052 C0F88850 str r5, [r0, #136]
4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4520 .loc 1 4156 0
4521 0056 C16E ldr r1, [r0, #108]
4152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4522 .loc 1 4152 0
4523 0058 0267 str r2, [r0, #112]
4156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4524 .loc 1 4156 0
4525 005a 0129 cmp r1, #1
4526 005c 0446 mov r4, r0
4527 .LVL308:
4528 005e 04D0 beq .L644
4529 .LVL309:
4177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4530 .loc 1 4177 0
4531 0060 FFF7FEFF bl HAL_UART_RxCpltCallback
4532 .LVL310:
4533 .L641:
4180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4534 .loc 1 4180 0
4535 0064 0023 movs r3, #0
4536 0066 E366 str r3, [r4, #108]
4537 .LBE115:
4538 .LBE114:
4539 .loc 1 4188 0
4540 0068 38BD pop {r3, r4, r5, pc}
4541 .LVL311:
4542 .L644:
4543 .LBB117:
4544 .LBB116:
4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4545 .loc 1 4159 0
4546 006a 1A68 ldr r2, [r3]
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4547 .loc 1 4166 0
4548 006c B0F85C10 ldrh r1, [r0, #92]
4159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4549 .loc 1 4159 0
ARM GAS /tmp/ccgDLloS.s page 171
4550 0070 22F01002 bic r2, r2, #16
4551 0074 1A60 str r2, [r3]
4166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4552 .loc 1 4166 0
4553 0076 FFF7FEFF bl HAL_UARTEx_RxEventCallback
4554 .LVL312:
4555 007a F3E7 b .L641
4556 .LBE116:
4557 .LBE117:
4558 .cfi_endproc
4559 .LFE395:
4561 .section .text.UART_RxISR_16BIT,"ax",%progbits
4562 .align 1
4563 .p2align 2,,3
4564 .syntax unified
4565 .thumb
4566 .thumb_func
4567 .fpu fpv4-sp-d16
4569 UART_RxISR_16BIT:
4570 .LFB396:
4189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length .
4192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once
4193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT()
4194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
4195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
4196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
4197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart)
4198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4571 .loc 1 4198 0
4572 .cfi_startproc
4573 @ args = 0, pretend = 0, frame = 0
4574 @ frame_needed = 0, uses_anonymous_args = 0
4575 .LVL313:
4199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp;
4200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
4201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata;
4202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */
4204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
4576 .loc 1 4204 0
4577 0000 D0F88810 ldr r1, [r0, #136]
4578 0004 0268 ldr r2, [r0]
4579 0006 2229 cmp r1, #34
4198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp;
4580 .loc 1 4198 0
4581 0008 38B5 push {r3, r4, r5, lr}
4582 .LCFI61:
4583 .cfi_def_cfa_offset 16
4584 .cfi_offset 3, -16
4585 .cfi_offset 4, -12
4586 .cfi_offset 5, -8
4587 .cfi_offset 14, -4
4588 .loc 1 4204 0
4589 000a 04D0 beq .L651
4205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 172
4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
4207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
4208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask);
4209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
4210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
4211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U)
4213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/
4215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE));
4216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
4218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
4221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */
4224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
4225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode :
4227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
4229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */
4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/
4235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
4236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
4238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */
4244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/
4246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart);
4247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
4250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */
4258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
4590 .loc 1 4258 0
4591 000c 9369 ldr r3, [r2, #24]
4592 000e 43F00803 orr r3, r3, #8
4593 0012 9361 str r3, [r2, #24]
ARM GAS /tmp/ccgDLloS.s page 173
4594 .LVL314:
4595 .L645:
4259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4596 .loc 1 4260 0
4597 0014 38BD pop {r3, r4, r5, pc}
4598 .LVL315:
4599 .L651:
4206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
4600 .loc 1 4206 0
4601 0016 516A ldr r1, [r2, #36]
4602 .LVL316:
4208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
4603 .loc 1 4208 0
4604 0018 B0F86050 ldrh r5, [r0, #96]
4605 001c 846D ldr r4, [r0, #88]
4606 001e 2940 ands r1, r1, r5
4607 .LVL317:
4608 0020 24F8021B strh r1, [r4], #2 @ movhi
4609 .LVL318:
4210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4610 .loc 1 4210 0
4611 0024 B0F85E10 ldrh r1, [r0, #94]
4209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
4612 .loc 1 4209 0
4613 0028 8465 str r4, [r0, #88]
4614 .LVL319:
4210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4615 .loc 1 4210 0
4616 002a 0139 subs r1, r1, #1
4617 002c 89B2 uxth r1, r1
4618 002e A0F85E10 strh r1, [r0, #94] @ movhi
4212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4619 .loc 1 4212 0
4620 0032 B0F85E10 ldrh r1, [r0, #94]
4621 0036 89B2 uxth r1, r1
4622 0038 0029 cmp r1, #0
4623 003a EBD1 bne .L645
4215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4624 .loc 1 4215 0
4625 003c 1368 ldr r3, [r2]
4626 003e 23F49073 bic r3, r3, #288
4627 0042 1360 str r3, [r2]
4218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4628 .loc 1 4218 0
4629 0044 9368 ldr r3, [r2, #8]
4221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4630 .loc 1 4221 0
4631 0046 2025 movs r5, #32
4218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4632 .loc 1 4218 0
4633 0048 23F00103 bic r3, r3, #1
4634 004c 9360 str r3, [r2, #8]
4221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4635 .loc 1 4221 0
4636 004e C0F88850 str r5, [r0, #136]
4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 174
4637 .loc 1 4228 0
4638 0052 C36E ldr r3, [r0, #108]
4224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4639 .loc 1 4224 0
4640 0054 0167 str r1, [r0, #112]
4228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4641 .loc 1 4228 0
4642 0056 012B cmp r3, #1
4643 0058 0446 mov r4, r0
4644 .LVL320:
4645 005a 04D0 beq .L652
4249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4646 .loc 1 4249 0
4647 005c FFF7FEFF bl HAL_UART_RxCpltCallback
4648 .LVL321:
4649 .L649:
4252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4650 .loc 1 4252 0
4651 0060 0023 movs r3, #0
4652 0062 E366 str r3, [r4, #108]
4653 .loc 1 4260 0
4654 0064 38BD pop {r3, r4, r5, pc}
4655 .LVL322:
4656 .L652:
4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4657 .loc 1 4231 0
4658 0066 1368 ldr r3, [r2]
4238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4659 .loc 1 4238 0
4660 0068 B0F85C10 ldrh r1, [r0, #92]
4231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4661 .loc 1 4231 0
4662 006c 23F01003 bic r3, r3, #16
4663 0070 1360 str r3, [r2]
4238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4664 .loc 1 4238 0
4665 0072 FFF7FEFF bl HAL_UARTEx_RxEventCallback
4666 .LVL323:
4667 0076 F3E7 b .L649
4668 .cfi_endproc
4669 .LFE396:
4671 .section .text.UART_RxISR_8BIT_FIFOEN,"ax",%progbits
4672 .align 1
4673 .p2align 2,,3
4674 .syntax unified
4675 .thumb
4676 .thumb_func
4677 .fpu fpv4-sp-d16
4679 UART_RxISR_8BIT_FIFOEN:
4680 .LFB397:
4261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length and FIFO mode is enabled.
4264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once
4265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT()
4266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
4267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
ARM GAS /tmp/ccgDLloS.s page 175
4268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
4269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_8BIT_FIFOEN(UART_HandleTypeDef *huart)
4270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4681 .loc 1 4270 0
4682 .cfi_startproc
4683 @ args = 0, pretend = 0, frame = 0
4684 @ frame_needed = 0, uses_anonymous_args = 0
4685 .LVL324:
4686 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
4687 .LCFI62:
4688 .cfi_def_cfa_offset 40
4689 .cfi_offset 3, -40
4690 .cfi_offset 4, -36
4691 .cfi_offset 5, -32
4692 .cfi_offset 6, -28
4693 .cfi_offset 7, -24
4694 .cfi_offset 8, -20
4695 .cfi_offset 9, -16
4696 .cfi_offset 10, -12
4697 .cfi_offset 11, -8
4698 .cfi_offset 14, -4
4271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
4272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata;
4273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_rx_data;
4274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t rxdatacount;
4275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
4699 .loc 1 4275 0
4700 0004 0368 ldr r3, [r0]
4701 0006 D969 ldr r1, [r3, #28]
4702 .LVL325:
4276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
4703 .loc 1 4276 0
4704 0008 1F68 ldr r7, [r3]
4705 .LVL326:
4277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
4706 .loc 1 4277 0
4707 000a 9D68 ldr r5, [r3, #8]
4708 .LVL327:
4278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */
4280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
4709 .loc 1 4280 0
4710 000c D0F88820 ldr r2, [r0, #136]
4711 0010 222A cmp r2, #34
4712 0012 05D0 beq .L698
4281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** nb_rx_data = huart->NbRxDataToProcess;
4283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U))
4284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
4286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++;
4288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
4289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR);
4290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If some non blocking errors occurred */
4292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((isrflags & (USART_ISR_PE | USART_ISR_FE | USART_ISR_NE)) != 0U)
ARM GAS /tmp/ccgDLloS.s page 176
4293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/
4295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
4296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
4298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
4300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/
4303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
4304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
4306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
4308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/
4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
4312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
4314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
4316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/
4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
4320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
4322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error is notified to user through user error callback */
4323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/
4325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart);
4326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/
4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
4329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
4331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U)
4335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXFT interrupt*/
4337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
4338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error)
4340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and RX FIFO Threshold interrupt */
4341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
4342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */
4347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
4348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode :
ARM GAS /tmp/ccgDLloS.s page 177
4350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
4351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
4352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */
4354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/
4358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
4359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
4361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */
4367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/
4369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart);
4370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
4372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
4373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* When remaining number of bytes to receive is less than the RX FIFO
4380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** threshold, next incoming frames are processed as if FIFO mode was
4381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** disabled (i.e. one interrupt per received frame).
4382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
4383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** rxdatacount = huart->RxXferCount;
4384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
4385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART RXFT interrupt*/
4387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
4388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Update the RxISR function pointer */
4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT;
4391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Data Register Not Empty interrupt */
4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE);
4394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */
4399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
4713 .loc 1 4399 0
4714 0014 9A69 ldr r2, [r3, #24]
4715 0016 42F00802 orr r2, r2, #8
4716 001a 9A61 str r2, [r3, #24]
4717 .LVL328:
4718 .L653:
4400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 178
4401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4719 .loc 1 4401 0
4720 001c BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
4721 .LVL329:
4722 .L698:
4283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4723 .loc 1 4283 0
4724 0020 B0F86820 ldrh r2, [r0, #104]
4725 0024 002A cmp r2, #0
4726 0026 00F09580 beq .L655
4727 002a 8A06 lsls r2, r1, #26
4728 002c 0446 mov r4, r0
4729 002e 7AD5 bpl .L656
4730 0030 90F86060 ldrb r6, [r0, #96] @ zero_extendqisi2
4341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4731 .loc 1 4341 0
4732 0034 DFF82891 ldr r9, .L701+4
4295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4733 .loc 1 4295 0
4734 0038 07F48077 and r7, r7, #256
4735 .LVL330:
4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4736 .loc 1 4311 0
4737 003c 05F00105 and r5, r5, #1
4738 .LVL331:
4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4739 .loc 1 4330 0
4740 0040 4FF00008 mov r8, #0
4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4741 .loc 1 4313 0
4742 0044 4FF0040A mov r10, #4
4743 .LVL332:
4744 .L668:
4285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
4745 .loc 1 4285 0
4746 0048 5B6A ldr r3, [r3, #36]
4747 .LVL333:
4286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr++;
4748 .loc 1 4286 0
4749 004a A26D ldr r2, [r4, #88]
4750 004c 3340 ands r3, r3, r6
4751 .LVL334:
4752 004e 1370 strb r3, [r2]
4288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR);
4753 .loc 1 4288 0
4754 0050 B4F85E30 ldrh r3, [r4, #94]
4289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4755 .loc 1 4289 0
4756 0054 2168 ldr r1, [r4]
4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
4757 .loc 1 4287 0
4758 0056 A26D ldr r2, [r4, #88]
4288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR);
4759 .loc 1 4288 0
4760 0058 013B subs r3, r3, #1
4761 005a 9BB2 uxth r3, r3
4762 005c A4F85E30 strh r3, [r4, #94] @ movhi
ARM GAS /tmp/ccgDLloS.s page 179
4289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4763 .loc 1 4289 0
4764 0060 D1F81CB0 ldr fp, [r1, #28]
4765 .LVL335:
4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
4766 .loc 1 4287 0
4767 0064 0132 adds r2, r2, #1
4292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4768 .loc 1 4292 0
4769 0066 1BF0070F tst fp, #7
4287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
4770 .loc 1 4287 0
4771 006a A265 str r2, [r4, #88]
4292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4772 .loc 1 4292 0
4773 006c 1DD0 beq .L658
4295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4774 .loc 1 4295 0
4775 006e 1BF0010F tst fp, #1
4776 0072 08D0 beq .L659
4295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4777 .loc 1 4295 0 is_stmt 0 discriminator 1
4778 0074 3FB1 cbz r7, .L659
4297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4779 .loc 1 4297 0 is_stmt 1
4780 0076 0123 movs r3, #1
4781 0078 0B62 str r3, [r1, #32]
4299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4782 .loc 1 4299 0
4783 007a D4F88C30 ldr r3, [r4, #140]
4784 007e 43F00103 orr r3, r3, #1
4785 0082 C4F88C30 str r3, [r4, #140]
4786 .L659:
4303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4787 .loc 1 4303 0
4788 0086 1BF0020F tst fp, #2
4789 008a 0BF00403 and r3, fp, #4
4790 008e 2AD0 beq .L660
4303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4791 .loc 1 4303 0 is_stmt 0 discriminator 1
4792 0090 45B1 cbz r5, .L662
4305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4793 .loc 1 4305 0 is_stmt 1
4794 0092 0222 movs r2, #2
4795 0094 0A62 str r2, [r1, #32]
4307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4796 .loc 1 4307 0
4797 0096 D4F88C20 ldr r2, [r4, #140]
4798 009a 42F00402 orr r2, r2, #4
4799 009e C4F88C20 str r2, [r4, #140]
4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4800 .loc 1 4311 0
4801 00a2 23BB cbnz r3, .L663
4802 .L662:
4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4803 .loc 1 4319 0
4804 00a4 D4F88C30 ldr r3, [r4, #140]
ARM GAS /tmp/ccgDLloS.s page 180
4805 00a8 6BBB cbnz r3, .L699
4806 .L658:
4334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4807 .loc 1 4334 0
4808 00aa B4F85E30 ldrh r3, [r4, #94]
4809 00ae 9BB2 uxth r3, r3
4810 00b0 A3B9 cbnz r3, .L665
4337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4811 .loc 1 4337 0
4812 00b2 2268 ldr r2, [r4]
4813 00b4 1168 ldr r1, [r2]
4814 00b6 21F48071 bic r1, r1, #256
4815 00ba 1160 str r1, [r2]
4341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4816 .loc 1 4341 0
4817 00bc 9168 ldr r1, [r2, #8]
4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4818 .loc 1 4344 0
4819 00be 2020 movs r0, #32
4341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4820 .loc 1 4341 0
4821 00c0 01EA0901 and r1, r1, r9
4822 00c4 9160 str r1, [r2, #8]
4344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4823 .loc 1 4344 0
4824 00c6 C4F88800 str r0, [r4, #136]
4351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4825 .loc 1 4351 0
4826 00ca E16E ldr r1, [r4, #108]
4347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4827 .loc 1 4347 0
4828 00cc 2367 str r3, [r4, #112]
4351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4829 .loc 1 4351 0
4830 00ce 0129 cmp r1, #1
4831 00d0 1FD0 beq .L700
4372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4832 .loc 1 4372 0
4833 00d2 2046 mov r0, r4
4834 00d4 FFF7FEFF bl HAL_UART_RxCpltCallback
4835 .LVL336:
4836 .L667:
4375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4837 .loc 1 4375 0
4838 00d8 C4F86C80 str r8, [r4, #108]
4839 .L665:
4283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4840 .loc 1 4283 0
4841 00dc 1BF0200F tst fp, #32
4842 00e0 21D0 beq .L656
4843 00e2 2368 ldr r3, [r4]
4844 00e4 B0E7 b .L668
4845 .L660:
4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4846 .loc 1 4311 0
4847 00e6 002B cmp r3, #0
4848 00e8 DCD0 beq .L662
ARM GAS /tmp/ccgDLloS.s page 181
4311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4849 .loc 1 4311 0 is_stmt 0 discriminator 1
4850 00ea 002D cmp r5, #0
4851 00ec DAD0 beq .L662
4852 .L663:
4313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4853 .loc 1 4313 0 is_stmt 1
4854 00ee C1F820A0 str r10, [r1, #32]
4315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4855 .loc 1 4315 0
4856 00f2 D4F88C30 ldr r3, [r4, #140]
4857 00f6 43F00203 orr r3, r3, #2
4858 00fa C4F88C30 str r3, [r4, #140]
4319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4859 .loc 1 4319 0
4860 00fe D4F88C30 ldr r3, [r4, #140]
4861 0102 002B cmp r3, #0
4862 0104 D1D0 beq .L658
4863 .L699:
4328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4864 .loc 1 4328 0
4865 0106 2046 mov r0, r4
4866 0108 FFF7FEFF bl HAL_UART_ErrorCallback
4867 .LVL337:
4330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4868 .loc 1 4330 0
4869 010c C4F88C80 str r8, [r4, #140]
4870 0110 CBE7 b .L658
4871 .L700:
4354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4872 .loc 1 4354 0
4873 0112 1368 ldr r3, [r2]
4361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4874 .loc 1 4361 0
4875 0114 B4F85C10 ldrh r1, [r4, #92]
4354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4876 .loc 1 4354 0
4877 0118 23F01003 bic r3, r3, #16
4878 011c 1360 str r3, [r2]
4361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4879 .loc 1 4361 0
4880 011e 2046 mov r0, r4
4881 0120 FFF7FEFF bl HAL_UARTEx_RxEventCallback
4882 .LVL338:
4883 0124 D8E7 b .L667
4884 .LVL339:
4885 .L656:
4383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
4886 .loc 1 4383 0
4887 0126 B4F85E30 ldrh r3, [r4, #94]
4888 012a 9BB2 uxth r3, r3
4889 .LVL340:
4384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4890 .loc 1 4384 0
4891 012c 002B cmp r3, #0
4892 012e 3FF475AF beq .L653
4384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 182
4893 .loc 1 4384 0 is_stmt 0 discriminator 1
4894 0132 B4F86820 ldrh r2, [r4, #104]
4895 0136 9A42 cmp r2, r3
4896 0138 7FF670AF bls .L653
4387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4897 .loc 1 4387 0 is_stmt 1
4898 013c 2368 ldr r3, [r4]
4899 .LVL341:
4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4900 .loc 1 4390 0
4901 013e 0749 ldr r1, .L701
4387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4902 .loc 1 4387 0
4903 0140 9A68 ldr r2, [r3, #8]
4904 0142 22F08052 bic r2, r2, #268435456
4905 0146 9A60 str r2, [r3, #8]
4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4906 .loc 1 4393 0
4907 0148 1A68 ldr r2, [r3]
4390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4908 .loc 1 4390 0
4909 014a 2167 str r1, [r4, #112]
4393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4910 .loc 1 4393 0
4911 014c 42F02002 orr r2, r2, #32
4912 0150 1A60 str r2, [r3]
4913 0152 63E7 b .L653
4914 .LVL342:
4915 .L655:
4383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
4916 .loc 1 4383 0
4917 0154 B0F85E30 ldrh r3, [r0, #94]
4918 0158 60E7 b .L653
4919 .L702:
4920 015a 00BF .align 2
4921 .L701:
4922 015c 00000000 .word UART_RxISR_8BIT
4923 0160 FEFFFFEF .word -268435458
4924 .cfi_endproc
4925 .LFE397:
4927 .section .text.UART_RxISR_16BIT_FIFOEN,"ax",%progbits
4928 .align 1
4929 .p2align 2,,3
4930 .syntax unified
4931 .thumb
4932 .thumb_func
4933 .fpu fpv4-sp-d16
4935 UART_RxISR_16BIT_FIFOEN:
4936 .LFB398:
4402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
4404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length and FIFO mode is enabled.
4405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @note Function is called under interruption only, once
4406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT()
4407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @param huart UART handle.
4408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** * @retval None
4409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
ARM GAS /tmp/ccgDLloS.s page 183
4410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** static void UART_RxISR_16BIT_FIFOEN(UART_HandleTypeDef *huart)
4411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4937 .loc 1 4411 0
4938 .cfi_startproc
4939 @ args = 0, pretend = 0, frame = 0
4940 @ frame_needed = 0, uses_anonymous_args = 0
4941 .LVL343:
4412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp;
4413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
4414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata;
4415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t nb_rx_data;
4416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t rxdatacount;
4417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
4942 .loc 1 4417 0
4943 0000 0268 ldr r2, [r0]
4411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t *tmp;
4944 .loc 1 4411 0
4945 0002 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
4946 .LCFI63:
4947 .cfi_def_cfa_offset 40
4948 .cfi_offset 3, -40
4949 .cfi_offset 4, -36
4950 .cfi_offset 5, -32
4951 .cfi_offset 6, -28
4952 .cfi_offset 7, -24
4953 .cfi_offset 8, -20
4954 .cfi_offset 9, -16
4955 .cfi_offset 10, -12
4956 .cfi_offset 11, -8
4957 .cfi_offset 14, -4
4958 .loc 1 4417 0
4959 0006 D169 ldr r1, [r2, #28]
4960 .LVL344:
4418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
4961 .loc 1 4418 0
4962 0008 1768 ldr r7, [r2]
4963 .LVL345:
4419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
4964 .loc 1 4419 0
4965 000a 9568 ldr r5, [r2, #8]
4966 .LVL346:
4420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check that a Rx process is ongoing */
4422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
4967 .loc 1 4422 0
4968 000c D0F88830 ldr r3, [r0, #136]
4969 0010 222B cmp r3, #34
4970 0012 05D0 beq .L748
4423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** nb_rx_data = huart->NbRxDataToProcess;
4425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** while ((nb_rx_data > 0U) && ((isrflags & USART_ISR_RXNE_RXFNE) != 0U))
4426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
4428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
4429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask);
4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
4431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
ARM GAS /tmp/ccgDLloS.s page 184
4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR);
4433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* If some non blocking errors occurred */
4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((isrflags & (USART_ISR_PE | USART_ISR_FE | USART_ISR_NE)) != 0U)
4436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/
4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
4439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
4441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
4443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/
4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
4447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
4449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
4451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/
4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
4455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
4457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
4459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/
4462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
4463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
4465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** Error is notified to user through user error callback */
4466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered error callback*/
4468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCallback(huart);
4469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak error callback*/
4471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
4472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
4474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->RxXferCount == 0U)
4478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXFT interrupt*/
4480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
4481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error)
4483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** and RX FIFO Threshold interrupt */
4484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE));
4485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
4487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 185
4489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RxISR function pointer */
4490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
4491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check current reception Mode :
4493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** If Reception till IDLE event has been selected : */
4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
4495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable IDLE interrupt */
4497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx Event callback*/
4501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
4502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
4504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Standard reception API called */
4510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call registered Rx complete callback*/
4512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxCpltCallback(huart);
4513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #else
4514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
4515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
4516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* When remaining number of bytes to receive is less than the RX FIFO
4523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** threshold, next incoming frames are processed as if FIFO mode was
4524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** disabled (i.e. one interrupt per received frame).
4525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** */
4526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** rxdatacount = huart->RxXferCount;
4527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
4528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Disable the UART RXFT interrupt*/
4530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
4531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Update the RxISR function pointer */
4533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT;
4534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Enable the UART Data Register Not Empty interrupt */
4536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE);
4537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** else
4540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Clear RXNE interrupt flag */
4542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
4971 .loc 1 4542 0
4972 0014 9369 ldr r3, [r2, #24]
4973 0016 43F00803 orr r3, r3, #8
ARM GAS /tmp/ccgDLloS.s page 186
4974 001a 9361 str r3, [r2, #24]
4975 .LVL347:
4976 .L703:
4543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4977 .loc 1 4544 0
4978 001c BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
4979 .LVL348:
4980 .L748:
4425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4981 .loc 1 4425 0
4982 0020 B0F86830 ldrh r3, [r0, #104]
4983 0024 002B cmp r3, #0
4984 0026 00F09380 beq .L705
4985 002a 8B06 lsls r3, r1, #26
4986 002c 0446 mov r4, r0
4987 002e 78D5 bpl .L706
4413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint16_t uhdata;
4988 .loc 1 4413 0
4989 0030 B0F86060 ldrh r6, [r0, #96]
4484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
4990 .loc 1 4484 0
4991 0034 DFF82491 ldr r9, .L751+4
4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4992 .loc 1 4438 0
4993 0038 07F48077 and r7, r7, #256
4994 .LVL349:
4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
4995 .loc 1 4454 0
4996 003c 05F00105 and r5, r5, #1
4997 .LVL350:
4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
4998 .loc 1 4473 0
4999 0040 4FF00008 mov r8, #0
4456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5000 .loc 1 4456 0
5001 0044 4FF0040A mov r10, #4
5002 .LVL351:
5003 .L718:
4427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
5004 .loc 1 4427 0
5005 0048 536A ldr r3, [r2, #36]
5006 .LVL352:
4429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
5007 .loc 1 4429 0
5008 004a A16D ldr r1, [r4, #88]
5009 004c 3340 ands r3, r3, r6
5010 .LVL353:
5011 004e 21F8023B strh r3, [r1], #2 @ movhi
4431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR);
5012 .loc 1 4431 0
5013 0052 B4F85E30 ldrh r3, [r4, #94]
4430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount--;
5014 .loc 1 4430 0
5015 0056 A165 str r1, [r4, #88]
5016 .LVL354:
4431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** isrflags = READ_REG(huart->Instance->ISR);
ARM GAS /tmp/ccgDLloS.s page 187
5017 .loc 1 4431 0
5018 0058 013B subs r3, r3, #1
5019 005a 9BB2 uxth r3, r3
5020 005c A4F85E30 strh r3, [r4, #94] @ movhi
4432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5021 .loc 1 4432 0
5022 0060 D2F81CB0 ldr fp, [r2, #28]
5023 .LVL355:
4435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5024 .loc 1 4435 0
5025 0064 1BF0070F tst fp, #7
5026 0068 1DD0 beq .L708
4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5027 .loc 1 4438 0
5028 006a 1BF0010F tst fp, #1
5029 006e 08D0 beq .L709
4438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5030 .loc 1 4438 0 is_stmt 0 discriminator 1
5031 0070 3FB1 cbz r7, .L709
4440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5032 .loc 1 4440 0 is_stmt 1
5033 0072 0123 movs r3, #1
5034 0074 1362 str r3, [r2, #32]
4442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5035 .loc 1 4442 0
5036 0076 D4F88C30 ldr r3, [r4, #140]
5037 007a 43F00103 orr r3, r3, #1
5038 007e C4F88C30 str r3, [r4, #140]
5039 .L709:
4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5040 .loc 1 4446 0
5041 0082 1BF0020F tst fp, #2
5042 0086 0BF00403 and r3, fp, #4
5043 008a 2AD0 beq .L710
4446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5044 .loc 1 4446 0 is_stmt 0 discriminator 1
5045 008c 45B1 cbz r5, .L712
4448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5046 .loc 1 4448 0 is_stmt 1
5047 008e 0221 movs r1, #2
5048 .LVL356:
5049 0090 1162 str r1, [r2, #32]
4450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5050 .loc 1 4450 0
5051 0092 D4F88C10 ldr r1, [r4, #140]
5052 0096 41F00401 orr r1, r1, #4
5053 009a C4F88C10 str r1, [r4, #140]
4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5054 .loc 1 4454 0
5055 009e 23BB cbnz r3, .L713
5056 .L712:
4462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5057 .loc 1 4462 0
5058 00a0 D4F88C30 ldr r3, [r4, #140]
5059 00a4 6BBB cbnz r3, .L749
5060 .LVL357:
5061 .L708:
ARM GAS /tmp/ccgDLloS.s page 188
4477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5062 .loc 1 4477 0
5063 00a6 B4F85E30 ldrh r3, [r4, #94]
5064 00aa 9BB2 uxth r3, r3
5065 00ac A3B9 cbnz r3, .L715
4480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5066 .loc 1 4480 0
5067 00ae 2268 ldr r2, [r4]
5068 00b0 1168 ldr r1, [r2]
5069 00b2 21F48071 bic r1, r1, #256
5070 00b6 1160 str r1, [r2]
4484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5071 .loc 1 4484 0
5072 00b8 9168 ldr r1, [r2, #8]
4487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5073 .loc 1 4487 0
5074 00ba 2020 movs r0, #32
4484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5075 .loc 1 4484 0
5076 00bc 01EA0901 and r1, r1, r9
5077 00c0 9160 str r1, [r2, #8]
4487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5078 .loc 1 4487 0
5079 00c2 C4F88800 str r0, [r4, #136]
4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5080 .loc 1 4494 0
5081 00c6 E16E ldr r1, [r4, #108]
4490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5082 .loc 1 4490 0
5083 00c8 2367 str r3, [r4, #112]
4494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5084 .loc 1 4494 0
5085 00ca 0129 cmp r1, #1
5086 00cc 1FD0 beq .L750
4515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5087 .loc 1 4515 0
5088 00ce 2046 mov r0, r4
5089 00d0 FFF7FEFF bl HAL_UART_RxCpltCallback
5090 .LVL358:
5091 .L717:
4518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5092 .loc 1 4518 0
5093 00d4 C4F86C80 str r8, [r4, #108]
5094 .L715:
4425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5095 .loc 1 4425 0
5096 00d8 1BF0200F tst fp, #32
5097 00dc 21D0 beq .L706
5098 00de 2268 ldr r2, [r4]
5099 00e0 B2E7 b .L718
5100 .LVL359:
5101 .L710:
4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5102 .loc 1 4454 0
5103 00e2 002B cmp r3, #0
5104 00e4 DCD0 beq .L712
4454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 189
5105 .loc 1 4454 0 is_stmt 0 discriminator 1
5106 00e6 002D cmp r5, #0
5107 00e8 DAD0 beq .L712
5108 .LVL360:
5109 .L713:
4456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5110 .loc 1 4456 0 is_stmt 1
5111 00ea C2F820A0 str r10, [r2, #32]
4458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5112 .loc 1 4458 0
5113 00ee D4F88C30 ldr r3, [r4, #140]
5114 00f2 43F00203 orr r3, r3, #2
5115 00f6 C4F88C30 str r3, [r4, #140]
4462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5116 .loc 1 4462 0
5117 00fa D4F88C30 ldr r3, [r4, #140]
5118 00fe 002B cmp r3, #0
5119 0100 D1D0 beq .L708
5120 .L749:
4471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5121 .loc 1 4471 0
5122 0102 2046 mov r0, r4
5123 0104 FFF7FEFF bl HAL_UART_ErrorCallback
5124 .LVL361:
4473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5125 .loc 1 4473 0
5126 0108 C4F88C80 str r8, [r4, #140]
5127 010c CBE7 b .L708
5128 .L750:
4497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5129 .loc 1 4497 0
5130 010e 1368 ldr r3, [r2]
4504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
5131 .loc 1 4504 0
5132 0110 B4F85C10 ldrh r1, [r4, #92]
4497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5133 .loc 1 4497 0
5134 0114 23F01003 bic r3, r3, #16
5135 0118 1360 str r3, [r2]
4504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
5136 .loc 1 4504 0
5137 011a 2046 mov r0, r4
5138 011c FFF7FEFF bl HAL_UARTEx_RxEventCallback
5139 .LVL362:
5140 0120 D8E7 b .L717
5141 .LVL363:
5142 .L706:
4526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
5143 .loc 1 4526 0
5144 0122 B4F85E30 ldrh r3, [r4, #94]
5145 0126 9BB2 uxth r3, r3
5146 .LVL364:
4527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5147 .loc 1 4527 0
5148 0128 002B cmp r3, #0
5149 012a 3FF477AF beq .L703
4527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 190
5150 .loc 1 4527 0 is_stmt 0 discriminator 1
5151 012e B4F86820 ldrh r2, [r4, #104]
5152 0132 9A42 cmp r2, r3
5153 0134 7FF672AF bls .L703
4530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5154 .loc 1 4530 0 is_stmt 1
5155 0138 2368 ldr r3, [r4]
5156 .LVL365:
4533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5157 .loc 1 4533 0
5158 013a 0749 ldr r1, .L751
4530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5159 .loc 1 4530 0
5160 013c 9A68 ldr r2, [r3, #8]
5161 013e 22F08052 bic r2, r2, #268435456
5162 0142 9A60 str r2, [r3, #8]
4536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5163 .loc 1 4536 0
5164 0144 1A68 ldr r2, [r3]
4533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5165 .loc 1 4533 0
5166 0146 2167 str r1, [r4, #112]
4536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5167 .loc 1 4536 0
5168 0148 42F02002 orr r2, r2, #32
5169 014c 1A60 str r2, [r3]
5170 014e 65E7 b .L703
5171 .LVL366:
5172 .L705:
4526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
5173 .loc 1 4526 0
5174 0150 B0F85E30 ldrh r3, [r0, #94]
5175 0154 62E7 b .L703
5176 .L752:
5177 0156 00BF .align 2
5178 .L751:
5179 0158 00000000 .word UART_RxISR_16BIT
5180 015c FEFFFFEF .word -268435458
5181 .cfi_endproc
5182 .LFE398:
5184 .section .text.UART_DMARxHalfCplt,"ax",%progbits
5185 .align 1
5186 .p2align 2,,3
5187 .syntax unified
5188 .thumb
5189 .thumb_func
5190 .fpu fpv4-sp-d16
5192 UART_DMARxHalfCplt:
5193 .LFB383:
3691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
5194 .loc 1 3691 0
5195 .cfi_startproc
5196 @ args = 0, pretend = 0, frame = 0
5197 @ frame_needed = 0, uses_anonymous_args = 0
5198 .LVL367:
3692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5199 .loc 1 3692 0
ARM GAS /tmp/ccgDLloS.s page 191
5200 0000 806A ldr r0, [r0, #40]
5201 .LVL368:
3691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
5202 .loc 1 3691 0
5203 0002 08B5 push {r3, lr}
5204 .LCFI64:
5205 .cfi_def_cfa_offset 8
5206 .cfi_offset 3, -8
5207 .cfi_offset 14, -4
3696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5208 .loc 1 3696 0
5209 0004 C36E ldr r3, [r0, #108]
5210 0006 012B cmp r3, #1
5211 0008 02D0 beq .L757
3714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5212 .loc 1 3714 0
5213 000a FFF7FEFF bl HAL_UART_RxHalfCpltCallback
5214 .LVL369:
3717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5215 .loc 1 3717 0
5216 000e 08BD pop {r3, pc}
5217 .LVL370:
5218 .L757:
3703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5219 .loc 1 3703 0
5220 0010 B0F85C10 ldrh r1, [r0, #92]
5221 0014 4908 lsrs r1, r1, #1
5222 0016 FFF7FEFF bl HAL_UARTEx_RxEventCallback
5223 .LVL371:
3717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5224 .loc 1 3717 0
5225 001a 08BD pop {r3, pc}
5226 .cfi_endproc
5227 .LFE383:
5229 .section .text.UART_DMAReceiveCplt,"ax",%progbits
5230 .align 1
5231 .p2align 2,,3
5232 .syntax unified
5233 .thumb
5234 .thumb_func
5235 .fpu fpv4-sp-d16
5237 UART_DMAReceiveCplt:
5238 .LFB382:
3634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
5239 .loc 1 3634 0
5240 .cfi_startproc
5241 @ args = 0, pretend = 0, frame = 0
5242 @ frame_needed = 0, uses_anonymous_args = 0
5243 .LVL372:
5244 0000 08B5 push {r3, lr}
5245 .LCFI65:
5246 .cfi_def_cfa_offset 8
5247 .cfi_offset 3, -8
5248 .cfi_offset 14, -4
3638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5249 .loc 1 3638 0
5250 0002 0368 ldr r3, [r0]
ARM GAS /tmp/ccgDLloS.s page 192
3635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5251 .loc 1 3635 0
5252 0004 806A ldr r0, [r0, #40]
5253 .LVL373:
3638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5254 .loc 1 3638 0
5255 0006 1B68 ldr r3, [r3]
5256 0008 13F02003 ands r3, r3, #32
5257 000c 14D1 bne .L760
3643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5258 .loc 1 3643 0
5259 000e 0268 ldr r2, [r0]
3640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5260 .loc 1 3640 0
5261 0010 A0F85E30 strh r3, [r0, #94] @ movhi
3643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5262 .loc 1 3643 0
5263 0014 1368 ldr r3, [r2]
5264 0016 23F48073 bic r3, r3, #256
5265 001a 1360 str r3, [r2]
3644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5266 .loc 1 3644 0
5267 001c 9368 ldr r3, [r2, #8]
5268 001e 23F00103 bic r3, r3, #1
5269 0022 9360 str r3, [r2, #8]
3648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5270 .loc 1 3648 0
5271 0024 9368 ldr r3, [r2, #8]
3651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5272 .loc 1 3651 0
5273 0026 2021 movs r1, #32
3648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5274 .loc 1 3648 0
5275 0028 23F04003 bic r3, r3, #64
5276 002c 9360 str r3, [r2, #8]
3651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5277 .loc 1 3651 0
5278 002e C0F88810 str r1, [r0, #136]
3654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5279 .loc 1 3654 0
5280 0032 C36E ldr r3, [r0, #108]
5281 0034 012B cmp r3, #1
5282 0036 0AD0 beq .L765
5283 .L760:
3662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5284 .loc 1 3662 0
5285 0038 C36E ldr r3, [r0, #108]
5286 003a 012B cmp r3, #1
5287 003c 02D0 beq .L766
3680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5288 .loc 1 3680 0
5289 003e FFF7FEFF bl HAL_UART_RxCpltCallback
5290 .LVL374:
3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5291 .loc 1 3683 0
5292 0042 08BD pop {r3, pc}
5293 .LVL375:
ARM GAS /tmp/ccgDLloS.s page 193
5294 .L766:
3669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5295 .loc 1 3669 0
5296 0044 B0F85C10 ldrh r1, [r0, #92]
5297 0048 FFF7FEFF bl HAL_UARTEx_RxEventCallback
5298 .LVL376:
3683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5299 .loc 1 3683 0
5300 004c 08BD pop {r3, pc}
5301 .LVL377:
5302 .L765:
3656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5303 .loc 1 3656 0
5304 004e 1368 ldr r3, [r2]
5305 0050 23F01003 bic r3, r3, #16
5306 0054 1360 str r3, [r2]
5307 0056 EFE7 b .L760
5308 .cfi_endproc
5309 .LFE382:
5311 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits
5312 .align 1
5313 .p2align 2,,3
5314 .global HAL_UART_ReceiverTimeout_Config
5315 .syntax unified
5316 .thumb
5317 .thumb_func
5318 .fpu fpv4-sp-d16
5320 HAL_UART_ReceiverTimeout_Config:
5321 .LFB361:
2718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance)))
5322 .loc 1 2718 0
5323 .cfi_startproc
5324 @ args = 0, pretend = 0, frame = 0
5325 @ frame_needed = 0, uses_anonymous_args = 0
5326 @ link register save eliminated.
5327 .LVL378:
2719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5328 .loc 1 2719 0
5329 0000 0268 ldr r2, [r0]
5330 0002 044B ldr r3, .L769
5331 0004 9A42 cmp r2, r3
5332 0006 04D0 beq .L767
2722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5333 .loc 1 2722 0
5334 0008 5369 ldr r3, [r2, #20]
5335 000a 03F07F43 and r3, r3, #-16777216
5336 000e 1943 orrs r1, r1, r3
5337 .LVL379:
5338 0010 5161 str r1, [r2, #20]
5339 .L767:
2724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5340 .loc 1 2724 0
5341 0012 7047 bx lr
5342 .L770:
5343 .align 2
5344 .L769:
5345 0014 00800040 .word 1073774592
ARM GAS /tmp/ccgDLloS.s page 194
5346 .cfi_endproc
5347 .LFE361:
5349 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits
5350 .align 1
5351 .p2align 2,,3
5352 .global HAL_UART_EnableReceiverTimeout
5353 .syntax unified
5354 .thumb
5355 .thumb_func
5356 .fpu fpv4-sp-d16
5358 HAL_UART_EnableReceiverTimeout:
5359 .LFB362:
2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance)))
5360 .loc 1 2733 0
5361 .cfi_startproc
5362 @ args = 0, pretend = 0, frame = 0
5363 @ frame_needed = 0, uses_anonymous_args = 0
5364 @ link register save eliminated.
5365 .LVL380:
2734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5366 .loc 1 2734 0
5367 0000 1049 ldr r1, .L780
5368 0002 0268 ldr r2, [r0]
5369 0004 8A42 cmp r2, r1
5370 0006 1BD0 beq .L773
2736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5371 .loc 1 2736 0
5372 0008 D0F88410 ldr r1, [r0, #132]
5373 000c 2029 cmp r1, #32
5374 000e 0346 mov r3, r0
5375 0010 14D1 bne .L775
2739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5376 .loc 1 2739 0
5377 0012 90F88000 ldrb r0, [r0, #128] @ zero_extendqisi2
5378 .LVL381:
5379 0016 0128 cmp r0, #1
5380 0018 10D0 beq .L775
2741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5381 .loc 1 2741 0 discriminator 2
5382 001a 2420 movs r0, #36
2733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance)))
5383 .loc 1 2733 0 discriminator 2
5384 001c 10B4 push {r4}
5385 .LCFI66:
5386 .cfi_def_cfa_offset 4
5387 .cfi_offset 4, -4
2741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5388 .loc 1 2741 0 discriminator 2
5389 001e C3F88400 str r0, [r3, #132]
2744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5390 .loc 1 2744 0 discriminator 2
5391 0022 5068 ldr r0, [r2, #4]
2749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5392 .loc 1 2749 0 discriminator 2
5393 0024 0024 movs r4, #0
2744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5394 .loc 1 2744 0 discriminator 2
ARM GAS /tmp/ccgDLloS.s page 195
5395 0026 40F40000 orr r0, r0, #8388608
5396 002a 5060 str r0, [r2, #4]
2751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5397 .loc 1 2751 0 discriminator 2
5398 002c 2046 mov r0, r4
2749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5399 .loc 1 2749 0 discriminator 2
5400 002e 83F88040 strb r4, [r3, #128]
2746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5401 .loc 1 2746 0 discriminator 2
5402 0032 C3F88410 str r1, [r3, #132]
2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5403 .loc 1 2762 0 discriminator 2
5404 0036 5DF8044B ldr r4, [sp], #4
5405 .LCFI67:
5406 .cfi_restore 4
5407 .cfi_def_cfa_offset 0
5408 003a 7047 bx lr
5409 .L775:
2755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5410 .loc 1 2755 0
5411 003c 0220 movs r0, #2
2762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5412 .loc 1 2762 0
5413 003e 7047 bx lr
5414 .LVL382:
5415 .L773:
2760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5416 .loc 1 2760 0
5417 0040 0120 movs r0, #1
5418 .LVL383:
5419 0042 7047 bx lr
5420 .L781:
5421 .align 2
5422 .L780:
5423 0044 00800040 .word 1073774592
5424 .cfi_endproc
5425 .LFE362:
5427 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits
5428 .align 1
5429 .p2align 2,,3
5430 .global HAL_UART_DisableReceiverTimeout
5431 .syntax unified
5432 .thumb
5433 .thumb_func
5434 .fpu fpv4-sp-d16
5436 HAL_UART_DisableReceiverTimeout:
5437 .LFB363:
2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance)))
5438 .loc 1 2771 0
5439 .cfi_startproc
5440 @ args = 0, pretend = 0, frame = 0
5441 @ frame_needed = 0, uses_anonymous_args = 0
5442 @ link register save eliminated.
5443 .LVL384:
2772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5444 .loc 1 2772 0
ARM GAS /tmp/ccgDLloS.s page 196
5445 0000 1049 ldr r1, .L791
5446 0002 0268 ldr r2, [r0]
5447 0004 8A42 cmp r2, r1
5448 0006 1BD0 beq .L784
2774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5449 .loc 1 2774 0
5450 0008 D0F88410 ldr r1, [r0, #132]
5451 000c 2029 cmp r1, #32
5452 000e 0346 mov r3, r0
5453 0010 14D1 bne .L786
2777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5454 .loc 1 2777 0
5455 0012 90F88000 ldrb r0, [r0, #128] @ zero_extendqisi2
5456 .LVL385:
5457 0016 0128 cmp r0, #1
5458 0018 10D0 beq .L786
2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5459 .loc 1 2779 0 discriminator 2
5460 001a 2420 movs r0, #36
2771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if (!(IS_LPUART_INSTANCE(huart->Instance)))
5461 .loc 1 2771 0 discriminator 2
5462 001c 10B4 push {r4}
5463 .LCFI68:
5464 .cfi_def_cfa_offset 4
5465 .cfi_offset 4, -4
2779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5466 .loc 1 2779 0 discriminator 2
5467 001e C3F88400 str r0, [r3, #132]
2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5468 .loc 1 2782 0 discriminator 2
5469 0022 5068 ldr r0, [r2, #4]
2787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5470 .loc 1 2787 0 discriminator 2
5471 0024 0024 movs r4, #0
2782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5472 .loc 1 2782 0 discriminator 2
5473 0026 20F40000 bic r0, r0, #8388608
5474 002a 5060 str r0, [r2, #4]
2789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5475 .loc 1 2789 0 discriminator 2
5476 002c 2046 mov r0, r4
2787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5477 .loc 1 2787 0 discriminator 2
5478 002e 83F88040 strb r4, [r3, #128]
2784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5479 .loc 1 2784 0 discriminator 2
5480 0032 C3F88410 str r1, [r3, #132]
2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5481 .loc 1 2800 0 discriminator 2
5482 0036 5DF8044B ldr r4, [sp], #4
5483 .LCFI69:
5484 .cfi_restore 4
5485 .cfi_def_cfa_offset 0
5486 003a 7047 bx lr
5487 .L786:
2793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5488 .loc 1 2793 0
ARM GAS /tmp/ccgDLloS.s page 197
5489 003c 0220 movs r0, #2
2800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5490 .loc 1 2800 0
5491 003e 7047 bx lr
5492 .LVL386:
5493 .L784:
2798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5494 .loc 1 2798 0
5495 0040 0120 movs r0, #1
5496 .LVL387:
5497 0042 7047 bx lr
5498 .L792:
5499 .align 2
5500 .L791:
5501 0044 00800040 .word 1073774592
5502 .cfi_endproc
5503 .LFE363:
5505 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits
5506 .align 1
5507 .p2align 2,,3
5508 .global HAL_MultiProcessor_EnableMuteMode
5509 .syntax unified
5510 .thumb
5511 .thumb_func
5512 .fpu fpv4-sp-d16
5514 HAL_MultiProcessor_EnableMuteMode:
5515 .LFB364:
2809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
5516 .loc 1 2809 0
5517 .cfi_startproc
5518 @ args = 0, pretend = 0, frame = 0
5519 @ frame_needed = 0, uses_anonymous_args = 0
5520 .LVL388:
2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5521 .loc 1 2810 0
5522 0000 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
5523 0004 012B cmp r3, #1
5524 0006 60D0 beq .L805
2815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5525 .loc 1 2815 0 discriminator 2
5526 0008 0268 ldr r2, [r0]
2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5527 .loc 1 2812 0 discriminator 2
5528 000a 2423 movs r3, #36
2809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
5529 .loc 1 2809 0 discriminator 2
5530 000c 70B5 push {r4, r5, r6, lr}
5531 .LCFI70:
5532 .cfi_def_cfa_offset 16
5533 .cfi_offset 4, -16
5534 .cfi_offset 5, -12
5535 .cfi_offset 6, -8
5536 .cfi_offset 14, -4
2812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5537 .loc 1 2812 0 discriminator 2
5538 000e C0F88430 str r3, [r0, #132]
2815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 198
5539 .loc 1 2815 0 discriminator 2
5540 0012 1368 ldr r3, [r2]
5541 0014 0446 mov r4, r0
5542 0016 43F40053 orr r3, r3, #8192
2817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5543 .loc 1 2817 0 discriminator 2
5544 001a 2020 movs r0, #32
5545 .LVL389:
5546 .LBB128:
5547 .LBB129:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5548 .loc 1 3308 0 discriminator 2
5549 001c 0021 movs r1, #0
5550 .LBE129:
5551 .LBE128:
2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5552 .loc 1 2810 0 discriminator 2
5553 001e 0125 movs r5, #1
5554 0020 84F88050 strb r5, [r4, #128]
2815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5555 .loc 1 2815 0 discriminator 2
5556 0024 1360 str r3, [r2]
2817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5557 .loc 1 2817 0 discriminator 2
5558 0026 C4F88400 str r0, [r4, #132]
5559 .LVL390:
5560 .LBB158:
5561 .LBB154:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5562 .loc 1 3308 0 discriminator 2
5563 002a C4F88C10 str r1, [r4, #140]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5564 .loc 1 3311 0 discriminator 2
5565 002e FFF7FEFF bl HAL_GetTick
5566 .LVL391:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5567 .loc 1 3314 0 discriminator 2
5568 0032 2368 ldr r3, [r4]
5569 0034 1A68 ldr r2, [r3]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5570 .loc 1 3311 0 discriminator 2
5571 0036 0646 mov r6, r0
5572 .LVL392:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5573 .loc 1 3314 0 discriminator 2
5574 0038 1007 lsls r0, r2, #28
5575 .LVL393:
5576 003a 0DD4 bmi .L795
5577 .L796:
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5578 .loc 1 3325 0
5579 003c 1A68 ldr r2, [r3]
5580 003e 5007 lsls r0, r2, #29
5581 0040 31D4 bmi .L800
5582 .L804:
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5583 .loc 1 3338 0
ARM GAS /tmp/ccgDLloS.s page 199
5584 0042 0023 movs r3, #0
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5585 .loc 1 3336 0
5586 0044 2022 movs r2, #32
5587 0046 C4F88420 str r2, [r4, #132]
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5588 .loc 1 3340 0
5589 004a 84F88030 strb r3, [r4, #128]
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5590 .loc 1 3337 0
5591 004e C4F88820 str r2, [r4, #136]
3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5592 .loc 1 3342 0
5593 0052 1846 mov r0, r3
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5594 .loc 1 3338 0
5595 0054 E366 str r3, [r4, #108]
5596 .LBE154:
5597 .LBE158:
2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5598 .loc 1 2820 0
5599 0056 70BD pop {r4, r5, r6, pc}
5600 .LVL394:
5601 .L795:
5602 .LBB159:
5603 .LBB155:
5604 .LBB130:
5605 .LBB131:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5606 .loc 1 3358 0
5607 0058 DD69 ldr r5, [r3, #28]
5608 005a 15F40015 ands r5, r5, #2097152
5609 005e EDD1 bne .L796
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5610 .loc 1 3363 0
5611 0060 FFF7FEFF bl HAL_GetTick
5612 .LVL395:
5613 .LBB132:
5614 .LBB133:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5615 .loc 1 3367 0
5616 0064 2368 ldr r3, [r4]
5617 .LBE133:
5618 .LBE132:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5619 .loc 1 3363 0
5620 0066 801B subs r0, r0, r6
5621 0068 B0F1007F cmp r0, #33554432
5622 .LBB135:
5623 .LBB134:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5624 .loc 1 3367 0
5625 006c 1A68 ldr r2, [r3]
5626 .LBE134:
5627 .LBE135:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5628 .loc 1 3363 0
ARM GAS /tmp/ccgDLloS.s page 200
5629 006e 2ED2 bcs .L824
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5630 .loc 1 3378 0
5631 0070 5107 lsls r1, r2, #29
5632 0072 F1D5 bpl .L795
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5633 .loc 1 3380 0
5634 0074 DA69 ldr r2, [r3, #28]
5635 0076 1205 lsls r2, r2, #20
5636 0078 EED5 bpl .L795
5637 .L825:
5638 .LBE131:
5639 .LBE130:
5640 .LBB136:
5641 .LBB137:
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5642 .loc 1 3383 0
5643 007a 4FF40062 mov r2, #2048
5644 007e 1A62 str r2, [r3, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5645 .loc 1 3387 0
5646 0080 1A68 ldr r2, [r3]
5647 0082 22F4D072 bic r2, r2, #416
5648 0086 1A60 str r2, [r3]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5649 .loc 1 3388 0
5650 0088 9968 ldr r1, [r3, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5651 .loc 1 3390 0
5652 008a 2022 movs r2, #32
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5653 .loc 1 3388 0
5654 008c 21F00101 bic r1, r1, #1
5655 0090 9960 str r1, [r3, #8]
5656 .LBE137:
5657 .LBE136:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5658 .loc 1 3331 0
5659 0092 0320 movs r0, #3
5660 .LBB150:
5661 .LBB146:
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5662 .loc 1 3390 0
5663 0094 C4F88420 str r2, [r4, #132]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5664 .loc 1 3395 0
5665 0098 84F88050 strb r5, [r4, #128]
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
5666 .loc 1 3391 0
5667 009c C4F88820 str r2, [r4, #136]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5668 .loc 1 3392 0
5669 00a0 C4F88C20 str r2, [r4, #140]
5670 .LBE146:
5671 .LBE150:
5672 .LBE155:
5673 .LBE159:
ARM GAS /tmp/ccgDLloS.s page 201
2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5674 .loc 1 2820 0
5675 00a4 70BD pop {r4, r5, r6, pc}
5676 .LVL396:
5677 .L800:
5678 .LBB160:
5679 .LBB156:
5680 .LBB151:
5681 .LBB147:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5682 .loc 1 3358 0
5683 00a6 DD69 ldr r5, [r3, #28]
5684 00a8 15F48005 ands r5, r5, #4194304
5685 00ac C9D1 bne .L804
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5686 .loc 1 3363 0
5687 00ae FFF7FEFF bl HAL_GetTick
5688 .LVL397:
5689 .LBB138:
5690 .LBB139:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5691 .loc 1 3367 0
5692 00b2 2368 ldr r3, [r4]
5693 .LBE139:
5694 .LBE138:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5695 .loc 1 3363 0
5696 00b4 801B subs r0, r0, r6
5697 00b6 B0F1007F cmp r0, #33554432
5698 .LBB143:
5699 .LBB140:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5700 .loc 1 3367 0
5701 00ba 1A68 ldr r2, [r3]
5702 .LBE140:
5703 .LBE143:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5704 .loc 1 3363 0
5705 00bc 07D2 bcs .L824
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5706 .loc 1 3378 0
5707 00be 5107 lsls r1, r2, #29
5708 00c0 F1D5 bpl .L800
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5709 .loc 1 3380 0
5710 00c2 DA69 ldr r2, [r3, #28]
5711 00c4 1205 lsls r2, r2, #20
5712 00c6 EED5 bpl .L800
5713 00c8 D7E7 b .L825
5714 .LVL398:
5715 .L805:
5716 .LCFI71:
5717 .cfi_def_cfa_offset 0
5718 .cfi_restore 4
5719 .cfi_restore 5
5720 .cfi_restore 6
5721 .cfi_restore 14
ARM GAS /tmp/ccgDLloS.s page 202
5722 .LBE147:
5723 .LBE151:
5724 .LBE156:
5725 .LBE160:
2810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5726 .loc 1 2810 0
5727 00ca 0220 movs r0, #2
5728 .LVL399:
2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5729 .loc 1 2820 0
5730 00cc 7047 bx lr
5731 .LVL400:
5732 .L824:
5733 .LCFI72:
5734 .cfi_def_cfa_offset 16
5735 .cfi_offset 4, -16
5736 .cfi_offset 5, -12
5737 .cfi_offset 6, -8
5738 .cfi_offset 14, -4
5739 .LBB161:
5740 .LBB157:
5741 .LBB152:
5742 .LBB148:
5743 .LBB144:
5744 .LBB141:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5745 .loc 1 3367 0
5746 00ce 22F4D072 bic r2, r2, #416
5747 00d2 1A60 str r2, [r3]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5748 .loc 1 3368 0
5749 00d4 9A68 ldr r2, [r3, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5750 .loc 1 3370 0
5751 00d6 2021 movs r1, #32
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5752 .loc 1 3368 0
5753 00d8 22F00102 bic r2, r2, #1
5754 00dc 9A60 str r2, [r3, #8]
5755 .LBE141:
5756 .LBE144:
5757 .LBE148:
5758 .LBE152:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5759 .loc 1 3331 0
5760 00de 0320 movs r0, #3
5761 .LBB153:
5762 .LBB149:
5763 .LBB145:
5764 .LBB142:
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5765 .loc 1 3370 0
5766 00e0 C4F88410 str r1, [r4, #132]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5767 .loc 1 3373 0
5768 00e4 84F88050 strb r5, [r4, #128]
5769 .LVL401:
ARM GAS /tmp/ccgDLloS.s page 203
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5770 .loc 1 3371 0
5771 00e8 C4F88810 str r1, [r4, #136]
5772 .LBE142:
5773 .LBE145:
5774 .LBE149:
5775 .LBE153:
5776 .LBE157:
5777 .LBE161:
2820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5778 .loc 1 2820 0
5779 00ec 70BD pop {r4, r5, r6, pc}
5780 .cfi_endproc
5781 .LFE364:
5783 00ee 00BF .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits
5784 .align 1
5785 .p2align 2,,3
5786 .global HAL_MultiProcessor_DisableMuteMode
5787 .syntax unified
5788 .thumb
5789 .thumb_func
5790 .fpu fpv4-sp-d16
5792 HAL_MultiProcessor_DisableMuteMode:
5793 .LFB365:
2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
5794 .loc 1 2829 0
5795 .cfi_startproc
5796 @ args = 0, pretend = 0, frame = 0
5797 @ frame_needed = 0, uses_anonymous_args = 0
5798 .LVL402:
2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5799 .loc 1 2830 0
5800 0000 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
5801 0004 012B cmp r3, #1
5802 0006 60D0 beq .L838
2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5803 .loc 1 2835 0 discriminator 2
5804 0008 0268 ldr r2, [r0]
2832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5805 .loc 1 2832 0 discriminator 2
5806 000a 2423 movs r3, #36
2829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
5807 .loc 1 2829 0 discriminator 2
5808 000c 70B5 push {r4, r5, r6, lr}
5809 .LCFI73:
5810 .cfi_def_cfa_offset 16
5811 .cfi_offset 4, -16
5812 .cfi_offset 5, -12
5813 .cfi_offset 6, -8
5814 .cfi_offset 14, -4
2832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5815 .loc 1 2832 0 discriminator 2
5816 000e C0F88430 str r3, [r0, #132]
2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5817 .loc 1 2835 0 discriminator 2
5818 0012 1368 ldr r3, [r2]
5819 0014 0446 mov r4, r0
ARM GAS /tmp/ccgDLloS.s page 204
5820 0016 23F40053 bic r3, r3, #8192
2837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5821 .loc 1 2837 0 discriminator 2
5822 001a 2020 movs r0, #32
5823 .LVL403:
5824 .LBB172:
5825 .LBB173:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5826 .loc 1 3308 0 discriminator 2
5827 001c 0021 movs r1, #0
5828 .LBE173:
5829 .LBE172:
2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5830 .loc 1 2830 0 discriminator 2
5831 001e 0125 movs r5, #1
5832 0020 84F88050 strb r5, [r4, #128]
2835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5833 .loc 1 2835 0 discriminator 2
5834 0024 1360 str r3, [r2]
2837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5835 .loc 1 2837 0 discriminator 2
5836 0026 C4F88400 str r0, [r4, #132]
5837 .LVL404:
5838 .LBB202:
5839 .LBB198:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5840 .loc 1 3308 0 discriminator 2
5841 002a C4F88C10 str r1, [r4, #140]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5842 .loc 1 3311 0 discriminator 2
5843 002e FFF7FEFF bl HAL_GetTick
5844 .LVL405:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5845 .loc 1 3314 0 discriminator 2
5846 0032 2368 ldr r3, [r4]
5847 0034 1A68 ldr r2, [r3]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5848 .loc 1 3311 0 discriminator 2
5849 0036 0646 mov r6, r0
5850 .LVL406:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5851 .loc 1 3314 0 discriminator 2
5852 0038 1007 lsls r0, r2, #28
5853 .LVL407:
5854 003a 0DD4 bmi .L828
5855 .L829:
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5856 .loc 1 3325 0
5857 003c 1A68 ldr r2, [r3]
5858 003e 5007 lsls r0, r2, #29
5859 0040 31D4 bmi .L833
5860 .L837:
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5861 .loc 1 3338 0
5862 0042 0023 movs r3, #0
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5863 .loc 1 3336 0
ARM GAS /tmp/ccgDLloS.s page 205
5864 0044 2022 movs r2, #32
5865 0046 C4F88420 str r2, [r4, #132]
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5866 .loc 1 3340 0
5867 004a 84F88030 strb r3, [r4, #128]
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5868 .loc 1 3337 0
5869 004e C4F88820 str r2, [r4, #136]
3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5870 .loc 1 3342 0
5871 0052 1846 mov r0, r3
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5872 .loc 1 3338 0
5873 0054 E366 str r3, [r4, #108]
5874 .LBE198:
5875 .LBE202:
2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5876 .loc 1 2840 0
5877 0056 70BD pop {r4, r5, r6, pc}
5878 .LVL408:
5879 .L828:
5880 .LBB203:
5881 .LBB199:
5882 .LBB174:
5883 .LBB175:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5884 .loc 1 3358 0
5885 0058 DD69 ldr r5, [r3, #28]
5886 005a 15F40015 ands r5, r5, #2097152
5887 005e EDD1 bne .L829
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5888 .loc 1 3363 0
5889 0060 FFF7FEFF bl HAL_GetTick
5890 .LVL409:
5891 .LBB176:
5892 .LBB177:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5893 .loc 1 3367 0
5894 0064 2368 ldr r3, [r4]
5895 .LBE177:
5896 .LBE176:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5897 .loc 1 3363 0
5898 0066 801B subs r0, r0, r6
5899 0068 B0F1007F cmp r0, #33554432
5900 .LBB179:
5901 .LBB178:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5902 .loc 1 3367 0
5903 006c 1A68 ldr r2, [r3]
5904 .LBE178:
5905 .LBE179:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5906 .loc 1 3363 0
5907 006e 2ED2 bcs .L857
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5908 .loc 1 3378 0
ARM GAS /tmp/ccgDLloS.s page 206
5909 0070 5107 lsls r1, r2, #29
5910 0072 F1D5 bpl .L828
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5911 .loc 1 3380 0
5912 0074 DA69 ldr r2, [r3, #28]
5913 0076 1205 lsls r2, r2, #20
5914 0078 EED5 bpl .L828
5915 .L858:
5916 .LBE175:
5917 .LBE174:
5918 .LBB180:
5919 .LBB181:
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5920 .loc 1 3383 0
5921 007a 4FF40062 mov r2, #2048
5922 007e 1A62 str r2, [r3, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5923 .loc 1 3387 0
5924 0080 1A68 ldr r2, [r3]
5925 0082 22F4D072 bic r2, r2, #416
5926 0086 1A60 str r2, [r3]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5927 .loc 1 3388 0
5928 0088 9968 ldr r1, [r3, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5929 .loc 1 3390 0
5930 008a 2022 movs r2, #32
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5931 .loc 1 3388 0
5932 008c 21F00101 bic r1, r1, #1
5933 0090 9960 str r1, [r3, #8]
5934 .LBE181:
5935 .LBE180:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
5936 .loc 1 3331 0
5937 0092 0320 movs r0, #3
5938 .LBB194:
5939 .LBB190:
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
5940 .loc 1 3390 0
5941 0094 C4F88420 str r2, [r4, #132]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5942 .loc 1 3395 0
5943 0098 84F88050 strb r5, [r4, #128]
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
5944 .loc 1 3391 0
5945 009c C4F88820 str r2, [r4, #136]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5946 .loc 1 3392 0
5947 00a0 C4F88C20 str r2, [r4, #140]
5948 .LBE190:
5949 .LBE194:
5950 .LBE199:
5951 .LBE203:
2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
5952 .loc 1 2840 0
5953 00a4 70BD pop {r4, r5, r6, pc}
ARM GAS /tmp/ccgDLloS.s page 207
5954 .LVL410:
5955 .L833:
5956 .LBB204:
5957 .LBB200:
5958 .LBB195:
5959 .LBB191:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5960 .loc 1 3358 0
5961 00a6 DD69 ldr r5, [r3, #28]
5962 00a8 15F48005 ands r5, r5, #4194304
5963 00ac C9D1 bne .L837
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5964 .loc 1 3363 0
5965 00ae FFF7FEFF bl HAL_GetTick
5966 .LVL411:
5967 .LBB182:
5968 .LBB183:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5969 .loc 1 3367 0
5970 00b2 2368 ldr r3, [r4]
5971 .LBE183:
5972 .LBE182:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5973 .loc 1 3363 0
5974 00b4 801B subs r0, r0, r6
5975 00b6 B0F1007F cmp r0, #33554432
5976 .LBB187:
5977 .LBB184:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5978 .loc 1 3367 0
5979 00ba 1A68 ldr r2, [r3]
5980 .LBE184:
5981 .LBE187:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5982 .loc 1 3363 0
5983 00bc 07D2 bcs .L857
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5984 .loc 1 3378 0
5985 00be 5107 lsls r1, r2, #29
5986 00c0 F1D5 bpl .L833
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
5987 .loc 1 3380 0
5988 00c2 DA69 ldr r2, [r3, #28]
5989 00c4 1205 lsls r2, r2, #20
5990 00c6 EED5 bpl .L833
5991 00c8 D7E7 b .L858
5992 .LVL412:
5993 .L838:
5994 .LCFI74:
5995 .cfi_def_cfa_offset 0
5996 .cfi_restore 4
5997 .cfi_restore 5
5998 .cfi_restore 6
5999 .cfi_restore 14
6000 .LBE191:
6001 .LBE195:
6002 .LBE200:
ARM GAS /tmp/ccgDLloS.s page 208
6003 .LBE204:
2830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6004 .loc 1 2830 0
6005 00ca 0220 movs r0, #2
6006 .LVL413:
2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6007 .loc 1 2840 0
6008 00cc 7047 bx lr
6009 .LVL414:
6010 .L857:
6011 .LCFI75:
6012 .cfi_def_cfa_offset 16
6013 .cfi_offset 4, -16
6014 .cfi_offset 5, -12
6015 .cfi_offset 6, -8
6016 .cfi_offset 14, -4
6017 .LBB205:
6018 .LBB201:
6019 .LBB196:
6020 .LBB192:
6021 .LBB188:
6022 .LBB185:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6023 .loc 1 3367 0
6024 00ce 22F4D072 bic r2, r2, #416
6025 00d2 1A60 str r2, [r3]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6026 .loc 1 3368 0
6027 00d4 9A68 ldr r2, [r3, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
6028 .loc 1 3370 0
6029 00d6 2021 movs r1, #32
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6030 .loc 1 3368 0
6031 00d8 22F00102 bic r2, r2, #1
6032 00dc 9A60 str r2, [r3, #8]
6033 .LBE185:
6034 .LBE188:
6035 .LBE192:
6036 .LBE196:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6037 .loc 1 3331 0
6038 00de 0320 movs r0, #3
6039 .LBB197:
6040 .LBB193:
6041 .LBB189:
6042 .LBB186:
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
6043 .loc 1 3370 0
6044 00e0 C4F88410 str r1, [r4, #132]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6045 .loc 1 3373 0
6046 00e4 84F88050 strb r5, [r4, #128]
6047 .LVL415:
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6048 .loc 1 3371 0
6049 00e8 C4F88810 str r1, [r4, #136]
ARM GAS /tmp/ccgDLloS.s page 209
6050 .LBE186:
6051 .LBE189:
6052 .LBE193:
6053 .LBE197:
6054 .LBE201:
6055 .LBE205:
2840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6056 .loc 1 2840 0
6057 00ec 70BD pop {r4, r5, r6, pc}
6058 .cfi_endproc
6059 .LFE365:
6061 00ee 00BF .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
6062 .align 1
6063 .p2align 2,,3
6064 .global HAL_MultiProcessor_EnterMuteMode
6065 .syntax unified
6066 .thumb
6067 .thumb_func
6068 .fpu fpv4-sp-d16
6070 HAL_MultiProcessor_EnterMuteMode:
6071 .LFB366:
2849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
6072 .loc 1 2849 0
6073 .cfi_startproc
6074 @ args = 0, pretend = 0, frame = 0
6075 @ frame_needed = 0, uses_anonymous_args = 0
6076 @ link register save eliminated.
6077 .LVL416:
2850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6078 .loc 1 2850 0
6079 0000 0268 ldr r2, [r0]
6080 0002 9369 ldr r3, [r2, #24]
6081 0004 43F00403 orr r3, r3, #4
6082 0008 9361 str r3, [r2, #24]
2851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6083 .loc 1 2851 0
6084 000a 7047 bx lr
6085 .cfi_endproc
6086 .LFE366:
6088 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
6089 .align 1
6090 .p2align 2,,3
6091 .global HAL_HalfDuplex_EnableTransmitter
6092 .syntax unified
6093 .thumb
6094 .thumb_func
6095 .fpu fpv4-sp-d16
6097 HAL_HalfDuplex_EnableTransmitter:
6098 .LFB367:
2859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
6099 .loc 1 2859 0
6100 .cfi_startproc
6101 @ args = 0, pretend = 0, frame = 0
6102 @ frame_needed = 0, uses_anonymous_args = 0
6103 @ link register save eliminated.
6104 .LVL417:
2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
ARM GAS /tmp/ccgDLloS.s page 210
6105 .loc 1 2860 0
6106 0000 90F88020 ldrb r2, [r0, #128] @ zero_extendqisi2
6107 0004 012A cmp r2, #1
6108 0006 16D0 beq .L862
2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6109 .loc 1 2864 0 discriminator 2
6110 0008 0268 ldr r2, [r0]
2861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6111 .loc 1 2861 0 discriminator 2
6112 000a 2421 movs r1, #36
2859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
6113 .loc 1 2859 0 discriminator 2
6114 000c 30B4 push {r4, r5}
6115 .LCFI76:
6116 .cfi_def_cfa_offset 8
6117 .cfi_offset 4, -8
6118 .cfi_offset 5, -4
2861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6119 .loc 1 2861 0 discriminator 2
6120 000e C0F88410 str r1, [r0, #132]
2864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6121 .loc 1 2864 0 discriminator 2
6122 0012 1168 ldr r1, [r2]
6123 0014 21F00C01 bic r1, r1, #12
6124 0018 1160 str r1, [r2]
2867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6125 .loc 1 2867 0 discriminator 2
6126 001a 1168 ldr r1, [r2]
6127 001c 0346 mov r3, r0
2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6128 .loc 1 2871 0 discriminator 2
6129 001e 0024 movs r4, #0
2869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6130 .loc 1 2869 0 discriminator 2
6131 0020 2025 movs r5, #32
2867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6132 .loc 1 2867 0 discriminator 2
6133 0022 41F00801 orr r1, r1, #8
6134 0026 1160 str r1, [r2]
2873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6135 .loc 1 2873 0 discriminator 2
6136 0028 2046 mov r0, r4
6137 .LVL418:
2869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6138 .loc 1 2869 0 discriminator 2
6139 002a C3F88450 str r5, [r3, #132]
2871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6140 .loc 1 2871 0 discriminator 2
6141 002e 83F88040 strb r4, [r3, #128]
2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6142 .loc 1 2874 0 discriminator 2
6143 0032 30BC pop {r4, r5}
6144 .LCFI77:
6145 .cfi_restore 5
6146 .cfi_restore 4
6147 .cfi_def_cfa_offset 0
6148 0034 7047 bx lr
ARM GAS /tmp/ccgDLloS.s page 211
6149 .LVL419:
6150 .L862:
2860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
6151 .loc 1 2860 0
6152 0036 0220 movs r0, #2
6153 .LVL420:
2874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6154 .loc 1 2874 0
6155 0038 7047 bx lr
6156 .cfi_endproc
6157 .LFE367:
6159 003a 00BF .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
6160 .align 1
6161 .p2align 2,,3
6162 .global HAL_HalfDuplex_EnableReceiver
6163 .syntax unified
6164 .thumb
6165 .thumb_func
6166 .fpu fpv4-sp-d16
6168 HAL_HalfDuplex_EnableReceiver:
6169 .LFB368:
2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
6170 .loc 1 2882 0
6171 .cfi_startproc
6172 @ args = 0, pretend = 0, frame = 0
6173 @ frame_needed = 0, uses_anonymous_args = 0
6174 @ link register save eliminated.
6175 .LVL421:
2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
6176 .loc 1 2883 0
6177 0000 90F88020 ldrb r2, [r0, #128] @ zero_extendqisi2
6178 0004 012A cmp r2, #1
6179 0006 16D0 beq .L869
2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6180 .loc 1 2887 0 discriminator 2
6181 0008 0268 ldr r2, [r0]
2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6182 .loc 1 2884 0 discriminator 2
6183 000a 2421 movs r1, #36
2882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** __HAL_LOCK(huart);
6184 .loc 1 2882 0 discriminator 2
6185 000c 30B4 push {r4, r5}
6186 .LCFI78:
6187 .cfi_def_cfa_offset 8
6188 .cfi_offset 4, -8
6189 .cfi_offset 5, -4
2884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6190 .loc 1 2884 0 discriminator 2
6191 000e C0F88410 str r1, [r0, #132]
2887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6192 .loc 1 2887 0 discriminator 2
6193 0012 1168 ldr r1, [r2]
6194 0014 21F00C01 bic r1, r1, #12
6195 0018 1160 str r1, [r2]
2890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6196 .loc 1 2890 0 discriminator 2
6197 001a 1168 ldr r1, [r2]
ARM GAS /tmp/ccgDLloS.s page 212
6198 001c 0346 mov r3, r0
2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6199 .loc 1 2894 0 discriminator 2
6200 001e 0024 movs r4, #0
2892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6201 .loc 1 2892 0 discriminator 2
6202 0020 2025 movs r5, #32
2890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6203 .loc 1 2890 0 discriminator 2
6204 0022 41F00401 orr r1, r1, #4
6205 0026 1160 str r1, [r2]
2896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6206 .loc 1 2896 0 discriminator 2
6207 0028 2046 mov r0, r4
6208 .LVL422:
2892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6209 .loc 1 2892 0 discriminator 2
6210 002a C3F88450 str r5, [r3, #132]
2894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6211 .loc 1 2894 0 discriminator 2
6212 002e 83F88040 strb r4, [r3, #128]
2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6213 .loc 1 2897 0 discriminator 2
6214 0032 30BC pop {r4, r5}
6215 .LCFI79:
6216 .cfi_restore 5
6217 .cfi_restore 4
6218 .cfi_def_cfa_offset 0
6219 0034 7047 bx lr
6220 .LVL423:
6221 .L869:
2883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
6222 .loc 1 2883 0
6223 0036 0220 movs r0, #2
6224 .LVL424:
2897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6225 .loc 1 2897 0
6226 0038 7047 bx lr
6227 .cfi_endproc
6228 .LFE368:
6230 003a 00BF .section .text.HAL_LIN_SendBreak,"ax",%progbits
6231 .align 1
6232 .p2align 2,,3
6233 .global HAL_LIN_SendBreak
6234 .syntax unified
6235 .thumb
6236 .thumb_func
6237 .fpu fpv4-sp-d16
6239 HAL_LIN_SendBreak:
6240 .LFB369:
2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */
6241 .loc 1 2906 0
6242 .cfi_startproc
6243 @ args = 0, pretend = 0, frame = 0
6244 @ frame_needed = 0, uses_anonymous_args = 0
6245 @ link register save eliminated.
6246 .LVL425:
ARM GAS /tmp/ccgDLloS.s page 213
2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6247 .loc 1 2910 0
6248 0000 90F88020 ldrb r2, [r0, #128] @ zero_extendqisi2
6249 0004 012A cmp r2, #1
6250 0006 13D0 beq .L876
6251 0008 0346 mov r3, r0
2912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6252 .loc 1 2912 0 discriminator 2
6253 000a 2422 movs r2, #36
2915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6254 .loc 1 2915 0 discriminator 2
6255 000c 0068 ldr r0, [r0]
6256 .LVL426:
2906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the parameters */
6257 .loc 1 2906 0 discriminator 2
6258 000e 10B4 push {r4}
6259 .LCFI80:
6260 .cfi_def_cfa_offset 4
6261 .cfi_offset 4, -4
2912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6262 .loc 1 2912 0 discriminator 2
6263 0010 C3F88420 str r2, [r3, #132]
2915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6264 .loc 1 2915 0 discriminator 2
6265 0014 8269 ldr r2, [r0, #24]
2917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6266 .loc 1 2917 0 discriminator 2
6267 0016 2024 movs r4, #32
2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6268 .loc 1 2919 0 discriminator 2
6269 0018 0021 movs r1, #0
2915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6270 .loc 1 2915 0 discriminator 2
6271 001a 42F00202 orr r2, r2, #2
6272 001e 8261 str r2, [r0, #24]
2921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6273 .loc 1 2921 0 discriminator 2
6274 0020 0846 mov r0, r1
2917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6275 .loc 1 2917 0 discriminator 2
6276 0022 C3F88440 str r4, [r3, #132]
2919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6277 .loc 1 2919 0 discriminator 2
6278 0026 83F88010 strb r1, [r3, #128]
2922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6279 .loc 1 2922 0 discriminator 2
6280 002a 5DF8044B ldr r4, [sp], #4
6281 .LCFI81:
6282 .cfi_restore 4
6283 .cfi_def_cfa_offset 0
6284 002e 7047 bx lr
6285 .LVL427:
6286 .L876:
2910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6287 .loc 1 2910 0
6288 0030 0220 movs r0, #2
6289 .LVL428:
ARM GAS /tmp/ccgDLloS.s page 214
2922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6290 .loc 1 2922 0
6291 0032 7047 bx lr
6292 .cfi_endproc
6293 .LFE369:
6295 .section .text.HAL_UART_GetState,"ax",%progbits
6296 .align 1
6297 .p2align 2,,3
6298 .global HAL_UART_GetState
6299 .syntax unified
6300 .thumb
6301 .thumb_func
6302 .fpu fpv4-sp-d16
6304 HAL_UART_GetState:
6305 .LFB370:
2951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t temp1;
6306 .loc 1 2951 0
6307 .cfi_startproc
6308 @ args = 0, pretend = 0, frame = 0
6309 @ frame_needed = 0, uses_anonymous_args = 0
6310 @ link register save eliminated.
6311 .LVL429:
2954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** temp2 = huart->RxState;
6312 .loc 1 2954 0
6313 0000 D0F88420 ldr r2, [r0, #132]
6314 .LVL430:
2955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6315 .loc 1 2955 0
6316 0004 D0F88800 ldr r0, [r0, #136]
6317 .LVL431:
2958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6318 .loc 1 2958 0
6319 0008 1043 orrs r0, r0, r2
6320 .LVL432:
6321 000a 7047 bx lr
6322 .cfi_endproc
6323 .LFE370:
6325 .section .text.HAL_UART_GetError,"ax",%progbits
6326 .align 1
6327 .p2align 2,,3
6328 .global HAL_UART_GetError
6329 .syntax unified
6330 .thumb
6331 .thumb_func
6332 .fpu fpv4-sp-d16
6334 HAL_UART_GetError:
6335 .LFB371:
2967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** return huart->ErrorCode;
6336 .loc 1 2967 0
6337 .cfi_startproc
6338 @ args = 0, pretend = 0, frame = 0
6339 @ frame_needed = 0, uses_anonymous_args = 0
6340 @ link register save eliminated.
6341 .LVL433:
2968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6342 .loc 1 2968 0
6343 0000 D0F88C00 ldr r0, [r0, #140]
ARM GAS /tmp/ccgDLloS.s page 215
6344 .LVL434:
2969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /**
6345 .loc 1 2969 0
6346 0004 7047 bx lr
6347 .cfi_endproc
6348 .LFE371:
6350 .global __aeabi_uldivmod
6351 .global __aeabi_ldivmod
6352 0006 00BF .section .text.UART_SetConfig,"ax",%progbits
6353 .align 1
6354 .p2align 2,,3
6355 .global UART_SetConfig
6356 .syntax unified
6357 .thumb
6358 .thumb_func
6359 .fpu fpv4-sp-d16
6361 UART_SetConfig:
6362 .LFB372:
3013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tmpreg;
6363 .loc 1 3013 0
6364 .cfi_startproc
6365 @ args = 0, pretend = 0, frame = 0
6366 @ frame_needed = 0, uses_anonymous_args = 0
6367 .LVL435:
3025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6368 .loc 1 3025 0
6369 0000 0368 ldr r3, [r0]
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
6370 .loc 1 3048 0
6371 0002 8268 ldr r2, [r0, #8]
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6372 .loc 1 3049 0
6373 0004 AB49 ldr r1, .L963
3013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tmpreg;
6374 .loc 1 3013 0
6375 0006 2DE9F041 push {r4, r5, r6, r7, r8, lr}
6376 .LCFI82:
6377 .cfi_def_cfa_offset 24
6378 .cfi_offset 4, -24
6379 .cfi_offset 5, -20
6380 .cfi_offset 6, -16
6381 .cfi_offset 7, -12
6382 .cfi_offset 8, -8
6383 .cfi_offset 14, -4
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
6384 .loc 1 3048 0
6385 000a 0569 ldr r5, [r0, #16]
6386 000c 4669 ldr r6, [r0, #20]
3013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tmpreg;
6387 .loc 1 3013 0
6388 000e 0446 mov r4, r0
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
6389 .loc 1 3048 0
6390 0010 2A43 orrs r2, r2, r5
6391 0012 C069 ldr r0, [r0, #28]
6392 .LVL436:
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 216
6393 .loc 1 3049 0
6394 0014 1D68 ldr r5, [r3]
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
6395 .loc 1 3048 0
6396 0016 3243 orrs r2, r2, r6
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6397 .loc 1 3049 0
6398 0018 2940 ands r1, r1, r5
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
6399 .loc 1 3048 0
6400 001a 0243 orrs r2, r2, r0
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6401 .loc 1 3049 0
6402 001c 0A43 orrs r2, r2, r1
6403 001e 1A60 str r2, [r3]
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6404 .loc 1 3054 0
6405 0020 5A68 ldr r2, [r3, #4]
6406 0022 E568 ldr r5, [r4, #12]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6407 .loc 1 3064 0
6408 0024 A449 ldr r1, .L963+4
3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6409 .loc 1 3062 0
6410 0026 A669 ldr r6, [r4, #24]
6411 .LVL437:
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6412 .loc 1 3054 0
6413 0028 22F44052 bic r2, r2, #12288
6414 002c 2A43 orrs r2, r2, r5
6415 002e 5A60 str r2, [r3, #4]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6416 .loc 1 3064 0
6417 0030 8B42 cmp r3, r1
6418 0032 656A ldr r5, [r4, #36]
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6419 .loc 1 3068 0
6420 0034 9968 ldr r1, [r3, #8]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6421 .loc 1 3064 0
6422 0036 3FD0 beq .L884
6423 .LVL438:
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6424 .loc 1 3066 0
6425 0038 226A ldr r2, [r4, #32]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6426 .loc 1 3076 0
6427 003a A04F ldr r7, .L963+8
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6428 .loc 1 3068 0
6429 003c 21F06E41 bic r1, r1, #-301989888
6430 0040 21F43061 bic r1, r1, #2816
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6431 .loc 1 3066 0
6432 0044 3243 orrs r2, r2, r6
6433 .LVL439:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 217
6434 .loc 1 3068 0
6435 0046 0A43 orrs r2, r2, r1
6436 .LVL440:
6437 0048 9A60 str r2, [r3, #8]
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6438 .loc 1 3073 0
6439 004a DA6A ldr r2, [r3, #44]
6440 004c 22F00F02 bic r2, r2, #15
6441 0050 2A43 orrs r2, r2, r5
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6442 .loc 1 3076 0
6443 0052 BB42 cmp r3, r7
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6444 .loc 1 3073 0
6445 0054 DA62 str r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6446 .loc 1 3076 0
6447 0056 00F0D980 beq .L885
6448 .LVL441:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6449 .loc 1 3076 0 is_stmt 0 discriminator 2
6450 005a 994A ldr r2, .L963+12
6451 005c 9342 cmp r3, r2
6452 005e 09D0 beq .L957
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6453 .loc 1 3076 0 discriminator 14
6454 0060 984A ldr r2, .L963+16
6455 0062 9342 cmp r3, r2
6456 0064 00F0DA80 beq .L958
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6457 .loc 1 3076 0 discriminator 26
6458 0068 974A ldr r2, .L963+20
6459 006a 9342 cmp r3, r2
6460 006c 00F0BB80 beq .L959
6461 .L902:
3194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6462 .loc 1 3194 0 is_stmt 1
6463 0070 0120 movs r0, #1
6464 0072 9EE0 b .L895
6465 .L957:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6466 .loc 1 3076 0 discriminator 13
6467 0074 954B ldr r3, .L963+24
6468 0076 964A ldr r2, .L963+28
6469 0078 D3F88830 ldr r3, [r3, #136]
6470 007c 03F00C03 and r3, r3, #12
6471 0080 D35C ldrb r3, [r2, r3] @ zero_extendqisi2
6472 .LVL442:
6473 .L887:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6474 .loc 1 3132 0
6475 0082 B0F5004F cmp r0, #32768
6476 0086 63D0 beq .L960
3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6477 .loc 1 3175 0
6478 0088 082B cmp r3, #8
6479 008a F1D8 bhi .L902
ARM GAS /tmp/ccgDLloS.s page 218
6480 008c 01A2 adr r2, .L919
6481 008e 52F823F0 ldr pc, [r2, r3, lsl #2]
6482 0092 00BF .p2align 2
6483 .L919:
6484 0094 E1010000 .word .L897+1
6485 0098 81010000 .word .L920+1
6486 009c B1020000 .word .L921+1
6487 00a0 71000000 .word .L902+1
6488 00a4 C9010000 .word .L899+1
6489 00a8 71000000 .word .L902+1
6490 00ac 71000000 .word .L902+1
6491 00b0 71000000 .word .L902+1
6492 00b4 3D020000 .word .L930+1
6493 .LVL443:
6494 .p2align 1
6495 .L884:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6496 .loc 1 3068 0
6497 00b8 21F06E41 bic r1, r1, #-301989888
6498 00bc 21F43061 bic r1, r1, #2816
6499 00c0 3143 orrs r1, r1, r6
6500 00c2 9960 str r1, [r3, #8]
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6501 .loc 1 3073 0
6502 00c4 DA6A ldr r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6503 .loc 1 3076 0
6504 00c6 8148 ldr r0, .L963+24
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6505 .loc 1 3073 0
6506 00c8 22F00F02 bic r2, r2, #15
6507 00cc 2A43 orrs r2, r2, r5
6508 00ce DA62 str r2, [r3, #44]
6509 .LVL444:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6510 .loc 1 3076 0
6511 00d0 D0F88830 ldr r3, [r0, #136]
6512 00d4 03F44063 and r3, r3, #3072
6513 00d8 B3F5806F cmp r3, #1024
6514 00dc 00F0B380 beq .L910
6515 00e0 2ED9 bls .L961
6516 00e2 B3F5006F cmp r3, #2048
6517 00e6 00F0AC80 beq .L931
6518 00ea B3F5406F cmp r3, #3072
6519 00ee BFD1 bne .L902
3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6520 .loc 1 3094 0
6521 00f0 4FF40040 mov r0, #32768
6522 .L912:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
6523 .loc 1 3109 0
6524 00f4 6668 ldr r6, [r4, #4]
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6525 .loc 1 3106 0
6526 00f6 774B ldr r3, .L963+32
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
6527 .loc 1 3109 0
ARM GAS /tmp/ccgDLloS.s page 219
6528 00f8 06EB4601 add r1, r6, r6, lsl #1
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6529 .loc 1 3106 0
6530 00fc 33F81520 ldrh r2, [r3, r5, lsl #1]
6531 0100 B0FBF2F3 udiv r3, r0, r2
6532 .LVL445:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
6533 .loc 1 3109 0
6534 0104 9942 cmp r1, r3
6535 0106 B3D8 bhi .L902
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
6536 .loc 1 3109 0 is_stmt 0 discriminator 1
6537 0108 B3EB063F cmp r3, r6, lsl #12
6538 010c B0D8 bhi .L902
3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX))
6539 .loc 1 3118 0 is_stmt 1
6540 010e 0023 movs r3, #0
6541 .LVL446:
6542 0110 0021 movs r1, #0
6543 0112 FFF7FEFF bl __aeabi_uldivmod
6544 .LVL447:
6545 0116 0B02 lsls r3, r1, #8
6546 0118 43EA1063 orr r3, r3, r0, lsr #24
6547 011c 0202 lsls r2, r0, #8
6548 011e 7008 lsrs r0, r6, #1
6549 0120 1718 adds r7, r2, r0
6550 0122 43F10008 adc r8, r3, #0
6551 0126 3246 mov r2, r6
6552 0128 0023 movs r3, #0
6553 012a 3846 mov r0, r7
6554 012c 4146 mov r1, r8
6555 012e FFF7FEFF bl __aeabi_uldivmod
6556 .LVL448:
3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6557 .loc 1 3119 0
6558 0132 694A ldr r2, .L963+36
6559 0134 A0F54071 sub r1, r0, #768
6560 0138 9142 cmp r1, r2
3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX))
6561 .loc 1 3118 0
6562 013a 0346 mov r3, r0
6563 .LVL449:
3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6564 .loc 1 3119 0
6565 013c 98D8 bhi .L902
6566 013e 35E0 b .L954
6567 .LVL450:
6568 .L961:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6569 .loc 1 3076 0
6570 0140 002B cmp r3, #0
6571 0142 95D1 bne .L902
3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6572 .loc 1 3085 0
6573 0144 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
6574 .LVL451:
6575 .L909:
ARM GAS /tmp/ccgDLloS.s page 220
3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6576 .loc 1 3103 0
6577 0148 0028 cmp r0, #0
6578 014a 41D0 beq .L955
6579 014c 656A ldr r5, [r4, #36]
6580 014e D1E7 b .L912
6581 .LVL452:
6582 .L960:
3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6583 .loc 1 3134 0
6584 0150 082B cmp r3, #8
6585 0152 8DD8 bhi .L902
6586 0154 01A2 adr r2, .L914
6587 0156 52F823F0 ldr pc, [r2, r3, lsl #2]
6588 015a 00BF .p2align 2
6589 .L914:
6590 015c 9B020000 .word .L896+1
6591 0160 4D020000 .word .L915+1
6592 0164 A7020000 .word .L916+1
6593 0168 71000000 .word .L902+1
6594 016c A1020000 .word .L898+1
6595 0170 71000000 .word .L902+1
6596 0174 71000000 .word .L902+1
6597 0178 71000000 .word .L902+1
6598 017c AB020000 .word .L929+1
6599 .p2align 1
6600 .L920:
3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6601 .loc 1 3181 0
6602 0180 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
6603 .LVL453:
6604 .L922:
3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6605 .loc 1 3198 0
6606 0184 20B3 cbz r0, .L955
6607 .L962:
6608 0186 656A ldr r5, [r4, #36]
6609 .LVL454:
6610 .L901:
3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
6611 .loc 1 3201 0
6612 0188 6268 ldr r2, [r4, #4]
6613 018a 524B ldr r3, .L963+32
6614 018c 33F81530 ldrh r3, [r3, r5, lsl #1]
6615 0190 B0FBF3F3 udiv r3, r0, r3
6616 0194 03EB5203 add r3, r3, r2, lsr #1
6617 0198 B3FBF2F3 udiv r3, r3, r2
6618 019c 9BB2 uxth r3, r3
6619 .LVL455:
3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6620 .loc 1 3202 0
6621 019e A3F11001 sub r1, r3, #16
6622 01a2 4FF6EF72 movw r2, #65519
6623 01a6 9142 cmp r1, r2
6624 01a8 3FF662AF bhi .L902
6625 .L954:
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
ARM GAS /tmp/ccgDLloS.s page 221
6626 .loc 1 3204 0
6627 01ac 2268 ldr r2, [r4]
6628 01ae 0020 movs r0, #0
6629 01b0 D360 str r3, [r2, #12]
6630 .LVL456:
6631 .L895:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6632 .loc 1 3215 0
6633 01b2 4FF00112 mov r2, #65537
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
6634 .loc 1 3218 0
6635 01b6 0023 movs r3, #0
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6636 .loc 1 3215 0
6637 01b8 A266 str r2, [r4, #104]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6638 .loc 1 3219 0
6639 01ba C4E91C33 strd r3, r3, [r4, #112]
3222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6640 .loc 1 3222 0
6641 01be BDE8F081 pop {r4, r5, r6, r7, r8, pc}
6642 .LVL457:
6643 .L903:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6644 .loc 1 3132 0
6645 01c2 B0F5004F cmp r0, #32768
6646 01c6 6BD0 beq .L898
6647 .LVL458:
6648 .L899:
3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6649 .loc 1 3187 0
6650 01c8 FFF7FEFF bl HAL_RCC_GetSysClockFreq
6651 .LVL459:
3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6652 .loc 1 3198 0
6653 01cc 0028 cmp r0, #0
6654 01ce DAD1 bne .L962
6655 .LVL460:
6656 .L955:
6657 01d0 0020 movs r0, #0
6658 01d2 EEE7 b .L895
6659 .L956:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6660 .loc 1 3076 0 discriminator 37
6661 01d4 002B cmp r3, #0
6662 01d6 7FF44BAF bne .L902
6663 .LVL461:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6664 .loc 1 3132 0
6665 01da B0F5004F cmp r0, #32768
6666 01de 5CD0 beq .L896
6667 .LVL462:
6668 .L897:
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6669 .loc 1 3178 0
6670 01e0 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
6671 .LVL463:
ARM GAS /tmp/ccgDLloS.s page 222
3179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
6672 .loc 1 3179 0
6673 01e4 CEE7 b .L922
6674 .LVL464:
6675 .L959:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6676 .loc 1 3076 0 discriminator 37
6677 01e6 394B ldr r3, .L963+24
6678 01e8 D3F88830 ldr r3, [r3, #136]
6679 01ec 03F0C003 and r3, r3, #192
6680 01f0 402B cmp r3, #64
6681 01f2 E6D0 beq .L903
6682 01f4 EED9 bls .L956
6683 01f6 802B cmp r3, #128
6684 01f8 49D0 beq .L893
6685 01fa C02B cmp r3, #192
6686 01fc 7FF438AF bne .L902
6687 .LVL465:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6688 .loc 1 3132 0
6689 0200 B0F5004F cmp r0, #32768
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6690 .loc 1 3149 0
6691 0204 4FF40040 mov r0, #32768
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6692 .loc 1 3132 0
6693 0208 BED1 bne .L901
6694 020a 24E0 b .L900
6695 .LVL466:
6696 .L885:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6697 .loc 1 3076 0
6698 020c 2F4B ldr r3, .L963+24
6699 020e 334A ldr r2, .L963+40
6700 0210 D3F88830 ldr r3, [r3, #136]
6701 0214 03F00303 and r3, r3, #3
6702 0218 D35C ldrb r3, [r2, r3] @ zero_extendqisi2
6703 .LVL467:
6704 021a 32E7 b .L887
6705 .LVL468:
6706 .L958:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6707 .loc 1 3076 0 is_stmt 0 discriminator 25
6708 021c 2B4B ldr r3, .L963+24
6709 021e D3F88830 ldr r3, [r3, #136]
6710 0222 03F03003 and r3, r3, #48
6711 0226 102B cmp r3, #16
6712 0228 CBD0 beq .L903
6713 022a D3D9 bls .L956
6714 022c 202B cmp r3, #32
6715 022e 2ED0 beq .L893
6716 0230 302B cmp r3, #48
6717 0232 7FF41DAF bne .L902
6718 .LVL469:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6719 .loc 1 3132 0 is_stmt 1
6720 0236 B0F5004F cmp r0, #32768
ARM GAS /tmp/ccgDLloS.s page 223
6721 023a 0CD0 beq .L900
6722 .LVL470:
6723 .L930:
3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6724 .loc 1 3190 0
6725 023c 4FF40040 mov r0, #32768
6726 0240 A2E7 b .L901
6727 .L931:
3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6728 .loc 1 3088 0
6729 0242 2748 ldr r0, .L963+44
6730 0244 56E7 b .L912
6731 .L910:
3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6732 .loc 1 3091 0
6733 0246 FFF7FEFF bl HAL_RCC_GetSysClockFreq
6734 .LVL471:
3092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
6735 .loc 1 3092 0
6736 024a 7DE7 b .L909
6737 .LVL472:
6738 .L915:
3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6739 .loc 1 3140 0
6740 024c FFF7FEFF bl HAL_RCC_GetPCLK2Freq
6741 .LVL473:
6742 .L917:
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6743 .loc 1 3158 0
6744 0250 0028 cmp r0, #0
6745 0252 BDD0 beq .L955
6746 0254 656A ldr r5, [r4, #36]
6747 .LVL474:
6748 .L900:
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
6749 .loc 1 3160 0
6750 0256 6268 ldr r2, [r4, #4]
6751 0258 1E49 ldr r1, .L963+32
6752 025a 5308 lsrs r3, r2, #1
6753 025c 31F81510 ldrh r1, [r1, r5, lsl #1]
6754 0260 B0FBF1F0 udiv r0, r0, r1
6755 0264 03EB4003 add r3, r3, r0, lsl #1
6756 0268 B3FBF2F3 udiv r3, r3, r2
6757 026c 9AB2 uxth r2, r3
6758 .LVL475:
3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6759 .loc 1 3161 0
6760 026e A2F11000 sub r0, r2, #16
6761 0272 4FF6EF71 movw r1, #65519
6762 0276 8842 cmp r0, r1
6763 0278 3FF6FAAE bhi .L902
3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
6764 .loc 1 3163 0
6765 027c 23F00F03 bic r3, r3, #15
6766 0280 9BB2 uxth r3, r3
6767 .LVL476:
3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
ARM GAS /tmp/ccgDLloS.s page 224
6768 .loc 1 3164 0
6769 0282 C2F34202 ubfx r2, r2, #1, #3
6770 .LVL477:
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6771 .loc 1 3165 0
6772 0286 2168 ldr r1, [r4]
6773 0288 1343 orrs r3, r3, r2
6774 .LVL478:
6775 028a CB60 str r3, [r1, #12]
6776 028c A0E7 b .L955
6777 .LVL479:
6778 .L893:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6779 .loc 1 3132 0
6780 028e B0F5004F cmp r0, #32768
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6781 .loc 1 3143 0
6782 0292 1348 ldr r0, .L963+44
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6783 .loc 1 3132 0
6784 0294 7FF478AF bne .L901
6785 0298 DDE7 b .L900
6786 .LVL480:
6787 .L896:
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6788 .loc 1 3137 0
6789 029a FFF7FEFF bl HAL_RCC_GetPCLK1Freq
6790 .LVL481:
3138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK2:
6791 .loc 1 3138 0
6792 029e D7E7 b .L917
6793 .LVL482:
6794 .L898:
3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6795 .loc 1 3146 0
6796 02a0 FFF7FEFF bl HAL_RCC_GetSysClockFreq
6797 .LVL483:
3147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
6798 .loc 1 3147 0
6799 02a4 D4E7 b .L917
6800 .LVL484:
6801 .L916:
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6802 .loc 1 3143 0
6803 02a6 0E48 ldr r0, .L963+44
6804 02a8 D5E7 b .L900
6805 .L929:
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6806 .loc 1 3149 0
6807 02aa 4FF40040 mov r0, #32768
6808 02ae D2E7 b .L900
6809 .L921:
3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
6810 .loc 1 3184 0
6811 02b0 0B48 ldr r0, .L963+44
6812 02b2 69E7 b .L901
6813 .L964:
ARM GAS /tmp/ccgDLloS.s page 225
6814 .align 2
6815 .L963:
6816 02b4 F369FFCF .word -805344781
6817 02b8 00800040 .word 1073774592
6818 02bc 00380140 .word 1073821696
6819 02c0 00440040 .word 1073759232
6820 02c4 00480040 .word 1073760256
6821 02c8 004C0040 .word 1073761280
6822 02cc 00100240 .word 1073876992
6823 02d0 00000000 .word .LANCHOR0
6824 02d4 00000000 .word .LANCHOR1
6825 02d8 FFFC0F00 .word 1047807
6826 02dc 00000000 .word .LANCHOR2
6827 02e0 0024F400 .word 16000000
6828 .cfi_endproc
6829 .LFE372:
6831 .section .text.UART_AdvFeatureConfig,"ax",%progbits
6832 .align 1
6833 .p2align 2,,3
6834 .global UART_AdvFeatureConfig
6835 .syntax unified
6836 .thumb
6837 .thumb_func
6838 .fpu fpv4-sp-d16
6840 UART_AdvFeatureConfig:
6841 .LFB373:
3230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
6842 .loc 1 3230 0
6843 .cfi_startproc
6844 @ args = 0, pretend = 0, frame = 0
6845 @ frame_needed = 0, uses_anonymous_args = 0
6846 @ link register save eliminated.
6847 .LVL485:
3235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6848 .loc 1 3235 0
6849 0000 836A ldr r3, [r0, #40]
6850 0002 DA07 lsls r2, r3, #31
3230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
6851 .loc 1 3230 0
6852 0004 10B4 push {r4}
6853 .LCFI83:
6854 .cfi_def_cfa_offset 4
6855 .cfi_offset 4, -4
3235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6856 .loc 1 3235 0
6857 0006 06D5 bpl .L966
3238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6858 .loc 1 3238 0
6859 0008 0168 ldr r1, [r0]
6860 000a C46A ldr r4, [r0, #44]
6861 000c 4A68 ldr r2, [r1, #4]
6862 000e 22F40032 bic r2, r2, #131072
6863 0012 2243 orrs r2, r2, r4
6864 0014 4A60 str r2, [r1, #4]
6865 .L966:
3242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6866 .loc 1 3242 0
ARM GAS /tmp/ccgDLloS.s page 226
6867 0016 9C07 lsls r4, r3, #30
6868 0018 06D5 bpl .L967
3245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6869 .loc 1 3245 0
6870 001a 0168 ldr r1, [r0]
6871 001c 046B ldr r4, [r0, #48]
6872 001e 4A68 ldr r2, [r1, #4]
6873 0020 22F48032 bic r2, r2, #65536
6874 0024 2243 orrs r2, r2, r4
6875 0026 4A60 str r2, [r1, #4]
6876 .L967:
3249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6877 .loc 1 3249 0
6878 0028 5907 lsls r1, r3, #29
6879 002a 06D5 bpl .L968
3252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6880 .loc 1 3252 0
6881 002c 0168 ldr r1, [r0]
6882 002e 446B ldr r4, [r0, #52]
6883 0030 4A68 ldr r2, [r1, #4]
6884 0032 22F48022 bic r2, r2, #262144
6885 0036 2243 orrs r2, r2, r4
6886 0038 4A60 str r2, [r1, #4]
6887 .L968:
3256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6888 .loc 1 3256 0
6889 003a 1A07 lsls r2, r3, #28
6890 003c 06D5 bpl .L969
3259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6891 .loc 1 3259 0
6892 003e 0168 ldr r1, [r0]
6893 0040 846B ldr r4, [r0, #56]
6894 0042 4A68 ldr r2, [r1, #4]
6895 0044 22F40042 bic r2, r2, #32768
6896 0048 2243 orrs r2, r2, r4
6897 004a 4A60 str r2, [r1, #4]
6898 .L969:
3263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6899 .loc 1 3263 0
6900 004c DC06 lsls r4, r3, #27
6901 004e 06D5 bpl .L970
3266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6902 .loc 1 3266 0
6903 0050 0168 ldr r1, [r0]
6904 0052 C46B ldr r4, [r0, #60]
6905 0054 8A68 ldr r2, [r1, #8]
6906 0056 22F48052 bic r2, r2, #4096
6907 005a 2243 orrs r2, r2, r4
6908 005c 8A60 str r2, [r1, #8]
6909 .L970:
3270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6910 .loc 1 3270 0
6911 005e 9906 lsls r1, r3, #26
6912 0060 06D5 bpl .L971
3273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6913 .loc 1 3273 0
6914 0062 0168 ldr r1, [r0]
ARM GAS /tmp/ccgDLloS.s page 227
6915 0064 046C ldr r4, [r0, #64]
6916 0066 8A68 ldr r2, [r1, #8]
6917 0068 22F40052 bic r2, r2, #8192
6918 006c 2243 orrs r2, r2, r4
6919 006e 8A60 str r2, [r1, #8]
6920 .L971:
3277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6921 .loc 1 3277 0
6922 0070 5A06 lsls r2, r3, #25
6923 0072 09D5 bpl .L973
3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
6924 .loc 1 3281 0
6925 0074 0168 ldr r1, [r0]
6926 0076 446C ldr r4, [r0, #68]
6927 0078 4A68 ldr r2, [r1, #4]
6928 007a 22F48012 bic r2, r2, #1048576
6929 007e 2243 orrs r2, r2, r4
3283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6930 .loc 1 3283 0
6931 0080 B4F5801F cmp r4, #1048576
3281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
6932 .loc 1 3281 0
6933 0084 4A60 str r2, [r1, #4]
3283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6934 .loc 1 3283 0
6935 0086 0BD0 beq .L998
6936 .L973:
3291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6937 .loc 1 3291 0
6938 0088 1B06 lsls r3, r3, #24
6939 008a 06D5 bpl .L965
3294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6940 .loc 1 3294 0
6941 008c 0268 ldr r2, [r0]
6942 008e C16C ldr r1, [r0, #76]
6943 0090 5368 ldr r3, [r2, #4]
6944 0092 23F40023 bic r3, r3, #524288
6945 0096 0B43 orrs r3, r3, r1
6946 0098 5360 str r3, [r2, #4]
6947 .L965:
3296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
6948 .loc 1 3296 0
6949 009a 5DF8044B ldr r4, [sp], #4
6950 .LCFI84:
6951 .cfi_remember_state
6952 .cfi_restore 4
6953 .cfi_def_cfa_offset 0
6954 009e 7047 bx lr
6955 .L998:
6956 .LCFI85:
6957 .cfi_restore_state
3286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
6958 .loc 1 3286 0
6959 00a0 4A68 ldr r2, [r1, #4]
6960 00a2 846C ldr r4, [r0, #72]
6961 00a4 22F4C002 bic r2, r2, #6291456
6962 00a8 2243 orrs r2, r2, r4
ARM GAS /tmp/ccgDLloS.s page 228
6963 00aa 4A60 str r2, [r1, #4]
6964 00ac ECE7 b .L973
6965 .cfi_endproc
6966 .LFE373:
6968 00ae 00BF .section .text.HAL_UART_Init,"ax",%progbits
6969 .align 1
6970 .p2align 2,,3
6971 .global HAL_UART_Init
6972 .syntax unified
6973 .thumb
6974 .thumb_func
6975 .fpu fpv4-sp-d16
6977 HAL_UART_Init:
6978 .LFB329:
308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
6979 .loc 1 308 0
6980 .cfi_startproc
6981 @ args = 0, pretend = 0, frame = 0
6982 @ frame_needed = 0, uses_anonymous_args = 0
6983 .LVL486:
310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6984 .loc 1 310 0
6985 0000 0028 cmp r0, #0
6986 0002 50D0 beq .L1053
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
6987 .loc 1 326 0
6988 0004 D0F88430 ldr r3, [r0, #132]
308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
6989 .loc 1 308 0
6990 0008 2DE9F041 push {r4, r5, r6, r7, r8, lr}
6991 .LCFI86:
6992 .cfi_def_cfa_offset 24
6993 .cfi_offset 4, -24
6994 .cfi_offset 5, -20
6995 .cfi_offset 6, -16
6996 .cfi_offset 7, -12
6997 .cfi_offset 8, -8
6998 .cfi_offset 14, -4
6999 000c 0446 mov r4, r0
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7000 .loc 1 326 0
7001 000e 002B cmp r3, #0
7002 0010 44D0 beq .L1110
7003 .LVL487:
7004 .L1001:
349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7005 .loc 1 349 0
7006 0012 2368 ldr r3, [r4]
7007 .LBB218:
7008 .LBB219:
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7009 .loc 1 3048 0
7010 0014 2769 ldr r7, [r4, #16]
7011 0016 6669 ldr r6, [r4, #20]
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7012 .loc 1 3049 0
7013 0018 BD49 ldr r1, .L1117
ARM GAS /tmp/ccgDLloS.s page 229
7014 .LBE219:
7015 .LBE218:
347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7016 .loc 1 347 0
7017 001a 2422 movs r2, #36
7018 001c C4F88420 str r2, [r4, #132]
349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7019 .loc 1 349 0
7020 0020 1868 ldr r0, [r3]
7021 .LBB226:
7022 .LBB220:
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7023 .loc 1 3048 0
7024 0022 A268 ldr r2, [r4, #8]
7025 .LBE220:
7026 .LBE226:
349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7027 .loc 1 349 0
7028 0024 20F00100 bic r0, r0, #1
7029 0028 1860 str r0, [r3]
7030 .LVL488:
7031 .LBB227:
7032 .LBB221:
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7033 .loc 1 3049 0
7034 002a 1D68 ldr r5, [r3]
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7035 .loc 1 3048 0
7036 002c E069 ldr r0, [r4, #28]
7037 .LVL489:
7038 002e 3A43 orrs r2, r2, r7
7039 0030 3243 orrs r2, r2, r6
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7040 .loc 1 3049 0
7041 0032 2940 ands r1, r1, r5
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7042 .loc 1 3048 0
7043 0034 0243 orrs r2, r2, r0
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7044 .loc 1 3049 0
7045 0036 0A43 orrs r2, r2, r1
7046 0038 1A60 str r2, [r3]
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7047 .loc 1 3054 0
7048 003a 5A68 ldr r2, [r3, #4]
7049 003c E168 ldr r1, [r4, #12]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7050 .loc 1 3064 0
7051 003e B54E ldr r6, .L1117+4
3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7052 .loc 1 3062 0
7053 0040 A769 ldr r7, [r4, #24]
7054 .LVL490:
7055 0042 656A ldr r5, [r4, #36]
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7056 .loc 1 3054 0
7057 0044 22F44052 bic r2, r2, #12288
ARM GAS /tmp/ccgDLloS.s page 230
7058 0048 0A43 orrs r2, r2, r1
7059 004a 5A60 str r2, [r3, #4]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7060 .loc 1 3064 0
7061 004c B342 cmp r3, r6
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7062 .loc 1 3068 0
7063 004e 9968 ldr r1, [r3, #8]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7064 .loc 1 3064 0
7065 0050 2BD0 beq .L1002
7066 .LVL491:
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7067 .loc 1 3066 0
7068 0052 226A ldr r2, [r4, #32]
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7069 .loc 1 3068 0
7070 0054 21F06E41 bic r1, r1, #-301989888
7071 0058 21F43061 bic r1, r1, #2816
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7072 .loc 1 3066 0
7073 005c 3A43 orrs r2, r2, r7
7074 .LVL492:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7075 .loc 1 3068 0
7076 005e 0A43 orrs r2, r2, r1
7077 .LVL493:
7078 0060 9A60 str r2, [r3, #8]
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7079 .loc 1 3073 0
7080 0062 DA6A ldr r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7081 .loc 1 3076 0
7082 0064 06F53846 add r6, r6, #47104
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7083 .loc 1 3073 0
7084 0068 22F00F02 bic r2, r2, #15
7085 006c 2A43 orrs r2, r2, r5
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7086 .loc 1 3076 0
7087 006e B342 cmp r3, r6
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7088 .loc 1 3073 0
7089 0070 DA62 str r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7090 .loc 1 3076 0
7091 0072 3AD0 beq .L1003
7092 .LVL494:
7093 0074 A84A ldr r2, .L1117+8
7094 0076 9342 cmp r3, r2
7095 0078 5AD0 beq .L1111
7096 007a A84A ldr r2, .L1117+12
7097 007c 9342 cmp r3, r2
7098 007e 00F03281 beq .L1112
7099 0082 A74A ldr r2, .L1117+16
7100 0084 9342 cmp r3, r2
7101 0086 00F0E980 beq .L1113
ARM GAS /tmp/ccgDLloS.s page 231
7102 .L1007:
7103 .LVL495:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7104 .loc 1 3215 0
7105 008a 4FF00112 mov r2, #65537
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
7106 .loc 1 3218 0
7107 008e 0023 movs r3, #0
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7108 .loc 1 3215 0
7109 0090 A266 str r2, [r4, #104]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7110 .loc 1 3219 0
7111 0092 C4E91C33 strd r3, r3, [r4, #112]
7112 .LVL496:
7113 .LBE221:
7114 .LBE227:
354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7115 .loc 1 354 0
7116 0096 0120 movs r0, #1
372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7117 .loc 1 372 0
7118 0098 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
7119 .LVL497:
7120 .L1110:
329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7121 .loc 1 329 0
7122 009c 80F88030 strb r3, [r0, #128]
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
7123 .loc 1 343 0
7124 00a0 FFF7FEFF bl HAL_UART_MspInit
7125 .LVL498:
7126 00a4 B5E7 b .L1001
7127 .LVL499:
7128 .L1053:
7129 .LCFI87:
7130 .cfi_def_cfa_offset 0
7131 .cfi_restore 4
7132 .cfi_restore 5
7133 .cfi_restore 6
7134 .cfi_restore 7
7135 .cfi_restore 8
7136 .cfi_restore 14
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7137 .loc 1 312 0
7138 00a6 0120 movs r0, #1
7139 .LVL500:
372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7140 .loc 1 372 0
7141 00a8 7047 bx lr
7142 .LVL501:
7143 .L1002:
7144 .LCFI88:
7145 .cfi_def_cfa_offset 24
7146 .cfi_offset 4, -24
7147 .cfi_offset 5, -20
7148 .cfi_offset 6, -16
ARM GAS /tmp/ccgDLloS.s page 232
7149 .cfi_offset 7, -12
7150 .cfi_offset 8, -8
7151 .cfi_offset 14, -4
7152 .LBB228:
7153 .LBB222:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7154 .loc 1 3068 0
7155 00aa 21F06E41 bic r1, r1, #-301989888
7156 00ae 21F43061 bic r1, r1, #2816
7157 00b2 3943 orrs r1, r1, r7
7158 00b4 9960 str r1, [r3, #8]
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7159 .loc 1 3073 0
7160 00b6 DA6A ldr r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7161 .loc 1 3076 0
7162 00b8 9A48 ldr r0, .L1117+20
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7163 .loc 1 3073 0
7164 00ba 22F00F02 bic r2, r2, #15
7165 00be 2A43 orrs r2, r2, r5
7166 00c0 DA62 str r2, [r3, #44]
7167 .LVL502:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7168 .loc 1 3076 0
7169 00c2 D0F88830 ldr r3, [r0, #136]
7170 00c6 03F44063 and r3, r3, #3072
7171 00ca B3F5806F cmp r3, #1024
7172 00ce 00F09181 beq .L1026
7173 00d2 40F25781 bls .L1114
7174 00d6 B3F5006F cmp r3, #2048
7175 00da 00F0A181 beq .L1060
7176 00de B3F5406F cmp r3, #3072
7177 00e2 D2D1 bne .L1007
3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7178 .loc 1 3094 0
7179 00e4 4FF40040 mov r0, #32768
7180 00e8 54E1 b .L1028
7181 .LVL503:
7182 .L1003:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7183 .loc 1 3076 0
7184 00ea 8E4B ldr r3, .L1117+20
7185 00ec 8E4A ldr r2, .L1117+24
7186 00ee D3F88830 ldr r3, [r3, #136]
7187 00f2 03F00303 and r3, r3, #3
7188 00f6 D35C ldrb r3, [r2, r3] @ zero_extendqisi2
7189 .LVL504:
7190 .L1005:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7191 .loc 1 3132 0
7192 00f8 B0F5004F cmp r0, #32768
7193 00fc 00F01A81 beq .L1115
3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7194 .loc 1 3175 0
7195 0100 082B cmp r3, #8
7196 0102 C2D8 bhi .L1007
ARM GAS /tmp/ccgDLloS.s page 233
7197 0104 01A2 adr r2, .L1036
7198 0106 52F823F0 ldr pc, [r2, r3, lsl #2]
7199 010a 00BF .p2align 2
7200 .L1036:
7201 010c 57020000 .word .L1023+1
7202 0110 41010000 .word .L1037+1
7203 0114 01040000 .word .L1038+1
7204 0118 8B000000 .word .L1007+1
7205 011c 51020000 .word .L1021+1
7206 0120 8B000000 .word .L1007+1
7207 0124 8B000000 .word .L1007+1
7208 0128 8B000000 .word .L1007+1
7209 012c 09030000 .word .L1059+1
7210 .LVL505:
7211 .p2align 1
7212 .L1111:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7213 .loc 1 3076 0
7214 0130 7C4B ldr r3, .L1117+20
7215 0132 7E4A ldr r2, .L1117+28
7216 0134 D3F88830 ldr r3, [r3, #136]
7217 0138 03F00C03 and r3, r3, #12
7218 013c D35C ldrb r3, [r2, r3] @ zero_extendqisi2
7219 .LVL506:
7220 013e DBE7 b .L1005
7221 .L1037:
3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7222 .loc 1 3181 0
7223 0140 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
7224 .LVL507:
7225 .L1039:
3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7226 .loc 1 3198 0
7227 0144 0028 cmp r0, #0
7228 0146 00F0C780 beq .L1027
7229 014a 656A ldr r5, [r4, #36]
7230 .LVL508:
7231 .L1019:
3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
7232 .loc 1 3201 0
7233 014c 6268 ldr r2, [r4, #4]
7234 014e 784B ldr r3, .L1117+32
7235 0150 33F81530 ldrh r3, [r3, r5, lsl #1]
7236 0154 B0FBF3F3 udiv r3, r0, r3
7237 0158 03EB5203 add r3, r3, r2, lsr #1
7238 015c B3FBF2F3 udiv r3, r3, r2
7239 0160 9BB2 uxth r3, r3
7240 .LVL509:
3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7241 .loc 1 3202 0
7242 0162 A3F11001 sub r1, r3, #16
7243 0166 4FF6EF72 movw r2, #65519
7244 016a 9142 cmp r1, r2
7245 016c 8DD8 bhi .L1007
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7246 .loc 1 3204 0
7247 016e 2068 ldr r0, [r4]
ARM GAS /tmp/ccgDLloS.s page 234
7248 .LVL510:
7249 .L1106:
7250 0170 C360 str r3, [r0, #12]
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
7251 .loc 1 3218 0
7252 0172 0022 movs r2, #0
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7253 .loc 1 3219 0
7254 0174 C4E91C22 strd r2, r2, [r4, #112]
7255 .LVL511:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7256 .loc 1 3215 0
7257 0178 4FF00111 mov r1, #65537
7258 017c A166 str r1, [r4, #104]
7259 .L1030:
7260 .LBE222:
7261 .LBE228:
357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7262 .loc 1 357 0
7263 017e A36A ldr r3, [r4, #40]
7264 0180 002B cmp r3, #0
7265 0182 40F0A580 bne .L1116
7266 .L1040:
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
7267 .loc 1 365 0
7268 0186 2368 ldr r3, [r4]
7269 0188 5A68 ldr r2, [r3, #4]
7270 018a 22F49042 bic r2, r2, #18432
7271 018e 5A60 str r2, [r3, #4]
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7272 .loc 1 366 0
7273 0190 9A68 ldr r2, [r3, #8]
7274 0192 22F02A02 bic r2, r2, #42
7275 0196 9A60 str r2, [r3, #8]
368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7276 .loc 1 368 0
7277 0198 1A68 ldr r2, [r3]
7278 .LBB229:
7279 .LBB230:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7280 .loc 1 3308 0
7281 019a 0021 movs r1, #0
7282 .LBE230:
7283 .LBE229:
368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7284 .loc 1 368 0
7285 019c 42F00102 orr r2, r2, #1
7286 01a0 1A60 str r2, [r3]
7287 .LVL512:
7288 .LBB256:
7289 .LBB253:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7290 .loc 1 3308 0
7291 01a2 C4F88C10 str r1, [r4, #140]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7292 .loc 1 3311 0
7293 01a6 FFF7FEFF bl HAL_GetTick
ARM GAS /tmp/ccgDLloS.s page 235
7294 .LVL513:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7295 .loc 1 3314 0
7296 01aa 2368 ldr r3, [r4]
7297 01ac 1A68 ldr r2, [r3]
7298 01ae 1107 lsls r1, r2, #28
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7299 .loc 1 3311 0
7300 01b0 0646 mov r6, r0
7301 .LVL514:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7302 .loc 1 3314 0
7303 01b2 0ED4 bmi .L1041
7304 .LVL515:
7305 .L1042:
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7306 .loc 1 3325 0
7307 01b4 1A68 ldr r2, [r3]
7308 01b6 5007 lsls r0, r2, #29
7309 01b8 33D4 bmi .L1046
7310 .L1050:
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7311 .loc 1 3338 0
7312 01ba 0023 movs r3, #0
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
7313 .loc 1 3336 0
7314 01bc 2022 movs r2, #32
7315 01be C4F88420 str r2, [r4, #132]
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7316 .loc 1 3340 0
7317 01c2 84F88030 strb r3, [r4, #128]
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
7318 .loc 1 3337 0
7319 01c6 C4F88820 str r2, [r4, #136]
3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7320 .loc 1 3342 0
7321 01ca 1846 mov r0, r3
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7322 .loc 1 3338 0
7323 01cc E366 str r3, [r4, #108]
7324 .L1099:
7325 .LBE253:
7326 .LBE256:
372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7327 .loc 1 372 0
7328 01ce BDE8F081 pop {r4, r5, r6, r7, r8, pc}
7329 .LVL516:
7330 .L1041:
7331 .LBB257:
7332 .LBB254:
7333 .LBB231:
7334 .LBB232:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7335 .loc 1 3358 0
7336 01d2 DD69 ldr r5, [r3, #28]
7337 01d4 15F40015 ands r5, r5, #2097152
7338 01d8 ECD1 bne .L1042
ARM GAS /tmp/ccgDLloS.s page 236
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7339 .loc 1 3363 0
7340 01da FFF7FEFF bl HAL_GetTick
7341 .LVL517:
7342 .LBB233:
7343 .LBB234:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7344 .loc 1 3367 0
7345 01de 2368 ldr r3, [r4]
7346 .LBE234:
7347 .LBE233:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7348 .loc 1 3363 0
7349 01e0 801B subs r0, r0, r6
7350 01e2 B0F1007F cmp r0, #33554432
7351 .LBB236:
7352 .LBB235:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7353 .loc 1 3367 0
7354 01e6 1A68 ldr r2, [r3]
7355 .LBE235:
7356 .LBE236:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7357 .loc 1 3363 0
7358 01e8 80F0BC80 bcs .L1107
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7359 .loc 1 3378 0
7360 01ec 5207 lsls r2, r2, #29
7361 01ee F0D5 bpl .L1041
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7362 .loc 1 3380 0
7363 01f0 DA69 ldr r2, [r3, #28]
7364 01f2 1705 lsls r7, r2, #20
7365 01f4 EDD5 bpl .L1041
7366 .L1108:
7367 .LBE232:
7368 .LBE231:
7369 .LBB237:
7370 .LBB238:
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7371 .loc 1 3383 0
7372 01f6 4FF40062 mov r2, #2048
7373 01fa 1A62 str r2, [r3, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7374 .loc 1 3387 0
7375 01fc 1A68 ldr r2, [r3]
7376 01fe 22F4D072 bic r2, r2, #416
7377 0202 1A60 str r2, [r3]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7378 .loc 1 3388 0
7379 0204 9968 ldr r1, [r3, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
7380 .loc 1 3390 0
7381 0206 2022 movs r2, #32
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7382 .loc 1 3388 0
7383 0208 21F00101 bic r1, r1, #1
ARM GAS /tmp/ccgDLloS.s page 237
7384 020c 9960 str r1, [r3, #8]
7385 .LBE238:
7386 .LBE237:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7387 .loc 1 3331 0
7388 020e 0320 movs r0, #3
7389 .LBB250:
7390 .LBB247:
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
7391 .loc 1 3390 0
7392 0210 C4F88420 str r2, [r4, #132]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7393 .loc 1 3395 0
7394 0214 84F88050 strb r5, [r4, #128]
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
7395 .loc 1 3391 0
7396 0218 C4F88820 str r2, [r4, #136]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7397 .loc 1 3392 0
7398 021c C4F88C20 str r2, [r4, #140]
7399 0220 D5E7 b .L1099
7400 .L1046:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7401 .loc 1 3358 0
7402 0222 DD69 ldr r5, [r3, #28]
7403 0224 15F48005 ands r5, r5, #4194304
7404 0228 C7D1 bne .L1050
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7405 .loc 1 3363 0
7406 022a FFF7FEFF bl HAL_GetTick
7407 .LVL518:
7408 .LBB239:
7409 .LBB240:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7410 .loc 1 3367 0
7411 022e 2368 ldr r3, [r4]
7412 .LBE240:
7413 .LBE239:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7414 .loc 1 3363 0
7415 0230 801B subs r0, r0, r6
7416 0232 B0F1007F cmp r0, #33554432
7417 .LBB244:
7418 .LBB241:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7419 .loc 1 3367 0
7420 0236 1A68 ldr r2, [r3]
7421 .LBE241:
7422 .LBE244:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7423 .loc 1 3363 0
7424 0238 80F09480 bcs .L1107
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7425 .loc 1 3378 0
7426 023c 5107 lsls r1, r2, #29
7427 023e F0D5 bpl .L1046
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 238
7428 .loc 1 3380 0
7429 0240 DA69 ldr r2, [r3, #28]
7430 0242 1205 lsls r2, r2, #20
7431 0244 EDD5 bpl .L1046
7432 0246 D6E7 b .L1108
7433 .LVL519:
7434 .L1008:
7435 .LBE247:
7436 .LBE250:
7437 .LBE254:
7438 .LBE257:
7439 .LBB258:
7440 .LBB223:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7441 .loc 1 3132 0
7442 0248 B0F5004F cmp r0, #32768
7443 024c 00F0E080 beq .L1020
7444 .LVL520:
7445 .L1021:
3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7446 .loc 1 3187 0
7447 0250 FFF7FEFF bl HAL_RCC_GetSysClockFreq
7448 .LVL521:
7449 0254 76E7 b .L1039
7450 .LVL522:
7451 .L1023:
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7452 .loc 1 3178 0
7453 0256 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
7454 .LVL523:
7455 025a 73E7 b .L1039
7456 .LVL524:
7457 .L1113:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7458 .loc 1 3076 0
7459 025c 314B ldr r3, .L1117+20
7460 025e D3F88830 ldr r3, [r3, #136]
7461 0262 03F0C003 and r3, r3, #192
7462 0266 402B cmp r3, #64
7463 0268 EED0 beq .L1008
7464 026a 26D9 bls .L1109
7465 026c 802B cmp r3, #128
7466 026e 00F0C980 beq .L1011
7467 0272 C02B cmp r3, #192
7468 0274 7FF409AF bne .L1007
7469 .LVL525:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7470 .loc 1 3132 0
7471 0278 B0F5004F cmp r0, #32768
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7472 .loc 1 3149 0
7473 027c 4FF40040 mov r0, #32768
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7474 .loc 1 3132 0
7475 0280 7FF464AF bne .L1019
7476 .LVL526:
7477 .L1018:
ARM GAS /tmp/ccgDLloS.s page 239
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
7478 .loc 1 3160 0
7479 0284 6268 ldr r2, [r4, #4]
7480 0286 2A49 ldr r1, .L1117+32
7481 0288 5308 lsrs r3, r2, #1
7482 028a 31F81510 ldrh r1, [r1, r5, lsl #1]
7483 028e B0FBF1F0 udiv r0, r0, r1
7484 0292 03EB4003 add r3, r3, r0, lsl #1
7485 0296 B3FBF2F3 udiv r3, r3, r2
7486 029a 9AB2 uxth r2, r3
7487 .LVL527:
3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7488 .loc 1 3161 0
7489 029c A2F11000 sub r0, r2, #16
7490 02a0 4FF6EF71 movw r1, #65519
7491 02a4 8842 cmp r0, r1
7492 02a6 3FF6F0AE bhi .L1007
3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
7493 .loc 1 3163 0
7494 02aa 23F00F03 bic r3, r3, #15
7495 02ae 9BB2 uxth r3, r3
7496 .LVL528:
3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
7497 .loc 1 3164 0
7498 02b0 C2F34202 ubfx r2, r2, #1, #3
7499 .LVL529:
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7500 .loc 1 3165 0
7501 02b4 2068 ldr r0, [r4]
7502 .LVL530:
7503 02b6 1343 orrs r3, r3, r2
7504 02b8 5AE7 b .L1106
7505 .L1109:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7506 .loc 1 3076 0
7507 02ba 002B cmp r3, #0
7508 02bc 7FF4E5AE bne .L1007
7509 .LVL531:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7510 .loc 1 3132 0
7511 02c0 B0F5004F cmp r0, #32768
7512 02c4 C7D1 bne .L1023
7513 .LVL532:
7514 .L1022:
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7515 .loc 1 3137 0
7516 02c6 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
7517 .LVL533:
7518 .L1035:
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7519 .loc 1 3158 0
7520 02ca 28B1 cbz r0, .L1027
7521 02cc 656A ldr r5, [r4, #36]
7522 02ce D9E7 b .L1018
7523 .LVL534:
7524 .L1116:
7525 .LBE223:
ARM GAS /tmp/ccgDLloS.s page 240
7526 .LBE258:
359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7527 .loc 1 359 0
7528 02d0 2046 mov r0, r4
7529 02d2 FFF7FEFF bl UART_AdvFeatureConfig
7530 .LVL535:
7531 02d6 56E7 b .L1040
7532 .LVL536:
7533 .L1027:
7534 .LBB259:
7535 .LBB224:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7536 .loc 1 3215 0
7537 02d8 4FF00112 mov r2, #65537
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
7538 .loc 1 3218 0
7539 02dc 0023 movs r3, #0
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7540 .loc 1 3215 0
7541 02de A266 str r2, [r4, #104]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7542 .loc 1 3219 0
7543 02e0 C4E91C33 strd r3, r3, [r4, #112]
7544 .LVL537:
7545 02e4 4BE7 b .L1030
7546 .LVL538:
7547 .L1112:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7548 .loc 1 3076 0
7549 02e6 0F4B ldr r3, .L1117+20
7550 02e8 D3F88830 ldr r3, [r3, #136]
7551 02ec 03F03003 and r3, r3, #48
7552 02f0 102B cmp r3, #16
7553 02f2 A9D0 beq .L1008
7554 02f4 E1D9 bls .L1109
7555 02f6 202B cmp r3, #32
7556 02f8 00F08480 beq .L1011
7557 02fc 302B cmp r3, #48
7558 02fe 7FF4C4AE bne .L1007
7559 .LVL539:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7560 .loc 1 3132 0
7561 0302 B0F5004F cmp r0, #32768
7562 0306 BDD0 beq .L1018
7563 .LVL540:
7564 .L1059:
3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7565 .loc 1 3190 0
7566 0308 4FF40040 mov r0, #32768
7567 030c 1EE7 b .L1019
7568 .L1118:
7569 030e 00BF .align 2
7570 .L1117:
7571 0310 F369FFCF .word -805344781
7572 0314 00800040 .word 1073774592
7573 0318 00440040 .word 1073759232
7574 031c 00480040 .word 1073760256
ARM GAS /tmp/ccgDLloS.s page 241
7575 0320 004C0040 .word 1073761280
7576 0324 00100240 .word 1073876992
7577 0328 00000000 .word .LANCHOR2
7578 032c 00000000 .word .LANCHOR0
7579 0330 00000000 .word .LANCHOR1
7580 .LVL541:
7581 .L1115:
3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7582 .loc 1 3134 0
7583 0334 082B cmp r3, #8
7584 0336 3FF6A8AE bhi .L1007
7585 033a 01A2 adr r2, .L1032
7586 033c 52F823F0 ldr pc, [r2, r3, lsl #2]
7587 .p2align 2
7588 .L1032:
7589 0340 C7020000 .word .L1022+1
7590 0344 FB030000 .word .L1033+1
7591 0348 17040000 .word .L1034+1
7592 034c 8B000000 .word .L1007+1
7593 0350 11040000 .word .L1020+1
7594 0354 8B000000 .word .L1007+1
7595 0358 8B000000 .word .L1007+1
7596 035c 8B000000 .word .L1007+1
7597 0360 1B040000 .word .L1058+1
7598 .LVL542:
7599 .p2align 1
7600 .L1107:
7601 .LBE224:
7602 .LBE259:
7603 .LBB260:
7604 .LBB255:
7605 .LBB251:
7606 .LBB248:
7607 .LBB245:
7608 .LBB242:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7609 .loc 1 3367 0
7610 0364 22F4D072 bic r2, r2, #416
7611 0368 1A60 str r2, [r3]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7612 .loc 1 3368 0
7613 036a 9A68 ldr r2, [r3, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
7614 .loc 1 3370 0
7615 036c 2021 movs r1, #32
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7616 .loc 1 3368 0
7617 036e 22F00102 bic r2, r2, #1
7618 0372 9A60 str r2, [r3, #8]
7619 .LBE242:
7620 .LBE245:
7621 .LBE248:
7622 .LBE251:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7623 .loc 1 3331 0
7624 0374 0320 movs r0, #3
7625 .LBB252:
ARM GAS /tmp/ccgDLloS.s page 242
7626 .LBB249:
7627 .LBB246:
7628 .LBB243:
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
7629 .loc 1 3370 0
7630 0376 C4F88410 str r1, [r4, #132]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7631 .loc 1 3373 0
7632 037a 84F88050 strb r5, [r4, #128]
7633 .LVL543:
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7634 .loc 1 3371 0
7635 037e C4F88810 str r1, [r4, #136]
7636 0382 24E7 b .L1099
7637 .LVL544:
7638 .L1114:
7639 .LBE243:
7640 .LBE246:
7641 .LBE249:
7642 .LBE252:
7643 .LBE255:
7644 .LBE260:
7645 .LBB261:
7646 .LBB225:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7647 .loc 1 3076 0
7648 0384 002B cmp r3, #0
7649 0386 7FF480AE bne .L1007
3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7650 .loc 1 3085 0
7651 038a FFF7FEFF bl HAL_RCC_GetPCLK1Freq
7652 .LVL545:
7653 .L1025:
3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7654 .loc 1 3103 0
7655 038e 0028 cmp r0, #0
7656 0390 A2D0 beq .L1027
7657 0392 656A ldr r5, [r4, #36]
7658 .LVL546:
7659 .L1028:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
7660 .loc 1 3109 0
7661 0394 6668 ldr r6, [r4, #4]
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7662 .loc 1 3106 0
7663 0396 234B ldr r3, .L1119
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
7664 .loc 1 3109 0
7665 0398 06EB4601 add r1, r6, r6, lsl #1
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7666 .loc 1 3106 0
7667 039c 33F81520 ldrh r2, [r3, r5, lsl #1]
7668 03a0 B0FBF2F3 udiv r3, r0, r2
7669 .LVL547:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
7670 .loc 1 3109 0
7671 03a4 8B42 cmp r3, r1
ARM GAS /tmp/ccgDLloS.s page 243
7672 03a6 FFF470AE bcc .L1007
7673 03aa B3EB063F cmp r3, r6, lsl #12
7674 03ae 3FF66CAE bhi .L1007
3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX))
7675 .loc 1 3118 0
7676 03b2 0025 movs r5, #0
7677 03b4 0023 movs r3, #0
7678 .LVL548:
7679 03b6 2946 mov r1, r5
7680 03b8 FFF7FEFF bl __aeabi_uldivmod
7681 .LVL549:
7682 03bc 0B02 lsls r3, r1, #8
7683 03be 43EA1063 orr r3, r3, r0, lsr #24
7684 03c2 0202 lsls r2, r0, #8
7685 03c4 7008 lsrs r0, r6, #1
7686 03c6 1718 adds r7, r2, r0
7687 03c8 43F10008 adc r8, r3, #0
7688 03cc 3246 mov r2, r6
7689 03ce 2B46 mov r3, r5
7690 03d0 3846 mov r0, r7
7691 03d2 4146 mov r1, r8
7692 03d4 FFF7FEFF bl __aeabi_uldivmod
7693 .LVL550:
3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7694 .loc 1 3119 0
7695 03d8 134B ldr r3, .L1119+4
7696 03da A0F54072 sub r2, r0, #768
7697 03de 9A42 cmp r2, r3
7698 03e0 3FF653AE bhi .L1007
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7699 .loc 1 3121 0
7700 03e4 2268 ldr r2, [r4]
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7701 .loc 1 3215 0
7702 03e6 4FF00113 mov r3, #65537
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7703 .loc 1 3121 0
7704 03ea D060 str r0, [r2, #12]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7705 .loc 1 3219 0
7706 03ec C4E91C55 strd r5, r5, [r4, #112]
7707 .LVL551:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7708 .loc 1 3215 0
7709 03f0 A366 str r3, [r4, #104]
7710 03f2 C4E6 b .L1030
7711 .LVL552:
7712 .L1026:
3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7713 .loc 1 3091 0
7714 03f4 FFF7FEFF bl HAL_RCC_GetSysClockFreq
7715 .LVL553:
7716 03f8 C9E7 b .L1025
7717 .LVL554:
7718 .L1033:
3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7719 .loc 1 3140 0
ARM GAS /tmp/ccgDLloS.s page 244
7720 03fa FFF7FEFF bl HAL_RCC_GetPCLK2Freq
7721 .LVL555:
7722 03fe 64E7 b .L1035
7723 .LVL556:
7724 .L1038:
3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7725 .loc 1 3184 0
7726 0400 0A48 ldr r0, .L1119+8
7727 0402 A3E6 b .L1019
7728 .LVL557:
7729 .L1011:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7730 .loc 1 3132 0
7731 0404 B0F5004F cmp r0, #32768
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7732 .loc 1 3143 0
7733 0408 0848 ldr r0, .L1119+8
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7734 .loc 1 3132 0
7735 040a 7FF49FAE bne .L1019
7736 040e 39E7 b .L1018
7737 .LVL558:
7738 .L1020:
3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7739 .loc 1 3146 0
7740 0410 FFF7FEFF bl HAL_RCC_GetSysClockFreq
7741 .LVL559:
7742 0414 59E7 b .L1035
7743 .LVL560:
7744 .L1034:
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7745 .loc 1 3143 0
7746 0416 0548 ldr r0, .L1119+8
7747 0418 34E7 b .L1018
7748 .L1058:
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7749 .loc 1 3149 0
7750 041a 4FF40040 mov r0, #32768
7751 041e 31E7 b .L1018
7752 .LVL561:
7753 .L1060:
3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7754 .loc 1 3088 0
7755 0420 0248 ldr r0, .L1119+8
7756 0422 B7E7 b .L1028
7757 .L1120:
7758 .align 2
7759 .L1119:
7760 0424 00000000 .word .LANCHOR1
7761 0428 FFFC0F00 .word 1047807
7762 042c 0024F400 .word 16000000
7763 .LBE225:
7764 .LBE261:
7765 .cfi_endproc
7766 .LFE329:
7768 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
7769 .align 1
ARM GAS /tmp/ccgDLloS.s page 245
7770 .p2align 2,,3
7771 .global HAL_HalfDuplex_Init
7772 .syntax unified
7773 .thumb
7774 .thumb_func
7775 .fpu fpv4-sp-d16
7777 HAL_HalfDuplex_Init:
7778 .LFB330:
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
7779 .loc 1 381 0
7780 .cfi_startproc
7781 @ args = 0, pretend = 0, frame = 0
7782 @ frame_needed = 0, uses_anonymous_args = 0
7783 .LVL562:
383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7784 .loc 1 383 0
7785 0000 0028 cmp r0, #0
7786 0002 50D0 beq .L1175
391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7787 .loc 1 391 0
7788 0004 D0F88430 ldr r3, [r0, #132]
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
7789 .loc 1 381 0
7790 0008 2DE9F041 push {r4, r5, r6, r7, r8, lr}
7791 .LCFI89:
7792 .cfi_def_cfa_offset 24
7793 .cfi_offset 4, -24
7794 .cfi_offset 5, -20
7795 .cfi_offset 6, -16
7796 .cfi_offset 7, -12
7797 .cfi_offset 8, -8
7798 .cfi_offset 14, -4
7799 000c 0446 mov r4, r0
391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7800 .loc 1 391 0
7801 000e 002B cmp r3, #0
7802 0010 44D0 beq .L1232
7803 .LVL563:
7804 .L1123:
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7805 .loc 1 414 0
7806 0012 2368 ldr r3, [r4]
7807 .LBB274:
7808 .LBB275:
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7809 .loc 1 3048 0
7810 0014 2769 ldr r7, [r4, #16]
7811 0016 6669 ldr r6, [r4, #20]
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7812 .loc 1 3049 0
7813 0018 BF49 ldr r1, .L1239
7814 .LBE275:
7815 .LBE274:
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7816 .loc 1 412 0
7817 001a 2422 movs r2, #36
7818 001c C4F88420 str r2, [r4, #132]
ARM GAS /tmp/ccgDLloS.s page 246
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7819 .loc 1 414 0
7820 0020 1868 ldr r0, [r3]
7821 .LBB282:
7822 .LBB276:
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7823 .loc 1 3048 0
7824 0022 A268 ldr r2, [r4, #8]
7825 .LBE276:
7826 .LBE282:
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7827 .loc 1 414 0
7828 0024 20F00100 bic r0, r0, #1
7829 0028 1860 str r0, [r3]
7830 .LVL564:
7831 .LBB283:
7832 .LBB277:
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7833 .loc 1 3049 0
7834 002a 1D68 ldr r5, [r3]
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7835 .loc 1 3048 0
7836 002c E069 ldr r0, [r4, #28]
7837 .LVL565:
7838 002e 3A43 orrs r2, r2, r7
7839 0030 3243 orrs r2, r2, r6
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7840 .loc 1 3049 0
7841 0032 2940 ands r1, r1, r5
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
7842 .loc 1 3048 0
7843 0034 0243 orrs r2, r2, r0
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7844 .loc 1 3049 0
7845 0036 0A43 orrs r2, r2, r1
7846 0038 1A60 str r2, [r3]
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7847 .loc 1 3054 0
7848 003a 5A68 ldr r2, [r3, #4]
7849 003c E168 ldr r1, [r4, #12]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7850 .loc 1 3064 0
7851 003e B74E ldr r6, .L1239+4
3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7852 .loc 1 3062 0
7853 0040 A769 ldr r7, [r4, #24]
7854 .LVL566:
7855 0042 656A ldr r5, [r4, #36]
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7856 .loc 1 3054 0
7857 0044 22F44052 bic r2, r2, #12288
7858 0048 0A43 orrs r2, r2, r1
7859 004a 5A60 str r2, [r3, #4]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7860 .loc 1 3064 0
7861 004c B342 cmp r3, r6
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 247
7862 .loc 1 3068 0
7863 004e 9968 ldr r1, [r3, #8]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7864 .loc 1 3064 0
7865 0050 2BD0 beq .L1124
7866 .LVL567:
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7867 .loc 1 3066 0
7868 0052 226A ldr r2, [r4, #32]
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7869 .loc 1 3068 0
7870 0054 21F06E41 bic r1, r1, #-301989888
7871 0058 21F43061 bic r1, r1, #2816
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7872 .loc 1 3066 0
7873 005c 3A43 orrs r2, r2, r7
7874 .LVL568:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7875 .loc 1 3068 0
7876 005e 0A43 orrs r2, r2, r1
7877 .LVL569:
7878 0060 9A60 str r2, [r3, #8]
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7879 .loc 1 3073 0
7880 0062 DA6A ldr r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7881 .loc 1 3076 0
7882 0064 06F53846 add r6, r6, #47104
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7883 .loc 1 3073 0
7884 0068 22F00F02 bic r2, r2, #15
7885 006c 2A43 orrs r2, r2, r5
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7886 .loc 1 3076 0
7887 006e B342 cmp r3, r6
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7888 .loc 1 3073 0
7889 0070 DA62 str r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7890 .loc 1 3076 0
7891 0072 3AD0 beq .L1125
7892 .LVL570:
7893 0074 AA4A ldr r2, .L1239+8
7894 0076 9342 cmp r3, r2
7895 0078 5AD0 beq .L1233
7896 007a AA4A ldr r2, .L1239+12
7897 007c 9342 cmp r3, r2
7898 007e 00F03681 beq .L1234
7899 0082 A94A ldr r2, .L1239+16
7900 0084 9342 cmp r3, r2
7901 0086 00F0ED80 beq .L1235
7902 .L1129:
7903 .LVL571:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7904 .loc 1 3215 0
7905 008a 4FF00112 mov r2, #65537
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
ARM GAS /tmp/ccgDLloS.s page 248
7906 .loc 1 3218 0
7907 008e 0023 movs r3, #0
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7908 .loc 1 3215 0
7909 0090 A266 str r2, [r4, #104]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7910 .loc 1 3219 0
7911 0092 C4E91C33 strd r3, r3, [r4, #112]
7912 .LVL572:
7913 .LBE277:
7914 .LBE283:
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7915 .loc 1 419 0
7916 0096 0120 movs r0, #1
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7917 .loc 1 440 0
7918 0098 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
7919 .LVL573:
7920 .L1232:
394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7921 .loc 1 394 0
7922 009c 80F88030 strb r3, [r0, #128]
408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
7923 .loc 1 408 0
7924 00a0 FFF7FEFF bl HAL_UART_MspInit
7925 .LVL574:
7926 00a4 B5E7 b .L1123
7927 .LVL575:
7928 .L1175:
7929 .LCFI90:
7930 .cfi_def_cfa_offset 0
7931 .cfi_restore 4
7932 .cfi_restore 5
7933 .cfi_restore 6
7934 .cfi_restore 7
7935 .cfi_restore 8
7936 .cfi_restore 14
385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
7937 .loc 1 385 0
7938 00a6 0120 movs r0, #1
7939 .LVL576:
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7940 .loc 1 440 0
7941 00a8 7047 bx lr
7942 .LVL577:
7943 .L1124:
7944 .LCFI91:
7945 .cfi_def_cfa_offset 24
7946 .cfi_offset 4, -24
7947 .cfi_offset 5, -20
7948 .cfi_offset 6, -16
7949 .cfi_offset 7, -12
7950 .cfi_offset 8, -8
7951 .cfi_offset 14, -4
7952 .LBB284:
7953 .LBB278:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 249
7954 .loc 1 3068 0
7955 00aa 21F06E41 bic r1, r1, #-301989888
7956 00ae 21F43061 bic r1, r1, #2816
7957 00b2 3943 orrs r1, r1, r7
7958 00b4 9960 str r1, [r3, #8]
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7959 .loc 1 3073 0
7960 00b6 DA6A ldr r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7961 .loc 1 3076 0
7962 00b8 9C48 ldr r0, .L1239+20
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7963 .loc 1 3073 0
7964 00ba 22F00F02 bic r2, r2, #15
7965 00be 2A43 orrs r2, r2, r5
7966 00c0 DA62 str r2, [r3, #44]
7967 .LVL578:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7968 .loc 1 3076 0
7969 00c2 D0F88830 ldr r3, [r0, #136]
7970 00c6 03F44063 and r3, r3, #3072
7971 00ca B3F5806F cmp r3, #1024
7972 00ce 00F09581 beq .L1148
7973 00d2 40F25B81 bls .L1236
7974 00d6 B3F5006F cmp r3, #2048
7975 00da 00F0A581 beq .L1182
7976 00de B3F5406F cmp r3, #3072
7977 00e2 D2D1 bne .L1129
3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
7978 .loc 1 3094 0
7979 00e4 4FF40040 mov r0, #32768
7980 00e8 58E1 b .L1150
7981 .LVL579:
7982 .L1125:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
7983 .loc 1 3076 0
7984 00ea 904B ldr r3, .L1239+20
7985 00ec 904A ldr r2, .L1239+24
7986 00ee D3F88830 ldr r3, [r3, #136]
7987 00f2 03F00303 and r3, r3, #3
7988 00f6 D35C ldrb r3, [r2, r3] @ zero_extendqisi2
7989 .LVL580:
7990 .L1127:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7991 .loc 1 3132 0
7992 00f8 B0F5004F cmp r0, #32768
7993 00fc 00F01E81 beq .L1237
3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
7994 .loc 1 3175 0
7995 0100 082B cmp r3, #8
7996 0102 C2D8 bhi .L1129
7997 0104 01A2 adr r2, .L1158
7998 0106 52F823F0 ldr pc, [r2, r3, lsl #2]
7999 010a 00BF .p2align 2
8000 .L1158:
8001 010c 5F020000 .word .L1145+1
8002 0110 41010000 .word .L1159+1
ARM GAS /tmp/ccgDLloS.s page 250
8003 0114 09040000 .word .L1160+1
8004 0118 8B000000 .word .L1129+1
8005 011c 59020000 .word .L1143+1
8006 0120 8B000000 .word .L1129+1
8007 0124 8B000000 .word .L1129+1
8008 0128 8B000000 .word .L1129+1
8009 012c 11030000 .word .L1181+1
8010 .LVL581:
8011 .p2align 1
8012 .L1233:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8013 .loc 1 3076 0
8014 0130 7E4B ldr r3, .L1239+20
8015 0132 804A ldr r2, .L1239+28
8016 0134 D3F88830 ldr r3, [r3, #136]
8017 0138 03F00C03 and r3, r3, #12
8018 013c D35C ldrb r3, [r2, r3] @ zero_extendqisi2
8019 .LVL582:
8020 013e DBE7 b .L1127
8021 .L1159:
3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8022 .loc 1 3181 0
8023 0140 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
8024 .LVL583:
8025 .L1161:
3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8026 .loc 1 3198 0
8027 0144 0028 cmp r0, #0
8028 0146 00F0CB80 beq .L1149
8029 014a 656A ldr r5, [r4, #36]
8030 .LVL584:
8031 .L1141:
3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
8032 .loc 1 3201 0
8033 014c 6268 ldr r2, [r4, #4]
8034 014e 7A4B ldr r3, .L1239+32
8035 0150 33F81530 ldrh r3, [r3, r5, lsl #1]
8036 0154 B0FBF3F3 udiv r3, r0, r3
8037 0158 03EB5203 add r3, r3, r2, lsr #1
8038 015c B3FBF2F3 udiv r3, r3, r2
8039 0160 9BB2 uxth r3, r3
8040 .LVL585:
3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8041 .loc 1 3202 0
8042 0162 A3F11001 sub r1, r3, #16
8043 0166 4FF6EF72 movw r2, #65519
8044 016a 9142 cmp r1, r2
8045 016c 8DD8 bhi .L1129
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8046 .loc 1 3204 0
8047 016e 2068 ldr r0, [r4]
8048 .LVL586:
8049 .L1228:
8050 0170 C360 str r3, [r0, #12]
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
8051 .loc 1 3218 0
8052 0172 0022 movs r2, #0
ARM GAS /tmp/ccgDLloS.s page 251
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8053 .loc 1 3219 0
8054 0174 C4E91C22 strd r2, r2, [r4, #112]
8055 .LVL587:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8056 .loc 1 3215 0
8057 0178 4FF00111 mov r1, #65537
8058 017c A166 str r1, [r4, #104]
8059 .L1152:
8060 .LBE278:
8061 .LBE284:
422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8062 .loc 1 422 0
8063 017e A36A ldr r3, [r4, #40]
8064 0180 002B cmp r3, #0
8065 0182 40F0A980 bne .L1238
8066 .L1162:
430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
8067 .loc 1 430 0
8068 0186 2368 ldr r3, [r4]
8069 0188 5A68 ldr r2, [r3, #4]
8070 018a 22F49042 bic r2, r2, #18432
8071 018e 5A60 str r2, [r3, #4]
431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8072 .loc 1 431 0
8073 0190 9A68 ldr r2, [r3, #8]
8074 0192 22F02202 bic r2, r2, #34
8075 0196 9A60 str r2, [r3, #8]
434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8076 .loc 1 434 0
8077 0198 9A68 ldr r2, [r3, #8]
8078 019a 42F00802 orr r2, r2, #8
8079 019e 9A60 str r2, [r3, #8]
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8080 .loc 1 436 0
8081 01a0 1A68 ldr r2, [r3]
8082 .LBB285:
8083 .LBB286:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8084 .loc 1 3308 0
8085 01a2 0021 movs r1, #0
8086 .LBE286:
8087 .LBE285:
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8088 .loc 1 436 0
8089 01a4 42F00102 orr r2, r2, #1
8090 01a8 1A60 str r2, [r3]
8091 .LVL588:
8092 .LBB312:
8093 .LBB309:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8094 .loc 1 3308 0
8095 01aa C4F88C10 str r1, [r4, #140]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8096 .loc 1 3311 0
8097 01ae FFF7FEFF bl HAL_GetTick
8098 .LVL589:
ARM GAS /tmp/ccgDLloS.s page 252
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8099 .loc 1 3314 0
8100 01b2 2368 ldr r3, [r4]
8101 01b4 1A68 ldr r2, [r3]
8102 01b6 1107 lsls r1, r2, #28
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8103 .loc 1 3311 0
8104 01b8 0646 mov r6, r0
8105 .LVL590:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8106 .loc 1 3314 0
8107 01ba 0ED4 bmi .L1163
8108 .LVL591:
8109 .L1164:
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8110 .loc 1 3325 0
8111 01bc 1A68 ldr r2, [r3]
8112 01be 5007 lsls r0, r2, #29
8113 01c0 33D4 bmi .L1168
8114 .L1172:
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8115 .loc 1 3338 0
8116 01c2 0023 movs r3, #0
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
8117 .loc 1 3336 0
8118 01c4 2022 movs r2, #32
8119 01c6 C4F88420 str r2, [r4, #132]
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8120 .loc 1 3340 0
8121 01ca 84F88030 strb r3, [r4, #128]
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
8122 .loc 1 3337 0
8123 01ce C4F88820 str r2, [r4, #136]
3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8124 .loc 1 3342 0
8125 01d2 1846 mov r0, r3
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8126 .loc 1 3338 0
8127 01d4 E366 str r3, [r4, #108]
8128 .L1221:
8129 .LBE309:
8130 .LBE312:
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8131 .loc 1 440 0
8132 01d6 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
8133 .LVL592:
8134 .L1163:
8135 .LBB313:
8136 .LBB310:
8137 .LBB287:
8138 .LBB288:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8139 .loc 1 3358 0
8140 01da DD69 ldr r5, [r3, #28]
8141 01dc 15F40015 ands r5, r5, #2097152
8142 01e0 ECD1 bne .L1164
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 253
8143 .loc 1 3363 0
8144 01e2 FFF7FEFF bl HAL_GetTick
8145 .LVL593:
8146 .LBB289:
8147 .LBB290:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8148 .loc 1 3367 0
8149 01e6 2368 ldr r3, [r4]
8150 .LBE290:
8151 .LBE289:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8152 .loc 1 3363 0
8153 01e8 801B subs r0, r0, r6
8154 01ea B0F1007F cmp r0, #33554432
8155 .LBB292:
8156 .LBB291:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8157 .loc 1 3367 0
8158 01ee 1A68 ldr r2, [r3]
8159 .LBE291:
8160 .LBE292:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8161 .loc 1 3363 0
8162 01f0 80F0BC80 bcs .L1229
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8163 .loc 1 3378 0
8164 01f4 5207 lsls r2, r2, #29
8165 01f6 F0D5 bpl .L1163
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8166 .loc 1 3380 0
8167 01f8 DA69 ldr r2, [r3, #28]
8168 01fa 1705 lsls r7, r2, #20
8169 01fc EDD5 bpl .L1163
8170 .L1230:
8171 .LBE288:
8172 .LBE287:
8173 .LBB293:
8174 .LBB294:
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8175 .loc 1 3383 0
8176 01fe 4FF40062 mov r2, #2048
8177 0202 1A62 str r2, [r3, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8178 .loc 1 3387 0
8179 0204 1A68 ldr r2, [r3]
8180 0206 22F4D072 bic r2, r2, #416
8181 020a 1A60 str r2, [r3]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8182 .loc 1 3388 0
8183 020c 9968 ldr r1, [r3, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
8184 .loc 1 3390 0
8185 020e 2022 movs r2, #32
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8186 .loc 1 3388 0
8187 0210 21F00101 bic r1, r1, #1
8188 0214 9960 str r1, [r3, #8]
ARM GAS /tmp/ccgDLloS.s page 254
8189 .LBE294:
8190 .LBE293:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8191 .loc 1 3331 0
8192 0216 0320 movs r0, #3
8193 .LBB306:
8194 .LBB303:
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
8195 .loc 1 3390 0
8196 0218 C4F88420 str r2, [r4, #132]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8197 .loc 1 3395 0
8198 021c 84F88050 strb r5, [r4, #128]
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
8199 .loc 1 3391 0
8200 0220 C4F88820 str r2, [r4, #136]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8201 .loc 1 3392 0
8202 0224 C4F88C20 str r2, [r4, #140]
8203 0228 D5E7 b .L1221
8204 .L1168:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8205 .loc 1 3358 0
8206 022a DD69 ldr r5, [r3, #28]
8207 022c 15F48005 ands r5, r5, #4194304
8208 0230 C7D1 bne .L1172
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8209 .loc 1 3363 0
8210 0232 FFF7FEFF bl HAL_GetTick
8211 .LVL594:
8212 .LBB295:
8213 .LBB296:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8214 .loc 1 3367 0
8215 0236 2368 ldr r3, [r4]
8216 .LBE296:
8217 .LBE295:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8218 .loc 1 3363 0
8219 0238 801B subs r0, r0, r6
8220 023a B0F1007F cmp r0, #33554432
8221 .LBB300:
8222 .LBB297:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8223 .loc 1 3367 0
8224 023e 1A68 ldr r2, [r3]
8225 .LBE297:
8226 .LBE300:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8227 .loc 1 3363 0
8228 0240 80F09480 bcs .L1229
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8229 .loc 1 3378 0
8230 0244 5107 lsls r1, r2, #29
8231 0246 F0D5 bpl .L1168
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8232 .loc 1 3380 0
ARM GAS /tmp/ccgDLloS.s page 255
8233 0248 DA69 ldr r2, [r3, #28]
8234 024a 1205 lsls r2, r2, #20
8235 024c EDD5 bpl .L1168
8236 024e D6E7 b .L1230
8237 .LVL595:
8238 .L1130:
8239 .LBE303:
8240 .LBE306:
8241 .LBE310:
8242 .LBE313:
8243 .LBB314:
8244 .LBB279:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8245 .loc 1 3132 0
8246 0250 B0F5004F cmp r0, #32768
8247 0254 00F0E080 beq .L1142
8248 .LVL596:
8249 .L1143:
3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8250 .loc 1 3187 0
8251 0258 FFF7FEFF bl HAL_RCC_GetSysClockFreq
8252 .LVL597:
8253 025c 72E7 b .L1161
8254 .LVL598:
8255 .L1145:
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8256 .loc 1 3178 0
8257 025e FFF7FEFF bl HAL_RCC_GetPCLK1Freq
8258 .LVL599:
8259 0262 6FE7 b .L1161
8260 .LVL600:
8261 .L1235:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8262 .loc 1 3076 0
8263 0264 314B ldr r3, .L1239+20
8264 0266 D3F88830 ldr r3, [r3, #136]
8265 026a 03F0C003 and r3, r3, #192
8266 026e 402B cmp r3, #64
8267 0270 EED0 beq .L1130
8268 0272 26D9 bls .L1231
8269 0274 802B cmp r3, #128
8270 0276 00F0C980 beq .L1133
8271 027a C02B cmp r3, #192
8272 027c 7FF405AF bne .L1129
8273 .LVL601:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8274 .loc 1 3132 0
8275 0280 B0F5004F cmp r0, #32768
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8276 .loc 1 3149 0
8277 0284 4FF40040 mov r0, #32768
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8278 .loc 1 3132 0
8279 0288 7FF460AF bne .L1141
8280 .LVL602:
8281 .L1140:
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
ARM GAS /tmp/ccgDLloS.s page 256
8282 .loc 1 3160 0
8283 028c 6268 ldr r2, [r4, #4]
8284 028e 2A49 ldr r1, .L1239+32
8285 0290 5308 lsrs r3, r2, #1
8286 0292 31F81510 ldrh r1, [r1, r5, lsl #1]
8287 0296 B0FBF1F0 udiv r0, r0, r1
8288 029a 03EB4003 add r3, r3, r0, lsl #1
8289 029e B3FBF2F3 udiv r3, r3, r2
8290 02a2 9AB2 uxth r2, r3
8291 .LVL603:
3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8292 .loc 1 3161 0
8293 02a4 A2F11000 sub r0, r2, #16
8294 02a8 4FF6EF71 movw r1, #65519
8295 02ac 8842 cmp r0, r1
8296 02ae 3FF6ECAE bhi .L1129
3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
8297 .loc 1 3163 0
8298 02b2 23F00F03 bic r3, r3, #15
8299 02b6 9BB2 uxth r3, r3
8300 .LVL604:
3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
8301 .loc 1 3164 0
8302 02b8 C2F34202 ubfx r2, r2, #1, #3
8303 .LVL605:
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8304 .loc 1 3165 0
8305 02bc 2068 ldr r0, [r4]
8306 .LVL606:
8307 02be 1343 orrs r3, r3, r2
8308 02c0 56E7 b .L1228
8309 .L1231:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8310 .loc 1 3076 0
8311 02c2 002B cmp r3, #0
8312 02c4 7FF4E1AE bne .L1129
8313 .LVL607:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8314 .loc 1 3132 0
8315 02c8 B0F5004F cmp r0, #32768
8316 02cc C7D1 bne .L1145
8317 .LVL608:
8318 .L1144:
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8319 .loc 1 3137 0
8320 02ce FFF7FEFF bl HAL_RCC_GetPCLK1Freq
8321 .LVL609:
8322 .L1157:
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8323 .loc 1 3158 0
8324 02d2 28B1 cbz r0, .L1149
8325 02d4 656A ldr r5, [r4, #36]
8326 02d6 D9E7 b .L1140
8327 .LVL610:
8328 .L1238:
8329 .LBE279:
8330 .LBE314:
ARM GAS /tmp/ccgDLloS.s page 257
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8331 .loc 1 424 0
8332 02d8 2046 mov r0, r4
8333 02da FFF7FEFF bl UART_AdvFeatureConfig
8334 .LVL611:
8335 02de 52E7 b .L1162
8336 .LVL612:
8337 .L1149:
8338 .LBB315:
8339 .LBB280:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8340 .loc 1 3215 0
8341 02e0 4FF00112 mov r2, #65537
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
8342 .loc 1 3218 0
8343 02e4 0023 movs r3, #0
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8344 .loc 1 3215 0
8345 02e6 A266 str r2, [r4, #104]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8346 .loc 1 3219 0
8347 02e8 C4E91C33 strd r3, r3, [r4, #112]
8348 .LVL613:
8349 02ec 47E7 b .L1152
8350 .LVL614:
8351 .L1234:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8352 .loc 1 3076 0
8353 02ee 0F4B ldr r3, .L1239+20
8354 02f0 D3F88830 ldr r3, [r3, #136]
8355 02f4 03F03003 and r3, r3, #48
8356 02f8 102B cmp r3, #16
8357 02fa A9D0 beq .L1130
8358 02fc E1D9 bls .L1231
8359 02fe 202B cmp r3, #32
8360 0300 00F08480 beq .L1133
8361 0304 302B cmp r3, #48
8362 0306 7FF4C0AE bne .L1129
8363 .LVL615:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8364 .loc 1 3132 0
8365 030a B0F5004F cmp r0, #32768
8366 030e BDD0 beq .L1140
8367 .LVL616:
8368 .L1181:
3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8369 .loc 1 3190 0
8370 0310 4FF40040 mov r0, #32768
8371 0314 1AE7 b .L1141
8372 .L1240:
8373 0316 00BF .align 2
8374 .L1239:
8375 0318 F369FFCF .word -805344781
8376 031c 00800040 .word 1073774592
8377 0320 00440040 .word 1073759232
8378 0324 00480040 .word 1073760256
8379 0328 004C0040 .word 1073761280
ARM GAS /tmp/ccgDLloS.s page 258
8380 032c 00100240 .word 1073876992
8381 0330 00000000 .word .LANCHOR2
8382 0334 00000000 .word .LANCHOR0
8383 0338 00000000 .word .LANCHOR1
8384 .LVL617:
8385 .L1237:
3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8386 .loc 1 3134 0
8387 033c 082B cmp r3, #8
8388 033e 3FF6A4AE bhi .L1129
8389 0342 01A2 adr r2, .L1154
8390 0344 52F823F0 ldr pc, [r2, r3, lsl #2]
8391 .p2align 2
8392 .L1154:
8393 0348 CF020000 .word .L1144+1
8394 034c 03040000 .word .L1155+1
8395 0350 1F040000 .word .L1156+1
8396 0354 8B000000 .word .L1129+1
8397 0358 19040000 .word .L1142+1
8398 035c 8B000000 .word .L1129+1
8399 0360 8B000000 .word .L1129+1
8400 0364 8B000000 .word .L1129+1
8401 0368 23040000 .word .L1180+1
8402 .LVL618:
8403 .p2align 1
8404 .L1229:
8405 .LBE280:
8406 .LBE315:
8407 .LBB316:
8408 .LBB311:
8409 .LBB307:
8410 .LBB304:
8411 .LBB301:
8412 .LBB298:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8413 .loc 1 3367 0
8414 036c 22F4D072 bic r2, r2, #416
8415 0370 1A60 str r2, [r3]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8416 .loc 1 3368 0
8417 0372 9A68 ldr r2, [r3, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
8418 .loc 1 3370 0
8419 0374 2021 movs r1, #32
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8420 .loc 1 3368 0
8421 0376 22F00102 bic r2, r2, #1
8422 037a 9A60 str r2, [r3, #8]
8423 .LBE298:
8424 .LBE301:
8425 .LBE304:
8426 .LBE307:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8427 .loc 1 3331 0
8428 037c 0320 movs r0, #3
8429 .LBB308:
8430 .LBB305:
ARM GAS /tmp/ccgDLloS.s page 259
8431 .LBB302:
8432 .LBB299:
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
8433 .loc 1 3370 0
8434 037e C4F88410 str r1, [r4, #132]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8435 .loc 1 3373 0
8436 0382 84F88050 strb r5, [r4, #128]
8437 .LVL619:
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8438 .loc 1 3371 0
8439 0386 C4F88810 str r1, [r4, #136]
8440 038a 24E7 b .L1221
8441 .LVL620:
8442 .L1236:
8443 .LBE299:
8444 .LBE302:
8445 .LBE305:
8446 .LBE308:
8447 .LBE311:
8448 .LBE316:
8449 .LBB317:
8450 .LBB281:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8451 .loc 1 3076 0
8452 038c 002B cmp r3, #0
8453 038e 7FF47CAE bne .L1129
3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8454 .loc 1 3085 0
8455 0392 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
8456 .LVL621:
8457 .L1147:
3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8458 .loc 1 3103 0
8459 0396 0028 cmp r0, #0
8460 0398 A2D0 beq .L1149
8461 039a 656A ldr r5, [r4, #36]
8462 .LVL622:
8463 .L1150:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
8464 .loc 1 3109 0
8465 039c 6668 ldr r6, [r4, #4]
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8466 .loc 1 3106 0
8467 039e 234B ldr r3, .L1241
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
8468 .loc 1 3109 0
8469 03a0 06EB4601 add r1, r6, r6, lsl #1
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8470 .loc 1 3106 0
8471 03a4 33F81520 ldrh r2, [r3, r5, lsl #1]
8472 03a8 B0FBF2F3 udiv r3, r0, r2
8473 .LVL623:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
8474 .loc 1 3109 0
8475 03ac 8B42 cmp r3, r1
8476 03ae FFF46CAE bcc .L1129
ARM GAS /tmp/ccgDLloS.s page 260
8477 03b2 B3EB063F cmp r3, r6, lsl #12
8478 03b6 3FF668AE bhi .L1129
3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX))
8479 .loc 1 3118 0
8480 03ba 0025 movs r5, #0
8481 03bc 0023 movs r3, #0
8482 .LVL624:
8483 03be 2946 mov r1, r5
8484 03c0 FFF7FEFF bl __aeabi_uldivmod
8485 .LVL625:
8486 03c4 0B02 lsls r3, r1, #8
8487 03c6 43EA1063 orr r3, r3, r0, lsr #24
8488 03ca 0202 lsls r2, r0, #8
8489 03cc 7008 lsrs r0, r6, #1
8490 03ce 1718 adds r7, r2, r0
8491 03d0 43F10008 adc r8, r3, #0
8492 03d4 3246 mov r2, r6
8493 03d6 2B46 mov r3, r5
8494 03d8 3846 mov r0, r7
8495 03da 4146 mov r1, r8
8496 03dc FFF7FEFF bl __aeabi_uldivmod
8497 .LVL626:
3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8498 .loc 1 3119 0
8499 03e0 134B ldr r3, .L1241+4
8500 03e2 A0F54072 sub r2, r0, #768
8501 03e6 9A42 cmp r2, r3
8502 03e8 3FF64FAE bhi .L1129
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8503 .loc 1 3121 0
8504 03ec 2268 ldr r2, [r4]
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8505 .loc 1 3215 0
8506 03ee 4FF00113 mov r3, #65537
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8507 .loc 1 3121 0
8508 03f2 D060 str r0, [r2, #12]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8509 .loc 1 3219 0
8510 03f4 C4E91C55 strd r5, r5, [r4, #112]
8511 .LVL627:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8512 .loc 1 3215 0
8513 03f8 A366 str r3, [r4, #104]
8514 03fa C0E6 b .L1152
8515 .LVL628:
8516 .L1148:
3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8517 .loc 1 3091 0
8518 03fc FFF7FEFF bl HAL_RCC_GetSysClockFreq
8519 .LVL629:
8520 0400 C9E7 b .L1147
8521 .LVL630:
8522 .L1155:
3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8523 .loc 1 3140 0
8524 0402 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
ARM GAS /tmp/ccgDLloS.s page 261
8525 .LVL631:
8526 0406 64E7 b .L1157
8527 .LVL632:
8528 .L1160:
3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8529 .loc 1 3184 0
8530 0408 0A48 ldr r0, .L1241+8
8531 040a 9FE6 b .L1141
8532 .LVL633:
8533 .L1133:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8534 .loc 1 3132 0
8535 040c B0F5004F cmp r0, #32768
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8536 .loc 1 3143 0
8537 0410 0848 ldr r0, .L1241+8
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8538 .loc 1 3132 0
8539 0412 7FF49BAE bne .L1141
8540 0416 39E7 b .L1140
8541 .LVL634:
8542 .L1142:
3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8543 .loc 1 3146 0
8544 0418 FFF7FEFF bl HAL_RCC_GetSysClockFreq
8545 .LVL635:
8546 041c 59E7 b .L1157
8547 .LVL636:
8548 .L1156:
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8549 .loc 1 3143 0
8550 041e 0548 ldr r0, .L1241+8
8551 0420 34E7 b .L1140
8552 .L1180:
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8553 .loc 1 3149 0
8554 0422 4FF40040 mov r0, #32768
8555 0426 31E7 b .L1140
8556 .LVL637:
8557 .L1182:
3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8558 .loc 1 3088 0
8559 0428 0248 ldr r0, .L1241+8
8560 042a B7E7 b .L1150
8561 .L1242:
8562 .align 2
8563 .L1241:
8564 042c 00000000 .word .LANCHOR1
8565 0430 FFFC0F00 .word 1047807
8566 0434 0024F400 .word 16000000
8567 .LBE281:
8568 .LBE317:
8569 .cfi_endproc
8570 .LFE330:
8572 .section .text.HAL_LIN_Init,"ax",%progbits
8573 .align 1
8574 .p2align 2,,3
ARM GAS /tmp/ccgDLloS.s page 262
8575 .global HAL_LIN_Init
8576 .syntax unified
8577 .thumb
8578 .thumb_func
8579 .fpu fpv4-sp-d16
8581 HAL_LIN_Init:
8582 .LFB331:
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
8583 .loc 1 454 0
8584 .cfi_startproc
8585 @ args = 0, pretend = 0, frame = 0
8586 @ frame_needed = 0, uses_anonymous_args = 0
8587 .LVL638:
456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8588 .loc 1 456 0
8589 0000 0028 cmp r0, #0
8590 0002 00F08280 beq .L1297
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
8591 .loc 1 454 0
8592 0006 2DE9F048 push {r4, r5, r6, r7, fp, lr}
8593 .LCFI92:
8594 .cfi_def_cfa_offset 24
8595 .cfi_offset 4, -24
8596 .cfi_offset 5, -20
8597 .cfi_offset 6, -16
8598 .cfi_offset 7, -12
8599 .cfi_offset 11, -8
8600 .cfi_offset 14, -4
467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8601 .loc 1 467 0
8602 000a C669 ldr r6, [r0, #28]
8603 000c B6F5004F cmp r6, #32768
8604 0010 0446 mov r4, r0
8605 0012 77D0 beq .L1299
472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8606 .loc 1 472 0
8607 0014 8768 ldr r7, [r0, #8]
8608 0016 002F cmp r7, #0
8609 0018 74D1 bne .L1299
477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8610 .loc 1 477 0
8611 001a D0F88430 ldr r3, [r0, #132]
8612 001e 0D46 mov r5, r1
8613 0020 002B cmp r3, #0
8614 0022 74D0 beq .L1356
8615 .LVL639:
8616 .L1245:
500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8617 .loc 1 500 0
8618 0024 2368 ldr r3, [r4]
8619 .LBB330:
8620 .LBB331:
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8621 .loc 1 3049 0
8622 0026 BA49 ldr r1, .L1362
8623 .LBE331:
8624 .LBE330:
ARM GAS /tmp/ccgDLloS.s page 263
498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8625 .loc 1 498 0
8626 0028 2420 movs r0, #36
8627 002a C4F88400 str r0, [r4, #132]
500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8628 .loc 1 500 0
8629 002e 1868 ldr r0, [r3]
8630 0030 20F00100 bic r0, r0, #1
8631 .LBB339:
8632 .LBB332:
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8633 .loc 1 3049 0
8634 0034 D4E9042C ldrd r2, ip, [r4, #16]
8635 .LBE332:
8636 .LBE339:
500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8637 .loc 1 500 0
8638 0038 1860 str r0, [r3]
8639 .LVL640:
8640 .LBB340:
8641 .LBB333:
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8642 .loc 1 3049 0
8643 003a 1868 ldr r0, [r3]
8644 003c 42EA0C02 orr r2, r2, ip
8645 0040 0140 ands r1, r1, r0
8646 0042 0A43 orrs r2, r2, r1
8647 0044 3A43 orrs r2, r2, r7
8648 0046 3243 orrs r2, r2, r6
8649 0048 1A60 str r2, [r3]
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8650 .loc 1 3054 0
8651 004a 5A68 ldr r2, [r3, #4]
8652 004c E068 ldr r0, [r4, #12]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8653 .loc 1 3064 0
8654 004e B14F ldr r7, .L1362+4
8655 .LVL641:
3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8656 .loc 1 3062 0
8657 0050 D4F818C0 ldr ip, [r4, #24]
8658 .LVL642:
8659 0054 616A ldr r1, [r4, #36]
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8660 .loc 1 3054 0
8661 0056 22F44052 bic r2, r2, #12288
8662 005a 0243 orrs r2, r2, r0
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8663 .loc 1 3064 0
8664 005c BB42 cmp r3, r7
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8665 .loc 1 3054 0
8666 005e 5A60 str r2, [r3, #4]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8667 .loc 1 3064 0
8668 0060 5CD0 beq .L1246
8669 .LVL643:
ARM GAS /tmp/ccgDLloS.s page 264
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8670 .loc 1 3068 0
8671 0062 9868 ldr r0, [r3, #8]
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8672 .loc 1 3066 0
8673 0064 226A ldr r2, [r4, #32]
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8674 .loc 1 3068 0
8675 0066 20F06E40 bic r0, r0, #-301989888
8676 006a 20F43060 bic r0, r0, #2816
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8677 .loc 1 3066 0
8678 006e 4CEA0202 orr r2, ip, r2
8679 .LVL644:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8680 .loc 1 3068 0
8681 0072 0243 orrs r2, r2, r0
8682 .LVL645:
8683 0074 9A60 str r2, [r3, #8]
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8684 .loc 1 3073 0
8685 0076 DA6A ldr r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8686 .loc 1 3076 0
8687 0078 07F53847 add r7, r7, #47104
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8688 .loc 1 3073 0
8689 007c 22F00F02 bic r2, r2, #15
8690 0080 0A43 orrs r2, r2, r1
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8691 .loc 1 3076 0
8692 0082 BB42 cmp r3, r7
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8693 .loc 1 3073 0
8694 0084 DA62 str r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8695 .loc 1 3076 0
8696 0086 00F07081 beq .L1247
8697 .LVL646:
8698 008a A34A ldr r2, .L1362+8
8699 008c 9342 cmp r3, r2
8700 008e 00F0C680 beq .L1357
8701 0092 A24A ldr r2, .L1362+12
8702 0094 9342 cmp r3, r2
8703 0096 00F02281 beq .L1358
8704 009a A14A ldr r2, .L1362+16
8705 009c 9342 cmp r3, r2
8706 009e 40F0D280 bne .L1251
8707 00a2 A04B ldr r3, .L1362+20
8708 00a4 D3F88830 ldr r3, [r3, #136]
8709 00a8 03F0C003 and r3, r3, #192
8710 00ac 402B cmp r3, #64
8711 00ae 00F04B81 beq .L1252
8712 00b2 40F23F81 bls .L1355
8713 00b6 802B cmp r3, #128
8714 00b8 00F0B881 beq .L1255
8715 00bc C02B cmp r3, #192
ARM GAS /tmp/ccgDLloS.s page 265
8716 00be 40F0C280 bne .L1251
8717 .LVL647:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8718 .loc 1 3132 0
8719 00c2 B6F5004F cmp r6, #32768
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8720 .loc 1 3149 0
8721 00c6 4FF40040 mov r0, #32768
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8722 .loc 1 3132 0
8723 00ca 00F05B81 beq .L1262
8724 .LVL648:
8725 .L1263:
3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
8726 .loc 1 3201 0
8727 00ce 6268 ldr r2, [r4, #4]
8728 00d0 954B ldr r3, .L1362+24
8729 00d2 33F81130 ldrh r3, [r3, r1, lsl #1]
8730 00d6 B0FBF3F3 udiv r3, r0, r3
8731 00da 03EB5203 add r3, r3, r2, lsr #1
8732 00de B3FBF2F3 udiv r3, r3, r2
8733 00e2 9BB2 uxth r3, r3
8734 .LVL649:
3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8735 .loc 1 3202 0
8736 00e4 A3F11001 sub r1, r3, #16
8737 00e8 4FF6EF72 movw r2, #65519
8738 00ec 9142 cmp r1, r2
8739 00ee 00F2AA80 bhi .L1251
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8740 .loc 1 3204 0
8741 00f2 2068 ldr r0, [r4]
8742 .LVL650:
8743 .L1352:
8744 00f4 C360 str r3, [r0, #12]
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8745 .loc 1 3215 0
8746 00f6 4FF00111 mov r1, #65537
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
8747 .loc 1 3218 0
8748 00fa 0022 movs r2, #0
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8749 .loc 1 3215 0
8750 00fc A166 str r1, [r4, #104]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8751 .loc 1 3219 0
8752 00fe C4E91C22 strd r2, r2, [r4, #112]
8753 .LVL651:
8754 0102 59E0 b .L1274
8755 .LVL652:
8756 .L1299:
8757 .LBE333:
8758 .LBE340:
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8759 .loc 1 458 0
8760 0104 0120 movs r0, #1
8761 .LVL653:
ARM GAS /tmp/ccgDLloS.s page 266
8762 .L1345:
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8763 .loc 1 529 0
8764 0106 BDE8F088 pop {r4, r5, r6, r7, fp, pc}
8765 .LVL654:
8766 .L1297:
8767 .LCFI93:
8768 .cfi_def_cfa_offset 0
8769 .cfi_restore 4
8770 .cfi_restore 5
8771 .cfi_restore 6
8772 .cfi_restore 7
8773 .cfi_restore 11
8774 .cfi_restore 14
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8775 .loc 1 458 0
8776 010a 0120 movs r0, #1
8777 .LVL655:
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8778 .loc 1 529 0
8779 010c 7047 bx lr
8780 .LVL656:
8781 .L1356:
8782 .LCFI94:
8783 .cfi_def_cfa_offset 24
8784 .cfi_offset 4, -24
8785 .cfi_offset 5, -20
8786 .cfi_offset 6, -16
8787 .cfi_offset 7, -12
8788 .cfi_offset 11, -8
8789 .cfi_offset 14, -4
480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8790 .loc 1 480 0
8791 010e 80F88070 strb r7, [r0, #128]
494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
8792 .loc 1 494 0
8793 0112 FFF7FEFF bl HAL_UART_MspInit
8794 .LVL657:
8795 0116 A768 ldr r7, [r4, #8]
8796 0118 E669 ldr r6, [r4, #28]
8797 011a 83E7 b .L1245
8798 .LVL658:
8799 .L1246:
8800 .LBB341:
8801 .LBB334:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8802 .loc 1 3068 0
8803 011c 9A68 ldr r2, [r3, #8]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8804 .loc 1 3076 0
8805 011e 8148 ldr r0, .L1362+20
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8806 .loc 1 3068 0
8807 0120 22F06E42 bic r2, r2, #-301989888
8808 0124 22F43062 bic r2, r2, #2816
8809 0128 42EA0C02 orr r2, r2, ip
8810 012c 9A60 str r2, [r3, #8]
ARM GAS /tmp/ccgDLloS.s page 267
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8811 .loc 1 3073 0
8812 012e DA6A ldr r2, [r3, #44]
8813 0130 22F00F02 bic r2, r2, #15
8814 0134 0A43 orrs r2, r2, r1
8815 0136 DA62 str r2, [r3, #44]
8816 .LVL659:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8817 .loc 1 3076 0
8818 0138 D0F88830 ldr r3, [r0, #136]
8819 013c 03F44063 and r3, r3, #3072
8820 0140 B3F5806F cmp r3, #1024
8821 0144 00F06D81 beq .L1270
8822 0148 40F2C180 bls .L1359
8823 014c B3F5006F cmp r3, #2048
8824 0150 00F06A81 beq .L1306
8825 0154 B3F5406F cmp r3, #3072
8826 0158 75D1 bne .L1251
3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
8827 .loc 1 3094 0
8828 015a 4FF40040 mov r0, #32768
8829 .L1272:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
8830 .loc 1 3109 0
8831 015e 6668 ldr r6, [r4, #4]
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8832 .loc 1 3106 0
8833 0160 714B ldr r3, .L1362+24
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
8834 .loc 1 3109 0
8835 0162 06EB4607 add r7, r6, r6, lsl #1
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8836 .loc 1 3106 0
8837 0166 33F81120 ldrh r2, [r3, r1, lsl #1]
8838 016a B0FBF2F3 udiv r3, r0, r2
8839 .LVL660:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
8840 .loc 1 3109 0
8841 016e BB42 cmp r3, r7
8842 0170 69D3 bcc .L1251
8843 0172 B3EB063F cmp r3, r6, lsl #12
8844 0176 66D8 bhi .L1251
3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX))
8845 .loc 1 3118 0
8846 0178 0027 movs r7, #0
8847 017a 0023 movs r3, #0
8848 .LVL661:
8849 017c 3946 mov r1, r7
8850 017e FFF7FEFF bl __aeabi_uldivmod
8851 .LVL662:
8852 0182 0B02 lsls r3, r1, #8
8853 0184 43EA1063 orr r3, r3, r0, lsr #24
8854 0188 0202 lsls r2, r0, #8
8855 018a 7008 lsrs r0, r6, #1
8856 018c 12EB000B adds fp, r2, r0
8857 0190 43F1000C adc ip, r3, #0
8858 0194 3246 mov r2, r6
ARM GAS /tmp/ccgDLloS.s page 268
8859 0196 3B46 mov r3, r7
8860 0198 5846 mov r0, fp
8861 019a 6146 mov r1, ip
8862 019c FFF7FEFF bl __aeabi_uldivmod
8863 .LVL663:
3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8864 .loc 1 3119 0
8865 01a0 624B ldr r3, .L1362+28
8866 01a2 A0F54072 sub r2, r0, #768
8867 01a6 9A42 cmp r2, r3
8868 01a8 4DD8 bhi .L1251
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8869 .loc 1 3121 0
8870 01aa 2268 ldr r2, [r4]
8871 01ac D060 str r0, [r2, #12]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8872 .loc 1 3219 0
8873 01ae C4E91C77 strd r7, r7, [r4, #112]
8874 .LVL664:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8875 .loc 1 3215 0
8876 01b2 4FF00113 mov r3, #65537
8877 01b6 A366 str r3, [r4, #104]
8878 .L1274:
8879 .LBE334:
8880 .LBE341:
508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8881 .loc 1 508 0
8882 01b8 A36A ldr r3, [r4, #40]
8883 01ba 002B cmp r3, #0
8884 01bc 40F0CA80 bne .L1360
8885 .L1284:
516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
8886 .loc 1 516 0
8887 01c0 2368 ldr r3, [r4]
8888 01c2 5A68 ldr r2, [r3, #4]
8889 01c4 22F40062 bic r2, r2, #2048
8890 01c8 5A60 str r2, [r3, #4]
517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8891 .loc 1 517 0
8892 01ca 9A68 ldr r2, [r3, #8]
8893 01cc 22F02A02 bic r2, r2, #42
8894 01d0 9A60 str r2, [r3, #8]
520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8895 .loc 1 520 0
8896 01d2 5A68 ldr r2, [r3, #4]
8897 01d4 42F48042 orr r2, r2, #16384
8898 01d8 5A60 str r2, [r3, #4]
523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8899 .loc 1 523 0
8900 01da 5968 ldr r1, [r3, #4]
8901 01dc 21F02001 bic r1, r1, #32
8902 01e0 0D43 orrs r5, r5, r1
8903 .LVL665:
8904 01e2 5D60 str r5, [r3, #4]
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8905 .loc 1 525 0
ARM GAS /tmp/ccgDLloS.s page 269
8906 01e4 1A68 ldr r2, [r3]
8907 .LBB342:
8908 .LBB343:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8909 .loc 1 3308 0
8910 01e6 0021 movs r1, #0
8911 .LBE343:
8912 .LBE342:
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8913 .loc 1 525 0
8914 01e8 42F00102 orr r2, r2, #1
8915 01ec 1A60 str r2, [r3]
8916 .LVL666:
8917 .LBB369:
8918 .LBB366:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8919 .loc 1 3308 0
8920 01ee C4F88C10 str r1, [r4, #140]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8921 .loc 1 3311 0
8922 01f2 FFF7FEFF bl HAL_GetTick
8923 .LVL667:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8924 .loc 1 3314 0
8925 01f6 2368 ldr r3, [r4]
8926 01f8 1A68 ldr r2, [r3]
8927 01fa 1107 lsls r1, r2, #28
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8928 .loc 1 3311 0
8929 01fc 0646 mov r6, r0
8930 .LVL668:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8931 .loc 1 3314 0
8932 01fe 2BD4 bmi .L1285
8933 .LVL669:
8934 .L1286:
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8935 .loc 1 3325 0
8936 0200 1A68 ldr r2, [r3]
8937 0202 5007 lsls r0, r2, #29
8938 0204 50D4 bmi .L1290
8939 .L1294:
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8940 .loc 1 3338 0
8941 0206 0023 movs r3, #0
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
8942 .loc 1 3336 0
8943 0208 2022 movs r2, #32
8944 020a C4F88420 str r2, [r4, #132]
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8945 .loc 1 3340 0
8946 020e 84F88030 strb r3, [r4, #128]
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
8947 .loc 1 3337 0
8948 0212 C4F88820 str r2, [r4, #136]
3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
8949 .loc 1 3342 0
ARM GAS /tmp/ccgDLloS.s page 270
8950 0216 1846 mov r0, r3
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8951 .loc 1 3338 0
8952 0218 E366 str r3, [r4, #108]
8953 .LBE366:
8954 .LBE369:
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8955 .loc 1 529 0
8956 021a BDE8F088 pop {r4, r5, r6, r7, fp, pc}
8957 .LVL670:
8958 .L1357:
8959 .LBB370:
8960 .LBB335:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8961 .loc 1 3076 0
8962 021e 414B ldr r3, .L1362+20
8963 0220 434A ldr r2, .L1362+32
8964 0222 D3F88830 ldr r3, [r3, #136]
8965 0226 03F00C03 and r3, r3, #12
8966 022a D35C ldrb r3, [r2, r3] @ zero_extendqisi2
8967 .LVL671:
8968 .L1249:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8969 .loc 1 3132 0
8970 022c B6F5004F cmp r6, #32768
8971 0230 00F0C380 beq .L1361
3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
8972 .loc 1 3175 0
8973 0234 082B cmp r3, #8
8974 0236 06D8 bhi .L1251
8975 0238 DFE803F0 tbb [pc, r3]
8976 .L1280:
8977 023c 81 .byte (.L1267-.L1280)/2
8978 023d 64 .byte (.L1281-.L1280)/2
8979 023e 84 .byte (.L1282-.L1280)/2
8980 023f 05 .byte (.L1251-.L1280)/2
8981 0240 89 .byte (.L1265-.L1280)/2
8982 0241 05 .byte (.L1251-.L1280)/2
8983 0242 05 .byte (.L1251-.L1280)/2
8984 0243 05 .byte (.L1251-.L1280)/2
8985 0244 61 .byte (.L1305-.L1280)/2
8986 .LVL672:
8987 0245 00 .p2align 1
8988 .L1251:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8989 .loc 1 3215 0
8990 0246 4FF00112 mov r2, #65537
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
8991 .loc 1 3218 0
8992 024a 0023 movs r3, #0
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8993 .loc 1 3215 0
8994 024c A266 str r2, [r4, #104]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
8995 .loc 1 3219 0
8996 024e C4E91C33 strd r3, r3, [r4, #112]
8997 .LVL673:
ARM GAS /tmp/ccgDLloS.s page 271
8998 .LBE335:
8999 .LBE370:
505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9000 .loc 1 505 0
9001 0252 0120 movs r0, #1
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9002 .loc 1 529 0
9003 0254 BDE8F088 pop {r4, r5, r6, r7, fp, pc}
9004 .LVL674:
9005 .L1285:
9006 .LBB371:
9007 .LBB367:
9008 .LBB344:
9009 .LBB345:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9010 .loc 1 3358 0
9011 0258 DD69 ldr r5, [r3, #28]
9012 025a 15F40015 ands r5, r5, #2097152
9013 025e CFD1 bne .L1286
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9014 .loc 1 3363 0
9015 0260 FFF7FEFF bl HAL_GetTick
9016 .LVL675:
9017 .LBB346:
9018 .LBB347:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9019 .loc 1 3367 0
9020 0264 2368 ldr r3, [r4]
9021 .LBE347:
9022 .LBE346:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9023 .loc 1 3363 0
9024 0266 801B subs r0, r0, r6
9025 0268 B0F1007F cmp r0, #33554432
9026 .LBB349:
9027 .LBB348:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9028 .loc 1 3367 0
9029 026c 1A68 ldr r2, [r3]
9030 .LBE348:
9031 .LBE349:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9032 .loc 1 3363 0
9033 026e 80F0C880 bcs .L1353
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9034 .loc 1 3378 0
9035 0272 5207 lsls r2, r2, #29
9036 0274 F0D5 bpl .L1285
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9037 .loc 1 3380 0
9038 0276 DA69 ldr r2, [r3, #28]
9039 0278 1705 lsls r7, r2, #20
9040 027a EDD5 bpl .L1285
9041 .L1354:
9042 .LBE345:
9043 .LBE344:
9044 .LBB350:
ARM GAS /tmp/ccgDLloS.s page 272
9045 .LBB351:
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9046 .loc 1 3383 0
9047 027c 4FF40062 mov r2, #2048
9048 0280 1A62 str r2, [r3, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9049 .loc 1 3387 0
9050 0282 1A68 ldr r2, [r3]
9051 0284 22F4D072 bic r2, r2, #416
9052 0288 1A60 str r2, [r3]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9053 .loc 1 3388 0
9054 028a 9968 ldr r1, [r3, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9055 .loc 1 3390 0
9056 028c 2022 movs r2, #32
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9057 .loc 1 3388 0
9058 028e 21F00101 bic r1, r1, #1
9059 0292 9960 str r1, [r3, #8]
9060 .LBE351:
9061 .LBE350:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9062 .loc 1 3331 0
9063 0294 0320 movs r0, #3
9064 .LBB363:
9065 .LBB360:
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9066 .loc 1 3390 0
9067 0296 C4F88420 str r2, [r4, #132]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9068 .loc 1 3395 0
9069 029a 84F88050 strb r5, [r4, #128]
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
9070 .loc 1 3391 0
9071 029e C4F88820 str r2, [r4, #136]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9072 .loc 1 3392 0
9073 02a2 C4F88C20 str r2, [r4, #140]
9074 02a6 2EE7 b .L1345
9075 .L1290:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9076 .loc 1 3358 0
9077 02a8 DD69 ldr r5, [r3, #28]
9078 02aa 15F48005 ands r5, r5, #4194304
9079 02ae AAD1 bne .L1294
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9080 .loc 1 3363 0
9081 02b0 FFF7FEFF bl HAL_GetTick
9082 .LVL676:
9083 .LBB352:
9084 .LBB353:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9085 .loc 1 3367 0
9086 02b4 2368 ldr r3, [r4]
9087 .LBE353:
9088 .LBE352:
ARM GAS /tmp/ccgDLloS.s page 273
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9089 .loc 1 3363 0
9090 02b6 801B subs r0, r0, r6
9091 02b8 B0F1007F cmp r0, #33554432
9092 .LBB357:
9093 .LBB354:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9094 .loc 1 3367 0
9095 02bc 1A68 ldr r2, [r3]
9096 .LBE354:
9097 .LBE357:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9098 .loc 1 3363 0
9099 02be 80F0A080 bcs .L1353
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9100 .loc 1 3378 0
9101 02c2 5107 lsls r1, r2, #29
9102 02c4 F0D5 bpl .L1290
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9103 .loc 1 3380 0
9104 02c6 DA69 ldr r2, [r3, #28]
9105 02c8 1205 lsls r2, r2, #20
9106 02ca EDD5 bpl .L1290
9107 02cc D6E7 b .L1354
9108 .LVL677:
9109 .L1359:
9110 .LBE360:
9111 .LBE363:
9112 .LBE367:
9113 .LBE371:
9114 .LBB372:
9115 .LBB336:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9116 .loc 1 3076 0
9117 02ce 002B cmp r3, #0
9118 02d0 B9D1 bne .L1251
3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9119 .loc 1 3085 0
9120 02d2 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
9121 .LVL678:
9122 .L1269:
3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9123 .loc 1 3103 0
9124 02d6 0028 cmp r0, #0
9125 02d8 40D0 beq .L1271
9126 02da 616A ldr r1, [r4, #36]
9127 02dc 3FE7 b .L1272
9128 .LVL679:
9129 .L1358:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9130 .loc 1 3076 0
9131 02de 114B ldr r3, .L1362+20
9132 02e0 D3F88830 ldr r3, [r3, #136]
9133 02e4 03F03003 and r3, r3, #48
9134 02e8 102B cmp r3, #16
9135 02ea 2DD0 beq .L1252
9136 02ec 22D9 bls .L1355
ARM GAS /tmp/ccgDLloS.s page 274
9137 02ee 202B cmp r3, #32
9138 02f0 00F09C80 beq .L1255
9139 02f4 302B cmp r3, #48
9140 02f6 A6D1 bne .L1251
9141 .LVL680:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9142 .loc 1 3132 0
9143 02f8 B6F5004F cmp r6, #32768
9144 02fc 7CD0 beq .L1304
9145 .LVL681:
9146 .L1305:
3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9147 .loc 1 3190 0
9148 02fe 4FF40040 mov r0, #32768
9149 0302 E4E6 b .L1263
9150 .LVL682:
9151 .L1281:
3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9152 .loc 1 3181 0
9153 0304 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
9154 .LVL683:
9155 .L1283:
3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9156 .loc 1 3198 0
9157 0308 40B3 cbz r0, .L1271
9158 030a 616A ldr r1, [r4, #36]
9159 030c DFE6 b .L1263
9160 .L1363:
9161 030e 00BF .align 2
9162 .L1362:
9163 0310 F369FFCF .word -805344781
9164 0314 00800040 .word 1073774592
9165 0318 00440040 .word 1073759232
9166 031c 00480040 .word 1073760256
9167 0320 004C0040 .word 1073761280
9168 0324 00100240 .word 1073876992
9169 0328 00000000 .word .LANCHOR1
9170 032c FFFC0F00 .word 1047807
9171 0330 00000000 .word .LANCHOR0
9172 .LVL684:
9173 .L1355:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9174 .loc 1 3076 0
9175 0334 002B cmp r3, #0
9176 0336 86D1 bne .L1251
9177 .LVL685:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9178 .loc 1 3132 0
9179 0338 B6F5004F cmp r6, #32768
9180 033c 59D0 beq .L1266
9181 .LVL686:
9182 .L1267:
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9183 .loc 1 3178 0
9184 033e FFF7FEFF bl HAL_RCC_GetPCLK1Freq
9185 .LVL687:
9186 0342 E1E7 b .L1283
ARM GAS /tmp/ccgDLloS.s page 275
9187 .LVL688:
9188 .L1282:
3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9189 .loc 1 3184 0
9190 0344 3C48 ldr r0, .L1364
9191 0346 C2E6 b .L1263
9192 .LVL689:
9193 .L1252:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9194 .loc 1 3132 0
9195 0348 B6F5004F cmp r6, #32768
9196 034c 15D0 beq .L1264
9197 .LVL690:
9198 .L1265:
3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9199 .loc 1 3187 0
9200 034e FFF7FEFF bl HAL_RCC_GetSysClockFreq
9201 .LVL691:
9202 0352 D9E7 b .L1283
9203 .LVL692:
9204 .L1360:
9205 .LBE336:
9206 .LBE372:
510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9207 .loc 1 510 0
9208 0354 2046 mov r0, r4
9209 0356 FFF7FEFF bl UART_AdvFeatureConfig
9210 .LVL693:
9211 035a 31E7 b .L1284
9212 .LVL694:
9213 .L1271:
9214 .LBB373:
9215 .LBB337:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9216 .loc 1 3215 0
9217 035c 4FF00112 mov r2, #65537
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
9218 .loc 1 3218 0
9219 0360 0023 movs r3, #0
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9220 .loc 1 3215 0
9221 0362 A266 str r2, [r4, #104]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9222 .loc 1 3219 0
9223 0364 C4E91C33 strd r3, r3, [r4, #112]
9224 .LVL695:
9225 0368 26E7 b .L1274
9226 .LVL696:
9227 .L1247:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9228 .loc 1 3076 0
9229 036a 344B ldr r3, .L1364+4
9230 036c 344A ldr r2, .L1364+8
9231 036e D3F88830 ldr r3, [r3, #136]
9232 0372 03F00303 and r3, r3, #3
9233 0376 D35C ldrb r3, [r2, r3] @ zero_extendqisi2
9234 .LVL697:
ARM GAS /tmp/ccgDLloS.s page 276
9235 0378 58E7 b .L1249
9236 .LVL698:
9237 .L1264:
3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9238 .loc 1 3146 0
9239 037a FFF7FEFF bl HAL_RCC_GetSysClockFreq
9240 .LVL699:
9241 .L1279:
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9242 .loc 1 3158 0
9243 037e 0028 cmp r0, #0
9244 0380 ECD0 beq .L1271
9245 0382 616A ldr r1, [r4, #36]
9246 .LVL700:
9247 .L1262:
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
9248 .loc 1 3160 0
9249 0384 6268 ldr r2, [r4, #4]
9250 0386 2F4E ldr r6, .L1364+12
9251 0388 5308 lsrs r3, r2, #1
9252 038a 36F81160 ldrh r6, [r6, r1, lsl #1]
9253 038e B0FBF6F0 udiv r0, r0, r6
9254 0392 03EB4003 add r3, r3, r0, lsl #1
9255 0396 B3FBF2F3 udiv r3, r3, r2
9256 039a 9AB2 uxth r2, r3
9257 .LVL701:
3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9258 .loc 1 3161 0
9259 039c A2F11000 sub r0, r2, #16
9260 03a0 4FF6EF71 movw r1, #65519
9261 03a4 8842 cmp r0, r1
9262 03a6 3FF64EAF bhi .L1251
3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
9263 .loc 1 3163 0
9264 03aa 23F00F03 bic r3, r3, #15
9265 03ae 9BB2 uxth r3, r3
9266 .LVL702:
3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
9267 .loc 1 3164 0
9268 03b0 C2F34202 ubfx r2, r2, #1, #3
9269 .LVL703:
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9270 .loc 1 3165 0
9271 03b4 2068 ldr r0, [r4]
9272 .LVL704:
9273 03b6 1343 orrs r3, r3, r2
9274 03b8 9CE6 b .L1352
9275 .LVL705:
9276 .L1361:
3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9277 .loc 1 3134 0
9278 03ba 082B cmp r3, #8
9279 03bc 3FF643AF bhi .L1251
9280 03c0 01A2 adr r2, .L1276
9281 03c2 52F823F0 ldr pc, [r2, r3, lsl #2]
9282 03c6 00BF .p2align 2
9283 .L1276:
ARM GAS /tmp/ccgDLloS.s page 277
9284 03c8 F3030000 .word .L1266+1
9285 03cc ED030000 .word .L1277+1
9286 03d0 FF030000 .word .L1278+1
9287 03d4 47020000 .word .L1251+1
9288 03d8 7B030000 .word .L1264+1
9289 03dc 47020000 .word .L1251+1
9290 03e0 47020000 .word .L1251+1
9291 03e4 47020000 .word .L1251+1
9292 03e8 F9030000 .word .L1304+1
9293 .p2align 1
9294 .L1277:
3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9295 .loc 1 3140 0
9296 03ec FFF7FEFF bl HAL_RCC_GetPCLK2Freq
9297 .LVL706:
9298 03f0 C5E7 b .L1279
9299 .LVL707:
9300 .L1266:
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9301 .loc 1 3137 0
9302 03f2 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
9303 .LVL708:
9304 03f6 C2E7 b .L1279
9305 .LVL709:
9306 .L1304:
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9307 .loc 1 3149 0
9308 03f8 4FF40040 mov r0, #32768
9309 03fc C2E7 b .L1262
9310 .LVL710:
9311 .L1278:
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9312 .loc 1 3143 0
9313 03fe 0E48 ldr r0, .L1364
9314 0400 C0E7 b .L1262
9315 .LVL711:
9316 .L1353:
9317 .LBE337:
9318 .LBE373:
9319 .LBB374:
9320 .LBB368:
9321 .LBB364:
9322 .LBB361:
9323 .LBB358:
9324 .LBB355:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9325 .loc 1 3367 0
9326 0402 22F4D072 bic r2, r2, #416
9327 0406 1A60 str r2, [r3]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9328 .loc 1 3368 0
9329 0408 9A68 ldr r2, [r3, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9330 .loc 1 3370 0
9331 040a 2021 movs r1, #32
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9332 .loc 1 3368 0
ARM GAS /tmp/ccgDLloS.s page 278
9333 040c 22F00102 bic r2, r2, #1
9334 0410 9A60 str r2, [r3, #8]
9335 .LBE355:
9336 .LBE358:
9337 .LBE361:
9338 .LBE364:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9339 .loc 1 3331 0
9340 0412 0320 movs r0, #3
9341 .LBB365:
9342 .LBB362:
9343 .LBB359:
9344 .LBB356:
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9345 .loc 1 3370 0
9346 0414 C4F88410 str r1, [r4, #132]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9347 .loc 1 3373 0
9348 0418 84F88050 strb r5, [r4, #128]
9349 .LVL712:
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9350 .loc 1 3371 0
9351 041c C4F88810 str r1, [r4, #136]
9352 0420 71E6 b .L1345
9353 .LVL713:
9354 .L1270:
9355 .LBE356:
9356 .LBE359:
9357 .LBE362:
9358 .LBE365:
9359 .LBE368:
9360 .LBE374:
9361 .LBB375:
9362 .LBB338:
3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9363 .loc 1 3091 0
9364 0422 FFF7FEFF bl HAL_RCC_GetSysClockFreq
9365 .LVL714:
9366 0426 56E7 b .L1269
9367 .LVL715:
9368 .L1306:
3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9369 .loc 1 3088 0
9370 0428 0348 ldr r0, .L1364
9371 042a 98E6 b .L1272
9372 .L1255:
9373 .LVL716:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9374 .loc 1 3132 0
9375 042c B6F5004F cmp r6, #32768
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9376 .loc 1 3143 0
9377 0430 0148 ldr r0, .L1364
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9378 .loc 1 3132 0
9379 0432 7FF44CAE bne .L1263
9380 0436 A5E7 b .L1262
ARM GAS /tmp/ccgDLloS.s page 279
9381 .L1365:
9382 .align 2
9383 .L1364:
9384 0438 0024F400 .word 16000000
9385 043c 00100240 .word 1073876992
9386 0440 00000000 .word .LANCHOR2
9387 0444 00000000 .word .LANCHOR1
9388 .LBE338:
9389 .LBE375:
9390 .cfi_endproc
9391 .LFE331:
9393 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
9394 .align 1
9395 .p2align 2,,3
9396 .global HAL_MultiProcessor_Init
9397 .syntax unified
9398 .thumb
9399 .thumb_func
9400 .fpu fpv4-sp-d16
9402 HAL_MultiProcessor_Init:
9403 .LFB332:
551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
9404 .loc 1 551 0
9405 .cfi_startproc
9406 @ args = 0, pretend = 0, frame = 0
9407 @ frame_needed = 0, uses_anonymous_args = 0
9408 .LVL717:
553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9409 .loc 1 553 0
9410 0000 0028 cmp r0, #0
9411 0002 58D0 beq .L1421
551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Check the UART handle allocation */
9412 .loc 1 551 0
9413 0004 2DE9F849 push {r3, r4, r5, r6, r7, r8, fp, lr}
9414 .LCFI95:
9415 .cfi_def_cfa_offset 32
9416 .cfi_offset 3, -32
9417 .cfi_offset 4, -28
9418 .cfi_offset 5, -24
9419 .cfi_offset 6, -20
9420 .cfi_offset 7, -16
9421 .cfi_offset 8, -12
9422 .cfi_offset 11, -8
9423 .cfi_offset 14, -4
561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9424 .loc 1 561 0
9425 0008 D0F88430 ldr r3, [r0, #132]
9426 000c 0446 mov r4, r0
9427 000e 1546 mov r5, r2
9428 0010 0E46 mov r6, r1
9429 0012 002B cmp r3, #0
9430 0014 4AD0 beq .L1478
9431 .LVL718:
9432 .L1368:
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9433 .loc 1 584 0
9434 0016 2368 ldr r3, [r4]
ARM GAS /tmp/ccgDLloS.s page 280
9435 .LBB388:
9436 .LBB389:
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
9437 .loc 1 3048 0
9438 0018 D4F810E0 ldr lr, [r4, #16]
9439 001c A068 ldr r0, [r4, #8]
9440 001e D4F814C0 ldr ip, [r4, #20]
9441 .LBE389:
9442 .LBE388:
582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9443 .loc 1 582 0
9444 0022 2422 movs r2, #36
9445 0024 C4F88420 str r2, [r4, #132]
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9446 .loc 1 584 0
9447 0028 1968 ldr r1, [r3]
9448 .LBB396:
9449 .LBB390:
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9450 .loc 1 3049 0
9451 002a BB4A ldr r2, .L1485
9452 .LBE390:
9453 .LBE396:
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9454 .loc 1 584 0
9455 002c 21F00101 bic r1, r1, #1
9456 0030 1960 str r1, [r3]
9457 .LVL719:
9458 .LBB397:
9459 .LBB391:
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9460 .loc 1 3049 0
9461 0032 1F68 ldr r7, [r3]
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
9462 .loc 1 3048 0
9463 0034 E169 ldr r1, [r4, #28]
9464 .LVL720:
9465 0036 40EA0E00 orr r0, r0, lr
9466 003a 40EA0C00 orr r0, r0, ip
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9467 .loc 1 3049 0
9468 003e 3A40 ands r2, r2, r7
3048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
9469 .loc 1 3048 0
9470 0040 0843 orrs r0, r0, r1
3049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9471 .loc 1 3049 0
9472 0042 1043 orrs r0, r0, r2
9473 0044 1860 str r0, [r3]
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9474 .loc 1 3054 0
9475 0046 5A68 ldr r2, [r3, #4]
9476 0048 E768 ldr r7, [r4, #12]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9477 .loc 1 3064 0
9478 004a B448 ldr r0, .L1485+4
3062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 281
9479 .loc 1 3062 0
9480 004c D4F818E0 ldr lr, [r4, #24]
9481 .LVL721:
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9482 .loc 1 3054 0
9483 0050 22F44052 bic r2, r2, #12288
9484 0054 3A43 orrs r2, r2, r7
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9485 .loc 1 3064 0
9486 0056 8342 cmp r3, r0
3054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9487 .loc 1 3054 0
9488 0058 5A60 str r2, [r3, #4]
9489 005a 676A ldr r7, [r4, #36]
3064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9490 .loc 1 3064 0
9491 005c 2DD0 beq .L1369
9492 .LVL722:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9493 .loc 1 3068 0
9494 005e 9868 ldr r0, [r3, #8]
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9495 .loc 1 3066 0
9496 0060 226A ldr r2, [r4, #32]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9497 .loc 1 3076 0
9498 0062 DFF8D8C2 ldr ip, .L1485+36
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9499 .loc 1 3068 0
9500 0066 20F06E40 bic r0, r0, #-301989888
9501 006a 20F43060 bic r0, r0, #2816
3066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9502 .loc 1 3066 0
9503 006e 4EEA0202 orr r2, lr, r2
9504 .LVL723:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9505 .loc 1 3068 0
9506 0072 0243 orrs r2, r2, r0
9507 .LVL724:
9508 0074 9A60 str r2, [r3, #8]
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9509 .loc 1 3073 0
9510 0076 DA6A ldr r2, [r3, #44]
9511 0078 22F00F02 bic r2, r2, #15
9512 007c 3A43 orrs r2, r2, r7
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9513 .loc 1 3076 0
9514 007e 6345 cmp r3, ip
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9515 .loc 1 3073 0
9516 0080 DA62 str r2, [r3, #44]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9517 .loc 1 3076 0
9518 0082 3CD0 beq .L1370
9519 .LVL725:
9520 0084 A64A ldr r2, .L1485+8
9521 0086 9342 cmp r3, r2
ARM GAS /tmp/ccgDLloS.s page 282
9522 0088 5CD0 beq .L1479
9523 008a A64A ldr r2, .L1485+12
9524 008c 9342 cmp r3, r2
9525 008e 00F05781 beq .L1480
9526 0092 A54A ldr r2, .L1485+16
9527 0094 9342 cmp r3, r2
9528 0096 00F0F980 beq .L1481
9529 .L1374:
9530 .LVL726:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9531 .loc 1 3215 0
9532 009a 4FF00112 mov r2, #65537
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
9533 .loc 1 3218 0
9534 009e 0023 movs r3, #0
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9535 .loc 1 3215 0
9536 00a0 A266 str r2, [r4, #104]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9537 .loc 1 3219 0
9538 00a2 C4E91C33 strd r3, r3, [r4, #112]
9539 .LVL727:
9540 .LBE391:
9541 .LBE397:
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9542 .loc 1 589 0
9543 00a6 0120 movs r0, #1
616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9544 .loc 1 616 0
9545 00a8 BDE8F889 pop {r3, r4, r5, r6, r7, r8, fp, pc}
9546 .LVL728:
9547 .L1478:
564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9548 .loc 1 564 0
9549 00ac 80F88030 strb r3, [r0, #128]
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
9550 .loc 1 578 0
9551 00b0 FFF7FEFF bl HAL_UART_MspInit
9552 .LVL729:
9553 00b4 AFE7 b .L1368
9554 .LVL730:
9555 .L1421:
9556 .LCFI96:
9557 .cfi_def_cfa_offset 0
9558 .cfi_restore 3
9559 .cfi_restore 4
9560 .cfi_restore 5
9561 .cfi_restore 6
9562 .cfi_restore 7
9563 .cfi_restore 8
9564 .cfi_restore 11
9565 .cfi_restore 14
555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9566 .loc 1 555 0
9567 00b6 0120 movs r0, #1
9568 .LVL731:
616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 283
9569 .loc 1 616 0
9570 00b8 7047 bx lr
9571 .LVL732:
9572 .L1369:
9573 .LCFI97:
9574 .cfi_def_cfa_offset 32
9575 .cfi_offset 3, -32
9576 .cfi_offset 4, -28
9577 .cfi_offset 5, -24
9578 .cfi_offset 6, -20
9579 .cfi_offset 7, -16
9580 .cfi_offset 8, -12
9581 .cfi_offset 11, -8
9582 .cfi_offset 14, -4
9583 .LBB398:
9584 .LBB392:
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9585 .loc 1 3068 0
9586 00ba 9A68 ldr r2, [r3, #8]
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9587 .loc 1 3076 0
9588 00bc 9B49 ldr r1, .L1485+20
3068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9589 .loc 1 3068 0
9590 00be 22F06E42 bic r2, r2, #-301989888
9591 00c2 22F43062 bic r2, r2, #2816
9592 00c6 42EA0E02 orr r2, r2, lr
9593 00ca 9A60 str r2, [r3, #8]
3073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9594 .loc 1 3073 0
9595 00cc DA6A ldr r2, [r3, #44]
9596 00ce 22F00F02 bic r2, r2, #15
9597 00d2 3A43 orrs r2, r2, r7
9598 00d4 DA62 str r2, [r3, #44]
9599 .LVL733:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9600 .loc 1 3076 0
9601 00d6 D1F88830 ldr r3, [r1, #136]
9602 00da 03F44063 and r3, r3, #3072
9603 00de B3F5806F cmp r3, #1024
9604 00e2 00F0A481 beq .L1393
9605 00e6 40F26781 bls .L1482
9606 00ea B3F5006F cmp r3, #2048
9607 00ee 00F0B481 beq .L1428
9608 00f2 B3F5406F cmp r3, #3072
9609 00f6 D0D1 bne .L1374
3094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9610 .loc 1 3094 0
9611 00f8 4FF40040 mov r0, #32768
9612 00fc 64E1 b .L1395
9613 .LVL734:
9614 .L1370:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9615 .loc 1 3076 0
9616 00fe 8B4B ldr r3, .L1485+20
9617 0100 8B4A ldr r2, .L1485+24
9618 0102 D3F88830 ldr r3, [r3, #136]
ARM GAS /tmp/ccgDLloS.s page 284
9619 0106 03F00303 and r3, r3, #3
9620 010a D35C ldrb r3, [r2, r3] @ zero_extendqisi2
9621 .LVL735:
9622 .L1372:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9623 .loc 1 3132 0
9624 010c B1F5004F cmp r1, #32768
9625 0110 00F02981 beq .L1483
3175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9626 .loc 1 3175 0
9627 0114 082B cmp r3, #8
9628 0116 C0D8 bhi .L1374
9629 0118 01A2 adr r2, .L1403
9630 011a 52F823F0 ldr pc, [r2, r3, lsl #2]
9631 011e 00BF .p2align 2
9632 .L1403:
9633 0120 87020000 .word .L1390+1
9634 0124 55010000 .word .L1404+1
9635 0128 3B040000 .word .L1405+1
9636 012c 9B000000 .word .L1374+1
9637 0130 81020000 .word .L1388+1
9638 0134 9B000000 .word .L1374+1
9639 0138 9B000000 .word .L1374+1
9640 013c 9B000000 .word .L1374+1
9641 0140 61030000 .word .L1427+1
9642 .LVL736:
9643 .p2align 1
9644 .L1479:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9645 .loc 1 3076 0
9646 0144 794B ldr r3, .L1485+20
9647 0146 7B4A ldr r2, .L1485+28
9648 0148 D3F88830 ldr r3, [r3, #136]
9649 014c 03F00C03 and r3, r3, #12
9650 0150 D35C ldrb r3, [r2, r3] @ zero_extendqisi2
9651 .LVL737:
9652 0152 DBE7 b .L1372
9653 .L1404:
3181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9654 .loc 1 3181 0
9655 0154 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
9656 .LVL738:
9657 .L1406:
3198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9658 .loc 1 3198 0
9659 0158 0028 cmp r0, #0
9660 015a 00F0D580 beq .L1394
9661 015e 676A ldr r7, [r4, #36]
9662 .LVL739:
9663 .L1386:
3201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
9664 .loc 1 3201 0
9665 0160 6268 ldr r2, [r4, #4]
9666 0162 754B ldr r3, .L1485+32
9667 0164 33F81730 ldrh r3, [r3, r7, lsl #1]
9668 0168 B0FBF3F3 udiv r3, r0, r3
9669 016c 03EB5203 add r3, r3, r2, lsr #1
ARM GAS /tmp/ccgDLloS.s page 285
9670 0170 B3FBF2F3 udiv r3, r3, r2
9671 0174 9BB2 uxth r3, r3
9672 .LVL740:
3202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9673 .loc 1 3202 0
9674 0176 A3F11001 sub r1, r3, #16
9675 017a 4FF6EF72 movw r2, #65519
9676 017e 9142 cmp r1, r2
9677 0180 8BD8 bhi .L1374
3204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9678 .loc 1 3204 0
9679 0182 2168 ldr r1, [r4]
9680 .LVL741:
9681 .L1474:
9682 0184 CB60 str r3, [r1, #12]
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
9683 .loc 1 3218 0
9684 0186 0023 movs r3, #0
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9685 .loc 1 3219 0
9686 0188 C4E91C33 strd r3, r3, [r4, #112]
9687 .LVL742:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9688 .loc 1 3215 0
9689 018c 4FF00112 mov r2, #65537
9690 0190 A266 str r2, [r4, #104]
9691 .L1397:
9692 .LBE392:
9693 .LBE398:
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9694 .loc 1 592 0
9695 0192 A36A ldr r3, [r4, #40]
9696 0194 002B cmp r3, #0
9697 0196 40F0B380 bne .L1484
9698 .L1407:
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
9699 .loc 1 600 0
9700 019a 2368 ldr r3, [r4]
9701 019c 5A68 ldr r2, [r3, #4]
9702 019e 22F49042 bic r2, r2, #18432
9703 01a2 5A60 str r2, [r3, #4]
601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9704 .loc 1 601 0
9705 01a4 9A68 ldr r2, [r3, #8]
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9706 .loc 1 603 0
9707 01a6 B5F5006F cmp r5, #2048
601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9708 .loc 1 601 0
9709 01aa 22F02A02 bic r2, r2, #42
9710 01ae 9A60 str r2, [r3, #8]
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9711 .loc 1 603 0
9712 01b0 05D1 bne .L1408
606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9713 .loc 1 606 0
9714 01b2 5968 ldr r1, [r3, #4]
ARM GAS /tmp/ccgDLloS.s page 286
9715 01b4 21F07F41 bic r1, r1, #-16777216
9716 01b8 41EA0666 orr r6, r1, r6, lsl #24
9717 01bc 5E60 str r6, [r3, #4]
9718 .L1408:
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9719 .loc 1 610 0
9720 01be 1A68 ldr r2, [r3]
9721 01c0 22F40062 bic r2, r2, #2048
9722 01c4 1543 orrs r5, r5, r2
9723 .LVL743:
9724 01c6 1D60 str r5, [r3]
612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9725 .loc 1 612 0
9726 01c8 1A68 ldr r2, [r3]
9727 .LBB399:
9728 .LBB400:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9729 .loc 1 3308 0
9730 01ca 0021 movs r1, #0
9731 .LBE400:
9732 .LBE399:
612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9733 .loc 1 612 0
9734 01cc 42F00102 orr r2, r2, #1
9735 01d0 1A60 str r2, [r3]
9736 .LVL744:
9737 .LBB426:
9738 .LBB423:
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9739 .loc 1 3308 0
9740 01d2 C4F88C10 str r1, [r4, #140]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9741 .loc 1 3311 0
9742 01d6 FFF7FEFF bl HAL_GetTick
9743 .LVL745:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9744 .loc 1 3314 0
9745 01da 2368 ldr r3, [r4]
9746 01dc 1A68 ldr r2, [r3]
9747 01de 1107 lsls r1, r2, #28
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9748 .loc 1 3311 0
9749 01e0 0646 mov r6, r0
9750 .LVL746:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9751 .loc 1 3314 0
9752 01e2 0ED4 bmi .L1409
9753 .LVL747:
9754 .L1410:
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9755 .loc 1 3325 0
9756 01e4 1A68 ldr r2, [r3]
9757 01e6 5007 lsls r0, r2, #29
9758 01e8 33D4 bmi .L1414
9759 .L1418:
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9760 .loc 1 3338 0
ARM GAS /tmp/ccgDLloS.s page 287
9761 01ea 0023 movs r3, #0
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9762 .loc 1 3336 0
9763 01ec 2022 movs r2, #32
9764 01ee C4F88420 str r2, [r4, #132]
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9765 .loc 1 3340 0
9766 01f2 84F88030 strb r3, [r4, #128]
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
9767 .loc 1 3337 0
9768 01f6 C4F88820 str r2, [r4, #136]
3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9769 .loc 1 3342 0
9770 01fa 1846 mov r0, r3
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9771 .loc 1 3338 0
9772 01fc E366 str r3, [r4, #108]
9773 .L1467:
9774 .LBE423:
9775 .LBE426:
616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9776 .loc 1 616 0
9777 01fe BDE8F889 pop {r3, r4, r5, r6, r7, r8, fp, pc}
9778 .LVL748:
9779 .L1409:
9780 .LBB427:
9781 .LBB424:
9782 .LBB401:
9783 .LBB402:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9784 .loc 1 3358 0
9785 0202 DD69 ldr r5, [r3, #28]
9786 0204 15F40015 ands r5, r5, #2097152
9787 0208 ECD1 bne .L1410
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9788 .loc 1 3363 0
9789 020a FFF7FEFF bl HAL_GetTick
9790 .LVL749:
9791 .LBB403:
9792 .LBB404:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9793 .loc 1 3367 0
9794 020e 2368 ldr r3, [r4]
9795 .LBE404:
9796 .LBE403:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9797 .loc 1 3363 0
9798 0210 801B subs r0, r0, r6
9799 0212 B0F1007F cmp r0, #33554432
9800 .LBB406:
9801 .LBB405:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9802 .loc 1 3367 0
9803 0216 1A68 ldr r2, [r3]
9804 .LBE405:
9805 .LBE406:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 288
9806 .loc 1 3363 0
9807 0218 80F0BE80 bcs .L1475
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9808 .loc 1 3378 0
9809 021c 5207 lsls r2, r2, #29
9810 021e F0D5 bpl .L1409
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9811 .loc 1 3380 0
9812 0220 DA69 ldr r2, [r3, #28]
9813 0222 1705 lsls r7, r2, #20
9814 0224 EDD5 bpl .L1409
9815 .L1476:
9816 .LBE402:
9817 .LBE401:
9818 .LBB407:
9819 .LBB408:
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9820 .loc 1 3383 0
9821 0226 4FF40062 mov r2, #2048
9822 022a 1A62 str r2, [r3, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9823 .loc 1 3387 0
9824 022c 1A68 ldr r2, [r3]
9825 022e 22F4D072 bic r2, r2, #416
9826 0232 1A60 str r2, [r3]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9827 .loc 1 3388 0
9828 0234 9968 ldr r1, [r3, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9829 .loc 1 3390 0
9830 0236 2022 movs r2, #32
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9831 .loc 1 3388 0
9832 0238 21F00101 bic r1, r1, #1
9833 023c 9960 str r1, [r3, #8]
9834 .LBE408:
9835 .LBE407:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9836 .loc 1 3331 0
9837 023e 0320 movs r0, #3
9838 .LBB420:
9839 .LBB417:
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9840 .loc 1 3390 0
9841 0240 C4F88420 str r2, [r4, #132]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9842 .loc 1 3395 0
9843 0244 84F88050 strb r5, [r4, #128]
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
9844 .loc 1 3391 0
9845 0248 C4F88820 str r2, [r4, #136]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9846 .loc 1 3392 0
9847 024c C4F88C20 str r2, [r4, #140]
9848 0250 D5E7 b .L1467
9849 .L1414:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
ARM GAS /tmp/ccgDLloS.s page 289
9850 .loc 1 3358 0
9851 0252 DD69 ldr r5, [r3, #28]
9852 0254 15F48005 ands r5, r5, #4194304
9853 0258 C7D1 bne .L1418
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9854 .loc 1 3363 0
9855 025a FFF7FEFF bl HAL_GetTick
9856 .LVL750:
9857 .LBB409:
9858 .LBB410:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9859 .loc 1 3367 0
9860 025e 2368 ldr r3, [r4]
9861 .LBE410:
9862 .LBE409:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9863 .loc 1 3363 0
9864 0260 801B subs r0, r0, r6
9865 0262 B0F1007F cmp r0, #33554432
9866 .LBB414:
9867 .LBB411:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9868 .loc 1 3367 0
9869 0266 1A68 ldr r2, [r3]
9870 .LBE411:
9871 .LBE414:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9872 .loc 1 3363 0
9873 0268 80F09680 bcs .L1475
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9874 .loc 1 3378 0
9875 026c 5107 lsls r1, r2, #29
9876 026e F0D5 bpl .L1414
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9877 .loc 1 3380 0
9878 0270 DA69 ldr r2, [r3, #28]
9879 0272 1205 lsls r2, r2, #20
9880 0274 EDD5 bpl .L1414
9881 0276 D6E7 b .L1476
9882 .LVL751:
9883 .L1375:
9884 .LBE417:
9885 .LBE420:
9886 .LBE424:
9887 .LBE427:
9888 .LBB428:
9889 .LBB393:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9890 .loc 1 3132 0
9891 0278 B1F5004F cmp r1, #32768
9892 027c 00F0E580 beq .L1387
9893 .LVL752:
9894 .L1388:
3187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9895 .loc 1 3187 0
9896 0280 FFF7FEFF bl HAL_RCC_GetSysClockFreq
9897 .LVL753:
ARM GAS /tmp/ccgDLloS.s page 290
9898 0284 68E7 b .L1406
9899 .LVL754:
9900 .L1390:
3178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9901 .loc 1 3178 0
9902 0286 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
9903 .LVL755:
9904 028a 65E7 b .L1406
9905 .LVL756:
9906 .L1481:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9907 .loc 1 3076 0
9908 028c 274B ldr r3, .L1485+20
9909 028e D3F88830 ldr r3, [r3, #136]
9910 0292 03F0C003 and r3, r3, #192
9911 0296 402B cmp r3, #64
9912 0298 EED0 beq .L1375
9913 029a 26D9 bls .L1477
9914 029c 802B cmp r3, #128
9915 029e 00F0CE80 beq .L1378
9916 02a2 C02B cmp r3, #192
9917 02a4 7FF4F9AE bne .L1374
9918 .LVL757:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9919 .loc 1 3132 0
9920 02a8 B1F5004F cmp r1, #32768
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9921 .loc 1 3149 0
9922 02ac 4FF40040 mov r0, #32768
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9923 .loc 1 3132 0
9924 02b0 7FF456AF bne .L1386
9925 .LVL758:
9926 .L1385:
3160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
9927 .loc 1 3160 0
9928 02b4 6268 ldr r2, [r4, #4]
9929 02b6 2049 ldr r1, .L1485+32
9930 02b8 5308 lsrs r3, r2, #1
9931 02ba 31F81710 ldrh r1, [r1, r7, lsl #1]
9932 02be B0FBF1F0 udiv r0, r0, r1
9933 02c2 03EB4003 add r3, r3, r0, lsl #1
9934 02c6 B3FBF2F3 udiv r3, r3, r2
9935 02ca 9AB2 uxth r2, r3
9936 .LVL759:
3161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9937 .loc 1 3161 0
9938 02cc A2F11000 sub r0, r2, #16
9939 02d0 4FF6EF71 movw r1, #65519
9940 02d4 8842 cmp r0, r1
9941 02d6 3FF6E0AE bhi .L1374
3163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
9942 .loc 1 3163 0
9943 02da 23F00F03 bic r3, r3, #15
9944 02de 9BB2 uxth r3, r3
9945 .LVL760:
3164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
ARM GAS /tmp/ccgDLloS.s page 291
9946 .loc 1 3164 0
9947 02e0 C2F34202 ubfx r2, r2, #1, #3
9948 .LVL761:
3165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9949 .loc 1 3165 0
9950 02e4 2168 ldr r1, [r4]
9951 02e6 1343 orrs r3, r3, r2
9952 .LVL762:
9953 02e8 4CE7 b .L1474
9954 .LVL763:
9955 .L1477:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9956 .loc 1 3076 0
9957 02ea 002B cmp r3, #0
9958 02ec 7FF4D5AE bne .L1374
9959 .LVL764:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9960 .loc 1 3132 0
9961 02f0 B1F5004F cmp r1, #32768
9962 02f4 C7D1 bne .L1390
9963 .LVL765:
9964 .L1389:
3137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
9965 .loc 1 3137 0
9966 02f6 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
9967 .LVL766:
9968 .L1402:
3158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
9969 .loc 1 3158 0
9970 02fa 28B1 cbz r0, .L1394
9971 02fc 676A ldr r7, [r4, #36]
9972 02fe D9E7 b .L1385
9973 .LVL767:
9974 .L1484:
9975 .LBE393:
9976 .LBE428:
594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
9977 .loc 1 594 0
9978 0300 2046 mov r0, r4
9979 0302 FFF7FEFF bl UART_AdvFeatureConfig
9980 .LVL768:
9981 0306 48E7 b .L1407
9982 .LVL769:
9983 .L1394:
9984 .LBB429:
9985 .LBB394:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9986 .loc 1 3215 0
9987 0308 4FF00112 mov r2, #65537
3218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->TxISR = NULL;
9988 .loc 1 3218 0
9989 030c 0023 movs r3, #0
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9990 .loc 1 3215 0
9991 030e A266 str r2, [r4, #104]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
9992 .loc 1 3219 0
ARM GAS /tmp/ccgDLloS.s page 292
9993 0310 C4E91C33 strd r3, r3, [r4, #112]
9994 .LVL770:
9995 0314 3DE7 b .L1397
9996 .L1486:
9997 0316 00BF .align 2
9998 .L1485:
9999 0318 F369FFCF .word -805344781
10000 031c 00800040 .word 1073774592
10001 0320 00440040 .word 1073759232
10002 0324 00480040 .word 1073760256
10003 0328 004C0040 .word 1073761280
10004 032c 00100240 .word 1073876992
10005 0330 00000000 .word .LANCHOR2
10006 0334 00000000 .word .LANCHOR0
10007 0338 00000000 .word .LANCHOR1
10008 033c 00380140 .word 1073821696
10009 .LVL771:
10010 .L1480:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10011 .loc 1 3076 0
10012 0340 474B ldr r3, .L1487
10013 0342 D3F88830 ldr r3, [r3, #136]
10014 0346 03F03003 and r3, r3, #48
10015 034a 102B cmp r3, #16
10016 034c 94D0 beq .L1375
10017 034e CCD9 bls .L1477
10018 0350 202B cmp r3, #32
10019 0352 74D0 beq .L1378
10020 0354 302B cmp r3, #48
10021 0356 7FF4A0AE bne .L1374
10022 .LVL772:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10023 .loc 1 3132 0
10024 035a B1F5004F cmp r1, #32768
10025 035e 79D0 beq .L1426
10026 .LVL773:
10027 .L1427:
3190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
10028 .loc 1 3190 0
10029 0360 4FF40040 mov r0, #32768
10030 0364 FCE6 b .L1386
10031 .LVL774:
10032 .L1483:
3134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10033 .loc 1 3134 0
10034 0366 082B cmp r3, #8
10035 0368 3FF697AE bhi .L1374
10036 036c 01A2 adr r2, .L1399
10037 036e 52F823F0 ldr pc, [r2, r3, lsl #2]
10038 0372 00BF .p2align 2
10039 .L1399:
10040 0374 F7020000 .word .L1389+1
10041 0378 35040000 .word .L1400+1
10042 037c 51040000 .word .L1401+1
10043 0380 9B000000 .word .L1374+1
10044 0384 4B040000 .word .L1387+1
10045 0388 9B000000 .word .L1374+1
ARM GAS /tmp/ccgDLloS.s page 293
10046 038c 9B000000 .word .L1374+1
10047 0390 9B000000 .word .L1374+1
10048 0394 55040000 .word .L1426+1
10049 .LVL775:
10050 .p2align 1
10051 .L1475:
10052 .LBE394:
10053 .LBE429:
10054 .LBB430:
10055 .LBB425:
10056 .LBB421:
10057 .LBB418:
10058 .LBB415:
10059 .LBB412:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
10060 .loc 1 3367 0
10061 0398 22F4D072 bic r2, r2, #416
10062 039c 1A60 str r2, [r3]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10063 .loc 1 3368 0
10064 039e 9A68 ldr r2, [r3, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10065 .loc 1 3370 0
10066 03a0 2021 movs r1, #32
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10067 .loc 1 3368 0
10068 03a2 22F00102 bic r2, r2, #1
10069 03a6 9A60 str r2, [r3, #8]
10070 .LBE412:
10071 .LBE415:
10072 .LBE418:
10073 .LBE421:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10074 .loc 1 3331 0
10075 03a8 0320 movs r0, #3
10076 .LBB422:
10077 .LBB419:
10078 .LBB416:
10079 .LBB413:
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10080 .loc 1 3370 0
10081 03aa C4F88410 str r1, [r4, #132]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10082 .loc 1 3373 0
10083 03ae 84F88050 strb r5, [r4, #128]
10084 .LVL776:
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10085 .loc 1 3371 0
10086 03b2 C4F88810 str r1, [r4, #136]
10087 03b6 22E7 b .L1467
10088 .LVL777:
10089 .L1482:
10090 .LBE413:
10091 .LBE416:
10092 .LBE419:
10093 .LBE422:
10094 .LBE425:
ARM GAS /tmp/ccgDLloS.s page 294
10095 .LBE430:
10096 .LBB431:
10097 .LBB395:
3076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10098 .loc 1 3076 0
10099 03b8 002B cmp r3, #0
10100 03ba 7FF46EAE bne .L1374
3085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
10101 .loc 1 3085 0
10102 03be FFF7FEFF bl HAL_RCC_GetPCLK1Freq
10103 .LVL778:
10104 .L1392:
3103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10105 .loc 1 3103 0
10106 03c2 0028 cmp r0, #0
10107 03c4 A0D0 beq .L1394
10108 03c6 676A ldr r7, [r4, #36]
10109 .LVL779:
10110 .L1395:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
10111 .loc 1 3109 0
10112 03c8 D4F80480 ldr r8, [r4, #4]
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10113 .loc 1 3106 0
10114 03cc 254B ldr r3, .L1487+4
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
10115 .loc 1 3109 0
10116 03ce 08EB4801 add r1, r8, r8, lsl #1
3106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10117 .loc 1 3106 0
10118 03d2 33F81720 ldrh r2, [r3, r7, lsl #1]
10119 03d6 B0FBF2F3 udiv r3, r0, r2
10120 .LVL780:
3109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** (lpuart_ker_ck_pres > (4096U * huart->Init.BaudRate)))
10121 .loc 1 3109 0
10122 03da 8B42 cmp r3, r1
10123 03dc FFF45DAE bcc .L1374
10124 03e0 B3EB083F cmp r3, r8, lsl #12
10125 03e4 3FF659AE bhi .L1374
3118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX))
10126 .loc 1 3118 0
10127 03e8 0027 movs r7, #0
10128 03ea 0023 movs r3, #0
10129 .LVL781:
10130 03ec 3946 mov r1, r7
10131 03ee FFF7FEFF bl __aeabi_uldivmod
10132 .LVL782:
10133 03f2 0B02 lsls r3, r1, #8
10134 03f4 43EA1063 orr r3, r3, r0, lsr #24
10135 03f8 0202 lsls r2, r0, #8
10136 03fa 4FEA5800 lsr r0, r8, #1
10137 03fe 12EB000B adds fp, r2, r0
10138 0402 43F1000C adc ip, r3, #0
10139 0406 4246 mov r2, r8
10140 0408 3B46 mov r3, r7
10141 040a 5846 mov r0, fp
10142 040c 6146 mov r1, ip
ARM GAS /tmp/ccgDLloS.s page 295
10143 040e FFF7FEFF bl __aeabi_uldivmod
10144 .LVL783:
3119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10145 .loc 1 3119 0
10146 0412 154B ldr r3, .L1487+8
10147 0414 A0F54072 sub r2, r0, #768
10148 0418 9A42 cmp r2, r3
10149 041a 3FF63EAE bhi .L1374
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10150 .loc 1 3121 0
10151 041e 2268 ldr r2, [r4]
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10152 .loc 1 3215 0
10153 0420 4FF00113 mov r3, #65537
3121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10154 .loc 1 3121 0
10155 0424 D060 str r0, [r2, #12]
3219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10156 .loc 1 3219 0
10157 0426 C4E91C77 strd r7, r7, [r4, #112]
10158 .LVL784:
3215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10159 .loc 1 3215 0
10160 042a A366 str r3, [r4, #104]
10161 042c B1E6 b .L1397
10162 .LVL785:
10163 .L1393:
3091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
10164 .loc 1 3091 0
10165 042e FFF7FEFF bl HAL_RCC_GetSysClockFreq
10166 .LVL786:
10167 0432 C6E7 b .L1392
10168 .LVL787:
10169 .L1400:
3140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
10170 .loc 1 3140 0
10171 0434 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
10172 .LVL788:
10173 0438 5FE7 b .L1402
10174 .LVL789:
10175 .L1405:
3184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
10176 .loc 1 3184 0
10177 043a 0C48 ldr r0, .L1487+12
10178 043c 90E6 b .L1386
10179 .LVL790:
10180 .L1378:
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10181 .loc 1 3132 0
10182 043e B1F5004F cmp r1, #32768
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
10183 .loc 1 3143 0
10184 0442 0A48 ldr r0, .L1487+12
3132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10185 .loc 1 3132 0
10186 0444 7FF48CAE bne .L1386
10187 0448 34E7 b .L1385
ARM GAS /tmp/ccgDLloS.s page 296
10188 .LVL791:
10189 .L1387:
3146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
10190 .loc 1 3146 0
10191 044a FFF7FEFF bl HAL_RCC_GetSysClockFreq
10192 .LVL792:
10193 044e 54E7 b .L1402
10194 .LVL793:
10195 .L1401:
3143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
10196 .loc 1 3143 0
10197 0450 0648 ldr r0, .L1487+12
10198 0452 2FE7 b .L1385
10199 .LVL794:
10200 .L1426:
3149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
10201 .loc 1 3149 0
10202 0454 4FF40040 mov r0, #32768
10203 0458 2CE7 b .L1385
10204 .L1428:
3088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** break;
10205 .loc 1 3088 0
10206 045a 0448 ldr r0, .L1487+12
10207 045c B4E7 b .L1395
10208 .L1488:
10209 045e 00BF .align 2
10210 .L1487:
10211 0460 00100240 .word 1073876992
10212 0464 00000000 .word .LANCHOR1
10213 0468 FFFC0F00 .word 1047807
10214 046c 0024F400 .word 16000000
10215 .LBE395:
10216 .LBE431:
10217 .cfi_endproc
10218 .LFE332:
10220 .section .text.UART_CheckIdleState,"ax",%progbits
10221 .align 1
10222 .p2align 2,,3
10223 .global UART_CheckIdleState
10224 .syntax unified
10225 .thumb
10226 .thumb_func
10227 .fpu fpv4-sp-d16
10229 UART_CheckIdleState:
10230 .LFB374:
3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart;
10231 .loc 1 3304 0
10232 .cfi_startproc
10233 @ args = 0, pretend = 0, frame = 0
10234 @ frame_needed = 0, uses_anonymous_args = 0
10235 .LVL795:
10236 0000 70B5 push {r4, r5, r6, lr}
10237 .LCFI98:
10238 .cfi_def_cfa_offset 16
10239 .cfi_offset 4, -16
10240 .cfi_offset 5, -12
10241 .cfi_offset 6, -8
ARM GAS /tmp/ccgDLloS.s page 297
10242 .cfi_offset 14, -4
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10243 .loc 1 3308 0
10244 0002 0023 movs r3, #0
3304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** uint32_t tickstart;
10245 .loc 1 3304 0
10246 0004 0446 mov r4, r0
3308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10247 .loc 1 3308 0
10248 0006 C0F88C30 str r3, [r0, #140]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10249 .loc 1 3311 0
10250 000a FFF7FEFF bl HAL_GetTick
10251 .LVL796:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10252 .loc 1 3314 0
10253 000e 2368 ldr r3, [r4]
10254 0010 1A68 ldr r2, [r3]
3311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10255 .loc 1 3311 0
10256 0012 0646 mov r6, r0
10257 .LVL797:
3314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10258 .loc 1 3314 0
10259 0014 1007 lsls r0, r2, #28
10260 .LVL798:
10261 0016 0DD4 bmi .L1490
10262 .L1491:
3325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10263 .loc 1 3325 0
10264 0018 1A68 ldr r2, [r3]
10265 001a 5007 lsls r0, r2, #29
10266 001c 31D4 bmi .L1496
10267 .L1500:
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10268 .loc 1 3338 0
10269 001e 0023 movs r3, #0
3336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10270 .loc 1 3336 0
10271 0020 2022 movs r2, #32
10272 0022 C4F88420 str r2, [r4, #132]
3340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10273 .loc 1 3340 0
10274 0026 84F88030 strb r3, [r4, #128]
3337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
10275 .loc 1 3337 0
10276 002a C4F88820 str r2, [r4, #136]
3342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10277 .loc 1 3342 0
10278 002e 1846 mov r0, r3
3338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10279 .loc 1 3338 0
10280 0030 E366 str r3, [r4, #108]
3343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10281 .loc 1 3343 0
10282 0032 70BD pop {r4, r5, r6, pc}
10283 .LVL799:
ARM GAS /tmp/ccgDLloS.s page 298
10284 .L1490:
10285 .LBB440:
10286 .LBB441:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10287 .loc 1 3358 0
10288 0034 DD69 ldr r5, [r3, #28]
10289 0036 15F40015 ands r5, r5, #2097152
10290 003a EDD1 bne .L1491
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10291 .loc 1 3363 0
10292 003c FFF7FEFF bl HAL_GetTick
10293 .LVL800:
10294 .LBB442:
10295 .LBB443:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
10296 .loc 1 3367 0
10297 0040 2368 ldr r3, [r4]
10298 .LBE443:
10299 .LBE442:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10300 .loc 1 3363 0
10301 0042 801B subs r0, r0, r6
10302 0044 B0F1007F cmp r0, #33554432
10303 .LBB445:
10304 .LBB444:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
10305 .loc 1 3367 0
10306 0048 1A68 ldr r2, [r3]
10307 .LBE444:
10308 .LBE445:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10309 .loc 1 3363 0
10310 004a 2CD2 bcs .L1516
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10311 .loc 1 3378 0
10312 004c 5107 lsls r1, r2, #29
10313 004e F1D5 bpl .L1490
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10314 .loc 1 3380 0
10315 0050 DA69 ldr r2, [r3, #28]
10316 0052 1205 lsls r2, r2, #20
10317 0054 EED5 bpl .L1490
10318 .L1517:
10319 .LBE441:
10320 .LBE440:
10321 .LBB446:
10322 .LBB447:
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10323 .loc 1 3383 0
10324 0056 4FF40062 mov r2, #2048
10325 005a 1A62 str r2, [r3, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
10326 .loc 1 3387 0
10327 005c 1A68 ldr r2, [r3]
10328 005e 22F4D072 bic r2, r2, #416
10329 0062 1A60 str r2, [r3]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 299
10330 .loc 1 3388 0
10331 0064 9968 ldr r1, [r3, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10332 .loc 1 3390 0
10333 0066 2022 movs r2, #32
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10334 .loc 1 3388 0
10335 0068 21F00101 bic r1, r1, #1
10336 006c 9960 str r1, [r3, #8]
10337 .LBE447:
10338 .LBE446:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10339 .loc 1 3331 0
10340 006e 0320 movs r0, #3
10341 .LBB459:
10342 .LBB456:
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10343 .loc 1 3390 0
10344 0070 C4F88420 str r2, [r4, #132]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10345 .loc 1 3395 0
10346 0074 84F88050 strb r5, [r4, #128]
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
10347 .loc 1 3391 0
10348 0078 C4F88820 str r2, [r4, #136]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10349 .loc 1 3392 0
10350 007c C4F88C20 str r2, [r4, #140]
10351 .LBE456:
10352 .LBE459:
3343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10353 .loc 1 3343 0
10354 0080 70BD pop {r4, r5, r6, pc}
10355 .LVL801:
10356 .L1496:
10357 .LBB460:
10358 .LBB457:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10359 .loc 1 3358 0
10360 0082 DD69 ldr r5, [r3, #28]
10361 0084 15F48005 ands r5, r5, #4194304
10362 0088 C9D1 bne .L1500
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10363 .loc 1 3363 0
10364 008a FFF7FEFF bl HAL_GetTick
10365 .LVL802:
10366 .LBB448:
10367 .LBB449:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
10368 .loc 1 3367 0
10369 008e 2368 ldr r3, [r4]
10370 .LBE449:
10371 .LBE448:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10372 .loc 1 3363 0
10373 0090 801B subs r0, r0, r6
10374 0092 B0F1007F cmp r0, #33554432
ARM GAS /tmp/ccgDLloS.s page 300
10375 .LBB453:
10376 .LBB450:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
10377 .loc 1 3367 0
10378 0096 1A68 ldr r2, [r3]
10379 .LBE450:
10380 .LBE453:
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10381 .loc 1 3363 0
10382 0098 05D2 bcs .L1516
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10383 .loc 1 3378 0
10384 009a 5107 lsls r1, r2, #29
10385 009c F1D5 bpl .L1496
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10386 .loc 1 3380 0
10387 009e DA69 ldr r2, [r3, #28]
10388 00a0 1205 lsls r2, r2, #20
10389 00a2 EED5 bpl .L1496
10390 00a4 D7E7 b .L1517
10391 .L1516:
10392 .LVL803:
10393 .LBB454:
10394 .LBB451:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
10395 .loc 1 3367 0
10396 00a6 22F4D072 bic r2, r2, #416
10397 00aa 1A60 str r2, [r3]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10398 .loc 1 3368 0
10399 00ac 9A68 ldr r2, [r3, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10400 .loc 1 3370 0
10401 00ae 2021 movs r1, #32
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10402 .loc 1 3368 0
10403 00b0 22F00102 bic r2, r2, #1
10404 00b4 9A60 str r2, [r3, #8]
10405 .LBE451:
10406 .LBE454:
10407 .LBE457:
10408 .LBE460:
3331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10409 .loc 1 3331 0
10410 00b6 0320 movs r0, #3
10411 .LBB461:
10412 .LBB458:
10413 .LBB455:
10414 .LBB452:
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10415 .loc 1 3370 0
10416 00b8 C4F88410 str r1, [r4, #132]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10417 .loc 1 3373 0
10418 00bc 84F88050 strb r5, [r4, #128]
10419 .LVL804:
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 301
10420 .loc 1 3371 0
10421 00c0 C4F88810 str r1, [r4, #136]
10422 .LBE452:
10423 .LBE455:
10424 .LBE458:
10425 .LBE461:
3343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10426 .loc 1 3343 0
10427 00c4 70BD pop {r4, r5, r6, pc}
10428 .cfi_endproc
10429 .LFE374:
10431 00c6 00BF .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
10432 .align 1
10433 .p2align 2,,3
10434 .global UART_WaitOnFlagUntilTimeout
10435 .syntax unified
10436 .thumb
10437 .thumb_func
10438 .fpu fpv4-sp-d16
10440 UART_WaitOnFlagUntilTimeout:
10441 .LFB375:
3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until flag is set */
10442 .loc 1 3356 0
10443 .cfi_startproc
10444 @ args = 4, pretend = 0, frame = 0
10445 @ frame_needed = 0, uses_anonymous_args = 0
10446 .LVL805:
10447 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
10448 .LCFI99:
10449 .cfi_def_cfa_offset 24
10450 .cfi_offset 4, -24
10451 .cfi_offset 5, -20
10452 .cfi_offset 6, -16
10453 .cfi_offset 7, -12
10454 .cfi_offset 8, -8
10455 .cfi_offset 14, -4
3356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** /* Wait until flag is set */
10456 .loc 1 3356 0
10457 0004 069E ldr r6, [sp, #24]
10458 0006 0746 mov r7, r0
10459 0008 0068 ldr r0, [r0]
10460 .LVL806:
10461 000a 0D46 mov r5, r1
10462 000c 1446 mov r4, r2
10463 000e 9846 mov r8, r3
10464 .LVL807:
10465 .L1519:
10466 0010 731C adds r3, r6, #1
10467 0012 0AD1 bne .L1525
10468 .L1526:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10469 .loc 1 3358 0
10470 0014 C369 ldr r3, [r0, #28]
10471 0016 35EA0303 bics r3, r5, r3
10472 001a 0CBF ite eq
10473 001c 0123 moveq r3, #1
10474 001e 0023 movne r3, #0
ARM GAS /tmp/ccgDLloS.s page 302
10475 0020 9C42 cmp r4, r3
10476 0022 F7D0 beq .L1526
10477 .L1536:
3402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10478 .loc 1 3402 0
10479 0024 0020 movs r0, #0
10480 .L1523:
3403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10481 .loc 1 3403 0
10482 0026 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
10483 .LVL808:
10484 .L1525:
3358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10485 .loc 1 3358 0
10486 002a C369 ldr r3, [r0, #28]
10487 002c 35EA0303 bics r3, r5, r3
10488 0030 0CBF ite eq
10489 0032 0123 moveq r3, #1
10490 0034 0023 movne r3, #0
10491 0036 9C42 cmp r4, r3
10492 0038 F4D1 bne .L1536
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10493 .loc 1 3363 0
10494 003a FFF7FEFF bl HAL_GetTick
10495 .LVL809:
10496 003e A0EB0800 sub r0, r0, r8
10497 0042 B042 cmp r0, r6
10498 0044 3868 ldr r0, [r7]
10499 0046 1DD8 bhi .L1521
3363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10500 .loc 1 3363 0 is_stmt 0 discriminator 1
10501 0048 E6B1 cbz r6, .L1521
3378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10502 .loc 1 3378 0 is_stmt 1
10503 004a 0368 ldr r3, [r0]
10504 004c 5907 lsls r1, r3, #29
10505 004e DFD5 bpl .L1519
3380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10506 .loc 1 3380 0
10507 0050 C369 ldr r3, [r0, #28]
10508 0052 1A05 lsls r2, r3, #20
10509 0054 DCD5 bpl .L1519
3383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10510 .loc 1 3383 0
10511 0056 4FF40063 mov r3, #2048
10512 005a 0362 str r3, [r0, #32]
3387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
10513 .loc 1 3387 0
10514 005c 0368 ldr r3, [r0]
10515 005e 23F4D073 bic r3, r3, #416
10516 0062 0360 str r3, [r0]
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10517 .loc 1 3388 0
10518 0064 8268 ldr r2, [r0, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10519 .loc 1 3390 0
10520 0066 2023 movs r3, #32
ARM GAS /tmp/ccgDLloS.s page 303
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10521 .loc 1 3388 0
10522 0068 22F00102 bic r2, r2, #1
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10523 .loc 1 3395 0
10524 006c 0021 movs r1, #0
3388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10525 .loc 1 3388 0
10526 006e 8260 str r2, [r0, #8]
3390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10527 .loc 1 3390 0
10528 0070 C7F88430 str r3, [r7, #132]
3397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10529 .loc 1 3397 0
10530 0074 0320 movs r0, #3
3391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
10531 .loc 1 3391 0
10532 0076 C7F88830 str r3, [r7, #136]
3395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10533 .loc 1 3395 0
10534 007a 87F88010 strb r1, [r7, #128]
3392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10535 .loc 1 3392 0
10536 007e C7F88C30 str r3, [r7, #140]
3397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10537 .loc 1 3397 0
10538 0082 D0E7 b .L1523
10539 .L1521:
10540 .LVL810:
10541 .LBB464:
10542 .LBB465:
3367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
10543 .loc 1 3367 0
10544 0084 0368 ldr r3, [r0]
10545 0086 23F4D073 bic r3, r3, #416
10546 008a 0360 str r3, [r0]
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10547 .loc 1 3368 0
10548 008c 8368 ldr r3, [r0, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10549 .loc 1 3370 0
10550 008e 2022 movs r2, #32
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10551 .loc 1 3368 0
10552 0090 23F00103 bic r3, r3, #1
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10553 .loc 1 3373 0
10554 0094 0021 movs r1, #0
3368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10555 .loc 1 3368 0
10556 0096 8360 str r3, [r0, #8]
3370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
10557 .loc 1 3370 0
10558 0098 C7F88420 str r2, [r7, #132]
3373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10559 .loc 1 3373 0
10560 009c 0320 movs r0, #3
ARM GAS /tmp/ccgDLloS.s page 304
10561 009e 87F88010 strb r1, [r7, #128]
10562 .LVL811:
3371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10563 .loc 1 3371 0
10564 00a2 C7F88820 str r2, [r7, #136]
10565 00a6 BEE7 b .L1523
10566 .LBE465:
10567 .LBE464:
10568 .cfi_endproc
10569 .LFE375:
10571 .section .text.UART_Start_Receive_IT,"ax",%progbits
10572 .align 1
10573 .p2align 2,,3
10574 .global UART_Start_Receive_IT
10575 .syntax unified
10576 .thumb
10577 .thumb_func
10578 .fpu fpv4-sp-d16
10580 UART_Start_Receive_IT:
10581 .LFB376:
3417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
10582 .loc 1 3417 0
10583 .cfi_startproc
10584 @ args = 0, pretend = 0, frame = 0
10585 @ frame_needed = 0, uses_anonymous_args = 0
10586 @ link register save eliminated.
10587 .LVL812:
10588 0000 30B4 push {r4, r5}
10589 .LCFI100:
10590 .cfi_def_cfa_offset 8
10591 .cfi_offset 4, -8
10592 .cfi_offset 5, -4
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10593 .loc 1 3424 0
10594 0002 8468 ldr r4, [r0, #8]
3418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size;
10595 .loc 1 3418 0
10596 0004 8165 str r1, [r0, #88]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10597 .loc 1 3424 0
10598 0006 B4F5805F cmp r4, #4096
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10599 .loc 1 3421 0
10600 000a 4FF00001 mov r1, #0
10601 .LVL813:
3419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferCount = Size;
10602 .loc 1 3419 0
10603 000e A0F85C20 strh r2, [r0, #92] @ movhi
3420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxISR = NULL;
10604 .loc 1 3420 0
10605 0012 A0F85E20 strh r2, [r0, #94] @ movhi
3421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10606 .loc 1 3421 0
10607 0016 0167 str r1, [r0, #112]
10608 0018 0368 ldr r3, [r0]
10609 001a 456E ldr r5, [r0, #100]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 305
10610 .loc 1 3424 0
10611 001c 31D0 beq .L1567
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10612 .loc 1 3424 0 is_stmt 0 discriminator 2
10613 001e 8CB1 cbz r4, .L1568
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10614 .loc 1 3424 0 discriminator 6
10615 0020 B4F1805F cmp r4, #268435456
10616 0024 6CD0 beq .L1569
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10617 .loc 1 3427 0 is_stmt 1 discriminator 10
10618 0026 2224 movs r4, #34
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10619 .loc 1 3426 0 discriminator 10
10620 0028 C0F88C10 str r1, [r0, #140]
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10621 .loc 1 3427 0 discriminator 10
10622 002c C0F88840 str r4, [r0, #136]
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10623 .loc 1 3430 0 discriminator 10
10624 0030 9C68 ldr r4, [r3, #8]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10625 .loc 1 3424 0 discriminator 10
10626 0032 A0F86010 strh r1, [r0, #96] @ movhi
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10627 .loc 1 3430 0 discriminator 10
10628 0036 44F00104 orr r4, r4, #1
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10629 .loc 1 3433 0 discriminator 10
10630 003a B5F1005F cmp r5, #536870912
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10631 .loc 1 3430 0 discriminator 10
10632 003e 9C60 str r4, [r3, #8]
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10633 .loc 1 3433 0 discriminator 10
10634 0040 13D1 bne .L1542
10635 0042 2FE0 b .L1553
10636 .L1568:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10637 .loc 1 3424 0 discriminator 5
10638 0044 0169 ldr r1, [r0, #16]
10639 0046 0029 cmp r1, #0
10640 0048 56D0 beq .L1570
10641 .L1545:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10642 .loc 1 3424 0 is_stmt 0 discriminator 8
10643 004a 7F21 movs r1, #127
10644 004c A0F86010 strh r1, [r0, #96] @ movhi
10645 .L1546:
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10646 .loc 1 3427 0 is_stmt 1
10647 0050 2221 movs r1, #34
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10648 .loc 1 3426 0
10649 0052 0024 movs r4, #0
10650 0054 C0F88C40 str r4, [r0, #140]
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
ARM GAS /tmp/ccgDLloS.s page 306
10651 .loc 1 3427 0
10652 0058 C0F88810 str r1, [r0, #136]
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10653 .loc 1 3430 0
10654 005c 9968 ldr r1, [r3, #8]
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10655 .loc 1 3433 0
10656 005e B5F1005F cmp r5, #536870912
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10657 .loc 1 3430 0
10658 0062 41F00101 orr r1, r1, #1
10659 0066 9960 str r1, [r3, #8]
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10660 .loc 1 3433 0
10661 0068 1CD0 beq .L1553
10662 .L1542:
3460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10663 .loc 1 3460 0
10664 006a 2A49 ldr r1, .L1573
10665 .L1541:
3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10666 .loc 1 3466 0
10667 006c 1A68 ldr r2, [r3]
10668 .LVL814:
10669 006e 0167 str r1, [r0, #112]
10670 0070 42F49072 orr r2, r2, #288
3463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10671 .loc 1 3463 0
10672 0074 0021 movs r1, #0
10673 0076 80F88010 strb r1, [r0, #128]
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10674 .loc 1 3469 0
10675 007a 30BC pop {r4, r5}
10676 .LCFI101:
10677 .cfi_remember_state
10678 .cfi_restore 5
10679 .cfi_restore 4
10680 .cfi_def_cfa_offset 0
10681 007c 0020 movs r0, #0
10682 .LVL815:
3466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10683 .loc 1 3466 0
10684 007e 1A60 str r2, [r3]
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10685 .loc 1 3469 0
10686 0080 7047 bx lr
10687 .LVL816:
10688 .L1567:
10689 .LCFI102:
10690 .cfi_restore_state
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10691 .loc 1 3424 0 discriminator 1
10692 0082 0469 ldr r4, [r0, #16]
10693 0084 14B3 cbz r4, .L1571
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10694 .loc 1 3427 0 discriminator 4
10695 0086 2224 movs r4, #34
ARM GAS /tmp/ccgDLloS.s page 307
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10696 .loc 1 3426 0 discriminator 4
10697 0088 C0F88C10 str r1, [r0, #140]
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10698 .loc 1 3427 0 discriminator 4
10699 008c C0F88840 str r4, [r0, #136]
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10700 .loc 1 3430 0 discriminator 4
10701 0090 9968 ldr r1, [r3, #8]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10702 .loc 1 3424 0 discriminator 4
10703 0092 FF24 movs r4, #255
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10704 .loc 1 3430 0 discriminator 4
10705 0094 41F00101 orr r1, r1, #1
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10706 .loc 1 3433 0 discriminator 4
10707 0098 B5F1005F cmp r5, #536870912
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10708 .loc 1 3424 0 discriminator 4
10709 009c A0F86040 strh r4, [r0, #96] @ movhi
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10710 .loc 1 3430 0 discriminator 4
10711 00a0 9960 str r1, [r3, #8]
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10712 .loc 1 3433 0 discriminator 4
10713 00a2 E2D1 bne .L1542
10714 .L1553:
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10715 .loc 1 3433 0 is_stmt 0
10716 00a4 B0F86810 ldrh r1, [r0, #104]
10717 00a8 9142 cmp r1, r2
10718 00aa DED8 bhi .L1542
3442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10719 .loc 1 3442 0 is_stmt 1
10720 00ac 1A49 ldr r1, .L1573+4
10721 .L1550:
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
10722 .loc 1 3448 0
10723 00ae 1A68 ldr r2, [r3]
10724 .LVL817:
10725 00b0 0167 str r1, [r0, #112]
10726 00b2 42F48072 orr r2, r2, #256
3445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10727 .loc 1 3445 0
10728 00b6 0021 movs r1, #0
10729 00b8 80F88010 strb r1, [r0, #128]
3448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_RXFTIE);
10730 .loc 1 3448 0
10731 00bc 1A60 str r2, [r3]
3449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10732 .loc 1 3449 0
10733 00be 9A68 ldr r2, [r3, #8]
10734 00c0 42F08052 orr r2, r2, #268435456
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10735 .loc 1 3469 0
10736 00c4 0020 movs r0, #0
ARM GAS /tmp/ccgDLloS.s page 308
10737 .LVL818:
3449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10738 .loc 1 3449 0
10739 00c6 9A60 str r2, [r3, #8]
3469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10740 .loc 1 3469 0
10741 00c8 30BC pop {r4, r5}
10742 .LCFI103:
10743 .cfi_remember_state
10744 .cfi_restore 5
10745 .cfi_restore 4
10746 .cfi_def_cfa_offset 0
10747 00ca 7047 bx lr
10748 .LVL819:
10749 .L1571:
10750 .LCFI104:
10751 .cfi_restore_state
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10752 .loc 1 3427 0 discriminator 3
10753 00cc 2221 movs r1, #34
3426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10754 .loc 1 3426 0 discriminator 3
10755 00ce C0F88C40 str r4, [r0, #140]
3427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10756 .loc 1 3427 0 discriminator 3
10757 00d2 C0F88810 str r1, [r0, #136]
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10758 .loc 1 3430 0 discriminator 3
10759 00d6 9968 ldr r1, [r3, #8]
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10760 .loc 1 3424 0 discriminator 3
10761 00d8 40F2FF14 movw r4, #511
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10762 .loc 1 3430 0 discriminator 3
10763 00dc 41F00101 orr r1, r1, #1
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10764 .loc 1 3433 0 discriminator 3
10765 00e0 B5F1005F cmp r5, #536870912
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10766 .loc 1 3424 0 discriminator 3
10767 00e4 A0F86040 strh r4, [r0, #96] @ movhi
3430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10768 .loc 1 3430 0 discriminator 3
10769 00e8 9960 str r1, [r3, #8]
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10770 .loc 1 3433 0 discriminator 3
10771 00ea 03D1 bne .L1564
3433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10772 .loc 1 3433 0 is_stmt 0
10773 00ec B0F86810 ldrh r1, [r0, #104]
10774 00f0 9142 cmp r1, r2
10775 00f2 0CD9 bls .L1572
10776 .L1564:
3456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10777 .loc 1 3456 0 is_stmt 1
10778 00f4 0949 ldr r1, .L1573+8
10779 00f6 B9E7 b .L1541
ARM GAS /tmp/ccgDLloS.s page 309
10780 .L1570:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10781 .loc 1 3424 0 discriminator 7
10782 00f8 FF21 movs r1, #255
10783 00fa A0F86010 strh r1, [r0, #96] @ movhi
10784 00fe A7E7 b .L1546
10785 .L1569:
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10786 .loc 1 3424 0 is_stmt 0 discriminator 9
10787 0100 0169 ldr r1, [r0, #16]
10788 0102 0029 cmp r1, #0
10789 0104 A1D0 beq .L1545
3424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10790 .loc 1 3424 0 discriminator 12
10791 0106 3F21 movs r1, #63
10792 0108 A0F86010 strh r1, [r0, #96] @ movhi
10793 010c A0E7 b .L1546
10794 .L1572:
3438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10795 .loc 1 3438 0 is_stmt 1
10796 010e 0449 ldr r1, .L1573+12
10797 0110 CDE7 b .L1550
10798 .L1574:
10799 0112 00BF .align 2
10800 .L1573:
10801 0114 00000000 .word UART_RxISR_8BIT
10802 0118 00000000 .word UART_RxISR_8BIT_FIFOEN
10803 011c 00000000 .word UART_RxISR_16BIT
10804 0120 00000000 .word UART_RxISR_16BIT_FIFOEN
10805 .cfi_endproc
10806 .LFE376:
10808 .section .text.UART_Start_Receive_DMA,"ax",%progbits
10809 .align 1
10810 .p2align 2,,3
10811 .global UART_Start_Receive_DMA
10812 .syntax unified
10813 .thumb
10814 .thumb_func
10815 .fpu fpv4-sp-d16
10817 UART_Start_Receive_DMA:
10818 .LFB377:
3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
10819 .loc 1 3483 0
10820 .cfi_startproc
10821 @ args = 0, pretend = 0, frame = 0
10822 @ frame_needed = 0, uses_anonymous_args = 0
10823 .LVL820:
10824 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
10825 .LCFI105:
10826 .cfi_def_cfa_offset 24
10827 .cfi_offset 3, -24
10828 .cfi_offset 4, -20
10829 .cfi_offset 5, -16
10830 .cfi_offset 6, -12
10831 .cfi_offset 7, -8
10832 .cfi_offset 14, -4
3483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->pRxBuffPtr = pData;
ARM GAS /tmp/ccgDLloS.s page 310
10833 .loc 1 3483 0
10834 0002 0446 mov r4, r0
3490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10835 .loc 1 3490 0
10836 0004 C06F ldr r0, [r0, #124]
10837 .LVL821:
10838 0006 2568 ldr r5, [r4]
3484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxXferSize = Size;
10839 .loc 1 3484 0
10840 0008 A165 str r1, [r4, #88]
3487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10841 .loc 1 3487 0
10842 000a 0026 movs r6, #0
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10843 .loc 1 3488 0
10844 000c 2223 movs r3, #34
3487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10845 .loc 1 3487 0
10846 000e C4F88C60 str r6, [r4, #140]
3485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10847 .loc 1 3485 0
10848 0012 A4F85C20 strh r2, [r4, #92] @ movhi
3488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10849 .loc 1 3488 0
10850 0016 C4F88830 str r3, [r4, #136]
3490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10851 .loc 1 3490 0
10852 001a 80B1 cbz r0, .L1576
3496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10853 .loc 1 3496 0
10854 001c 154F ldr r7, .L1583
3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10855 .loc 1 3493 0
10856 001e DFF85CC0 ldr ip, .L1583+8
3502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10857 .loc 1 3502 0
10858 0022 8663 str r6, [r0, #56]
3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10859 .loc 1 3505 0
10860 0024 1346 mov r3, r2
10861 0026 0A46 mov r2, r1
10862 .LVL822:
10863 0028 05F12401 add r1, r5, #36
10864 .LVL823:
3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10865 .loc 1 3499 0
10866 002c 124D ldr r5, .L1583+4
3493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10867 .loc 1 3493 0
10868 002e C0F82CC0 str ip, [r0, #44]
3499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10869 .loc 1 3499 0
10870 0032 C0E90C75 strd r7, r5, [r0, #48]
3505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** {
10871 .loc 1 3505 0
10872 0036 FFF7FEFF bl HAL_DMA_Start_IT
10873 .LVL824:
ARM GAS /tmp/ccgDLloS.s page 311
10874 003a 80B9 cbnz r0, .L1577
10875 003c 2568 ldr r5, [r4]
10876 .L1576:
3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10877 .loc 1 3521 0
10878 003e 2B68 ldr r3, [r5]
3518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10879 .loc 1 3518 0
10880 0040 0020 movs r0, #0
3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10881 .loc 1 3521 0
10882 0042 43F48073 orr r3, r3, #256
3518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10883 .loc 1 3518 0
10884 0046 84F88000 strb r0, [r4, #128]
3521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10885 .loc 1 3521 0
10886 004a 2B60 str r3, [r5]
3524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10887 .loc 1 3524 0
10888 004c AB68 ldr r3, [r5, #8]
10889 004e 43F00103 orr r3, r3, #1
10890 0052 AB60 str r3, [r5, #8]
3528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10891 .loc 1 3528 0
10892 0054 AB68 ldr r3, [r5, #8]
10893 0056 43F04003 orr r3, r3, #64
10894 005a AB60 str r3, [r5, #8]
3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10895 .loc 1 3531 0
10896 005c F8BD pop {r3, r4, r5, r6, r7, pc}
10897 .LVL825:
10898 .L1577:
3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10899 .loc 1 3508 0
10900 005e 1022 movs r2, #16
3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10901 .loc 1 3513 0
10902 0060 2023 movs r3, #32
3508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10903 .loc 1 3508 0
10904 0062 C4F88C20 str r2, [r4, #140]
3510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10905 .loc 1 3510 0
10906 0066 84F88060 strb r6, [r4, #128]
3515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c **** }
10907 .loc 1 3515 0
10908 006a 0120 movs r0, #1
3513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10909 .loc 1 3513 0
10910 006c C4F88430 str r3, [r4, #132]
3531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart.c ****
10911 .loc 1 3531 0
10912 0070 F8BD pop {r3, r4, r5, r6, r7, pc}
10913 .LVL826:
10914 .L1584:
10915 0072 00BF .align 2
ARM GAS /tmp/ccgDLloS.s page 312
10916 .L1583:
10917 0074 00000000 .word UART_DMARxHalfCplt
10918 0078 00000000 .word UART_DMAError
10919 007c 00000000 .word UART_DMAReceiveCplt
10920 .cfi_endproc
10921 .LFE377:
10923 .global UARTPrescTable
10924 .section .rodata.CSWTCH.58,"a",%progbits
10925 .align 2
10926 .set .LANCHOR2,. + 0
10929 CSWTCH.58:
10930 0000 01 .byte 1
10931 0001 04 .byte 4
10932 0002 02 .byte 2
10933 0003 08 .byte 8
10934 .section .rodata.CSWTCH.59,"a",%progbits
10935 .align 2
10936 .set .LANCHOR0,. + 0
10939 CSWTCH.59:
10940 0000 00 .byte 0
10941 0001 10 .byte 16
10942 0002 10 .byte 16
10943 0003 10 .byte 16
10944 0004 04 .byte 4
10945 0005 10 .byte 16
10946 0006 10 .byte 16
10947 0007 10 .byte 16
10948 0008 02 .byte 2
10949 0009 10 .byte 16
10950 000a 10 .byte 16
10951 000b 10 .byte 16
10952 000c 08 .byte 8
10953 .section .rodata.UARTPrescTable,"a",%progbits
10954 .align 2
10955 .set .LANCHOR1,. + 0
10958 UARTPrescTable:
10959 0000 0100 .short 1
10960 0002 0200 .short 2
10961 0004 0400 .short 4
10962 0006 0600 .short 6
10963 0008 0800 .short 8
10964 000a 0A00 .short 10
10965 000c 0C00 .short 12
10966 000e 1000 .short 16
10967 0010 2000 .short 32
10968 0012 4000 .short 64
10969 0014 8000 .short 128
10970 0016 0001 .short 256
10971 .text
10972 .Letext0:
10973 .file 2 "/usr/include/newlib/machine/_default_types.h"
10974 .file 3 "/usr/include/newlib/sys/_stdint.h"
10975 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
10976 .file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h"
10977 .file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
10978 .file 7 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"
10979 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
ARM GAS /tmp/ccgDLloS.s page 313
10980 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"
10981 .file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
10982 .file 11 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h"
10983 .file 12 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"
10984 .file 13 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h"
10985 .file 14 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"
ARM GAS /tmp/ccgDLloS.s page 314
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32g4xx_hal_uart.c
/tmp/ccgDLloS.s:16 .text.UART_TxISR_16BIT:0000000000000000 $t
/tmp/ccgDLloS.s:23 .text.UART_TxISR_16BIT:0000000000000000 UART_TxISR_16BIT
/tmp/ccgDLloS.s:80 .text.UART_TxISR_16BIT_FIFOEN:0000000000000000 $t
/tmp/ccgDLloS.s:87 .text.UART_TxISR_16BIT_FIFOEN:0000000000000000 UART_TxISR_16BIT_FIFOEN
/tmp/ccgDLloS.s:182 .text.UART_TxISR_8BIT:0000000000000000 $t
/tmp/ccgDLloS.s:189 .text.UART_TxISR_8BIT:0000000000000000 UART_TxISR_8BIT
/tmp/ccgDLloS.s:242 .text.UART_TxISR_8BIT_FIFOEN:0000000000000000 $t
/tmp/ccgDLloS.s:249 .text.UART_TxISR_8BIT_FIFOEN:0000000000000000 UART_TxISR_8BIT_FIFOEN
/tmp/ccgDLloS.s:340 .text.HAL_UART_MspInit:0000000000000000 $t
/tmp/ccgDLloS.s:348 .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit
/tmp/ccgDLloS.s:362 .text.HAL_UART_MspDeInit:0000000000000000 $t
/tmp/ccgDLloS.s:370 .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit
/tmp/ccgDLloS.s:381 .text.HAL_UART_DeInit:0000000000000000 $t
/tmp/ccgDLloS.s:389 .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit
/tmp/ccgDLloS.s:460 .text.HAL_UART_Transmit:0000000000000000 $t
/tmp/ccgDLloS.s:468 .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit
/tmp/ccgDLloS.s:804 .text.HAL_UART_Receive:0000000000000000 $t
/tmp/ccgDLloS.s:812 .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive
/tmp/ccgDLloS.s:1152 .text.HAL_UART_Transmit_IT:0000000000000000 $t
/tmp/ccgDLloS.s:1160 .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT
/tmp/ccgDLloS.s:1313 .text.HAL_UART_Transmit_IT:00000000000000a0 $d
/tmp/ccgDLloS.s:1321 .text.HAL_UART_Receive_IT:0000000000000000 $t
/tmp/ccgDLloS.s:1329 .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT
/tmp/ccgDLloS.s:1614 .text.HAL_UART_Receive_IT:0000000000000154 $d
/tmp/ccgDLloS.s:4679 .text.UART_RxISR_8BIT_FIFOEN:0000000000000000 UART_RxISR_8BIT_FIFOEN
/tmp/ccgDLloS.s:4444 .text.UART_RxISR_8BIT:0000000000000000 UART_RxISR_8BIT
/tmp/ccgDLloS.s:4569 .text.UART_RxISR_16BIT:0000000000000000 UART_RxISR_16BIT
/tmp/ccgDLloS.s:4935 .text.UART_RxISR_16BIT_FIFOEN:0000000000000000 UART_RxISR_16BIT_FIFOEN
/tmp/ccgDLloS.s:1625 .text.HAL_UART_Transmit_DMA:0000000000000000 $t
/tmp/ccgDLloS.s:1633 .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA
/tmp/ccgDLloS.s:1755 .text.HAL_UART_Transmit_DMA:0000000000000090 $d
/tmp/ccgDLloS.s:2694 .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt
/tmp/ccgDLloS.s:2854 .text.UART_DMAError:0000000000000000 UART_DMAError
/tmp/ccgDLloS.s:2766 .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt
/tmp/ccgDLloS.s:1762 .text.HAL_UART_Receive_DMA:0000000000000000 $t
/tmp/ccgDLloS.s:1770 .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA
/tmp/ccgDLloS.s:1928 .text.HAL_UART_Receive_DMA:00000000000000b4 $d
/tmp/ccgDLloS.s:5192 .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt
/tmp/ccgDLloS.s:5237 .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt
/tmp/ccgDLloS.s:1936 .text.HAL_UART_DMAPause:0000000000000000 $t
/tmp/ccgDLloS.s:1944 .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause
/tmp/ccgDLloS.s:2049 .text.HAL_UART_DMAResume:0000000000000000 $t
/tmp/ccgDLloS.s:2057 .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume
/tmp/ccgDLloS.s:2124 .text.HAL_UART_DMAStop:0000000000000000 $t
/tmp/ccgDLloS.s:2132 .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop
/tmp/ccgDLloS.s:2298 .text.HAL_UART_Abort:0000000000000000 $t
/tmp/ccgDLloS.s:2306 .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort
/tmp/ccgDLloS.s:2460 .text.HAL_UART_AbortTransmit:0000000000000000 $t
/tmp/ccgDLloS.s:2468 .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit
/tmp/ccgDLloS.s:2558 .text.HAL_UART_AbortReceive:0000000000000000 $t
/tmp/ccgDLloS.s:2566 .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive
/tmp/ccgDLloS.s:2668 .text.HAL_UART_TxCpltCallback:0000000000000000 $t
/tmp/ccgDLloS.s:2676 .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback
/tmp/ccgDLloS.s:2687 .text.UART_DMATransmitCplt:0000000000000000 $t
/tmp/ccgDLloS.s:2740 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t
ARM GAS /tmp/ccgDLloS.s page 315
/tmp/ccgDLloS.s:2748 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback
/tmp/ccgDLloS.s:2759 .text.UART_DMATxHalfCplt:0000000000000000 $t
/tmp/ccgDLloS.s:2790 .text.HAL_UART_RxCpltCallback:0000000000000000 $t
/tmp/ccgDLloS.s:2798 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
/tmp/ccgDLloS.s:2809 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t
/tmp/ccgDLloS.s:2817 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback
/tmp/ccgDLloS.s:2828 .text.HAL_UART_ErrorCallback:0000000000000000 $t
/tmp/ccgDLloS.s:2836 .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback
/tmp/ccgDLloS.s:2847 .text.UART_DMAError:0000000000000000 $t
/tmp/ccgDLloS.s:2978 .text.UART_DMAAbortOnError:0000000000000000 $t
/tmp/ccgDLloS.s:2985 .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError
/tmp/ccgDLloS.s:3017 .text.HAL_UART_AbortCpltCallback:0000000000000000 $t
/tmp/ccgDLloS.s:3025 .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback
/tmp/ccgDLloS.s:3036 .text.HAL_UART_Abort_IT:0000000000000000 $t
/tmp/ccgDLloS.s:3044 .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT
/tmp/ccgDLloS.s:3226 .text.HAL_UART_Abort_IT:00000000000000e8 $d
/tmp/ccgDLloS.s:3313 .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback
/tmp/ccgDLloS.s:3239 .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback
/tmp/ccgDLloS.s:3232 .text.UART_DMARxAbortCallback:0000000000000000 $t
/tmp/ccgDLloS.s:3306 .text.UART_DMATxAbortCallback:0000000000000000 $t
/tmp/ccgDLloS.s:3391 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t
/tmp/ccgDLloS.s:3399 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback
/tmp/ccgDLloS.s:3410 .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t
/tmp/ccgDLloS.s:3418 .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT
/tmp/ccgDLloS.s:3525 .text.HAL_UART_AbortTransmit_IT:000000000000007c $d
/tmp/ccgDLloS.s:3537 .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback
/tmp/ccgDLloS.s:3530 .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t
/tmp/ccgDLloS.s:3581 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t
/tmp/ccgDLloS.s:3589 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback
/tmp/ccgDLloS.s:3600 .text.HAL_UART_AbortReceive_IT:0000000000000000 $t
/tmp/ccgDLloS.s:3608 .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT
/tmp/ccgDLloS.s:3735 .text.HAL_UART_AbortReceive_IT:0000000000000094 $d
/tmp/ccgDLloS.s:3747 .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback
/tmp/ccgDLloS.s:3740 .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t
/tmp/ccgDLloS.s:3797 .text.HAL_UARTEx_RxEventCallback:0000000000000000 $t
/tmp/ccgDLloS.s:3805 .text.HAL_UARTEx_RxEventCallback:0000000000000000 HAL_UARTEx_RxEventCallback
/tmp/ccgDLloS.s:3819 .text.HAL_UART_IRQHandler:0000000000000000 $t
/tmp/ccgDLloS.s:3827 .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler
/tmp/ccgDLloS.s:4429 .text.HAL_UART_IRQHandler:00000000000002c4 $d
/tmp/ccgDLloS.s:4437 .text.UART_RxISR_8BIT:0000000000000000 $t
/tmp/ccgDLloS.s:4562 .text.UART_RxISR_16BIT:0000000000000000 $t
/tmp/ccgDLloS.s:4672 .text.UART_RxISR_8BIT_FIFOEN:0000000000000000 $t
/tmp/ccgDLloS.s:4922 .text.UART_RxISR_8BIT_FIFOEN:000000000000015c $d
/tmp/ccgDLloS.s:4928 .text.UART_RxISR_16BIT_FIFOEN:0000000000000000 $t
/tmp/ccgDLloS.s:5179 .text.UART_RxISR_16BIT_FIFOEN:0000000000000158 $d
/tmp/ccgDLloS.s:5185 .text.UART_DMARxHalfCplt:0000000000000000 $t
/tmp/ccgDLloS.s:5230 .text.UART_DMAReceiveCplt:0000000000000000 $t
/tmp/ccgDLloS.s:5312 .text.HAL_UART_ReceiverTimeout_Config:0000000000000000 $t
/tmp/ccgDLloS.s:5320 .text.HAL_UART_ReceiverTimeout_Config:0000000000000000 HAL_UART_ReceiverTimeout_Config
/tmp/ccgDLloS.s:5345 .text.HAL_UART_ReceiverTimeout_Config:0000000000000014 $d
/tmp/ccgDLloS.s:5350 .text.HAL_UART_EnableReceiverTimeout:0000000000000000 $t
/tmp/ccgDLloS.s:5358 .text.HAL_UART_EnableReceiverTimeout:0000000000000000 HAL_UART_EnableReceiverTimeout
/tmp/ccgDLloS.s:5423 .text.HAL_UART_EnableReceiverTimeout:0000000000000044 $d
/tmp/ccgDLloS.s:5428 .text.HAL_UART_DisableReceiverTimeout:0000000000000000 $t
/tmp/ccgDLloS.s:5436 .text.HAL_UART_DisableReceiverTimeout:0000000000000000 HAL_UART_DisableReceiverTimeout
/tmp/ccgDLloS.s:5501 .text.HAL_UART_DisableReceiverTimeout:0000000000000044 $d
/tmp/ccgDLloS.s:5506 .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 $t
ARM GAS /tmp/ccgDLloS.s page 316
/tmp/ccgDLloS.s:5514 .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 HAL_MultiProcessor_EnableMuteMode
/tmp/ccgDLloS.s:5784 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 $t
/tmp/ccgDLloS.s:5792 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 HAL_MultiProcessor_DisableMuteMode
/tmp/ccgDLloS.s:6062 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t
/tmp/ccgDLloS.s:6070 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode
/tmp/ccgDLloS.s:6089 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t
/tmp/ccgDLloS.s:6097 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter
/tmp/ccgDLloS.s:6160 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t
/tmp/ccgDLloS.s:6168 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver
/tmp/ccgDLloS.s:6231 .text.HAL_LIN_SendBreak:0000000000000000 $t
/tmp/ccgDLloS.s:6239 .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak
/tmp/ccgDLloS.s:6296 .text.HAL_UART_GetState:0000000000000000 $t
/tmp/ccgDLloS.s:6304 .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState
/tmp/ccgDLloS.s:6326 .text.HAL_UART_GetError:0000000000000000 $t
/tmp/ccgDLloS.s:6334 .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError
/tmp/ccgDLloS.s:6353 .text.UART_SetConfig:0000000000000000 $t
/tmp/ccgDLloS.s:6361 .text.UART_SetConfig:0000000000000000 UART_SetConfig
/tmp/ccgDLloS.s:6484 .text.UART_SetConfig:0000000000000094 $d
/tmp/ccgDLloS.s:6494 .text.UART_SetConfig:00000000000000b8 $t
/tmp/ccgDLloS.s:6590 .text.UART_SetConfig:000000000000015c $d
/tmp/ccgDLloS.s:6599 .text.UART_SetConfig:0000000000000180 $t
/tmp/ccgDLloS.s:6816 .text.UART_SetConfig:00000000000002b4 $d
/tmp/ccgDLloS.s:6832 .text.UART_AdvFeatureConfig:0000000000000000 $t
/tmp/ccgDLloS.s:6840 .text.UART_AdvFeatureConfig:0000000000000000 UART_AdvFeatureConfig
/tmp/ccgDLloS.s:6969 .text.HAL_UART_Init:0000000000000000 $t
/tmp/ccgDLloS.s:6977 .text.HAL_UART_Init:0000000000000000 HAL_UART_Init
/tmp/ccgDLloS.s:7201 .text.HAL_UART_Init:000000000000010c $d
/tmp/ccgDLloS.s:7211 .text.HAL_UART_Init:0000000000000130 $t
/tmp/ccgDLloS.s:7571 .text.HAL_UART_Init:0000000000000310 $d
/tmp/ccgDLloS.s:7583 .text.HAL_UART_Init:0000000000000334 $t
/tmp/ccgDLloS.s:7589 .text.HAL_UART_Init:0000000000000340 $d
/tmp/ccgDLloS.s:7599 .text.HAL_UART_Init:0000000000000364 $t
/tmp/ccgDLloS.s:7760 .text.HAL_UART_Init:0000000000000424 $d
/tmp/ccgDLloS.s:7769 .text.HAL_HalfDuplex_Init:0000000000000000 $t
/tmp/ccgDLloS.s:7777 .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init
/tmp/ccgDLloS.s:8001 .text.HAL_HalfDuplex_Init:000000000000010c $d
/tmp/ccgDLloS.s:8011 .text.HAL_HalfDuplex_Init:0000000000000130 $t
/tmp/ccgDLloS.s:8375 .text.HAL_HalfDuplex_Init:0000000000000318 $d
/tmp/ccgDLloS.s:8387 .text.HAL_HalfDuplex_Init:000000000000033c $t
/tmp/ccgDLloS.s:8393 .text.HAL_HalfDuplex_Init:0000000000000348 $d
/tmp/ccgDLloS.s:8403 .text.HAL_HalfDuplex_Init:000000000000036c $t
/tmp/ccgDLloS.s:8564 .text.HAL_HalfDuplex_Init:000000000000042c $d
/tmp/ccgDLloS.s:8573 .text.HAL_LIN_Init:0000000000000000 $t
/tmp/ccgDLloS.s:8581 .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init
/tmp/ccgDLloS.s:8977 .text.HAL_LIN_Init:000000000000023c $d
/tmp/ccgDLloS.s:9163 .text.HAL_LIN_Init:0000000000000310 $d
/tmp/ccgDLloS.s:9175 .text.HAL_LIN_Init:0000000000000334 $t
/tmp/ccgDLloS.s:9284 .text.HAL_LIN_Init:00000000000003c8 $d
/tmp/ccgDLloS.s:9293 .text.HAL_LIN_Init:00000000000003ec $t
/tmp/ccgDLloS.s:9384 .text.HAL_LIN_Init:0000000000000438 $d
/tmp/ccgDLloS.s:9394 .text.HAL_MultiProcessor_Init:0000000000000000 $t
/tmp/ccgDLloS.s:9402 .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init
/tmp/ccgDLloS.s:9633 .text.HAL_MultiProcessor_Init:0000000000000120 $d
/tmp/ccgDLloS.s:9643 .text.HAL_MultiProcessor_Init:0000000000000144 $t
/tmp/ccgDLloS.s:9999 .text.HAL_MultiProcessor_Init:0000000000000318 $d
/tmp/ccgDLloS.s:10012 .text.HAL_MultiProcessor_Init:0000000000000340 $t
/tmp/ccgDLloS.s:10040 .text.HAL_MultiProcessor_Init:0000000000000374 $d
ARM GAS /tmp/ccgDLloS.s page 317
/tmp/ccgDLloS.s:10050 .text.HAL_MultiProcessor_Init:0000000000000398 $t
/tmp/ccgDLloS.s:10211 .text.HAL_MultiProcessor_Init:0000000000000460 $d
/tmp/ccgDLloS.s:10221 .text.UART_CheckIdleState:0000000000000000 $t
/tmp/ccgDLloS.s:10229 .text.UART_CheckIdleState:0000000000000000 UART_CheckIdleState
/tmp/ccgDLloS.s:10432 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t
/tmp/ccgDLloS.s:10440 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout
/tmp/ccgDLloS.s:10572 .text.UART_Start_Receive_IT:0000000000000000 $t
/tmp/ccgDLloS.s:10580 .text.UART_Start_Receive_IT:0000000000000000 UART_Start_Receive_IT
/tmp/ccgDLloS.s:10801 .text.UART_Start_Receive_IT:0000000000000114 $d
/tmp/ccgDLloS.s:10809 .text.UART_Start_Receive_DMA:0000000000000000 $t
/tmp/ccgDLloS.s:10817 .text.UART_Start_Receive_DMA:0000000000000000 UART_Start_Receive_DMA
/tmp/ccgDLloS.s:10917 .text.UART_Start_Receive_DMA:0000000000000074 $d
/tmp/ccgDLloS.s:10958 .rodata.UARTPrescTable:0000000000000000 UARTPrescTable
/tmp/ccgDLloS.s:10925 .rodata.CSWTCH.58:0000000000000000 $d
/tmp/ccgDLloS.s:10929 .rodata.CSWTCH.58:0000000000000000 CSWTCH.58
/tmp/ccgDLloS.s:10935 .rodata.CSWTCH.59:0000000000000000 $d
/tmp/ccgDLloS.s:10939 .rodata.CSWTCH.59:0000000000000000 CSWTCH.59
/tmp/ccgDLloS.s:10954 .rodata.UARTPrescTable:0000000000000000 $d
/tmp/ccgDLloS.s:8987 .text.HAL_LIN_Init:0000000000000245 $d
/tmp/ccgDLloS.s:8987 .text.HAL_LIN_Init:0000000000000246 $t
UNDEFINED SYMBOLS
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_GetError
HAL_DMA_Abort_IT
HAL_UARTEx_TxFifoEmptyCallback
HAL_UARTEx_WakeupCallback
HAL_UARTEx_RxFifoFullCallback
__aeabi_uldivmod
__aeabi_ldivmod
HAL_RCC_GetPCLK1Freq
HAL_RCC_GetPCLK2Freq
HAL_RCC_GetSysClockFreq