ARM GAS /tmp/ccwvDHH5.s page 1
1 .cpu cortex-m0
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 0
10 .eabi_attribute 18, 4
11 .file "stm32f0xx_hal_uart.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.UART_EndTxTransfer,"ax",%progbits
16 .align 1
17 .arch armv6s-m
18 .syntax unified
19 .code 16
20 .thumb_func
21 .fpu softvfp
23 UART_EndTxTransfer:
24 .LVL0:
25 .LFB89:
26 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c"
1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ******************************************************************************
3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @file stm32f0xx_hal_uart.c
4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @author MCD Application Team
5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART HAL module driver.
6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * + IO operation functions
10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * + Peripheral Control functions
11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *
12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *
13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @verbatim
14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ===============================================================================
15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### How to use this driver #####
16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ===============================================================================
17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The UART HAL driver can be used as follows:
19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Enable the USARTx interface clock.
23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) UART pins configuration:
24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Configure these UART pins as alternate function pull-up.
26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) UART interrupts handling:
31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** -@@- The specific UART interrupts (Transmission complete interrupt,
32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** RXNE interrupt, RX/TX FIFOs related interrupts and Error Interrupts)
ARM GAS /tmp/ccwvDHH5.s page 2
33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** are managed using the macros __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT()
34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** inside the transmit and receive processes.
35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel.
38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required Tx/Rx parameters.
40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel.
41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** interrupt on the DMA Tx/Rx channel.
44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** flow control and Mode (Receiver/Transmitter) in the huart handle Init structure.
47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) If required, program UART advanced features (TX/RX pins swap, auto Baud rate detection,...)
49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the huart handle AdvancedInit structure.
50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_Init() API.
53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For the UART LIN (Local Interconnection Network) mode, initialize the UART registers
58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** by calling the HAL_LIN_Init() API.
59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For the UART Multiprocessor mode, initialize the UART registers
61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** by calling the HAL_MultiProcessor_Init() API.
62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For the UART RS485 Driver Enabled mode, initialize the UART registers
64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** by calling the HAL_RS485Ex_Init() API.
65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (@) These API's (HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init(), HAL_MultiProcessor_Ini
68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** also configure the low level Hardware GPIO, CLOCK, CORTEX...etc) by
69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** calling the customized HAL_UART_MspInit() API.
70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### Callback registration #####
72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ==================================
73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks.
77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Use Function HAL_UART_RegisterCallback() to register a user callback.
80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Function HAL_UART_RegisterCallback() allows to register following callbacks:
81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback.
ARM GAS /tmp/ccwvDHH5.s page 3
90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and a pointer to the user callback function.
94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Use function HAL_UART_UnRegisterCallback() to reset a callback to the default
97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** weak (surcharged) function.
98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and the Callback ID.
100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This function allows to reset following callbacks:
101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) WakeupCallback : Wakeup Callback.
110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** For specific callback RxEventCallback, use dedicated registration/reset functions:
115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** respectively HAL_UART_RegisterRxEventCallback() , HAL_UART_UnRegisterRxEventCallback().
116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** By default, after the HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions:
120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** examples HAL_UART_TxCpltCallback(), HAL_UART_RxHalfCpltCallback().
121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively
122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the HAL_UART_Init()
123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the HAL_UART_Init() and HAL_UART_DeInit()
125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit.
132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks
133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** using HAL_UART_RegisterCallback() before calling HAL_UART_DeInit()
134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** or HAL_UART_Init() function.
135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** not defined, the callback registration feature is not available
139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and weak (surcharged) callbacks are used.
140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @endverbatim
143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ******************************************************************************
144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @attention
145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *
146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *
© Copyright (c) 2016 STMicroelectronics.
ARM GAS /tmp/ccwvDHH5.s page 4
147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * All rights reserved.
148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *
149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This software component is licensed by ST under BSD 3-Clause license,
150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the "License"; You may not use this file except in compliance with the
151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * License. You may obtain a copy of the License at:
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * opensource.org/licenses/BSD-3-Clause
153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *
154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ******************************************************************************
155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #include "stm32f0xx_hal.h"
159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @addtogroup STM32F0xx_HAL_Driver
161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{
162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART UART
165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief HAL UART module driver
166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{
167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Private_Constants UART Private Constants
174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{
175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | U
177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** USART_CR1_OVER8)) /*!< UART or USART CR1 fields of parameters
178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE |\
180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** USART_CR3_ONEBIT)) /*!< UART or USART CR3 fields of parameters set by U
181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #define UART_BRR_MIN 0x10U /* UART BRR minimum authorized value */
184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #define UART_BRR_MAX 0x0000FFFFU /* UART BRR maximum authorized value */
185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @}
187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Private macros ------------------------------------------------------------*/
190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @addtogroup UART_Private_Functions
192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{
193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
ARM GAS /tmp/ccwvDHH5.s page 5
204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart);
207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart);
208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart);
209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart);
210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart);
211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @}
213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Exported Constants --------------------------------------------------------*/
217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Exported functions --------------------------------------------------------*/
218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{
221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialization and Configuration functions
225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *
226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @verbatim
227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ===============================================================================
228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### Initialization and Configuration functions #####
229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ===============================================================================
230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in asynchronous mode.
233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) For the asynchronous mode the parameters below can be configured:
234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Baud Rate
235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Word Length
236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Stop Bit
237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Hardware flow control
240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Receiver/transmitter modes
241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) Over Sampling Method
242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) One-Bit Sampling Method
243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) For the asynchronous mode, the following advanced features can be configured as well:
244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) TX and/or RX pin level inversion
245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) data logical level inversion
246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) RX and TX pins swap
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) RX overrun detection disabling
248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) DMA disabling on RX error
249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) MSB first on communication line
250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (++) auto Baud rate detection
251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init()and HAL_MultiProcessor_Init()API
253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, UART LIN mode
254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and UART multiprocessor mode configuration procedures (details for the procedures
255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** are available in reference manual).
256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @endverbatim
258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit,
260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** 8-bit or 9-bit), the possible UART formats are listed in the
ARM GAS /tmp/ccwvDHH5.s page 6
261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** following table.
262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Table 1. UART frame format.
264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** +-----------------------------------------------------------------------+
265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | M1 bit | M0 bit | PCE bit | UART frame |
266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | |
268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | |
270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | |
272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | |
274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | |
276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** |---------|---------|-----------|---------------------------------------|
277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | |
278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** +-----------------------------------------------------------------------+
279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{
281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the UART mode according to the specified
285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart == NULL)
293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */
300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Allocate lock resource and initialize it */
311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 7
318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware */
322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback(huart);
323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_MspInit(huart);
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART Communication parameters */
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - LINEN (if LIN is supported) and CLKEN bits in the USART_CR2 register,
346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - SCEN (if Smartcard is supported), HDSEL and IREN (if IrDA is supported) bits in the USART_CR3
347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR2_LINEN)
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN);
351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */
352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_SCEN)
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN)
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL));
357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN)
360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN));
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN*/
364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_SCEN */
365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the half-duplex mode according to the specified
374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
ARM GAS /tmp/ccwvDHH5.s page 8
375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart == NULL)
382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check UART instance */
387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Allocate lock resource and initialize it */
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware */
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback(huart);
404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_MspInit(huart);
407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART Communication parameters */
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - LINEN (if LIN is supported) and CLKEN bits in the USART_CR2 register,
427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - SCEN (if Smartcard is supported) and IREN (if IrDA is supported) bits in the USART_CR3 register
428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR2_LINEN)
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN);
ARM GAS /tmp/ccwvDHH5.s page 9
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */
433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_SCEN)
434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN)
435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_SCEN);
438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */
439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN)
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_IREN);
442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_SCEN */
444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR2_LINEN)
456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the LIN mode according to the specified
458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length.
461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This parameter can be one of the following values:
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_10B 10-bit break detection
463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref UART_LINBREAKDETECTLENGTH_11B 11-bit break detection
464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart == NULL)
470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the LIN UART instance */
475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the Break detection length parameter */
477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* LIN mode limited to 16-bit oversampling only */
480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* LIN mode limited to 8-bit data length */
485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->Init.WordLength != UART_WORDLENGTH_8B)
486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 10
489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Allocate lock resource and initialize it */
493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware */
504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback(huart);
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_MspInit(huart);
508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART Communication parameters */
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - SCEN(if Smartcard is supported) and IREN(if IrDA is supported) bits in the USART_CR3 register.*
529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_SCEN)
531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN)
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL));
535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN)
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN));
539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN*/
542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_SCEN */
543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
ARM GAS /tmp/ccwvDHH5.s page 11
546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_LBDL, BreakDetectLength);
549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */
556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the multiprocessor mode according to the specified
560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * parameters in the UART_InitTypeDef and initialize the associated handle.
561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Address UART node address (4-, 6-, 7- or 8-bit long).
563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param WakeUpMethod Specifies the UART wakeup method.
564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This parameter can be one of the following values:
565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_IDLELINE WakeUp by an idle line detection
566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref UART_WAKEUPMETHOD_ADDRESSMARK WakeUp by an address mark
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note If the user resorts to idle line detection wake up, the Address parameter
568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * is useless and ignored by the initialization function.
569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note If the user resorts to address mark wake up, the address length detection
570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * is configured by default to 4 bits only. For the UART to be able to
571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * manage 6-, 7- or 8-bit long addresses detection, the API
572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * HAL_MultiProcessorEx_AddressLength_Set() must be called after
573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * HAL_MultiProcessor_Init().
574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart == NULL)
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the wake up method parameter */
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Allocate lock resource and initialize it */
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware */
601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback(huart);
602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
ARM GAS /tmp/ccwvDHH5.s page 12
603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_MspInit(huart);
605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART Communication parameters */
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_SetConfig(huart) == HAL_ERROR)
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_AdvFeatureConfig(huart);
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In multiprocessor mode, the following bits must be kept cleared:
624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - LINEN (if LIN is supported) and CLKEN bits in the USART_CR2 register,
625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - SCEN (if Smartcard is supported), HDSEL and IREN (if IrDA is supported) bits in the USART_CR3 r
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR2_LINEN)
627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_CLKEN);
630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */
631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_SCEN)
632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN)
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL));
636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */
637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_IREN)
639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN));
640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_IREN */
643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_SCEN */
644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (WakeUpMethod == UART_WAKEUPMETHOD_ADDRESSMARK)
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If address mark wake up method is chosen, set the USART address node */
648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)Address << UART_CR2_ADDRESS_LSB_POS)
649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_WAKE, WakeUpMethod);
653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 13
660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DeInitialize the UART peripheral.
663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart == NULL)
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */
675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR1 = 0x0U;
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL)
687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DeInit the low level hardware */
691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback(huart);
692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DeInit the low level hardware */
694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the UART MSP.
709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 14
717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_MspInit can be implemented in the user file
719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DeInitialize the UART MSP.
724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_MspDeInit can be implemented in the user file
734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Register a User UART Callback
740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * To be used instead of the weak predefined callback
741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart uart handle
742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered
743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This parameter can be one of the following values:
744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pCallback pointer to the Callback function
756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pUART_CallbackTypeDef pCallback)
760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pCallback == NULL)
764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 15
774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (CallbackID)
775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback;
778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxCpltCallback = pCallback;
782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback;
786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback = pCallback;
790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback = pCallback;
794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback = pCallback;
798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback;
802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback;
806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR1_UESM)
809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR3_WUFIE)
810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID :
811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->WakeupCallback = pCallback;
812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */
815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR1_UESM */
816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = pCallback;
819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default :
826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR;
829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 16
831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET)
833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (CallbackID)
835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = pCallback;
838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default :
845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR;
848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR;
856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return status;
861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Unregister an UART Callback
865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback
866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart uart handle
867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered
868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This parameter can be one of the following values:
869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_WAKEUP_CB_ID Wakeup Callback ID
878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 17
888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState)
889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (CallbackID)
891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa
894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl
898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal
902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl
906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error
910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort
914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak
918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** AbortTransmitCplt
919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak
923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** AbortReceiveCpltC
924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR1_UESM)
927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR3_WUFIE)
928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_WAKEUP_CB_ID :
929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak Wakeu
930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */
933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR1_UESM */
934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn
936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe
940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default :
943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 18
945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR;
946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState)
950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (CallbackID)
952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default :
962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR;
965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR;
973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return status;
978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Register a User UART Rx Event Callback
982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * To be used instead of the weak predefined callback
983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Uart handle
984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pCallback Pointer to the Rx Event Callback function
985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterRxEventCallback(UART_HandleTypeDef *huart, pUART_RxEventCallback
988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pCallback == NULL)
992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process locked */
999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
ARM GAS /tmp/ccwvDHH5.s page 19
1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback = pCallback;
1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR;
1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Release Lock */
1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return status;
1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UnRegister the UART Rx Event Callback
1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * UART Rx Event Callback is redirected to the weak HAL_UARTEx_RxEventCallback() predefine
1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Uart handle
1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterRxEventCallback(UART_HandleTypeDef *huart)
1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process locked */
1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak UART Rx Event Callback */
1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** status = HAL_ERROR;
1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Release Lock */
1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return status;
1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @}
1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART Transmit/Receive functions
1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *
1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @verbatim
1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ===============================================================================
1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### IO operation functions #####
ARM GAS /tmp/ccwvDHH5.s page 20
1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ===============================================================================
1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and Half duplex data transfers.
1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) There are two mode of transfer:
1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** after finishing transfer.
1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** or DMA, These API's return the HAL status.
1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The end of the data processing will be indicated through the
1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** using DMA mode.
1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will be executed respectively at the end of the transmit or Receive process
1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Blocking mode API's are :
1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Transmit()
1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Receive()
1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_DMAPause()
1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_DMAResume()
1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_DMAStop()
1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Abort()
1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) A Rx Event Reception Callback (Rx event notification) is available for Non_Blocking modes o
1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** reception services:
1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UARTEx_RxEventCallback()
1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 21
1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Errors are handled as follows :
1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error
1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in Interrupt mode reception .
1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** to identify error type, and HAL_UART_ErrorCallback() user callback is executed.
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Transfer is kept ongoing on UART side.
1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback()
1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** user callback is executed.
1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @endverbatim
1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{
1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Send an amount of data in blocking mode.
1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 provided through pData.
1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor
1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (as sent data will be handled using u16 pointer cast). Depending on compilation chain,
1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required
1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData.
1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Timeout Timeout duration.
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint3
1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits;
1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *pdata16bits;
1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart;
1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter
1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be filled into TDR will be
1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled through a u16 cast. */
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U)
ARM GAS /tmp/ccwvDHH5.s page 22
1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init tickstart for timeout management */
1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tickstart = HAL_GetTick();
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size;
1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size;
1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits = NULL;
1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits = pData;
1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = NULL;
1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pdata8bits == NULL)
1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU);
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++;
1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU);
1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++;
1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--;
1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 23
1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY;
1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Receive an amount of data in blocking mode.
1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 available through pData.
1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer for storing data to be received, should be aligned on a hal
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (16 bits) (as received data will be handled using u16 pointer cast). Depending on compi
1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required
1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData.
1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Timeout Timeout duration.
1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits;
1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *pdata16bits;
1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhMask;
1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart;
1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter
1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be received from RDR will be
1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled through a u16 cast. */
1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U)
1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init tickstart for timeout management */
ARM GAS /tmp/ccwvDHH5.s page 24
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tickstart = HAL_GetTick();
1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size;
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size;
1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits = NULL;
1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits = pData;
1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = NULL;
1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* as long as data have to be received */
1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** while (huart->RxXferCount > 0U)
1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK)
1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pdata8bits == NULL)
1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask);
1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++;
1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask);
1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++;
1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--;
1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY;
1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Send an amount of data in interrupt mode.
1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
ARM GAS /tmp/ccwvDHH5.s page 25
1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 provided through pData.
1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor
1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (as sent data will be handled using u16 pointer cast). Depending on compilation chain,
1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required
1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData.
1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter
1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be filled into TDR will be
1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled through a u16 cast. */
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U)
1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size;
1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size;
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the Tx ISR function pointer according to the data word length */
1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = UART_TxISR_16BIT;
1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = UART_TxISR_8BIT;
1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the Transmit Data Register Empty interrupt */
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
ARM GAS /tmp/ccwvDHH5.s page 26
1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY;
1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Receive an amount of data in interrupt mode.
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 available through pData.
1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer for storing data to be received, should be aligned on a hal
1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (16 bits) (as received data will be handled using u16 pointer cast). Depending on compi
1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required
1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData.
1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter
1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data to be received from RDR will be
1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled through a u16 cast. */
1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U)
1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set Reception type to Standard reception */
1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 27
1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_Start_Receive_IT(huart, pData, Size));
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY;
1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Send an amount of data in DMA mode.
1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 provided through pData.
1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer containing data to be sent, should be aligned on a half wor
1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (as sent data will be handled by DMA from halfword frontier). Depending on compilation
1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required
1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData.
1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent.
1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter
1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data copy into TDR will be
1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled by DMA from a u16 frontier. */
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U)
1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size;
1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size;
1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL)
1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
ARM GAS /tmp/ccwvDHH5.s page 28
1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the DMA error callback */
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the DMA abort callback */
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART transmit DMA channel */
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->
1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */
1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState to ready */
1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the TC flag in the ICR register */
1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the UART CR3 register */
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY;
1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Receive an amount of data in DMA mode.
1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain
1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the parity bit (MSB position).
1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * of u16 available through pData.
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * address of user data buffer for storing data to be received, should be aligned on a hal
1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (16 bits) (as received data will be handled by DMA from halfword frontier). Depending o
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * use of specific alignment compilation directives or pragmas might be required
1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to ensure proper alignment for pData.
1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
ARM GAS /tmp/ccwvDHH5.s page 29
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter
1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** should be aligned on a u16 frontier, as data copy from RDR will be
1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** handled by DMA from a u16 frontier. */
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((((uint32_t)pData) & 1U) != 0U)
1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set Reception type to Standard reception */
1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that USART RTOEN bit is set */
1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR2, USART_CR2_RTOEN) != 0U)
1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Receiver Timeout Interrupt */
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RTOIE);
1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_Start_Receive_DMA(huart, pData, Size));
1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY;
1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Pause the DMA Transfer.
1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 30
1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Tx request */
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request */
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Resume the DMA Transfer.
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART DMA Tx request */
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer */
1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Re-enable PE and ERR (Frame error, noise error, overrun error) interrupts */
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART DMA Rx request */
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Stop the DMA Transfer.
1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
ARM GAS /tmp/ccwvDHH5.s page 31
1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback / HAL_UART_RxHalfCpltCallback:
1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** indeed, when HAL_DMA_Abort() API is called, the DMA TX/RX Transfer or Half Transfer complete
1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** interrupt is generated if the DMA transfer interruption occurs at the middle or at the end of
1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the stream and the corresponding call back is executed. */
1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Tx channel */
1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL)
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTxTransfer(huart);
1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL)
1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndRxTransfer(huart);
ARM GAS /tmp/ccwvDHH5.s page 32
1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations :
1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY
1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL)
1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 33
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL)
1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */
1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */
1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations :
1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY
1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 34
1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL)
1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */
1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Tx transfer counter */
1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState to Ready */
1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations :
1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY
1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
ARM GAS /tmp/ccwvDHH5.s page 35
1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL)
1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Rx transfer counter */
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */
1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->RxState to Ready */
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations :
1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY
1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - At abort completion, call user abort complete callback
1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
ARM GAS /tmp/ccwvDHH5.s page 36
1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t abortcplt = 1U;
1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable interrupts */
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USA
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** before any call to DMA Abort functions */
1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA Tx Handle is valid */
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL)
1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Otherwise, set it to NULL */
1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA Rx Handle is valid */
2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL)
2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Otherwise, set it to NULL */
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable DMA Tx at UART level */
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL)
2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 37
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort DMA TX */
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 0U;
2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL)
2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort DMA RX */
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 1U;
2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 0U;
2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (abortcplt == 1U)
2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear ISR function pointers */
2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL;
2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset errorCode */
2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 38
2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */
2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort complete callback */
2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback(huart);
2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations :
2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY
2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - At abort completion, call user abort complete callback
2116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable interrupts */
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL)
2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort DMA TX */
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
ARM GAS /tmp/ccwvDHH5.s page 39
2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Tx transfer counter */
2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear TxISR function pointers */
2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState to Ready */
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Tx transfer counter */
2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear TxISR function pointers */
2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState to Ready */
2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * This procedure performs following operations :
2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - Set handle State to READY
ARM GAS /tmp/ccwvDHH5.s page 40
2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - At abort completion, call user abort complete callback
2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE));
2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL)
2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort DMA RX */
2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Rx transfer counter */
2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RxISR function pointer */
2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = NULL;
2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_F
2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */
2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
ARM GAS /tmp/ccwvDHH5.s page 41
2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset Rx transfer counter */
2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RxISR function pointer */
2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = NULL;
2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF
2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Handle UART interrupt request.
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t errorflags;
2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t errorcode;
2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If no error occurs */
2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE |
2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (errorflags == 0U)
2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART in mode Receiver ---------------------------------------------------*/
2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U)
2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 42
2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxISR != NULL)
2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR(huart);
2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If some errors occur */
2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((errorflags != 0U)
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U)
2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))
2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART parity error interrupt occurred -------------------------------------*/
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART frame error interrupt occurred --------------------------------------*/
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART noise error interrupt occurred --------------------------------------*/
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART Over-Run interrupt occurred -----------------------------------------*/
2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_ORE) != 0U)
2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U)))
2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART Receiver Timeout interrupt occurred ---------------------------------*/
2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U))
2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_RTO;
2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call UART Error Call back function if need be ----------------------------*/
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
ARM GAS /tmp/ccwvDHH5.s page 43
2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART in mode Receiver --------------------------------------------------*/
2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_RXNE) != 0U)
2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxISR != NULL)
2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR(huart);
2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Error is to be considered as blocking :
2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - Receiver Timeout error in Reception
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - Overrun error in Reception
2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** - any error occurs in DMA mode reception
2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** errorcode = huart->ErrorCode;
2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Blocking error : transfer is aborted
2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndRxTransfer(huart);
2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL)
2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Abort DMA RX */
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user error callback */
2417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered error callback*/
2419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback(huart);
2420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak error callback*/
2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 44
2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user error callback */
2430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered error callback*/
2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback(huart);
2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak error callback*/
2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Error is notified to user through user error callback */
2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered error callback*/
2445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback(huart);
2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak error callback*/
2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** } /* End if some error occurs */
2456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check current reception Mode :
2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If Reception till IDLE event has been selected : */
2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U))
2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check if DMA mode is enabled in UART */
2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA mode enabled */
2469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing,
2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (DMA cplt callback will be called).
2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx);
2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reception is not complete */
2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = nb_remaining_rx_data;
2478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In Normal mode, end DMA xfer and HAL UART Rx process*/
2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx->Init.Mode != DMA_CIRCULAR)
2481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
ARM GAS /tmp/ccwvDHH5.s page 45
2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
2487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the UART CR3 register */
2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Last bytes received, so no need as the abort is immediate */
2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (void)HAL_DMA_Abort(huart->hdmarx);
2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Event callback*/
2501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount));
2505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA mode not enabled */
2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check received length : If all expected data are received, do nothing.
2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** Otherwise, if at least one data has already been received, IDLE event is to be notified to
2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount;
2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
2516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_rx_data > 0U))
2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RxISR function pointer */
2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL;
2530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
2532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx complete callback*/
2534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, nb_rx_data);
2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, nb_rx_data);
2538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
2539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
ARM GAS /tmp/ccwvDHH5.s page 46
2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR1_UESM)
2544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR3_WUFIE)
2545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART wakeup from Stop mode interrupt occurred ---------------------------*/
2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U))
2548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF);
2550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART Rx state is not reset as a reception process might be ongoing.
2552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If UART handle state fields need to be reset to READY, this could be done in Wakeup callback
2553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Wakeup Callback */
2556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->WakeupCallback(huart);
2557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Wakeup Callback */
2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_WakeupCallback(huart);
2560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
2562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */
2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR1_UESM */
2565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_TXE) != 0U)
2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U))
2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->TxISR != NULL)
2571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR(huart);
2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* UART in mode Transmitter (transmission end) -----------------------------*/
2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U))
2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTransmit_IT(huart);
2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
2582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Tx Transfer completed callback.
2588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
2595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_TxCpltCallback can be implemented in the user file.
ARM GAS /tmp/ccwvDHH5.s page 47
2598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Tx Half Transfer completed callback.
2603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
2610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback can be implemented in the user file.
2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Rx Transfer completed callback.
2618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
2625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_RxCpltCallback can be implemented in the user file.
2628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Rx Half Transfer completed callback.
2633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
2637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback can be implemented in the user file.
2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART error callback.
2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
ARM GAS /tmp/ccwvDHH5.s page 48
2655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_ErrorCallback can be implemented in the user file.
2658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART Abort Complete callback.
2663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
2670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART Abort Complete callback.
2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
2685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
2688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
2693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
2697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
2700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
2703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Reception Event Callback (Rx event notification called after use of advanced reception
2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle
2709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Number of data available in application reception buffer (indicates a position in
2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * reception buffer until which, data are available)
2711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
ARM GAS /tmp/ccwvDHH5.s page 49
2712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(huart);
2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(Size);
2718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** the HAL_UARTEx_RxEventCallback can be implemented in the user file.
2721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @}
2726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
2729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART control functions
2730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *
2731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @verbatim
2732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ===============================================================================
2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### Peripheral Control functions #####
2734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ===============================================================================
2735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
2736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART.
2737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_ReceiverTimeout_Config() API allows to configure the receiver timeout value on th
2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_EnableReceiverTimeout() API enables the receiver timeout feature
2739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_UART_DisableReceiverTimeout() API disables the receiver timeout feature
2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_MultiProcessor_EnableMuteMode() API enables mute mode
2741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_MultiProcessor_DisableMuteMode() API disables mute mode
2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API enters mute mode
2743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) UART_SetConfig() API configures the UART peripheral
2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) UART_AdvFeatureConfig() API optionally configures the UART advanced features
2745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) UART_CheckIdleState() API ensures that TEACK and/or REACK are set after initialization
2746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API disables receiver and enables transmitter
2747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API disables transmitter and enables receiver
2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API transmits the break characters
2749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @endverbatim
2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{
2751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Update on the fly the receiver timeout value in RTOR register.
2755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART module.
2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param TimeoutValue receiver timeout value in number of baud blocks. The timeout
2758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * value must be less or equal to 0x0FFFFFFFF.
2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue)
2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue));
2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue);
2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Enable the UART receiver timeout feature.
ARM GAS /tmp/ccwvDHH5.s page 50
2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART module.
2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
2772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart)
2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
2776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process Locked */
2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
2779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the USART RTOEN bit */
2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
2784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process Unlocked */
2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
2789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
2791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY;
2795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Disable the UART receiver timeout feature.
2800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART module.
2802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
2803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart)
2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
2807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process Locked */
2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
2810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the USART RTOEN bit */
2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_RTOEN);
2815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process Unlocked */
2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
2820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
2822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
2824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_BUSY;
ARM GAS /tmp/ccwvDHH5.s page 51
2826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Enable UART in mute mode (does not mean UART enters mute mode;
2831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to enter mute mode, HAL_MultiProcessor_EnterMuteMode() API must be called).
2832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
2834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart)
2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
2838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable USART mute mode by setting the MME bit in the CR1 register */
2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_MME);
2843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Disable UART mute mode (does not mean the UART actually exits mute mode
2851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * as it may not have been in mute mode at this very moment).
2852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
2854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart)
2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable USART mute mode by clearing the MME bit in the CR1 register */
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_MME);
2863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (UART_CheckIdleState(huart));
2867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Enter UART mute mode (means UART actually enters mute mode).
2871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note To exit from mute mode, HAL_MultiProcessor_DisableMuteMode() API must be called.
2872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** void HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
2876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Enable the UART transmitter and disable the UART receiver.
2882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
ARM GAS /tmp/ccwvDHH5.s page 52
2883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear TE and RE bits */
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TE);
2895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
2899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Enable the UART receiver and disable the UART transmitter.
2905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status.
2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear TE and RE bits */
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
2915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_RE);
2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
2922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR2_LINEN)
2928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Transmit break characters.
2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
2931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
2932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */
2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
2937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 53
2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Send break characters */
2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_SENDBREAK_REQUEST);
2944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
2948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */
2952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @}
2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Error functions
2958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief UART Peripheral State functions
2959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *
2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @verbatim
2961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ==============================================================================
2962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ##### Peripheral State and Error functions #####
2963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ==============================================================================
2964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** [..]
2965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** This subsection provides functions allowing to :
2966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Return the UART handle state.
2967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (+) Return the UART handle error code
2968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** @endverbatim
2970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{
2971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Return the UART handle state.
2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART.
2977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL state
2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t temp1;
2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t temp2;
2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** temp1 = huart->gState;
2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** temp2 = huart->RxState;
2985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Return the UART handle error code.
2991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART.
2993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval UART Error Code
2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
2995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)
2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 54
2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return huart->ErrorCode;
2998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @}
3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @}
3005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
3008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @{
3009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Initialize the callbacks to their default values.
3013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval none
3015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
3018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init the UART Callback settings */
3020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC
3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb
3022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC
3023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb
3024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba
3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa
3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv
3028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR1_UESM)
3029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined(USART_CR3_WUFIE)
3030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->WakeupCallback = HAL_UARTEx_WakeupCallback; /* Legacy weak WakeupCallb
3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR3_WUFIE */
3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR1_UESM */
3033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback = HAL_UARTEx_RxEventCallback; /* Legacy weak RxEventCall
3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Configure the UART peripheral.
3040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
3042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tmpreg;
3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t brrtemp;
3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource;
3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t usartdiv;
3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK;
3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t pclk;
3051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */
3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
ARM GAS /tmp/ccwvDHH5.s page 55
3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling));
3057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
3060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
3064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear M, PCE, PS, TE, RE and OVER8 bits and configure
3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the UART Word Length, Parity, Mode and oversampling:
3066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * set the M bits according to huart->Init.WordLength value
3067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * set PCE and PS bits according to huart->Init.Parity value
3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * set TE and RE bits according to huart->Init.Mode value
3069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * set OVER8 bit according to huart->Init.OverSampling value */
3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
3074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits according
3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to huart->Init.StopBits value */
3076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
3079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Configure
3080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - UART HardWare Flow Control: set CTSE and RTSE bits according
3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to huart->Init.HwFlowCtl value
3082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * - one-bit sampling method versus three samples' majority rule according
3083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * to huart->Init.OneBitSampling (not applicable to LPUART) */
3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.HwFlowCtl;
3085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmpreg |= huart->Init.OneBitSampling;
3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
3088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*-------------------------- USART BRR Configuration -----------------------*/
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_GETCLOCKSOURCE(huart, clocksource);
3092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (clocksource)
3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
3099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
3101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
3102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
3103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
3105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
3106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
3108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
3109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default:
3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = 0U;
ARM GAS /tmp/ccwvDHH5.s page 56
3111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ret = HAL_ERROR;
3112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */
3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pclk != 0U)
3117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING8(pclk, huart->Init.BaudRate));
3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
3120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** brrtemp = (uint16_t)(usartdiv & 0xFFF0U);
3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
3124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
3126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ret = HAL_ERROR;
3128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
3132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** switch (clocksource)
3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_PCLK1:
3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
3137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
3138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = (uint32_t) HSI_VALUE;
3140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
3141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_SYSCLK:
3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = HAL_RCC_GetSysClockFreq();
3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
3144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = (uint32_t) LSE_VALUE;
3146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
3147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** default:
3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pclk = 0U;
3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ret = HAL_ERROR;
3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
3151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (pclk != 0U)
3154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* USARTDIV must be greater than or equal to 0d16 */
3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** usartdiv = (uint16_t)(UART_DIV_SAMPLING16(pclk, huart->Init.BaudRate));
3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
3158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = usartdiv;
3160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
3162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ret = HAL_ERROR;
3164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 57
3168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear ISR function pointers */
3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL;
3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return ret;
3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Configure the UART peripheral advanced features.
3178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit));
3185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure TX pin active level inversion */
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT))
3188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert));
3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
3191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure RX pin active level inversion */
3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT))
3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert));
3197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
3198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure data inversion */
3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT))
3202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert));
3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
3205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure RX/TX pins swap */
3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT))
3209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap));
3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
3212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure RX overrun detection disabling */
3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT))
3216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable));
3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
3219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure DMA disabling on reception error */
3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT))
3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError));
ARM GAS /tmp/ccwvDHH5.s page 58
3225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
3226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure auto Baud rate detection scheme */
3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT))
3230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance));
3232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
3234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)
3236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode));
3238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
3239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* if required, configure MSB first on communication line */
3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT))
3244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst));
3246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
3247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Check the UART Idle State.
3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
3254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart;
3258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Initialize the UART ErrorCode */
3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Init tickstart for timeout management */
3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tickstart = HAL_GetTick();
3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check if the Transmitter is enabled */
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE)
3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Wait until TEACK flag is set */
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
3270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Timeout occurred */
3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
3273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check if the Receiver is enabled */
3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE)
3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Wait until REACK flag is set */
3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALU
3281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 59
3282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Timeout occurred */
3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
3284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Initialize the UART State */
3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
3293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Handle UART Communication Timeout.
3299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Flag Specifies the UART flag to check
3301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Status Flag status (SET or RESET)
3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Tickstart Tick start value
3303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Timeout Timeout duration
3304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus
3307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t Tickstart, uint32_t Timeout)
3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Wait until flag is set */
3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
3311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check for the Timeout */
3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
3316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error)
3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** interrupts for the interrupt process */
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
3328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (READ_BIT(huart->Instance->CR1, USART_CR1_RE) != 0U)
3331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RTOF) == SET)
3333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear Receiver Timeout flag*/
3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF);
3336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error)
3338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** interrupts for the interrupt process */
ARM GAS /tmp/ccwvDHH5.s page 60
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXE
3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
3345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Process Unlocked */
3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
3348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_TIMEOUT;
3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Start Receive operation in interrupt mode.
3359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in Interrupt mode
3360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
3361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
3362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * UART Handle is assumed as Locked.
3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
3365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
3366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
3367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData;
3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size;
3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size;
3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL;
3374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Computation of UART mask to apply to RDR register */
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_MASK_COMPUTATION(huart);
3377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
3380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
3383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the Rx ISR function pointer according to the data word length */
3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = UART_RxISR_16BIT;
3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
3390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = UART_RxISR_8BIT;
3392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
3395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 61
3396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */
3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE);
3398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Start Receive operation in DMA mode.
3403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note This function could be called by all HAL UART API providing reception in DMA mode.
3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When calling this function, parameters validity is considered as already checked,
3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * i.e. Rx State, buffer address, ...
3406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * UART Handle is assumed as Locked.
3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
3409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval HAL status
3411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData;
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size;
3416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
3419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL)
3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
3427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the DMA error callback */
3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
3430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set the DMA abort callback */
3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
3433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the DMA channel */
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPt
3436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set error code to DMA */
3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->RxState to ready */
3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_ERROR;
3446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UNLOCK(huart);
3449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 62
3453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
3457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the UART CR3 register */
3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
3466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
27 .loc 1 3470 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 .loc 1 3470 1 is_stmt 0 view .LVU1
32 0000 10B5 push {r4, lr}
33 .LCFI0:
34 .cfi_def_cfa_offset 8
35 .cfi_offset 4, -8
36 .cfi_offset 14, -4
3471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
3472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
37 .loc 1 3472 3 is_stmt 1 view .LVU2
38 .LBB564:
39 .loc 1 3472 3 view .LVU3
40 .loc 1 3472 3 view .LVU4
41 .LBB565:
42 .LBI565:
43 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ARM GAS /tmp/ccwvDHH5.s page 63
21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
24:Drivers/CMSIS/Include/cmsis_gcc.h ****
25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
27:Drivers/CMSIS/Include/cmsis_gcc.h ****
28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
33:Drivers/CMSIS/Include/cmsis_gcc.h ****
34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
38:Drivers/CMSIS/Include/cmsis_gcc.h ****
39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
ARM GAS /tmp/ccwvDHH5.s page 64
78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
116:Drivers/CMSIS/Include/cmsis_gcc.h ****
117:Drivers/CMSIS/Include/cmsis_gcc.h ****
118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
123:Drivers/CMSIS/Include/cmsis_gcc.h ****
124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
133:Drivers/CMSIS/Include/cmsis_gcc.h ****
134:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/ccwvDHH5.s page 65
135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
144:Drivers/CMSIS/Include/cmsis_gcc.h ****
145:Drivers/CMSIS/Include/cmsis_gcc.h ****
146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
154:Drivers/CMSIS/Include/cmsis_gcc.h ****
155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
158:Drivers/CMSIS/Include/cmsis_gcc.h ****
159:Drivers/CMSIS/Include/cmsis_gcc.h ****
160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
169:Drivers/CMSIS/Include/cmsis_gcc.h ****
170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
174:Drivers/CMSIS/Include/cmsis_gcc.h ****
175:Drivers/CMSIS/Include/cmsis_gcc.h ****
176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
185:Drivers/CMSIS/Include/cmsis_gcc.h ****
186:Drivers/CMSIS/Include/cmsis_gcc.h ****
187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
ARM GAS /tmp/ccwvDHH5.s page 66
192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
198:Drivers/CMSIS/Include/cmsis_gcc.h ****
199:Drivers/CMSIS/Include/cmsis_gcc.h ****
200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
208:Drivers/CMSIS/Include/cmsis_gcc.h ****
209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
212:Drivers/CMSIS/Include/cmsis_gcc.h ****
213:Drivers/CMSIS/Include/cmsis_gcc.h ****
214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
222:Drivers/CMSIS/Include/cmsis_gcc.h ****
223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
226:Drivers/CMSIS/Include/cmsis_gcc.h ****
227:Drivers/CMSIS/Include/cmsis_gcc.h ****
228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
236:Drivers/CMSIS/Include/cmsis_gcc.h ****
237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
240:Drivers/CMSIS/Include/cmsis_gcc.h ****
241:Drivers/CMSIS/Include/cmsis_gcc.h ****
242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/ccwvDHH5.s page 67
249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
250:Drivers/CMSIS/Include/cmsis_gcc.h ****
251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
254:Drivers/CMSIS/Include/cmsis_gcc.h ****
255:Drivers/CMSIS/Include/cmsis_gcc.h ****
256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
265:Drivers/CMSIS/Include/cmsis_gcc.h ****
266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
270:Drivers/CMSIS/Include/cmsis_gcc.h ****
271:Drivers/CMSIS/Include/cmsis_gcc.h ****
272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
281:Drivers/CMSIS/Include/cmsis_gcc.h ****
282:Drivers/CMSIS/Include/cmsis_gcc.h ****
283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
294:Drivers/CMSIS/Include/cmsis_gcc.h ****
295:Drivers/CMSIS/Include/cmsis_gcc.h ****
296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
304:Drivers/CMSIS/Include/cmsis_gcc.h ****
305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
ARM GAS /tmp/ccwvDHH5.s page 68
306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
308:Drivers/CMSIS/Include/cmsis_gcc.h ****
309:Drivers/CMSIS/Include/cmsis_gcc.h ****
310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
319:Drivers/CMSIS/Include/cmsis_gcc.h ****
320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
324:Drivers/CMSIS/Include/cmsis_gcc.h ****
325:Drivers/CMSIS/Include/cmsis_gcc.h ****
326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
335:Drivers/CMSIS/Include/cmsis_gcc.h ****
336:Drivers/CMSIS/Include/cmsis_gcc.h ****
337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
348:Drivers/CMSIS/Include/cmsis_gcc.h ****
349:Drivers/CMSIS/Include/cmsis_gcc.h ****
350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
359:Drivers/CMSIS/Include/cmsis_gcc.h ****
360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/ccwvDHH5.s page 69
363:Drivers/CMSIS/Include/cmsis_gcc.h ****
364:Drivers/CMSIS/Include/cmsis_gcc.h ****
365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
375:Drivers/CMSIS/Include/cmsis_gcc.h ****
376:Drivers/CMSIS/Include/cmsis_gcc.h ****
377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
44 .loc 2 382 31 view .LVU5
45 .LBB566:
383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
46 .loc 2 384 3 view .LVU6
385:Drivers/CMSIS/Include/cmsis_gcc.h ****
386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
47 .loc 2 386 3 view .LVU7
48 .syntax divided
49 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
50 0002 EFF31081 MRS r1, primask
51 @ 0 "" 2
52 .LVL1:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
53 .loc 2 387 3 view .LVU8
54 .loc 2 387 3 is_stmt 0 view .LVU9
55 .thumb
56 .syntax unified
57 .LBE566:
58 .LBE565:
59 .loc 1 3472 3 is_stmt 1 view .LVU10
60 .LBB567:
61 .LBI567:
388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
389:Drivers/CMSIS/Include/cmsis_gcc.h ****
390:Drivers/CMSIS/Include/cmsis_gcc.h ****
391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
400:Drivers/CMSIS/Include/cmsis_gcc.h ****
401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
ARM GAS /tmp/ccwvDHH5.s page 70
402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
405:Drivers/CMSIS/Include/cmsis_gcc.h ****
406:Drivers/CMSIS/Include/cmsis_gcc.h ****
407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
62 .loc 2 412 27 view .LVU11
63 .LBB568:
413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
64 .loc 2 414 3 view .LVU12
65 0006 0123 movs r3, #1
66 .syntax divided
67 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
68 0008 83F31088 MSR primask, r3
69 @ 0 "" 2
70 .LVL2:
71 .loc 2 414 3 is_stmt 0 view .LVU13
72 .thumb
73 .syntax unified
74 .LBE568:
75 .LBE567:
76 .loc 1 3472 3 is_stmt 1 view .LVU14
77 000c 0268 ldr r2, [r0]
78 000e 1368 ldr r3, [r2]
79 0010 C024 movs r4, #192
80 0012 A343 bics r3, r4
81 0014 1360 str r3, [r2]
82 .loc 1 3472 3 view .LVU15
83 .LVL3:
84 .LBB569:
85 .LBI569:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
86 .loc 2 412 27 view .LVU16
87 .LBB570:
88 .loc 2 414 3 view .LVU17
89 .syntax divided
90 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
91 0016 81F31088 MSR primask, r1
92 @ 0 "" 2
93 .LVL4:
94 .loc 2 414 3 is_stmt 0 view .LVU18
95 .thumb
96 .syntax unified
97 .LBE570:
98 .LBE569:
99 .LBE564:
3473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
3475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
100 .loc 1 3475 3 is_stmt 1 view .LVU19
101 .loc 1 3475 17 is_stmt 0 view .LVU20
ARM GAS /tmp/ccwvDHH5.s page 71
102 001a 2023 movs r3, #32
103 001c 8367 str r3, [r0, #120]
3476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
104 .loc 1 3476 1 view .LVU21
105 @ sp needed
106 001e 10BD pop {r4, pc}
107 .cfi_endproc
108 .LFE89:
110 .section .text.UART_EndRxTransfer,"ax",%progbits
111 .align 1
112 .syntax unified
113 .code 16
114 .thumb_func
115 .fpu softvfp
117 UART_EndRxTransfer:
118 .LVL5:
119 .LFB90:
3477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
3481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
3485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
120 .loc 1 3485 1 is_stmt 1 view -0
121 .cfi_startproc
122 @ args = 0, pretend = 0, frame = 0
123 @ frame_needed = 0, uses_anonymous_args = 0
124 .loc 1 3485 1 is_stmt 0 view .LVU23
125 0000 30B5 push {r4, r5, lr}
126 .LCFI1:
127 .cfi_def_cfa_offset 12
128 .cfi_offset 4, -12
129 .cfi_offset 5, -8
130 .cfi_offset 14, -4
3486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
131 .loc 1 3487 3 is_stmt 1 view .LVU24
132 .LBB571:
133 .loc 1 3487 3 view .LVU25
134 .loc 1 3487 3 view .LVU26
135 .LBB572:
136 .LBI572:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
137 .loc 2 382 31 view .LVU27
138 .LBB573:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
139 .loc 2 384 3 view .LVU28
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
140 .loc 2 386 3 view .LVU29
141 .syntax divided
142 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
143 0002 EFF31084 MRS r4, primask
144 @ 0 "" 2
145 .LVL6:
ARM GAS /tmp/ccwvDHH5.s page 72
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
146 .loc 2 387 3 view .LVU30
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
147 .loc 2 387 3 is_stmt 0 view .LVU31
148 .thumb
149 .syntax unified
150 .LBE573:
151 .LBE572:
152 .loc 1 3487 3 is_stmt 1 view .LVU32
153 .LBB574:
154 .LBI574:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
155 .loc 2 412 27 view .LVU33
156 .LBB575:
157 .loc 2 414 3 view .LVU34
158 0006 0122 movs r2, #1
159 .syntax divided
160 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
161 0008 82F31088 MSR primask, r2
162 @ 0 "" 2
163 .LVL7:
164 .loc 2 414 3 is_stmt 0 view .LVU35
165 .thumb
166 .syntax unified
167 .LBE575:
168 .LBE574:
169 .loc 1 3487 3 is_stmt 1 view .LVU36
170 000c 0168 ldr r1, [r0]
171 000e 0B68 ldr r3, [r1]
172 0010 114D ldr r5, .L5
173 0012 2B40 ands r3, r5
174 0014 0B60 str r3, [r1]
175 .loc 1 3487 3 view .LVU37
176 .LVL8:
177 .LBB576:
178 .LBI576:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
179 .loc 2 412 27 view .LVU38
180 .LBB577:
181 .loc 2 414 3 view .LVU39
182 .syntax divided
183 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
184 0016 84F31088 MSR primask, r4
185 @ 0 "" 2
186 .LVL9:
187 .loc 2 414 3 is_stmt 0 view .LVU40
188 .thumb
189 .syntax unified
190 .LBE577:
191 .LBE576:
192 .LBE571:
3488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
193 .loc 1 3488 3 is_stmt 1 view .LVU41
194 .LBB578:
195 .loc 1 3488 3 view .LVU42
196 .loc 1 3488 3 view .LVU43
197 .LBB579:
ARM GAS /tmp/ccwvDHH5.s page 73
198 .LBI579:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
199 .loc 2 382 31 view .LVU44
200 .LBB580:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
201 .loc 2 384 3 view .LVU45
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
202 .loc 2 386 3 view .LVU46
203 .syntax divided
204 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
205 001a EFF31084 MRS r4, primask
206 @ 0 "" 2
207 .LVL10:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
208 .loc 2 387 3 view .LVU47
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
209 .loc 2 387 3 is_stmt 0 view .LVU48
210 .thumb
211 .syntax unified
212 .LBE580:
213 .LBE579:
214 .loc 1 3488 3 is_stmt 1 view .LVU49
215 .LBB581:
216 .LBI581:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
217 .loc 2 412 27 view .LVU50
218 .LBB582:
219 .loc 2 414 3 view .LVU51
220 .syntax divided
221 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
222 001e 82F31088 MSR primask, r2
223 @ 0 "" 2
224 .LVL11:
225 .loc 2 414 3 is_stmt 0 view .LVU52
226 .thumb
227 .syntax unified
228 .LBE582:
229 .LBE581:
230 .loc 1 3488 3 is_stmt 1 view .LVU53
231 0022 0168 ldr r1, [r0]
232 0024 8B68 ldr r3, [r1, #8]
233 0026 9343 bics r3, r2
234 0028 8B60 str r3, [r1, #8]
235 .loc 1 3488 3 view .LVU54
236 .LVL12:
237 .LBB583:
238 .LBI583:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
239 .loc 2 412 27 view .LVU55
240 .LBB584:
241 .loc 2 414 3 view .LVU56
242 .syntax divided
243 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
244 002a 84F31088 MSR primask, r4
245 @ 0 "" 2
246 .LVL13:
247 .loc 2 414 3 is_stmt 0 view .LVU57
ARM GAS /tmp/ccwvDHH5.s page 74
248 .thumb
249 .syntax unified
250 .LBE584:
251 .LBE583:
252 .LBE578:
3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */
3491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
253 .loc 1 3491 3 is_stmt 1 view .LVU58
254 .loc 1 3491 12 is_stmt 0 view .LVU59
255 002e 036E ldr r3, [r0, #96]
256 .loc 1 3491 6 view .LVU60
257 0030 012B cmp r3, #1
258 0032 05D0 beq .L4
259 .LVL14:
260 .L3:
3492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
3494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
261 .loc 1 3497 3 is_stmt 1 view .LVU61
262 .loc 1 3497 18 is_stmt 0 view .LVU62
263 0034 2023 movs r3, #32
264 0036 C367 str r3, [r0, #124]
3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
265 .loc 1 3498 3 is_stmt 1 view .LVU63
266 .loc 1 3498 24 is_stmt 0 view .LVU64
267 0038 0023 movs r3, #0
268 003a 0366 str r3, [r0, #96]
3499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset RxIsr function pointer */
3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL;
269 .loc 1 3501 3 is_stmt 1 view .LVU65
270 .loc 1 3501 16 is_stmt 0 view .LVU66
271 003c 4366 str r3, [r0, #100]
3502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
272 .loc 1 3502 1 view .LVU67
273 @ sp needed
274 003e 30BD pop {r4, r5, pc}
275 .LVL15:
276 .L4:
3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
277 .loc 1 3493 5 is_stmt 1 view .LVU68
278 .LBB585:
3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
279 .loc 1 3493 5 view .LVU69
3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
280 .loc 1 3493 5 view .LVU70
281 .LBB586:
282 .LBI586:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
283 .loc 2 382 31 view .LVU71
284 .LBB587:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
285 .loc 2 384 3 view .LVU72
ARM GAS /tmp/ccwvDHH5.s page 75
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
286 .loc 2 386 3 view .LVU73
287 .syntax divided
288 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
289 0040 EFF31081 MRS r1, primask
290 @ 0 "" 2
291 .LVL16:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
292 .loc 2 387 3 view .LVU74
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
293 .loc 2 387 3 is_stmt 0 view .LVU75
294 .thumb
295 .syntax unified
296 .LBE587:
297 .LBE586:
3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
298 .loc 1 3493 5 is_stmt 1 view .LVU76
299 .LBB588:
300 .LBI588:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
301 .loc 2 412 27 view .LVU77
302 .LBB589:
303 .loc 2 414 3 view .LVU78
304 .syntax divided
305 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
306 0044 83F31088 MSR primask, r3
307 @ 0 "" 2
308 .LVL17:
309 .loc 2 414 3 is_stmt 0 view .LVU79
310 .thumb
311 .syntax unified
312 .LBE589:
313 .LBE588:
3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
314 .loc 1 3493 5 is_stmt 1 view .LVU80
315 0048 0268 ldr r2, [r0]
316 004a 1368 ldr r3, [r2]
317 004c 1024 movs r4, #16
318 .LVL18:
3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
319 .loc 1 3493 5 is_stmt 0 view .LVU81
320 004e A343 bics r3, r4
321 0050 1360 str r3, [r2]
3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
322 .loc 1 3493 5 is_stmt 1 view .LVU82
323 .LVL19:
324 .LBB590:
325 .LBI590:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
326 .loc 2 412 27 view .LVU83
327 .LBB591:
328 .loc 2 414 3 view .LVU84
329 .syntax divided
330 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
331 0052 81F31088 MSR primask, r1
332 @ 0 "" 2
333 .thumb
ARM GAS /tmp/ccwvDHH5.s page 76
334 .syntax unified
335 0056 EDE7 b .L3
336 .L6:
337 .align 2
338 .L5:
339 0058 DFFEFFFF .word -289
340 .LBE591:
341 .LBE590:
342 .LBE585:
343 .cfi_endproc
344 .LFE90:
346 .section .text.UART_TxISR_8BIT,"ax",%progbits
347 .align 1
348 .syntax unified
349 .code 16
350 .thumb_func
351 .fpu softvfp
353 UART_TxISR_8BIT:
354 .LVL20:
355 .LFB101:
3503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle.
3508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA Normal mode */
3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR)
3516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
3518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by resetting the DMAT bit
3520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the UART CR3 register */
3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA Circular mode */
3527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
3528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Tx complete callback*/
3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxCpltCallback(huart);
3532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
3535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
ARM GAS /tmp/ccwvDHH5.s page 77
3540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback.
3541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle.
3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Tx Half complete callback*/
3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxHalfCpltCallback(huart);
3551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Tx Half complete callback*/
3553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
3554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
3559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle.
3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* DMA Normal mode */
3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (hdma->Init.Mode != DMA_CIRCULAR)
3568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
3570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
3576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** in the UART CR3 register */
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
3578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* If Reception till IDLE event has been selected, Disable IDLE Interrupt */
3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
3586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check current reception Mode :
3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Event callback*/
3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
3596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
ARM GAS /tmp/ccwvDHH5.s page 78
3597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In other cases : use Rx Complete callback */
3604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx complete callback*/
3606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback(huart);
3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART receive process half complete callback.
3616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle.
3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check current reception Mode :
3624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If Reception till IDLE event has been selected : use Rx Event callback */
3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Event callback*/
3629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize / 2U);
3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize / 2U);
3633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
3636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* In other cases : use Rx Half Complete callback */
3638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Half complete callback*/
3640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxHalfCpltCallback(huart);
3641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/
3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
3644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART communication error callback.
3650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle.
3651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
ARM GAS /tmp/ccwvDHH5.s page 79
3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTxTransfer(huart);
3666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndRxTransfer(huart);
3674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered error callback*/
3680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback(huart);
3681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak error callback*/
3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
3689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle.
3691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered error callback*/
3701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCallback(huart);
3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak error callback*/
3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
ARM GAS /tmp/ccwvDHH5.s page 80
3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
3713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle.
3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
3721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx != NULL)
3724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL)
3726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
3728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
3734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset errorCode */
3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user Abort complete callback */
3748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort complete callback */
3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback(huart);
3751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
3754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
3760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
3761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
3763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle.
3764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 81
3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx != NULL)
3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL)
3776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
3784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Reset errorCode */
3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
3787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */
3792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user Abort complete callback */
3800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort complete callback */
3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortCpltCallback(huart);
3803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
3806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
3812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
3813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
3814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
3815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle.
3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
3823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 82
3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->gState to Ready */
3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user Abort complete callback */
3829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
3831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
3835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
3840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
3842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
3843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param hdma DMA handle.
3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
3851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear the Error flags in the ICR register */
3853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);
3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Discard the received data */
3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
3857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Restore huart->RxState to Ready */
3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call user Abort complete callback */
3863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
3866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
3869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief TX interrupt handler for 7 or 8 bits data word length .
3874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note Function is called under interruption only, once
3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_TxISR_8BIT(UART_HandleTypeDef *huart)
3880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
356 .loc 1 3880 1 view -0
ARM GAS /tmp/ccwvDHH5.s page 83
357 .cfi_startproc
358 @ args = 0, pretend = 0, frame = 0
359 @ frame_needed = 0, uses_anonymous_args = 0
360 .loc 1 3880 1 is_stmt 0 view .LVU86
361 0000 30B5 push {r4, r5, lr}
362 .LCFI2:
363 .cfi_def_cfa_offset 12
364 .cfi_offset 4, -12
365 .cfi_offset 5, -8
366 .cfi_offset 14, -4
3881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is ongoing */
3882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
367 .loc 1 3882 3 is_stmt 1 view .LVU87
368 .loc 1 3882 12 is_stmt 0 view .LVU88
369 0002 836F ldr r3, [r0, #120]
370 .loc 1 3882 6 view .LVU89
371 0004 212B cmp r3, #33
372 0006 00D0 beq .L10
373 .LVL21:
374 .L7:
3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->TxXferCount == 0U)
3885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->TDR = (uint8_t)(*huart->pTxBuffPtr & (uint8_t)0xFF);
3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr++;
3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--;
3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
375 .loc 1 3899 1 view .LVU90
376 @ sp needed
377 0008 30BD pop {r4, r5, pc}
378 .LVL22:
379 .L10:
3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
380 .loc 1 3884 5 is_stmt 1 view .LVU91
3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
381 .loc 1 3884 14 is_stmt 0 view .LVU92
382 000a 3133 adds r3, r3, #49
383 000c C35A ldrh r3, [r0, r3]
384 000e 9BB2 uxth r3, r3
3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
385 .loc 1 3884 8 view .LVU93
386 0010 002B cmp r3, #0
387 0012 17D1 bne .L9
3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
388 .loc 1 3887 7 is_stmt 1 view .LVU94
389 .LBB592:
3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 84
390 .loc 1 3887 7 view .LVU95
3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
391 .loc 1 3887 7 view .LVU96
392 .LBB593:
393 .LBI593:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
394 .loc 2 382 31 view .LVU97
395 .LBB594:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
396 .loc 2 384 3 view .LVU98
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
397 .loc 2 386 3 view .LVU99
398 .syntax divided
399 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
400 0014 EFF31084 MRS r4, primask
401 @ 0 "" 2
402 .LVL23:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
403 .loc 2 387 3 view .LVU100
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
404 .loc 2 387 3 is_stmt 0 view .LVU101
405 .thumb
406 .syntax unified
407 .LBE594:
408 .LBE593:
3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
409 .loc 1 3887 7 is_stmt 1 view .LVU102
410 .LBB595:
411 .LBI595:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
412 .loc 2 412 27 view .LVU103
413 .LBB596:
414 .loc 2 414 3 view .LVU104
415 0018 0122 movs r2, #1
416 .syntax divided
417 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
418 001a 82F31088 MSR primask, r2
419 @ 0 "" 2
420 .LVL24:
421 .loc 2 414 3 is_stmt 0 view .LVU105
422 .thumb
423 .syntax unified
424 .LBE596:
425 .LBE595:
3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
426 .loc 1 3887 7 is_stmt 1 view .LVU106
427 001e 0168 ldr r1, [r0]
428 0020 0B68 ldr r3, [r1]
429 0022 8025 movs r5, #128
430 0024 AB43 bics r3, r5
431 0026 0B60 str r3, [r1]
3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
432 .loc 1 3887 7 view .LVU107
433 .LVL25:
434 .LBB597:
435 .LBI597:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/ccwvDHH5.s page 85
436 .loc 2 412 27 view .LVU108
437 .LBB598:
438 .loc 2 414 3 view .LVU109
439 .syntax divided
440 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
441 0028 84F31088 MSR primask, r4
442 @ 0 "" 2
443 .LVL26:
444 .loc 2 414 3 is_stmt 0 view .LVU110
445 .thumb
446 .syntax unified
447 .LBE598:
448 .LBE597:
449 .LBE592:
3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
450 .loc 1 3890 7 is_stmt 1 view .LVU111
451 .LBB599:
3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
452 .loc 1 3890 7 view .LVU112
3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
453 .loc 1 3890 7 view .LVU113
454 .LBB600:
455 .LBI600:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
456 .loc 2 382 31 view .LVU114
457 .LBB601:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
458 .loc 2 384 3 view .LVU115
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
459 .loc 2 386 3 view .LVU116
460 .syntax divided
461 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
462 002c EFF31081 MRS r1, primask
463 @ 0 "" 2
464 .LVL27:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
465 .loc 2 387 3 view .LVU117
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
466 .loc 2 387 3 is_stmt 0 view .LVU118
467 .thumb
468 .syntax unified
469 .LBE601:
470 .LBE600:
3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
471 .loc 1 3890 7 is_stmt 1 view .LVU119
472 .LBB602:
473 .LBI602:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
474 .loc 2 412 27 view .LVU120
475 .LBB603:
476 .loc 2 414 3 view .LVU121
477 .syntax divided
478 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
479 0030 82F31088 MSR primask, r2
480 @ 0 "" 2
481 .LVL28:
482 .loc 2 414 3 is_stmt 0 view .LVU122
ARM GAS /tmp/ccwvDHH5.s page 86
483 .thumb
484 .syntax unified
485 .LBE603:
486 .LBE602:
3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
487 .loc 1 3890 7 is_stmt 1 view .LVU123
488 0034 0268 ldr r2, [r0]
489 0036 1368 ldr r3, [r2]
490 0038 4020 movs r0, #64
491 .LVL29:
3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
492 .loc 1 3890 7 is_stmt 0 view .LVU124
493 003a 0343 orrs r3, r0
494 003c 1360 str r3, [r2]
3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
495 .loc 1 3890 7 is_stmt 1 view .LVU125
496 .LVL30:
497 .LBB604:
498 .LBI604:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
499 .loc 2 412 27 view .LVU126
500 .LBB605:
501 .loc 2 414 3 view .LVU127
502 .syntax divided
503 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
504 003e 81F31088 MSR primask, r1
505 @ 0 "" 2
506 .thumb
507 .syntax unified
508 0042 E1E7 b .L7
509 .LVL31:
510 .L9:
511 .loc 2 414 3 is_stmt 0 view .LVU128
512 .LBE605:
513 .LBE604:
514 .LBE599:
3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr++;
515 .loc 1 3894 7 is_stmt 1 view .LVU129
3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr++;
516 .loc 1 3894 30 is_stmt 0 view .LVU130
517 0044 C36C ldr r3, [r0, #76]
518 0046 1B78 ldrb r3, [r3]
3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr++;
519 .loc 1 3894 28 view .LVU131
520 0048 0268 ldr r2, [r0]
521 004a 1385 strh r3, [r2, #40]
3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--;
522 .loc 1 3895 7 is_stmt 1 view .LVU132
3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--;
523 .loc 1 3895 24 is_stmt 0 view .LVU133
524 004c C36C ldr r3, [r0, #76]
525 004e 0133 adds r3, r3, #1
526 0050 C364 str r3, [r0, #76]
3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
527 .loc 1 3896 7 is_stmt 1 view .LVU134
3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
528 .loc 1 3896 12 is_stmt 0 view .LVU135
ARM GAS /tmp/ccwvDHH5.s page 87
529 0052 5222 movs r2, #82
530 0054 835A ldrh r3, [r0, r2]
3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
531 .loc 1 3896 25 view .LVU136
532 0056 013B subs r3, r3, #1
533 0058 9BB2 uxth r3, r3
534 005a 8352 strh r3, [r0, r2]
535 .loc 1 3899 1 view .LVU137
536 005c D4E7 b .L7
537 .cfi_endproc
538 .LFE101:
540 .section .text.UART_TxISR_16BIT,"ax",%progbits
541 .align 1
542 .syntax unified
543 .code 16
544 .thumb_func
545 .fpu softvfp
547 UART_TxISR_16BIT:
548 .LVL32:
549 .LFB102:
3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief TX interrupt handler for 9 bits data word length.
3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note Function is called under interruption only, once
3904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Transmit_IT().
3905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_TxISR_16BIT(UART_HandleTypeDef *huart)
3909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
550 .loc 1 3909 1 is_stmt 1 view -0
551 .cfi_startproc
552 @ args = 0, pretend = 0, frame = 0
553 @ frame_needed = 0, uses_anonymous_args = 0
554 .loc 1 3909 1 is_stmt 0 view .LVU139
555 0000 30B5 push {r4, r5, lr}
556 .LCFI3:
557 .cfi_def_cfa_offset 12
558 .cfi_offset 4, -12
559 .cfi_offset 5, -8
560 .cfi_offset 14, -4
3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *tmp;
561 .loc 1 3910 3 is_stmt 1 view .LVU140
3911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is ongoing */
3913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
562 .loc 1 3913 3 view .LVU141
563 .loc 1 3913 12 is_stmt 0 view .LVU142
564 0002 836F ldr r3, [r0, #120]
565 .loc 1 3913 6 view .LVU143
566 0004 212B cmp r3, #33
567 0006 00D0 beq .L14
568 .LVL33:
569 .L11:
3914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->TxXferCount == 0U)
3916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 88
3917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Transmit Data Register Empty Interrupt */
3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TXEIE);
3919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
3924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmp = (uint16_t *) huart->pTxBuffPtr;
3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--;
3929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
570 .loc 1 3931 1 view .LVU144
571 @ sp needed
572 0008 30BD pop {r4, r5, pc}
573 .LVL34:
574 .L14:
3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
575 .loc 1 3915 5 is_stmt 1 view .LVU145
3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
576 .loc 1 3915 14 is_stmt 0 view .LVU146
577 000a 3133 adds r3, r3, #49
578 000c C35A ldrh r3, [r0, r3]
579 000e 9BB2 uxth r3, r3
3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
580 .loc 1 3915 8 view .LVU147
581 0010 002B cmp r3, #0
582 0012 17D1 bne .L13
3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
583 .loc 1 3918 7 is_stmt 1 view .LVU148
584 .LBB606:
3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
585 .loc 1 3918 7 view .LVU149
3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
586 .loc 1 3918 7 view .LVU150
587 .LBB607:
588 .LBI607:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
589 .loc 2 382 31 view .LVU151
590 .LBB608:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
591 .loc 2 384 3 view .LVU152
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
592 .loc 2 386 3 view .LVU153
593 .syntax divided
594 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
595 0014 EFF31084 MRS r4, primask
596 @ 0 "" 2
597 .LVL35:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
598 .loc 2 387 3 view .LVU154
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
599 .loc 2 387 3 is_stmt 0 view .LVU155
600 .thumb
ARM GAS /tmp/ccwvDHH5.s page 89
601 .syntax unified
602 .LBE608:
603 .LBE607:
3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
604 .loc 1 3918 7 is_stmt 1 view .LVU156
605 .LBB609:
606 .LBI609:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
607 .loc 2 412 27 view .LVU157
608 .LBB610:
609 .loc 2 414 3 view .LVU158
610 0018 0122 movs r2, #1
611 .syntax divided
612 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
613 001a 82F31088 MSR primask, r2
614 @ 0 "" 2
615 .LVL36:
616 .loc 2 414 3 is_stmt 0 view .LVU159
617 .thumb
618 .syntax unified
619 .LBE610:
620 .LBE609:
3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
621 .loc 1 3918 7 is_stmt 1 view .LVU160
622 001e 0168 ldr r1, [r0]
623 0020 0B68 ldr r3, [r1]
624 0022 8025 movs r5, #128
625 0024 AB43 bics r3, r5
626 0026 0B60 str r3, [r1]
3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
627 .loc 1 3918 7 view .LVU161
628 .LVL37:
629 .LBB611:
630 .LBI611:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
631 .loc 2 412 27 view .LVU162
632 .LBB612:
633 .loc 2 414 3 view .LVU163
634 .syntax divided
635 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
636 0028 84F31088 MSR primask, r4
637 @ 0 "" 2
638 .LVL38:
639 .loc 2 414 3 is_stmt 0 view .LVU164
640 .thumb
641 .syntax unified
642 .LBE612:
643 .LBE611:
644 .LBE606:
3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
645 .loc 1 3921 7 is_stmt 1 view .LVU165
646 .LBB613:
3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
647 .loc 1 3921 7 view .LVU166
3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
648 .loc 1 3921 7 view .LVU167
649 .LBB614:
ARM GAS /tmp/ccwvDHH5.s page 90
650 .LBI614:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
651 .loc 2 382 31 view .LVU168
652 .LBB615:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
653 .loc 2 384 3 view .LVU169
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
654 .loc 2 386 3 view .LVU170
655 .syntax divided
656 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
657 002c EFF31081 MRS r1, primask
658 @ 0 "" 2
659 .LVL39:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
660 .loc 2 387 3 view .LVU171
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
661 .loc 2 387 3 is_stmt 0 view .LVU172
662 .thumb
663 .syntax unified
664 .LBE615:
665 .LBE614:
3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
666 .loc 1 3921 7 is_stmt 1 view .LVU173
667 .LBB616:
668 .LBI616:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
669 .loc 2 412 27 view .LVU174
670 .LBB617:
671 .loc 2 414 3 view .LVU175
672 .syntax divided
673 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
674 0030 82F31088 MSR primask, r2
675 @ 0 "" 2
676 .LVL40:
677 .loc 2 414 3 is_stmt 0 view .LVU176
678 .thumb
679 .syntax unified
680 .LBE617:
681 .LBE616:
3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
682 .loc 1 3921 7 is_stmt 1 view .LVU177
683 0034 0268 ldr r2, [r0]
684 0036 1368 ldr r3, [r2]
685 0038 4020 movs r0, #64
686 .LVL41:
3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
687 .loc 1 3921 7 is_stmt 0 view .LVU178
688 003a 0343 orrs r3, r0
689 003c 1360 str r3, [r2]
3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
690 .loc 1 3921 7 is_stmt 1 view .LVU179
691 .LVL42:
692 .LBB618:
693 .LBI618:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
694 .loc 2 412 27 view .LVU180
695 .LBB619:
ARM GAS /tmp/ccwvDHH5.s page 91
696 .loc 2 414 3 view .LVU181
697 .syntax divided
698 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
699 003e 81F31088 MSR primask, r1
700 @ 0 "" 2
701 .thumb
702 .syntax unified
703 0042 E1E7 b .L11
704 .LVL43:
705 .L13:
706 .loc 2 414 3 is_stmt 0 view .LVU182
707 .LBE619:
708 .LBE618:
709 .LBE613:
3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->TDR = (((uint32_t)(*tmp)) & 0x01FFUL);
710 .loc 1 3925 7 is_stmt 1 view .LVU183
3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
711 .loc 1 3926 7 view .LVU184
3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
712 .loc 1 3926 43 is_stmt 0 view .LVU185
713 0044 C36C ldr r3, [r0, #76]
714 0046 1B88 ldrh r3, [r3]
3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
715 .loc 1 3926 50 view .LVU186
716 0048 DB05 lsls r3, r3, #23
717 004a DB0D lsrs r3, r3, #23
3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
718 .loc 1 3926 28 view .LVU187
719 004c 0268 ldr r2, [r0]
720 004e 1385 strh r3, [r2, #40]
721 .LVL44:
3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--;
722 .loc 1 3927 7 is_stmt 1 view .LVU188
3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount--;
723 .loc 1 3927 25 is_stmt 0 view .LVU189
724 0050 C36C ldr r3, [r0, #76]
725 0052 0233 adds r3, r3, #2
726 0054 C364 str r3, [r0, #76]
3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
727 .loc 1 3928 7 is_stmt 1 view .LVU190
3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
728 .loc 1 3928 12 is_stmt 0 view .LVU191
729 0056 5222 movs r2, #82
730 0058 835A ldrh r3, [r0, r2]
3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
731 .loc 1 3928 25 view .LVU192
732 005a 013B subs r3, r3, #1
733 005c 9BB2 uxth r3, r3
734 005e 8352 strh r3, [r0, r2]
735 .loc 1 3931 1 view .LVU193
736 0060 D2E7 b .L11
737 .cfi_endproc
738 .LFE102:
740 .section .text.HAL_UART_MspInit,"ax",%progbits
741 .align 1
742 .weak HAL_UART_MspInit
743 .syntax unified
ARM GAS /tmp/ccwvDHH5.s page 92
744 .code 16
745 .thumb_func
746 .fpu softvfp
748 HAL_UART_MspInit:
749 .LVL45:
750 .LFB45:
713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
751 .loc 1 713 1 is_stmt 1 view -0
752 .cfi_startproc
753 @ args = 0, pretend = 0, frame = 0
754 @ frame_needed = 0, uses_anonymous_args = 0
755 @ link register save eliminated.
715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
756 .loc 1 715 3 view .LVU195
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
757 .loc 1 720 1 is_stmt 0 view .LVU196
758 @ sp needed
759 0000 7047 bx lr
760 .cfi_endproc
761 .LFE45:
763 .section .text.HAL_UART_MspDeInit,"ax",%progbits
764 .align 1
765 .weak HAL_UART_MspDeInit
766 .syntax unified
767 .code 16
768 .thumb_func
769 .fpu softvfp
771 HAL_UART_MspDeInit:
772 .LVL46:
773 .LFB46:
728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
774 .loc 1 728 1 is_stmt 1 view -0
775 .cfi_startproc
776 @ args = 0, pretend = 0, frame = 0
777 @ frame_needed = 0, uses_anonymous_args = 0
778 @ link register save eliminated.
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
779 .loc 1 730 3 view .LVU198
735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
780 .loc 1 735 1 is_stmt 0 view .LVU199
781 @ sp needed
782 0000 7047 bx lr
783 .cfi_endproc
784 .LFE46:
786 .section .text.HAL_UART_DeInit,"ax",%progbits
787 .align 1
788 .global HAL_UART_DeInit
789 .syntax unified
790 .code 16
791 .thumb_func
792 .fpu softvfp
794 HAL_UART_DeInit:
795 .LVL47:
796 .LFB44:
667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
797 .loc 1 667 1 is_stmt 1 view -0
798 .cfi_startproc
ARM GAS /tmp/ccwvDHH5.s page 93
799 @ args = 0, pretend = 0, frame = 0
800 @ frame_needed = 0, uses_anonymous_args = 0
667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
801 .loc 1 667 1 is_stmt 0 view .LVU201
802 0000 70B5 push {r4, r5, r6, lr}
803 .LCFI4:
804 .cfi_def_cfa_offset 16
805 .cfi_offset 4, -16
806 .cfi_offset 5, -12
807 .cfi_offset 6, -8
808 .cfi_offset 14, -4
809 0002 041E subs r4, r0, #0
669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
810 .loc 1 669 3 is_stmt 1 view .LVU202
669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
811 .loc 1 669 6 is_stmt 0 view .LVU203
812 0004 18D0 beq .L19
675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
813 .loc 1 675 3 is_stmt 1 view .LVU204
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
814 .loc 1 677 3 view .LVU205
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
815 .loc 1 677 17 is_stmt 0 view .LVU206
816 0006 2423 movs r3, #36
817 0008 8367 str r3, [r0, #120]
679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
818 .loc 1 679 3 is_stmt 1 view .LVU207
819 000a 0268 ldr r2, [r0]
820 000c 1368 ldr r3, [r2]
821 000e 0121 movs r1, #1
822 0010 8B43 bics r3, r1
823 0012 1360 str r3, [r2]
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
824 .loc 1 681 3 view .LVU208
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
825 .loc 1 681 8 is_stmt 0 view .LVU209
826 0014 0368 ldr r3, [r0]
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR2 = 0x0U;
827 .loc 1 681 24 view .LVU210
828 0016 0025 movs r5, #0
829 0018 1D60 str r5, [r3]
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
830 .loc 1 682 3 is_stmt 1 view .LVU211
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
831 .loc 1 682 8 is_stmt 0 view .LVU212
832 001a 0368 ldr r3, [r0]
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->CR3 = 0x0U;
833 .loc 1 682 24 view .LVU213
834 001c 5D60 str r5, [r3, #4]
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
835 .loc 1 683 3 is_stmt 1 view .LVU214
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
836 .loc 1 683 8 is_stmt 0 view .LVU215
837 001e 0368 ldr r3, [r0]
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
838 .loc 1 683 24 view .LVU216
839 0020 9D60 str r5, [r3, #8]
ARM GAS /tmp/ccwvDHH5.s page 94
694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
840 .loc 1 694 3 is_stmt 1 view .LVU217
841 0022 FFF7FEFF bl HAL_UART_MspDeInit
842 .LVL48:
697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
843 .loc 1 697 3 view .LVU218
697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
844 .loc 1 697 20 is_stmt 0 view .LVU219
845 0026 8023 movs r3, #128
846 0028 E550 str r5, [r4, r3]
698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
847 .loc 1 698 3 is_stmt 1 view .LVU220
698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
848 .loc 1 698 17 is_stmt 0 view .LVU221
849 002a A567 str r5, [r4, #120]
699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
850 .loc 1 699 3 is_stmt 1 view .LVU222
699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
851 .loc 1 699 18 is_stmt 0 view .LVU223
852 002c E567 str r5, [r4, #124]
700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
853 .loc 1 700 3 is_stmt 1 view .LVU224
700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
854 .loc 1 700 24 is_stmt 0 view .LVU225
855 002e 2566 str r5, [r4, #96]
702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
856 .loc 1 702 3 is_stmt 1 view .LVU226
702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
857 .loc 1 702 3 view .LVU227
858 0030 0C3B subs r3, r3, #12
859 0032 E554 strb r5, [r4, r3]
704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
860 .loc 1 704 3 view .LVU228
704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
861 .loc 1 704 10 is_stmt 0 view .LVU229
862 0034 0020 movs r0, #0
863 .L18:
705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
864 .loc 1 705 1 view .LVU230
865 @ sp needed
866 .LVL49:
705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
867 .loc 1 705 1 view .LVU231
868 0036 70BD pop {r4, r5, r6, pc}
869 .LVL50:
870 .L19:
671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
871 .loc 1 671 12 view .LVU232
872 0038 0120 movs r0, #1
873 .LVL51:
671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
874 .loc 1 671 12 view .LVU233
875 003a FCE7 b .L18
876 .cfi_endproc
877 .LFE44:
879 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
880 .align 1
ARM GAS /tmp/ccwvDHH5.s page 95
881 .global HAL_UART_Transmit_IT
882 .syntax unified
883 .code 16
884 .thumb_func
885 .fpu softvfp
887 HAL_UART_Transmit_IT:
888 .LVL52:
889 .LFB49:
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
890 .loc 1 1357 1 is_stmt 1 view -0
891 .cfi_startproc
892 @ args = 0, pretend = 0, frame = 0
893 @ frame_needed = 0, uses_anonymous_args = 0
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
894 .loc 1 1357 1 is_stmt 0 view .LVU235
895 0000 30B5 push {r4, r5, lr}
896 .LCFI5:
897 .cfi_def_cfa_offset 12
898 .cfi_offset 4, -12
899 .cfi_offset 5, -8
900 .cfi_offset 14, -4
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
901 .loc 1 1359 3 is_stmt 1 view .LVU236
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
902 .loc 1 1359 12 is_stmt 0 view .LVU237
903 0002 836F ldr r3, [r0, #120]
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
904 .loc 1 1359 6 view .LVU238
905 0004 202B cmp r3, #32
906 0006 3ED1 bne .L25
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
907 .loc 1 1361 5 is_stmt 1 view .LVU239
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
908 .loc 1 1361 8 is_stmt 0 view .LVU240
909 0008 0029 cmp r1, #0
910 000a 3ED0 beq .L26
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
911 .loc 1 1361 25 discriminator 1 view .LVU241
912 000c 002A cmp r2, #0
913 000e 3ED0 beq .L27
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
914 .loc 1 1369 5 is_stmt 1 view .LVU242
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
915 .loc 1 1369 21 is_stmt 0 view .LVU243
916 0010 8368 ldr r3, [r0, #8]
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
917 .loc 1 1369 8 view .LVU244
918 0012 8024 movs r4, #128
919 0014 6401 lsls r4, r4, #5
920 0016 A342 cmp r3, r4
921 0018 28D0 beq .L30
922 .L22:
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
923 .loc 1 1377 5 is_stmt 1 view .LVU245
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
924 .loc 1 1377 5 view .LVU246
925 001a 7424 movs r4, #116
ARM GAS /tmp/ccwvDHH5.s page 96
926 001c 045D ldrb r4, [r0, r4]
927 001e 012C cmp r4, #1
928 0020 37D0 beq .L29
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
929 .loc 1 1377 5 discriminator 2 view .LVU247
930 0022 7424 movs r4, #116
931 0024 0125 movs r5, #1
932 0026 0555 strb r5, [r0, r4]
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size;
933 .loc 1 1379 5 discriminator 2 view .LVU248
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size;
934 .loc 1 1379 24 is_stmt 0 discriminator 2 view .LVU249
935 0028 C164 str r1, [r0, #76]
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size;
936 .loc 1 1380 5 is_stmt 1 discriminator 2 view .LVU250
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size;
937 .loc 1 1380 24 is_stmt 0 discriminator 2 view .LVU251
938 002a 5021 movs r1, #80
939 .LVL53:
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size;
940 .loc 1 1380 24 discriminator 2 view .LVU252
941 002c 4252 strh r2, [r0, r1]
942 .LVL54:
1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
943 .loc 1 1381 5 is_stmt 1 discriminator 2 view .LVU253
1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
944 .loc 1 1381 24 is_stmt 0 discriminator 2 view .LVU254
945 002e 0231 adds r1, r1, #2
946 0030 4252 strh r2, [r0, r1]
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
947 .loc 1 1382 5 is_stmt 1 discriminator 2 view .LVU255
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
948 .loc 1 1382 24 is_stmt 0 discriminator 2 view .LVU256
949 0032 0022 movs r2, #0
950 .LVL55:
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
951 .loc 1 1382 24 discriminator 2 view .LVU257
952 0034 8266 str r2, [r0, #104]
953 .LVL56:
1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
954 .loc 1 1384 5 is_stmt 1 discriminator 2 view .LVU258
1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
955 .loc 1 1384 22 is_stmt 0 discriminator 2 view .LVU259
956 0036 2E31 adds r1, r1, #46
957 0038 4250 str r2, [r0, r1]
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
958 .loc 1 1385 5 is_stmt 1 discriminator 2 view .LVU260
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
959 .loc 1 1385 19 is_stmt 0 discriminator 2 view .LVU261
960 003a 2132 adds r2, r2, #33
961 003c 8267 str r2, [r0, #120]
1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
962 .loc 1 1388 5 is_stmt 1 discriminator 2 view .LVU262
1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
963 .loc 1 1388 8 is_stmt 0 discriminator 2 view .LVU263
964 003e 8022 movs r2, #128
965 0040 5201 lsls r2, r2, #5
ARM GAS /tmp/ccwvDHH5.s page 97
966 0042 9342 cmp r3, r2
967 0044 19D0 beq .L31
968 .L23:
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
969 .loc 1 1394 7 is_stmt 1 view .LVU264
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
970 .loc 1 1394 20 is_stmt 0 view .LVU265
971 0046 144B ldr r3, .L32
972 0048 8366 str r3, [r0, #104]
973 .L24:
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
974 .loc 1 1397 5 is_stmt 1 view .LVU266
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
975 .loc 1 1397 5 view .LVU267
976 004a 7423 movs r3, #116
977 004c 0022 movs r2, #0
978 004e C254 strb r2, [r0, r3]
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
979 .loc 1 1400 5 view .LVU268
980 .LBB620:
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
981 .loc 1 1400 5 view .LVU269
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
982 .loc 1 1400 5 view .LVU270
983 .LBB621:
984 .LBI621:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
985 .loc 2 382 31 view .LVU271
986 .LBB622:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
987 .loc 2 384 3 view .LVU272
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
988 .loc 2 386 3 view .LVU273
989 .syntax divided
990 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
991 0050 EFF31081 MRS r1, primask
992 @ 0 "" 2
993 .LVL57:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
994 .loc 2 387 3 view .LVU274
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
995 .loc 2 387 3 is_stmt 0 view .LVU275
996 .thumb
997 .syntax unified
998 .LBE622:
999 .LBE621:
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1000 .loc 1 1400 5 is_stmt 1 view .LVU276
1001 .LBB623:
1002 .LBI623:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1003 .loc 2 412 27 view .LVU277
1004 .LBB624:
1005 .loc 2 414 3 view .LVU278
1006 0054 733B subs r3, r3, #115
1007 .syntax divided
1008 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
ARM GAS /tmp/ccwvDHH5.s page 98
1009 0056 83F31088 MSR primask, r3
1010 @ 0 "" 2
1011 .LVL58:
1012 .loc 2 414 3 is_stmt 0 view .LVU279
1013 .thumb
1014 .syntax unified
1015 .LBE624:
1016 .LBE623:
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1017 .loc 1 1400 5 is_stmt 1 view .LVU280
1018 005a 0268 ldr r2, [r0]
1019 005c 1368 ldr r3, [r2]
1020 005e 8020 movs r0, #128
1021 .LVL59:
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1022 .loc 1 1400 5 is_stmt 0 view .LVU281
1023 0060 0343 orrs r3, r0
1024 0062 1360 str r3, [r2]
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1025 .loc 1 1400 5 is_stmt 1 view .LVU282
1026 .LVL60:
1027 .LBB625:
1028 .LBI625:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1029 .loc 2 412 27 view .LVU283
1030 .LBB626:
1031 .loc 2 414 3 view .LVU284
1032 .syntax divided
1033 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1034 0064 81F31088 MSR primask, r1
1035 @ 0 "" 2
1036 .LVL61:
1037 .loc 2 414 3 is_stmt 0 view .LVU285
1038 .thumb
1039 .syntax unified
1040 .LBE626:
1041 .LBE625:
1042 .LBE620:
1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1043 .loc 1 1402 5 is_stmt 1 view .LVU286
1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1044 .loc 1 1402 12 is_stmt 0 view .LVU287
1045 0068 0020 movs r0, #0
1046 006a 0DE0 b .L21
1047 .LVL62:
1048 .L30:
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1049 .loc 1 1369 56 discriminator 1 view .LVU288
1050 006c 0469 ldr r4, [r0, #16]
1051 006e 002C cmp r4, #0
1052 0070 D3D1 bne .L22
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1053 .loc 1 1371 7 is_stmt 1 view .LVU289
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1054 .loc 1 1371 10 is_stmt 0 view .LVU290
1055 0072 CC07 lsls r4, r1, #31
1056 0074 D1D5 bpl .L22
ARM GAS /tmp/ccwvDHH5.s page 99
1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1057 .loc 1 1373 17 view .LVU291
1058 0076 0120 movs r0, #1
1059 .LVL63:
1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1060 .loc 1 1373 17 view .LVU292
1061 0078 06E0 b .L21
1062 .LVL64:
1063 .L31:
1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1064 .loc 1 1388 56 discriminator 1 view .LVU293
1065 007a 0369 ldr r3, [r0, #16]
1066 007c 002B cmp r3, #0
1067 007e E2D1 bne .L23
1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1068 .loc 1 1390 7 is_stmt 1 view .LVU294
1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1069 .loc 1 1390 20 is_stmt 0 view .LVU295
1070 0080 064B ldr r3, .L32+4
1071 0082 8366 str r3, [r0, #104]
1072 0084 E1E7 b .L24
1073 .LVL65:
1074 .L25:
1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1075 .loc 1 1406 12 view .LVU296
1076 0086 0220 movs r0, #2
1077 .LVL66:
1078 .L21:
1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1079 .loc 1 1408 1 view .LVU297
1080 @ sp needed
1081 0088 30BD pop {r4, r5, pc}
1082 .LVL67:
1083 .L26:
1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1084 .loc 1 1363 14 view .LVU298
1085 008a 0120 movs r0, #1
1086 .LVL68:
1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1087 .loc 1 1363 14 view .LVU299
1088 008c FCE7 b .L21
1089 .LVL69:
1090 .L27:
1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1091 .loc 1 1363 14 view .LVU300
1092 008e 0120 movs r0, #1
1093 .LVL70:
1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1094 .loc 1 1363 14 view .LVU301
1095 0090 FAE7 b .L21
1096 .LVL71:
1097 .L29:
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1098 .loc 1 1377 5 view .LVU302
1099 0092 0220 movs r0, #2
1100 .LVL72:
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 100
1101 .loc 1 1377 5 view .LVU303
1102 0094 F8E7 b .L21
1103 .L33:
1104 0096 C046 .align 2
1105 .L32:
1106 0098 00000000 .word UART_TxISR_8BIT
1107 009c 00000000 .word UART_TxISR_16BIT
1108 .cfi_endproc
1109 .LFE49:
1111 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
1112 .align 1
1113 .global HAL_UART_Transmit_DMA
1114 .syntax unified
1115 .code 16
1116 .thumb_func
1117 .fpu softvfp
1119 HAL_UART_Transmit_DMA:
1120 .LVL73:
1121 .LFB51:
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1122 .loc 1 1482 1 is_stmt 1 view -0
1123 .cfi_startproc
1124 @ args = 0, pretend = 0, frame = 0
1125 @ frame_needed = 0, uses_anonymous_args = 0
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1126 .loc 1 1482 1 is_stmt 0 view .LVU305
1127 0000 10B5 push {r4, lr}
1128 .LCFI6:
1129 .cfi_def_cfa_offset 8
1130 .cfi_offset 4, -8
1131 .cfi_offset 14, -4
1132 0002 0400 movs r4, r0
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1133 .loc 1 1484 3 is_stmt 1 view .LVU306
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1134 .loc 1 1484 12 is_stmt 0 view .LVU307
1135 0004 836F ldr r3, [r0, #120]
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1136 .loc 1 1484 6 view .LVU308
1137 0006 202B cmp r3, #32
1138 0008 56D1 bne .L38
1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1139 .loc 1 1486 5 is_stmt 1 view .LVU309
1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1140 .loc 1 1486 8 is_stmt 0 view .LVU310
1141 000a 0029 cmp r1, #0
1142 000c 56D0 beq .L39
1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1143 .loc 1 1486 25 discriminator 1 view .LVU311
1144 000e 002A cmp r2, #0
1145 0010 56D0 beq .L40
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1146 .loc 1 1494 5 is_stmt 1 view .LVU312
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1147 .loc 1 1494 8 is_stmt 0 view .LVU313
1148 0012 8023 movs r3, #128
1149 0014 5B01 lsls r3, r3, #5
ARM GAS /tmp/ccwvDHH5.s page 101
1150 0016 8068 ldr r0, [r0, #8]
1151 .LVL74:
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1152 .loc 1 1494 8 view .LVU314
1153 0018 9842 cmp r0, r3
1154 001a 32D0 beq .L43
1155 .L36:
1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1156 .loc 1 1502 5 is_stmt 1 view .LVU315
1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1157 .loc 1 1502 5 view .LVU316
1158 001c 7423 movs r3, #116
1159 001e E35C ldrb r3, [r4, r3]
1160 0020 012B cmp r3, #1
1161 0022 4FD0 beq .L42
1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1162 .loc 1 1502 5 discriminator 2 view .LVU317
1163 0024 7423 movs r3, #116
1164 0026 0120 movs r0, #1
1165 0028 E054 strb r0, [r4, r3]
1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size;
1166 .loc 1 1504 5 discriminator 2 view .LVU318
1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferSize = Size;
1167 .loc 1 1504 24 is_stmt 0 discriminator 2 view .LVU319
1168 002a E164 str r1, [r4, #76]
1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size;
1169 .loc 1 1505 5 is_stmt 1 discriminator 2 view .LVU320
1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size;
1170 .loc 1 1505 24 is_stmt 0 discriminator 2 view .LVU321
1171 002c 243B subs r3, r3, #36
1172 002e E252 strh r2, [r4, r3]
1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1173 .loc 1 1506 5 is_stmt 1 discriminator 2 view .LVU322
1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1174 .loc 1 1506 24 is_stmt 0 discriminator 2 view .LVU323
1175 0030 0233 adds r3, r3, #2
1176 0032 E252 strh r2, [r4, r3]
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1177 .loc 1 1508 5 is_stmt 1 discriminator 2 view .LVU324
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1178 .loc 1 1508 22 is_stmt 0 discriminator 2 view .LVU325
1179 0034 2E33 adds r3, r3, #46
1180 0036 0021 movs r1, #0
1181 .LVL75:
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1182 .loc 1 1508 22 discriminator 2 view .LVU326
1183 0038 E150 str r1, [r4, r3]
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1184 .loc 1 1509 5 is_stmt 1 discriminator 2 view .LVU327
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1185 .loc 1 1509 19 is_stmt 0 discriminator 2 view .LVU328
1186 003a 5F3B subs r3, r3, #95
1187 003c A367 str r3, [r4, #120]
1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1188 .loc 1 1511 5 is_stmt 1 discriminator 2 view .LVU329
1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1189 .loc 1 1511 14 is_stmt 0 discriminator 2 view .LVU330
ARM GAS /tmp/ccwvDHH5.s page 102
1190 003e E36E ldr r3, [r4, #108]
1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1191 .loc 1 1511 8 discriminator 2 view .LVU331
1192 0040 002B cmp r3, #0
1193 0042 25D0 beq .L37
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1194 .loc 1 1514 7 is_stmt 1 view .LVU332
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1195 .loc 1 1514 39 is_stmt 0 view .LVU333
1196 0044 2049 ldr r1, .L44
1197 0046 9962 str r1, [r3, #40]
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1198 .loc 1 1517 7 is_stmt 1 view .LVU334
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1199 .loc 1 1517 12 is_stmt 0 view .LVU335
1200 0048 E36E ldr r3, [r4, #108]
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1201 .loc 1 1517 43 view .LVU336
1202 004a 2049 ldr r1, .L44+4
1203 004c D962 str r1, [r3, #44]
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1204 .loc 1 1520 7 is_stmt 1 view .LVU337
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1205 .loc 1 1520 12 is_stmt 0 view .LVU338
1206 004e E36E ldr r3, [r4, #108]
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1207 .loc 1 1520 40 view .LVU339
1208 0050 1F49 ldr r1, .L44+8
1209 0052 1963 str r1, [r3, #48]
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1210 .loc 1 1523 7 is_stmt 1 view .LVU340
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1211 .loc 1 1523 12 is_stmt 0 view .LVU341
1212 0054 E36E ldr r3, [r4, #108]
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1213 .loc 1 1523 40 view .LVU342
1214 0056 0021 movs r1, #0
1215 0058 5963 str r1, [r3, #52]
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1216 .loc 1 1526 7 is_stmt 1 view .LVU343
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1217 .loc 1 1526 82 is_stmt 0 view .LVU344
1218 005a 2168 ldr r1, [r4]
1219 005c 2831 adds r1, r1, #40
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1220 .loc 1 1526 11 view .LVU345
1221 005e 1300 movs r3, r2
1222 0060 0A00 movs r2, r1
1223 .LVL76:
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1224 .loc 1 1526 11 view .LVU346
1225 0062 E16C ldr r1, [r4, #76]
1226 0064 E06E ldr r0, [r4, #108]
1227 0066 FFF7FEFF bl HAL_DMA_Start_IT
1228 .LVL77:
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1229 .loc 1 1526 10 view .LVU347
ARM GAS /tmp/ccwvDHH5.s page 103
1230 006a 0028 cmp r0, #0
1231 006c 10D0 beq .L37
1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1232 .loc 1 1529 9 is_stmt 1 view .LVU348
1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1233 .loc 1 1529 26 is_stmt 0 view .LVU349
1234 006e 8023 movs r3, #128
1235 0070 1022 movs r2, #16
1236 0072 E250 str r2, [r4, r3]
1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1237 .loc 1 1531 9 is_stmt 1 view .LVU350
1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1238 .loc 1 1531 9 view .LVU351
1239 0074 0C3B subs r3, r3, #12
1240 0076 0022 movs r2, #0
1241 0078 E254 strb r2, [r4, r3]
1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1242 .loc 1 1534 9 view .LVU352
1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1243 .loc 1 1534 23 is_stmt 0 view .LVU353
1244 007a 543B subs r3, r3, #84
1245 007c A367 str r3, [r4, #120]
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1246 .loc 1 1536 9 is_stmt 1 view .LVU354
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1247 .loc 1 1536 16 is_stmt 0 view .LVU355
1248 007e 0120 movs r0, #1
1249 0080 1BE0 b .L35
1250 .LVL78:
1251 .L43:
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1252 .loc 1 1494 56 discriminator 1 view .LVU356
1253 0082 2369 ldr r3, [r4, #16]
1254 0084 002B cmp r3, #0
1255 0086 C9D1 bne .L36
1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1256 .loc 1 1496 7 is_stmt 1 view .LVU357
1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1257 .loc 1 1496 10 is_stmt 0 view .LVU358
1258 0088 CB07 lsls r3, r1, #31
1259 008a C7D5 bpl .L36
1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1260 .loc 1 1498 17 view .LVU359
1261 008c 0120 movs r0, #1
1262 008e 14E0 b .L35
1263 .LVL79:
1264 .L37:
1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1265 .loc 1 1540 5 is_stmt 1 view .LVU360
1266 0090 2368 ldr r3, [r4]
1267 0092 4022 movs r2, #64
1268 0094 1A62 str r2, [r3, #32]
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1269 .loc 1 1542 5 view .LVU361
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1270 .loc 1 1542 5 view .LVU362
1271 0096 7423 movs r3, #116
ARM GAS /tmp/ccwvDHH5.s page 104
1272 0098 0022 movs r2, #0
1273 009a E254 strb r2, [r4, r3]
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1274 .loc 1 1546 5 view .LVU363
1275 .LBB627:
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1276 .loc 1 1546 5 view .LVU364
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1277 .loc 1 1546 5 view .LVU365
1278 .LBB628:
1279 .LBI628:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1280 .loc 2 382 31 view .LVU366
1281 .LBB629:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
1282 .loc 2 384 3 view .LVU367
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1283 .loc 2 386 3 view .LVU368
1284 .syntax divided
1285 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1286 009c EFF31081 MRS r1, primask
1287 @ 0 "" 2
1288 .LVL80:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1289 .loc 2 387 3 view .LVU369
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1290 .loc 2 387 3 is_stmt 0 view .LVU370
1291 .thumb
1292 .syntax unified
1293 .LBE629:
1294 .LBE628:
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1295 .loc 1 1546 5 is_stmt 1 view .LVU371
1296 .LBB630:
1297 .LBI630:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1298 .loc 2 412 27 view .LVU372
1299 .LBB631:
1300 .loc 2 414 3 view .LVU373
1301 00a0 733B subs r3, r3, #115
1302 .syntax divided
1303 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1304 00a2 83F31088 MSR primask, r3
1305 @ 0 "" 2
1306 .LVL81:
1307 .loc 2 414 3 is_stmt 0 view .LVU374
1308 .thumb
1309 .syntax unified
1310 .LBE631:
1311 .LBE630:
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1312 .loc 1 1546 5 is_stmt 1 view .LVU375
1313 00a6 2268 ldr r2, [r4]
1314 00a8 9368 ldr r3, [r2, #8]
1315 00aa 8020 movs r0, #128
1316 00ac 0343 orrs r3, r0
1317 00ae 9360 str r3, [r2, #8]
ARM GAS /tmp/ccwvDHH5.s page 105
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1318 .loc 1 1546 5 view .LVU376
1319 .LVL82:
1320 .LBB632:
1321 .LBI632:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1322 .loc 2 412 27 view .LVU377
1323 .LBB633:
1324 .loc 2 414 3 view .LVU378
1325 .syntax divided
1326 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1327 00b0 81F31088 MSR primask, r1
1328 @ 0 "" 2
1329 .LVL83:
1330 .loc 2 414 3 is_stmt 0 view .LVU379
1331 .thumb
1332 .syntax unified
1333 .LBE633:
1334 .LBE632:
1335 .LBE627:
1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1336 .loc 1 1548 5 is_stmt 1 view .LVU380
1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1337 .loc 1 1548 12 is_stmt 0 view .LVU381
1338 00b4 0020 movs r0, #0
1339 00b6 00E0 b .L35
1340 .LVL84:
1341 .L38:
1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1342 .loc 1 1552 12 view .LVU382
1343 00b8 0220 movs r0, #2
1344 .LVL85:
1345 .L35:
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1346 .loc 1 1554 1 view .LVU383
1347 @ sp needed
1348 .LVL86:
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1349 .loc 1 1554 1 view .LVU384
1350 00ba 10BD pop {r4, pc}
1351 .LVL87:
1352 .L39:
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1353 .loc 1 1488 14 view .LVU385
1354 00bc 0120 movs r0, #1
1355 .LVL88:
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1356 .loc 1 1488 14 view .LVU386
1357 00be FCE7 b .L35
1358 .LVL89:
1359 .L40:
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1360 .loc 1 1488 14 view .LVU387
1361 00c0 0120 movs r0, #1
1362 .LVL90:
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1363 .loc 1 1488 14 view .LVU388
ARM GAS /tmp/ccwvDHH5.s page 106
1364 00c2 FAE7 b .L35
1365 .L42:
1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1366 .loc 1 1502 5 view .LVU389
1367 00c4 0220 movs r0, #2
1368 00c6 F8E7 b .L35
1369 .L45:
1370 .align 2
1371 .L44:
1372 00c8 00000000 .word UART_DMATransmitCplt
1373 00cc 00000000 .word UART_DMATxHalfCplt
1374 00d0 00000000 .word UART_DMAError
1375 .cfi_endproc
1376 .LFE51:
1378 .section .text.HAL_UART_DMAPause,"ax",%progbits
1379 .align 1
1380 .global HAL_UART_DMAPause
1381 .syntax unified
1382 .code 16
1383 .thumb_func
1384 .fpu softvfp
1386 HAL_UART_DMAPause:
1387 .LVL91:
1388 .LFB53:
1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1389 .loc 1 1620 1 is_stmt 1 view -0
1390 .cfi_startproc
1391 @ args = 0, pretend = 0, frame = 0
1392 @ frame_needed = 0, uses_anonymous_args = 0
1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef gstate = huart->gState;
1393 .loc 1 1620 1 is_stmt 0 view .LVU391
1394 0000 30B5 push {r4, r5, lr}
1395 .LCFI7:
1396 .cfi_def_cfa_offset 12
1397 .cfi_offset 4, -12
1398 .cfi_offset 5, -8
1399 .cfi_offset 14, -4
1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1400 .loc 1 1621 3 is_stmt 1 view .LVU392
1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
1401 .loc 1 1621 31 is_stmt 0 view .LVU393
1402 0002 846F ldr r4, [r0, #120]
1403 .LVL92:
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1404 .loc 1 1622 3 is_stmt 1 view .LVU394
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1405 .loc 1 1622 31 is_stmt 0 view .LVU395
1406 0004 C16F ldr r1, [r0, #124]
1407 .LVL93:
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1408 .loc 1 1624 3 is_stmt 1 view .LVU396
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1409 .loc 1 1624 3 view .LVU397
1410 0006 7423 movs r3, #116
1411 0008 C35C ldrb r3, [r0, r3]
1412 000a 012B cmp r3, #1
1413 000c 42D0 beq .L50
ARM GAS /tmp/ccwvDHH5.s page 107
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1414 .loc 1 1624 3 discriminator 2 view .LVU398
1415 000e 7423 movs r3, #116
1416 0010 0122 movs r2, #1
1417 0012 C254 strb r2, [r0, r3]
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1418 .loc 1 1626 3 discriminator 2 view .LVU399
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1419 .loc 1 1626 8 is_stmt 0 discriminator 2 view .LVU400
1420 0014 0368 ldr r3, [r0]
1421 0016 9B68 ldr r3, [r3, #8]
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1422 .loc 1 1626 6 discriminator 2 view .LVU401
1423 0018 1B06 lsls r3, r3, #24
1424 001a 01D5 bpl .L48
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
1425 .loc 1 1626 62 discriminator 1 view .LVU402
1426 001c 212C cmp r4, #33
1427 001e 0AD0 beq .L51
1428 .LVL94:
1429 .L48:
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1430 .loc 1 1632 3 is_stmt 1 view .LVU403
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1431 .loc 1 1632 8 is_stmt 0 view .LVU404
1432 0020 0368 ldr r3, [r0]
1433 0022 9B68 ldr r3, [r3, #8]
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1434 .loc 1 1632 6 view .LVU405
1435 0024 5B06 lsls r3, r3, #25
1436 0026 01D5 bpl .L49
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
1437 .loc 1 1632 62 discriminator 1 view .LVU406
1438 0028 2229 cmp r1, #34
1439 002a 11D0 beq .L52
1440 .LVL95:
1441 .L49:
1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1442 .loc 1 1643 3 is_stmt 1 view .LVU407
1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1443 .loc 1 1643 3 view .LVU408
1444 002c 7423 movs r3, #116
1445 002e 0022 movs r2, #0
1446 0030 C254 strb r2, [r0, r3]
1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1447 .loc 1 1645 3 view .LVU409
1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1448 .loc 1 1645 10 is_stmt 0 view .LVU410
1449 0032 0020 movs r0, #0
1450 .LVL96:
1451 .L47:
1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1452 .loc 1 1646 1 view .LVU411
1453 @ sp needed
1454 0034 30BD pop {r4, r5, pc}
1455 .LVL97:
1456 .L51:
ARM GAS /tmp/ccwvDHH5.s page 108
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1457 .loc 1 1630 5 is_stmt 1 view .LVU412
1458 .LBB634:
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1459 .loc 1 1630 5 view .LVU413
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1460 .loc 1 1630 5 view .LVU414
1461 .LBB635:
1462 .LBI635:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1463 .loc 2 382 31 view .LVU415
1464 .LBB636:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
1465 .loc 2 384 3 view .LVU416
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1466 .loc 2 386 3 view .LVU417
1467 .syntax divided
1468 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1469 0036 EFF31084 MRS r4, primask
1470 @ 0 "" 2
1471 .LVL98:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1472 .loc 2 387 3 view .LVU418
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1473 .loc 2 387 3 is_stmt 0 view .LVU419
1474 .thumb
1475 .syntax unified
1476 .LBE636:
1477 .LBE635:
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1478 .loc 1 1630 5 is_stmt 1 view .LVU420
1479 .LBB637:
1480 .LBI637:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1481 .loc 2 412 27 view .LVU421
1482 .LBB638:
1483 .loc 2 414 3 view .LVU422
1484 003a 0123 movs r3, #1
1485 .syntax divided
1486 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1487 003c 83F31088 MSR primask, r3
1488 @ 0 "" 2
1489 .LVL99:
1490 .loc 2 414 3 is_stmt 0 view .LVU423
1491 .thumb
1492 .syntax unified
1493 .LBE638:
1494 .LBE637:
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1495 .loc 1 1630 5 is_stmt 1 view .LVU424
1496 0040 0268 ldr r2, [r0]
1497 0042 9368 ldr r3, [r2, #8]
1498 0044 8025 movs r5, #128
1499 0046 AB43 bics r3, r5
1500 0048 9360 str r3, [r2, #8]
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1501 .loc 1 1630 5 view .LVU425
ARM GAS /tmp/ccwvDHH5.s page 109
1502 .LVL100:
1503 .LBB639:
1504 .LBI639:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1505 .loc 2 412 27 view .LVU426
1506 .LBB640:
1507 .loc 2 414 3 view .LVU427
1508 .syntax divided
1509 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1510 004a 84F31088 MSR primask, r4
1511 @ 0 "" 2
1512 .thumb
1513 .syntax unified
1514 004e E7E7 b .L48
1515 .LVL101:
1516 .L52:
1517 .loc 2 414 3 is_stmt 0 view .LVU428
1518 .LBE640:
1519 .LBE639:
1520 .LBE634:
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1521 .loc 1 1636 5 is_stmt 1 view .LVU429
1522 .LBB641:
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1523 .loc 1 1636 5 view .LVU430
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1524 .loc 1 1636 5 view .LVU431
1525 .LBB642:
1526 .LBI642:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1527 .loc 2 382 31 view .LVU432
1528 .LBB643:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
1529 .loc 2 384 3 view .LVU433
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1530 .loc 2 386 3 view .LVU434
1531 .syntax divided
1532 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1533 0050 EFF31084 MRS r4, primask
1534 @ 0 "" 2
1535 .LVL102:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1536 .loc 2 387 3 view .LVU435
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1537 .loc 2 387 3 is_stmt 0 view .LVU436
1538 .thumb
1539 .syntax unified
1540 .LBE643:
1541 .LBE642:
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1542 .loc 1 1636 5 is_stmt 1 view .LVU437
1543 .LBB644:
1544 .LBI644:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1545 .loc 2 412 27 view .LVU438
1546 .LBB645:
1547 .loc 2 414 3 view .LVU439
ARM GAS /tmp/ccwvDHH5.s page 110
1548 0054 0123 movs r3, #1
1549 .syntax divided
1550 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1551 0056 83F31088 MSR primask, r3
1552 @ 0 "" 2
1553 .LVL103:
1554 .loc 2 414 3 is_stmt 0 view .LVU440
1555 .thumb
1556 .syntax unified
1557 .LBE645:
1558 .LBE644:
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1559 .loc 1 1636 5 is_stmt 1 view .LVU441
1560 005a 0168 ldr r1, [r0]
1561 .LVL104:
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1562 .loc 1 1636 5 is_stmt 0 view .LVU442
1563 005c 0A68 ldr r2, [r1]
1564 005e 0E4D ldr r5, .L53
1565 0060 2A40 ands r2, r5
1566 0062 0A60 str r2, [r1]
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1567 .loc 1 1636 5 is_stmt 1 view .LVU443
1568 .LVL105:
1569 .LBB646:
1570 .LBI646:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1571 .loc 2 412 27 view .LVU444
1572 .LBB647:
1573 .loc 2 414 3 view .LVU445
1574 .syntax divided
1575 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1576 0064 84F31088 MSR primask, r4
1577 @ 0 "" 2
1578 .LVL106:
1579 .loc 2 414 3 is_stmt 0 view .LVU446
1580 .thumb
1581 .syntax unified
1582 .LBE647:
1583 .LBE646:
1584 .LBE641:
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1585 .loc 1 1637 5 is_stmt 1 view .LVU447
1586 .LBB648:
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1587 .loc 1 1637 5 view .LVU448
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1588 .loc 1 1637 5 view .LVU449
1589 .LBB649:
1590 .LBI649:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1591 .loc 2 382 31 view .LVU450
1592 .LBB650:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
1593 .loc 2 384 3 view .LVU451
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1594 .loc 2 386 3 view .LVU452
ARM GAS /tmp/ccwvDHH5.s page 111
1595 .syntax divided
1596 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1597 0068 EFF31084 MRS r4, primask
1598 @ 0 "" 2
1599 .LVL107:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1600 .loc 2 387 3 view .LVU453
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1601 .loc 2 387 3 is_stmt 0 view .LVU454
1602 .thumb
1603 .syntax unified
1604 .LBE650:
1605 .LBE649:
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1606 .loc 1 1637 5 is_stmt 1 view .LVU455
1607 .LBB651:
1608 .LBI651:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1609 .loc 2 412 27 view .LVU456
1610 .LBB652:
1611 .loc 2 414 3 view .LVU457
1612 .syntax divided
1613 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1614 006c 83F31088 MSR primask, r3
1615 @ 0 "" 2
1616 .LVL108:
1617 .loc 2 414 3 is_stmt 0 view .LVU458
1618 .thumb
1619 .syntax unified
1620 .LBE652:
1621 .LBE651:
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1622 .loc 1 1637 5 is_stmt 1 view .LVU459
1623 0070 0168 ldr r1, [r0]
1624 0072 8A68 ldr r2, [r1, #8]
1625 0074 9A43 bics r2, r3
1626 0076 8A60 str r2, [r1, #8]
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1627 .loc 1 1637 5 view .LVU460
1628 .LVL109:
1629 .LBB653:
1630 .LBI653:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1631 .loc 2 412 27 view .LVU461
1632 .LBB654:
1633 .loc 2 414 3 view .LVU462
1634 .syntax divided
1635 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1636 0078 84F31088 MSR primask, r4
1637 @ 0 "" 2
1638 .LVL110:
1639 .loc 2 414 3 is_stmt 0 view .LVU463
1640 .thumb
1641 .syntax unified
1642 .LBE654:
1643 .LBE653:
1644 .LBE648:
ARM GAS /tmp/ccwvDHH5.s page 112
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1645 .loc 1 1640 5 is_stmt 1 view .LVU464
1646 .LBB655:
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1647 .loc 1 1640 5 view .LVU465
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1648 .loc 1 1640 5 view .LVU466
1649 .LBB656:
1650 .LBI656:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1651 .loc 2 382 31 view .LVU467
1652 .LBB657:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
1653 .loc 2 384 3 view .LVU468
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1654 .loc 2 386 3 view .LVU469
1655 .syntax divided
1656 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1657 007c EFF31081 MRS r1, primask
1658 @ 0 "" 2
1659 .LVL111:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1660 .loc 2 387 3 view .LVU470
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1661 .loc 2 387 3 is_stmt 0 view .LVU471
1662 .thumb
1663 .syntax unified
1664 .LBE657:
1665 .LBE656:
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1666 .loc 1 1640 5 is_stmt 1 view .LVU472
1667 .LBB658:
1668 .LBI658:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1669 .loc 2 412 27 view .LVU473
1670 .LBB659:
1671 .loc 2 414 3 view .LVU474
1672 .syntax divided
1673 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1674 0080 83F31088 MSR primask, r3
1675 @ 0 "" 2
1676 .LVL112:
1677 .loc 2 414 3 is_stmt 0 view .LVU475
1678 .thumb
1679 .syntax unified
1680 .LBE659:
1681 .LBE658:
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1682 .loc 1 1640 5 is_stmt 1 view .LVU476
1683 0084 0268 ldr r2, [r0]
1684 0086 9368 ldr r3, [r2, #8]
1685 0088 4024 movs r4, #64
1686 .LVL113:
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1687 .loc 1 1640 5 is_stmt 0 view .LVU477
1688 008a A343 bics r3, r4
1689 008c 9360 str r3, [r2, #8]
ARM GAS /tmp/ccwvDHH5.s page 113
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1690 .loc 1 1640 5 is_stmt 1 view .LVU478
1691 .LVL114:
1692 .LBB660:
1693 .LBI660:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1694 .loc 2 412 27 view .LVU479
1695 .LBB661:
1696 .loc 2 414 3 view .LVU480
1697 .syntax divided
1698 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1699 008e 81F31088 MSR primask, r1
1700 @ 0 "" 2
1701 .thumb
1702 .syntax unified
1703 0092 CBE7 b .L49
1704 .LVL115:
1705 .L50:
1706 .loc 2 414 3 is_stmt 0 view .LVU481
1707 .LBE661:
1708 .LBE660:
1709 .LBE655:
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1710 .loc 1 1624 3 view .LVU482
1711 0094 0220 movs r0, #2
1712 .LVL116:
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1713 .loc 1 1624 3 view .LVU483
1714 0096 CDE7 b .L47
1715 .L54:
1716 .align 2
1717 .L53:
1718 0098 FFFEFFFF .word -257
1719 .cfi_endproc
1720 .LFE53:
1722 .section .text.HAL_UART_DMAResume,"ax",%progbits
1723 .align 1
1724 .global HAL_UART_DMAResume
1725 .syntax unified
1726 .code 16
1727 .thumb_func
1728 .fpu softvfp
1730 HAL_UART_DMAResume:
1731 .LVL117:
1732 .LFB54:
1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1733 .loc 1 1654 1 is_stmt 1 view -0
1734 .cfi_startproc
1735 @ args = 0, pretend = 0, frame = 0
1736 @ frame_needed = 0, uses_anonymous_args = 0
1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
1737 .loc 1 1654 1 is_stmt 0 view .LVU485
1738 0000 30B5 push {r4, r5, lr}
1739 .LCFI8:
1740 .cfi_def_cfa_offset 12
1741 .cfi_offset 4, -12
1742 .cfi_offset 5, -8
ARM GAS /tmp/ccwvDHH5.s page 114
1743 .cfi_offset 14, -4
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1744 .loc 1 1655 3 is_stmt 1 view .LVU486
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1745 .loc 1 1655 3 view .LVU487
1746 0002 7423 movs r3, #116
1747 0004 C35C ldrb r3, [r0, r3]
1748 0006 012B cmp r3, #1
1749 0008 3FD0 beq .L59
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1750 .loc 1 1655 3 discriminator 2 view .LVU488
1751 000a 7423 movs r3, #116
1752 000c 0122 movs r2, #1
1753 000e C254 strb r2, [r0, r3]
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1754 .loc 1 1657 3 discriminator 2 view .LVU489
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1755 .loc 1 1657 12 is_stmt 0 discriminator 2 view .LVU490
1756 0010 836F ldr r3, [r0, #120]
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1757 .loc 1 1657 6 discriminator 2 view .LVU491
1758 0012 212B cmp r3, #33
1759 0014 07D0 beq .L60
1760 .L57:
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1761 .loc 1 1662 3 is_stmt 1 view .LVU492
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1762 .loc 1 1662 12 is_stmt 0 view .LVU493
1763 0016 C36F ldr r3, [r0, #124]
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
1764 .loc 1 1662 6 view .LVU494
1765 0018 222B cmp r3, #34
1766 001a 11D0 beq .L61
1767 .L58:
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1768 .loc 1 1675 3 is_stmt 1 view .LVU495
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1769 .loc 1 1675 3 view .LVU496
1770 001c 7423 movs r3, #116
1771 001e 0022 movs r2, #0
1772 0020 C254 strb r2, [r0, r3]
1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1773 .loc 1 1677 3 view .LVU497
1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1774 .loc 1 1677 10 is_stmt 0 view .LVU498
1775 0022 0020 movs r0, #0
1776 .LVL118:
1777 .L56:
1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1778 .loc 1 1678 1 view .LVU499
1779 @ sp needed
1780 0024 30BD pop {r4, r5, pc}
1781 .LVL119:
1782 .L60:
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1783 .loc 1 1660 5 is_stmt 1 view .LVU500
1784 .LBB662:
ARM GAS /tmp/ccwvDHH5.s page 115
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1785 .loc 1 1660 5 view .LVU501
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1786 .loc 1 1660 5 view .LVU502
1787 .LBB663:
1788 .LBI663:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1789 .loc 2 382 31 view .LVU503
1790 .LBB664:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
1791 .loc 2 384 3 view .LVU504
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1792 .loc 2 386 3 view .LVU505
1793 .syntax divided
1794 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1795 0026 EFF31081 MRS r1, primask
1796 @ 0 "" 2
1797 .LVL120:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1798 .loc 2 387 3 view .LVU506
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1799 .loc 2 387 3 is_stmt 0 view .LVU507
1800 .thumb
1801 .syntax unified
1802 .LBE664:
1803 .LBE663:
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1804 .loc 1 1660 5 is_stmt 1 view .LVU508
1805 .LBB665:
1806 .LBI665:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1807 .loc 2 412 27 view .LVU509
1808 .LBB666:
1809 .loc 2 414 3 view .LVU510
1810 002a 203B subs r3, r3, #32
1811 .syntax divided
1812 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1813 002c 83F31088 MSR primask, r3
1814 @ 0 "" 2
1815 .LVL121:
1816 .loc 2 414 3 is_stmt 0 view .LVU511
1817 .thumb
1818 .syntax unified
1819 .LBE666:
1820 .LBE665:
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1821 .loc 1 1660 5 is_stmt 1 view .LVU512
1822 0030 0268 ldr r2, [r0]
1823 0032 9368 ldr r3, [r2, #8]
1824 0034 8024 movs r4, #128
1825 0036 2343 orrs r3, r4
1826 0038 9360 str r3, [r2, #8]
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1827 .loc 1 1660 5 view .LVU513
1828 .LVL122:
1829 .LBB667:
1830 .LBI667:
ARM GAS /tmp/ccwvDHH5.s page 116
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1831 .loc 2 412 27 view .LVU514
1832 .LBB668:
1833 .loc 2 414 3 view .LVU515
1834 .syntax divided
1835 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1836 003a 81F31088 MSR primask, r1
1837 @ 0 "" 2
1838 .thumb
1839 .syntax unified
1840 003e EAE7 b .L57
1841 .LVL123:
1842 .L61:
1843 .loc 2 414 3 is_stmt 0 view .LVU516
1844 .LBE668:
1845 .LBE667:
1846 .LBE662:
1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1847 .loc 1 1665 5 is_stmt 1 view .LVU517
1848 0040 0368 ldr r3, [r0]
1849 0042 0822 movs r2, #8
1850 0044 1A62 str r2, [r3, #32]
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1851 .loc 1 1668 5 view .LVU518
1852 .LBB669:
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1853 .loc 1 1668 5 view .LVU519
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1854 .loc 1 1668 5 view .LVU520
1855 .LBB670:
1856 .LBI670:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1857 .loc 2 382 31 view .LVU521
1858 .LBB671:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
1859 .loc 2 384 3 view .LVU522
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1860 .loc 2 386 3 view .LVU523
1861 .syntax divided
1862 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1863 0046 EFF31084 MRS r4, primask
1864 @ 0 "" 2
1865 .LVL124:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1866 .loc 2 387 3 view .LVU524
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1867 .loc 2 387 3 is_stmt 0 view .LVU525
1868 .thumb
1869 .syntax unified
1870 .LBE671:
1871 .LBE670:
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1872 .loc 1 1668 5 is_stmt 1 view .LVU526
1873 .LBB672:
1874 .LBI672:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1875 .loc 2 412 27 view .LVU527
ARM GAS /tmp/ccwvDHH5.s page 117
1876 .LBB673:
1877 .loc 2 414 3 view .LVU528
1878 004a 0123 movs r3, #1
1879 .syntax divided
1880 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1881 004c 83F31088 MSR primask, r3
1882 @ 0 "" 2
1883 .LVL125:
1884 .loc 2 414 3 is_stmt 0 view .LVU529
1885 .thumb
1886 .syntax unified
1887 .LBE673:
1888 .LBE672:
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1889 .loc 1 1668 5 is_stmt 1 view .LVU530
1890 0050 0168 ldr r1, [r0]
1891 0052 0D68 ldr r5, [r1]
1892 0054 F832 adds r2, r2, #248
1893 0056 2A43 orrs r2, r5
1894 0058 0A60 str r2, [r1]
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1895 .loc 1 1668 5 view .LVU531
1896 .LVL126:
1897 .LBB674:
1898 .LBI674:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1899 .loc 2 412 27 view .LVU532
1900 .LBB675:
1901 .loc 2 414 3 view .LVU533
1902 .syntax divided
1903 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1904 005a 84F31088 MSR primask, r4
1905 @ 0 "" 2
1906 .LVL127:
1907 .loc 2 414 3 is_stmt 0 view .LVU534
1908 .thumb
1909 .syntax unified
1910 .LBE675:
1911 .LBE674:
1912 .LBE669:
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1913 .loc 1 1669 5 is_stmt 1 view .LVU535
1914 .LBB676:
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1915 .loc 1 1669 5 view .LVU536
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1916 .loc 1 1669 5 view .LVU537
1917 .LBB677:
1918 .LBI677:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1919 .loc 2 382 31 view .LVU538
1920 .LBB678:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
1921 .loc 2 384 3 view .LVU539
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1922 .loc 2 386 3 view .LVU540
1923 .syntax divided
ARM GAS /tmp/ccwvDHH5.s page 118
1924 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1925 005e EFF31084 MRS r4, primask
1926 @ 0 "" 2
1927 .LVL128:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1928 .loc 2 387 3 view .LVU541
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1929 .loc 2 387 3 is_stmt 0 view .LVU542
1930 .thumb
1931 .syntax unified
1932 .LBE678:
1933 .LBE677:
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1934 .loc 1 1669 5 is_stmt 1 view .LVU543
1935 .LBB679:
1936 .LBI679:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1937 .loc 2 412 27 view .LVU544
1938 .LBB680:
1939 .loc 2 414 3 view .LVU545
1940 .syntax divided
1941 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1942 0062 83F31088 MSR primask, r3
1943 @ 0 "" 2
1944 .LVL129:
1945 .loc 2 414 3 is_stmt 0 view .LVU546
1946 .thumb
1947 .syntax unified
1948 .LBE680:
1949 .LBE679:
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1950 .loc 1 1669 5 is_stmt 1 view .LVU547
1951 0066 0168 ldr r1, [r0]
1952 0068 8A68 ldr r2, [r1, #8]
1953 006a 1A43 orrs r2, r3
1954 006c 8A60 str r2, [r1, #8]
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
1955 .loc 1 1669 5 view .LVU548
1956 .LVL130:
1957 .LBB681:
1958 .LBI681:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1959 .loc 2 412 27 view .LVU549
1960 .LBB682:
1961 .loc 2 414 3 view .LVU550
1962 .syntax divided
1963 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1964 006e 84F31088 MSR primask, r4
1965 @ 0 "" 2
1966 .LVL131:
1967 .loc 2 414 3 is_stmt 0 view .LVU551
1968 .thumb
1969 .syntax unified
1970 .LBE682:
1971 .LBE681:
1972 .LBE676:
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 119
1973 .loc 1 1672 5 is_stmt 1 view .LVU552
1974 .LBB683:
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1975 .loc 1 1672 5 view .LVU553
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1976 .loc 1 1672 5 view .LVU554
1977 .LBB684:
1978 .LBI684:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1979 .loc 2 382 31 view .LVU555
1980 .LBB685:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
1981 .loc 2 384 3 view .LVU556
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1982 .loc 2 386 3 view .LVU557
1983 .syntax divided
1984 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1985 0072 EFF31081 MRS r1, primask
1986 @ 0 "" 2
1987 .LVL132:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1988 .loc 2 387 3 view .LVU558
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1989 .loc 2 387 3 is_stmt 0 view .LVU559
1990 .thumb
1991 .syntax unified
1992 .LBE685:
1993 .LBE684:
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
1994 .loc 1 1672 5 is_stmt 1 view .LVU560
1995 .LBB686:
1996 .LBI686:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1997 .loc 2 412 27 view .LVU561
1998 .LBB687:
1999 .loc 2 414 3 view .LVU562
2000 .syntax divided
2001 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2002 0076 83F31088 MSR primask, r3
2003 @ 0 "" 2
2004 .LVL133:
2005 .loc 2 414 3 is_stmt 0 view .LVU563
2006 .thumb
2007 .syntax unified
2008 .LBE687:
2009 .LBE686:
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2010 .loc 1 1672 5 is_stmt 1 view .LVU564
2011 007a 0268 ldr r2, [r0]
2012 007c 9368 ldr r3, [r2, #8]
2013 007e 4024 movs r4, #64
2014 .LVL134:
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2015 .loc 1 1672 5 is_stmt 0 view .LVU565
2016 0080 2343 orrs r3, r4
2017 0082 9360 str r3, [r2, #8]
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 120
2018 .loc 1 1672 5 is_stmt 1 view .LVU566
2019 .LVL135:
2020 .LBB688:
2021 .LBI688:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2022 .loc 2 412 27 view .LVU567
2023 .LBB689:
2024 .loc 2 414 3 view .LVU568
2025 .syntax divided
2026 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2027 0084 81F31088 MSR primask, r1
2028 @ 0 "" 2
2029 .thumb
2030 .syntax unified
2031 0088 C8E7 b .L58
2032 .LVL136:
2033 .L59:
2034 .loc 2 414 3 is_stmt 0 view .LVU569
2035 .LBE689:
2036 .LBE688:
2037 .LBE683:
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2038 .loc 1 1655 3 view .LVU570
2039 008a 0220 movs r0, #2
2040 .LVL137:
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2041 .loc 1 1655 3 view .LVU571
2042 008c CAE7 b .L56
2043 .cfi_endproc
2044 .LFE54:
2046 .section .text.HAL_UART_DMAStop,"ax",%progbits
2047 .align 1
2048 .global HAL_UART_DMAStop
2049 .syntax unified
2050 .code 16
2051 .thumb_func
2052 .fpu softvfp
2054 HAL_UART_DMAStop:
2055 .LVL138:
2056 .LFB55:
1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
2057 .loc 1 1686 1 is_stmt 1 view -0
2058 .cfi_startproc
2059 @ args = 0, pretend = 0, frame = 0
2060 @ frame_needed = 0, uses_anonymous_args = 0
1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
2061 .loc 1 1686 1 is_stmt 0 view .LVU573
2062 0000 70B5 push {r4, r5, r6, lr}
2063 .LCFI9:
2064 .cfi_def_cfa_offset 16
2065 .cfi_offset 4, -16
2066 .cfi_offset 5, -12
2067 .cfi_offset 6, -8
2068 .cfi_offset 14, -4
2069 0002 0400 movs r4, r0
1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
2070 .loc 1 1694 3 is_stmt 1 view .LVU574
ARM GAS /tmp/ccwvDHH5.s page 121
1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
2071 .loc 1 1694 31 is_stmt 0 view .LVU575
2072 0004 826F ldr r2, [r0, #120]
2073 .LVL139:
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2074 .loc 1 1695 3 is_stmt 1 view .LVU576
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2075 .loc 1 1695 31 is_stmt 0 view .LVU577
2076 0006 C56F ldr r5, [r0, #124]
2077 .LVL140:
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2078 .loc 1 1698 3 is_stmt 1 view .LVU578
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2079 .loc 1 1698 8 is_stmt 0 view .LVU579
2080 0008 0368 ldr r3, [r0]
2081 000a 9B68 ldr r3, [r3, #8]
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2082 .loc 1 1698 6 view .LVU580
2083 000c 1B06 lsls r3, r3, #24
2084 000e 01D5 bpl .L63
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
2085 .loc 1 1698 62 discriminator 1 view .LVU581
2086 0010 212A cmp r2, #33
2087 0012 07D0 beq .L69
2088 .LVL141:
2089 .L63:
1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
2090 .loc 1 1722 3 is_stmt 1 view .LVU582
1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
2091 .loc 1 1722 8 is_stmt 0 view .LVU583
2092 0014 2368 ldr r3, [r4]
2093 0016 9B68 ldr r3, [r3, #8]
1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
2094 .loc 1 1722 6 view .LVU584
2095 0018 5B06 lsls r3, r3, #25
2096 001a 46D5 bpl .L67
1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
2097 .loc 1 1722 62 discriminator 1 view .LVU585
2098 001c 222D cmp r5, #34
2099 001e 22D0 beq .L70
1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2100 .loc 1 1745 10 view .LVU586
2101 0020 0020 movs r0, #0
2102 0022 43E0 b .L65
2103 .LVL142:
2104 .L69:
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2105 .loc 1 1701 5 is_stmt 1 view .LVU587
2106 .LBB690:
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2107 .loc 1 1701 5 view .LVU588
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2108 .loc 1 1701 5 view .LVU589
2109 .LBB691:
2110 .LBI691:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2111 .loc 2 382 31 view .LVU590
ARM GAS /tmp/ccwvDHH5.s page 122
2112 .LBB692:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
2113 .loc 2 384 3 view .LVU591
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2114 .loc 2 386 3 view .LVU592
2115 .syntax divided
2116 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2117 0024 EFF31081 MRS r1, primask
2118 @ 0 "" 2
2119 .LVL143:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2120 .loc 2 387 3 view .LVU593
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2121 .loc 2 387 3 is_stmt 0 view .LVU594
2122 .thumb
2123 .syntax unified
2124 .LBE692:
2125 .LBE691:
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2126 .loc 1 1701 5 is_stmt 1 view .LVU595
2127 .LBB693:
2128 .LBI693:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2129 .loc 2 412 27 view .LVU596
2130 .LBB694:
2131 .loc 2 414 3 view .LVU597
2132 0028 0123 movs r3, #1
2133 .syntax divided
2134 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2135 002a 83F31088 MSR primask, r3
2136 @ 0 "" 2
2137 .LVL144:
2138 .loc 2 414 3 is_stmt 0 view .LVU598
2139 .thumb
2140 .syntax unified
2141 .LBE694:
2142 .LBE693:
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2143 .loc 1 1701 5 is_stmt 1 view .LVU599
2144 002e 0268 ldr r2, [r0]
2145 .LVL145:
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2146 .loc 1 1701 5 is_stmt 0 view .LVU600
2147 0030 9368 ldr r3, [r2, #8]
2148 0032 8020 movs r0, #128
2149 .LVL146:
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2150 .loc 1 1701 5 view .LVU601
2151 0034 8343 bics r3, r0
2152 0036 9360 str r3, [r2, #8]
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2153 .loc 1 1701 5 is_stmt 1 view .LVU602
2154 .LVL147:
2155 .LBB695:
2156 .LBI695:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2157 .loc 2 412 27 view .LVU603
ARM GAS /tmp/ccwvDHH5.s page 123
2158 .LBB696:
2159 .loc 2 414 3 view .LVU604
2160 .syntax divided
2161 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2162 0038 81F31088 MSR primask, r1
2163 @ 0 "" 2
2164 .LVL148:
2165 .loc 2 414 3 is_stmt 0 view .LVU605
2166 .thumb
2167 .syntax unified
2168 .LBE696:
2169 .LBE695:
2170 .LBE690:
1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2171 .loc 1 1704 5 is_stmt 1 view .LVU606
1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2172 .loc 1 1704 14 is_stmt 0 view .LVU607
2173 003c E06E ldr r0, [r4, #108]
1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2174 .loc 1 1704 8 view .LVU608
2175 003e 0028 cmp r0, #0
2176 0040 03D0 beq .L64
1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2177 .loc 1 1706 7 is_stmt 1 view .LVU609
1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2178 .loc 1 1706 11 is_stmt 0 view .LVU610
2179 0042 FFF7FEFF bl HAL_DMA_Abort
2180 .LVL149:
1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2181 .loc 1 1706 10 view .LVU611
2182 0046 0028 cmp r0, #0
2183 0048 03D1 bne .L71
2184 .L64:
1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2185 .loc 1 1718 5 is_stmt 1 view .LVU612
2186 004a 2000 movs r0, r4
2187 004c FFF7FEFF bl UART_EndTxTransfer
2188 .LVL150:
2189 0050 E0E7 b .L63
2190 .L71:
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2191 .loc 1 1708 9 view .LVU613
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2192 .loc 1 1708 13 is_stmt 0 view .LVU614
2193 0052 E06E ldr r0, [r4, #108]
2194 0054 FFF7FEFF bl HAL_DMA_GetError
2195 .LVL151:
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2196 .loc 1 1708 12 view .LVU615
2197 0058 2028 cmp r0, #32
2198 005a F6D1 bne .L64
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2199 .loc 1 1711 11 is_stmt 1 view .LVU616
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2200 .loc 1 1711 28 is_stmt 0 view .LVU617
2201 005c 8023 movs r3, #128
2202 005e 1022 movs r2, #16
ARM GAS /tmp/ccwvDHH5.s page 124
2203 0060 E250 str r2, [r4, r3]
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2204 .loc 1 1713 11 is_stmt 1 view .LVU618
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2205 .loc 1 1713 18 is_stmt 0 view .LVU619
2206 0062 1D38 subs r0, r0, #29
2207 0064 22E0 b .L65
2208 .L70:
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2209 .loc 1 1725 5 is_stmt 1 view .LVU620
2210 .LBB697:
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2211 .loc 1 1725 5 view .LVU621
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2212 .loc 1 1725 5 view .LVU622
2213 .LBB698:
2214 .LBI698:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2215 .loc 2 382 31 view .LVU623
2216 .LBB699:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
2217 .loc 2 384 3 view .LVU624
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2218 .loc 2 386 3 view .LVU625
2219 .syntax divided
2220 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2221 0066 EFF31081 MRS r1, primask
2222 @ 0 "" 2
2223 .LVL152:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2224 .loc 2 387 3 view .LVU626
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2225 .loc 2 387 3 is_stmt 0 view .LVU627
2226 .thumb
2227 .syntax unified
2228 .LBE699:
2229 .LBE698:
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2230 .loc 1 1725 5 is_stmt 1 view .LVU628
2231 .LBB700:
2232 .LBI700:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2233 .loc 2 412 27 view .LVU629
2234 .LBB701:
2235 .loc 2 414 3 view .LVU630
2236 006a 0123 movs r3, #1
2237 .syntax divided
2238 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2239 006c 83F31088 MSR primask, r3
2240 @ 0 "" 2
2241 .LVL153:
2242 .loc 2 414 3 is_stmt 0 view .LVU631
2243 .thumb
2244 .syntax unified
2245 .LBE701:
2246 .LBE700:
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 125
2247 .loc 1 1725 5 is_stmt 1 view .LVU632
2248 0070 2268 ldr r2, [r4]
2249 0072 9368 ldr r3, [r2, #8]
2250 0074 4020 movs r0, #64
2251 0076 8343 bics r3, r0
2252 0078 9360 str r3, [r2, #8]
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2253 .loc 1 1725 5 view .LVU633
2254 .LVL154:
2255 .LBB702:
2256 .LBI702:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2257 .loc 2 412 27 view .LVU634
2258 .LBB703:
2259 .loc 2 414 3 view .LVU635
2260 .syntax divided
2261 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2262 007a 81F31088 MSR primask, r1
2263 @ 0 "" 2
2264 .LVL155:
2265 .loc 2 414 3 is_stmt 0 view .LVU636
2266 .thumb
2267 .syntax unified
2268 .LBE703:
2269 .LBE702:
2270 .LBE697:
1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2271 .loc 1 1728 5 is_stmt 1 view .LVU637
1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2272 .loc 1 1728 14 is_stmt 0 view .LVU638
2273 007e 206F ldr r0, [r4, #112]
1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2274 .loc 1 1728 8 view .LVU639
2275 0080 0028 cmp r0, #0
2276 0082 03D0 beq .L66
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2277 .loc 1 1730 7 is_stmt 1 view .LVU640
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2278 .loc 1 1730 11 is_stmt 0 view .LVU641
2279 0084 FFF7FEFF bl HAL_DMA_Abort
2280 .LVL156:
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2281 .loc 1 1730 10 view .LVU642
2282 0088 0028 cmp r0, #0
2283 008a 04D1 bne .L72
2284 .L66:
1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2285 .loc 1 1742 5 is_stmt 1 view .LVU643
2286 008c 2000 movs r0, r4
2287 008e FFF7FEFF bl UART_EndRxTransfer
2288 .LVL157:
1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2289 .loc 1 1745 10 is_stmt 0 view .LVU644
2290 0092 0020 movs r0, #0
2291 0094 0AE0 b .L65
2292 .L72:
1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 126
2293 .loc 1 1732 9 is_stmt 1 view .LVU645
1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2294 .loc 1 1732 13 is_stmt 0 view .LVU646
2295 0096 206F ldr r0, [r4, #112]
2296 0098 FFF7FEFF bl HAL_DMA_GetError
2297 .LVL158:
1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2298 .loc 1 1732 12 view .LVU647
2299 009c 2028 cmp r0, #32
2300 009e F5D1 bne .L66
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2301 .loc 1 1735 11 is_stmt 1 view .LVU648
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2302 .loc 1 1735 28 is_stmt 0 view .LVU649
2303 00a0 8023 movs r3, #128
2304 00a2 1022 movs r2, #16
2305 00a4 E250 str r2, [r4, r3]
1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2306 .loc 1 1737 11 is_stmt 1 view .LVU650
1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2307 .loc 1 1737 18 is_stmt 0 view .LVU651
2308 00a6 1D38 subs r0, r0, #29
2309 00a8 00E0 b .L65
2310 .L67:
1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2311 .loc 1 1745 10 view .LVU652
2312 00aa 0020 movs r0, #0
2313 .L65:
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2314 .loc 1 1746 1 view .LVU653
2315 @ sp needed
2316 .LVL159:
2317 .LVL160:
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2318 .loc 1 1746 1 view .LVU654
2319 00ac 70BD pop {r4, r5, r6, pc}
2320 .cfi_endproc
2321 .LFE55:
2323 .section .text.HAL_UART_Abort,"ax",%progbits
2324 .align 1
2325 .global HAL_UART_Abort
2326 .syntax unified
2327 .code 16
2328 .thumb_func
2329 .fpu softvfp
2331 HAL_UART_Abort:
2332 .LVL161:
2333 .LFB56:
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2334 .loc 1 1761 1 is_stmt 1 view -0
2335 .cfi_startproc
2336 @ args = 0, pretend = 0, frame = 0
2337 @ frame_needed = 0, uses_anonymous_args = 0
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2338 .loc 1 1761 1 is_stmt 0 view .LVU656
2339 0000 70B5 push {r4, r5, r6, lr}
2340 .LCFI10:
ARM GAS /tmp/ccwvDHH5.s page 127
2341 .cfi_def_cfa_offset 16
2342 .cfi_offset 4, -16
2343 .cfi_offset 5, -12
2344 .cfi_offset 6, -8
2345 .cfi_offset 14, -4
2346 0002 0400 movs r4, r0
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2347 .loc 1 1763 3 is_stmt 1 view .LVU657
2348 .LBB704:
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2349 .loc 1 1763 3 view .LVU658
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2350 .loc 1 1763 3 view .LVU659
2351 .LBB705:
2352 .LBI705:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2353 .loc 2 382 31 view .LVU660
2354 .LBB706:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
2355 .loc 2 384 3 view .LVU661
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2356 .loc 2 386 3 view .LVU662
2357 .syntax divided
2358 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2359 0004 EFF31080 MRS r0, primask
2360 @ 0 "" 2
2361 .LVL162:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2362 .loc 2 387 3 view .LVU663
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2363 .loc 2 387 3 is_stmt 0 view .LVU664
2364 .thumb
2365 .syntax unified
2366 .LBE706:
2367 .LBE705:
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2368 .loc 1 1763 3 is_stmt 1 view .LVU665
2369 .LBB707:
2370 .LBI707:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2371 .loc 2 412 27 view .LVU666
2372 .LBB708:
2373 .loc 2 414 3 view .LVU667
2374 0008 0122 movs r2, #1
2375 .syntax divided
2376 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2377 000a 82F31088 MSR primask, r2
2378 @ 0 "" 2
2379 .LVL163:
2380 .loc 2 414 3 is_stmt 0 view .LVU668
2381 .thumb
2382 .syntax unified
2383 .LBE708:
2384 .LBE707:
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2385 .loc 1 1763 3 is_stmt 1 view .LVU669
2386 000e 2168 ldr r1, [r4]
ARM GAS /tmp/ccwvDHH5.s page 128
2387 0010 0B68 ldr r3, [r1]
2388 0012 3D4D ldr r5, .L81
2389 0014 2B40 ands r3, r5
2390 0016 0B60 str r3, [r1]
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2391 .loc 1 1763 3 view .LVU670
2392 .LVL164:
2393 .LBB709:
2394 .LBI709:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2395 .loc 2 412 27 view .LVU671
2396 .LBB710:
2397 .loc 2 414 3 view .LVU672
2398 .syntax divided
2399 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2400 0018 80F31088 MSR primask, r0
2401 @ 0 "" 2
2402 .LVL165:
2403 .loc 2 414 3 is_stmt 0 view .LVU673
2404 .thumb
2405 .syntax unified
2406 .LBE710:
2407 .LBE709:
2408 .LBE704:
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2409 .loc 1 1764 3 is_stmt 1 view .LVU674
2410 .LBB711:
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2411 .loc 1 1764 3 view .LVU675
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2412 .loc 1 1764 3 view .LVU676
2413 .LBB712:
2414 .LBI712:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2415 .loc 2 382 31 view .LVU677
2416 .LBB713:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
2417 .loc 2 384 3 view .LVU678
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2418 .loc 2 386 3 view .LVU679
2419 .syntax divided
2420 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2421 001c EFF31080 MRS r0, primask
2422 @ 0 "" 2
2423 .LVL166:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2424 .loc 2 387 3 view .LVU680
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2425 .loc 2 387 3 is_stmt 0 view .LVU681
2426 .thumb
2427 .syntax unified
2428 .LBE713:
2429 .LBE712:
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2430 .loc 1 1764 3 is_stmt 1 view .LVU682
2431 .LBB714:
2432 .LBI714:
ARM GAS /tmp/ccwvDHH5.s page 129
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2433 .loc 2 412 27 view .LVU683
2434 .LBB715:
2435 .loc 2 414 3 view .LVU684
2436 .syntax divided
2437 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2438 0020 82F31088 MSR primask, r2
2439 @ 0 "" 2
2440 .LVL167:
2441 .loc 2 414 3 is_stmt 0 view .LVU685
2442 .thumb
2443 .syntax unified
2444 .LBE715:
2445 .LBE714:
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2446 .loc 1 1764 3 is_stmt 1 view .LVU686
2447 0024 2168 ldr r1, [r4]
2448 0026 8B68 ldr r3, [r1, #8]
2449 0028 9343 bics r3, r2
2450 002a 8B60 str r3, [r1, #8]
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2451 .loc 1 1764 3 view .LVU687
2452 .LVL168:
2453 .LBB716:
2454 .LBI716:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2455 .loc 2 412 27 view .LVU688
2456 .LBB717:
2457 .loc 2 414 3 view .LVU689
2458 .syntax divided
2459 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2460 002c 80F31088 MSR primask, r0
2461 @ 0 "" 2
2462 .LVL169:
2463 .loc 2 414 3 is_stmt 0 view .LVU690
2464 .thumb
2465 .syntax unified
2466 .LBE717:
2467 .LBE716:
2468 .LBE711:
1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2469 .loc 1 1767 3 is_stmt 1 view .LVU691
1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2470 .loc 1 1767 12 is_stmt 0 view .LVU692
2471 0030 236E ldr r3, [r4, #96]
1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2472 .loc 1 1767 6 view .LVU693
2473 0032 012B cmp r3, #1
2474 0034 48D0 beq .L78
2475 .LVL170:
2476 .L74:
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2477 .loc 1 1773 3 is_stmt 1 view .LVU694
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2478 .loc 1 1773 7 is_stmt 0 view .LVU695
2479 0036 2368 ldr r3, [r4]
2480 0038 9B68 ldr r3, [r3, #8]
ARM GAS /tmp/ccwvDHH5.s page 130
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2481 .loc 1 1773 6 view .LVU696
2482 003a 1B06 lsls r3, r3, #24
2483 003c 15D5 bpl .L75
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2484 .loc 1 1775 5 is_stmt 1 view .LVU697
2485 .LBB718:
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2486 .loc 1 1775 5 view .LVU698
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2487 .loc 1 1775 5 view .LVU699
2488 .LBB719:
2489 .LBI719:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2490 .loc 2 382 31 view .LVU700
2491 .LBB720:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
2492 .loc 2 384 3 view .LVU701
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2493 .loc 2 386 3 view .LVU702
2494 .syntax divided
2495 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2496 003e EFF31081 MRS r1, primask
2497 @ 0 "" 2
2498 .LVL171:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2499 .loc 2 387 3 view .LVU703
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2500 .loc 2 387 3 is_stmt 0 view .LVU704
2501 .thumb
2502 .syntax unified
2503 .LBE720:
2504 .LBE719:
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2505 .loc 1 1775 5 is_stmt 1 view .LVU705
2506 .LBB721:
2507 .LBI721:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2508 .loc 2 412 27 view .LVU706
2509 .LBB722:
2510 .loc 2 414 3 view .LVU707
2511 0042 0123 movs r3, #1
2512 .syntax divided
2513 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2514 0044 83F31088 MSR primask, r3
2515 @ 0 "" 2
2516 .LVL172:
2517 .loc 2 414 3 is_stmt 0 view .LVU708
2518 .thumb
2519 .syntax unified
2520 .LBE722:
2521 .LBE721:
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2522 .loc 1 1775 5 is_stmt 1 view .LVU709
2523 0048 2268 ldr r2, [r4]
2524 004a 9368 ldr r3, [r2, #8]
2525 004c 8020 movs r0, #128
ARM GAS /tmp/ccwvDHH5.s page 131
2526 004e 8343 bics r3, r0
2527 0050 9360 str r3, [r2, #8]
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2528 .loc 1 1775 5 view .LVU710
2529 .LVL173:
2530 .LBB723:
2531 .LBI723:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2532 .loc 2 412 27 view .LVU711
2533 .LBB724:
2534 .loc 2 414 3 view .LVU712
2535 .syntax divided
2536 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2537 0052 81F31088 MSR primask, r1
2538 @ 0 "" 2
2539 .LVL174:
2540 .loc 2 414 3 is_stmt 0 view .LVU713
2541 .thumb
2542 .syntax unified
2543 .LBE724:
2544 .LBE723:
2545 .LBE718:
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2546 .loc 1 1778 5 is_stmt 1 view .LVU714
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2547 .loc 1 1778 14 is_stmt 0 view .LVU715
2548 0056 E36E ldr r3, [r4, #108]
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2549 .loc 1 1778 8 view .LVU716
2550 0058 002B cmp r3, #0
2551 005a 06D0 beq .L75
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2552 .loc 1 1782 7 is_stmt 1 view .LVU717
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2553 .loc 1 1782 40 is_stmt 0 view .LVU718
2554 005c 0022 movs r2, #0
2555 005e 5A63 str r2, [r3, #52]
1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2556 .loc 1 1784 7 is_stmt 1 view .LVU719
1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2557 .loc 1 1784 11 is_stmt 0 view .LVU720
2558 0060 E06E ldr r0, [r4, #108]
2559 0062 FFF7FEFF bl HAL_DMA_Abort
2560 .LVL175:
1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2561 .loc 1 1784 10 view .LVU721
2562 0066 0028 cmp r0, #0
2563 0068 3AD1 bne .L79
2564 .L75:
1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2565 .loc 1 1798 3 is_stmt 1 view .LVU722
1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2566 .loc 1 1798 7 is_stmt 0 view .LVU723
2567 006a 2368 ldr r3, [r4]
2568 006c 9B68 ldr r3, [r3, #8]
1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2569 .loc 1 1798 6 view .LVU724
ARM GAS /tmp/ccwvDHH5.s page 132
2570 006e 5B06 lsls r3, r3, #25
2571 0070 15D5 bpl .L77
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2572 .loc 1 1800 5 is_stmt 1 view .LVU725
2573 .LBB725:
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2574 .loc 1 1800 5 view .LVU726
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2575 .loc 1 1800 5 view .LVU727
2576 .LBB726:
2577 .LBI726:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2578 .loc 2 382 31 view .LVU728
2579 .LBB727:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
2580 .loc 2 384 3 view .LVU729
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2581 .loc 2 386 3 view .LVU730
2582 .syntax divided
2583 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2584 0072 EFF31081 MRS r1, primask
2585 @ 0 "" 2
2586 .LVL176:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2587 .loc 2 387 3 view .LVU731
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2588 .loc 2 387 3 is_stmt 0 view .LVU732
2589 .thumb
2590 .syntax unified
2591 .LBE727:
2592 .LBE726:
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2593 .loc 1 1800 5 is_stmt 1 view .LVU733
2594 .LBB728:
2595 .LBI728:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2596 .loc 2 412 27 view .LVU734
2597 .LBB729:
2598 .loc 2 414 3 view .LVU735
2599 0076 0123 movs r3, #1
2600 .syntax divided
2601 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2602 0078 83F31088 MSR primask, r3
2603 @ 0 "" 2
2604 .LVL177:
2605 .loc 2 414 3 is_stmt 0 view .LVU736
2606 .thumb
2607 .syntax unified
2608 .LBE729:
2609 .LBE728:
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2610 .loc 1 1800 5 is_stmt 1 view .LVU737
2611 007c 2268 ldr r2, [r4]
2612 007e 9368 ldr r3, [r2, #8]
2613 0080 4020 movs r0, #64
2614 0082 8343 bics r3, r0
2615 0084 9360 str r3, [r2, #8]
ARM GAS /tmp/ccwvDHH5.s page 133
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2616 .loc 1 1800 5 view .LVU738
2617 .LVL178:
2618 .LBB730:
2619 .LBI730:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2620 .loc 2 412 27 view .LVU739
2621 .LBB731:
2622 .loc 2 414 3 view .LVU740
2623 .syntax divided
2624 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2625 0086 81F31088 MSR primask, r1
2626 @ 0 "" 2
2627 .LVL179:
2628 .loc 2 414 3 is_stmt 0 view .LVU741
2629 .thumb
2630 .syntax unified
2631 .LBE731:
2632 .LBE730:
2633 .LBE725:
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2634 .loc 1 1803 5 is_stmt 1 view .LVU742
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2635 .loc 1 1803 14 is_stmt 0 view .LVU743
2636 008a 236F ldr r3, [r4, #112]
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2637 .loc 1 1803 8 view .LVU744
2638 008c 002B cmp r3, #0
2639 008e 06D0 beq .L77
1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2640 .loc 1 1807 7 is_stmt 1 view .LVU745
1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2641 .loc 1 1807 40 is_stmt 0 view .LVU746
2642 0090 0022 movs r2, #0
2643 0092 5A63 str r2, [r3, #52]
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2644 .loc 1 1809 7 is_stmt 1 view .LVU747
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2645 .loc 1 1809 11 is_stmt 0 view .LVU748
2646 0094 206F ldr r0, [r4, #112]
2647 0096 FFF7FEFF bl HAL_DMA_Abort
2648 .LVL180:
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2649 .loc 1 1809 10 view .LVU749
2650 009a 0028 cmp r0, #0
2651 009c 2AD1 bne .L80
2652 .L77:
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
2653 .loc 1 1823 3 is_stmt 1 view .LVU750
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
2654 .loc 1 1823 22 is_stmt 0 view .LVU751
2655 009e 0023 movs r3, #0
2656 00a0 5222 movs r2, #82
2657 00a2 A352 strh r3, [r4, r2]
1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2658 .loc 1 1824 3 is_stmt 1 view .LVU752
1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 134
2659 .loc 1 1824 22 is_stmt 0 view .LVU753
2660 00a4 0832 adds r2, r2, #8
2661 00a6 A352 strh r3, [r4, r2]
1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2662 .loc 1 1827 3 is_stmt 1 view .LVU754
2663 00a8 2268 ldr r2, [r4]
2664 00aa 0F21 movs r1, #15
2665 00ac 1162 str r1, [r2, #32]
1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2666 .loc 1 1831 3 view .LVU755
2667 00ae 2168 ldr r1, [r4]
2668 00b0 8A69 ldr r2, [r1, #24]
2669 00b2 0820 movs r0, #8
2670 00b4 0243 orrs r2, r0
2671 00b6 8A61 str r2, [r1, #24]
1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2672 .loc 1 1834 3 view .LVU756
1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2673 .loc 1 1834 18 is_stmt 0 view .LVU757
2674 00b8 2022 movs r2, #32
2675 00ba A267 str r2, [r4, #120]
1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2676 .loc 1 1835 3 is_stmt 1 view .LVU758
1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
2677 .loc 1 1835 18 is_stmt 0 view .LVU759
2678 00bc E267 str r2, [r4, #124]
1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2679 .loc 1 1836 3 is_stmt 1 view .LVU760
1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2680 .loc 1 1836 24 is_stmt 0 view .LVU761
2681 00be 2366 str r3, [r4, #96]
1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2682 .loc 1 1838 3 is_stmt 1 view .LVU762
1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2683 .loc 1 1838 20 is_stmt 0 view .LVU763
2684 00c0 6032 adds r2, r2, #96
2685 00c2 A350 str r3, [r4, r2]
1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2686 .loc 1 1840 3 is_stmt 1 view .LVU764
1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2687 .loc 1 1840 10 is_stmt 0 view .LVU765
2688 00c4 0020 movs r0, #0
2689 .L76:
1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2690 .loc 1 1841 1 view .LVU766
2691 @ sp needed
2692 .LVL181:
1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2693 .loc 1 1841 1 view .LVU767
2694 00c6 70BD pop {r4, r5, r6, pc}
2695 .LVL182:
2696 .L78:
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2697 .loc 1 1769 5 is_stmt 1 view .LVU768
2698 .LBB732:
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2699 .loc 1 1769 5 view .LVU769
ARM GAS /tmp/ccwvDHH5.s page 135
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2700 .loc 1 1769 5 view .LVU770
2701 .LBB733:
2702 .LBI733:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2703 .loc 2 382 31 view .LVU771
2704 .LBB734:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
2705 .loc 2 384 3 view .LVU772
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2706 .loc 2 386 3 view .LVU773
2707 .syntax divided
2708 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2709 00c8 EFF31081 MRS r1, primask
2710 @ 0 "" 2
2711 .LVL183:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2712 .loc 2 387 3 view .LVU774
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2713 .loc 2 387 3 is_stmt 0 view .LVU775
2714 .thumb
2715 .syntax unified
2716 .LBE734:
2717 .LBE733:
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2718 .loc 1 1769 5 is_stmt 1 view .LVU776
2719 .LBB735:
2720 .LBI735:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2721 .loc 2 412 27 view .LVU777
2722 .LBB736:
2723 .loc 2 414 3 view .LVU778
2724 .syntax divided
2725 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2726 00cc 83F31088 MSR primask, r3
2727 @ 0 "" 2
2728 .LVL184:
2729 .loc 2 414 3 is_stmt 0 view .LVU779
2730 .thumb
2731 .syntax unified
2732 .LBE736:
2733 .LBE735:
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2734 .loc 1 1769 5 is_stmt 1 view .LVU780
2735 00d0 2268 ldr r2, [r4]
2736 00d2 1368 ldr r3, [r2]
2737 00d4 1020 movs r0, #16
2738 .LVL185:
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2739 .loc 1 1769 5 is_stmt 0 view .LVU781
2740 00d6 8343 bics r3, r0
2741 00d8 1360 str r3, [r2]
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2742 .loc 1 1769 5 is_stmt 1 view .LVU782
2743 .LVL186:
2744 .LBB737:
2745 .LBI737:
ARM GAS /tmp/ccwvDHH5.s page 136
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2746 .loc 2 412 27 view .LVU783
2747 .LBB738:
2748 .loc 2 414 3 view .LVU784
2749 .syntax divided
2750 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2751 00da 81F31088 MSR primask, r1
2752 @ 0 "" 2
2753 .thumb
2754 .syntax unified
2755 00de AAE7 b .L74
2756 .LVL187:
2757 .L79:
2758 .loc 2 414 3 is_stmt 0 view .LVU785
2759 .LBE738:
2760 .LBE737:
2761 .LBE732:
1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2762 .loc 1 1786 9 is_stmt 1 view .LVU786
1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2763 .loc 1 1786 13 is_stmt 0 view .LVU787
2764 00e0 E06E ldr r0, [r4, #108]
2765 00e2 FFF7FEFF bl HAL_DMA_GetError
2766 .LVL188:
1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2767 .loc 1 1786 12 view .LVU788
2768 00e6 2028 cmp r0, #32
2769 00e8 BFD1 bne .L75
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2770 .loc 1 1789 11 is_stmt 1 view .LVU789
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2771 .loc 1 1789 28 is_stmt 0 view .LVU790
2772 00ea 8023 movs r3, #128
2773 00ec 1022 movs r2, #16
2774 00ee E250 str r2, [r4, r3]
1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2775 .loc 1 1791 11 is_stmt 1 view .LVU791
1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2776 .loc 1 1791 18 is_stmt 0 view .LVU792
2777 00f0 1D38 subs r0, r0, #29
2778 00f2 E8E7 b .L76
2779 .L80:
1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2780 .loc 1 1811 9 is_stmt 1 view .LVU793
1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2781 .loc 1 1811 13 is_stmt 0 view .LVU794
2782 00f4 206F ldr r0, [r4, #112]
2783 00f6 FFF7FEFF bl HAL_DMA_GetError
2784 .LVL189:
1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2785 .loc 1 1811 12 view .LVU795
2786 00fa 2028 cmp r0, #32
2787 00fc CFD1 bne .L77
1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2788 .loc 1 1814 11 is_stmt 1 view .LVU796
1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2789 .loc 1 1814 28 is_stmt 0 view .LVU797
ARM GAS /tmp/ccwvDHH5.s page 137
2790 00fe 8023 movs r3, #128
2791 0100 1022 movs r2, #16
2792 0102 E250 str r2, [r4, r3]
1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2793 .loc 1 1816 11 is_stmt 1 view .LVU798
1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2794 .loc 1 1816 18 is_stmt 0 view .LVU799
2795 0104 1D38 subs r0, r0, #29
2796 0106 DEE7 b .L76
2797 .L82:
2798 .align 2
2799 .L81:
2800 0108 1FFEFFFF .word -481
2801 .cfi_endproc
2802 .LFE56:
2804 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
2805 .align 1
2806 .global HAL_UART_AbortTransmit
2807 .syntax unified
2808 .code 16
2809 .thumb_func
2810 .fpu softvfp
2812 HAL_UART_AbortTransmit:
2813 .LVL190:
2814 .LFB57:
1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2815 .loc 1 1856 1 is_stmt 1 view -0
2816 .cfi_startproc
2817 @ args = 0, pretend = 0, frame = 0
2818 @ frame_needed = 0, uses_anonymous_args = 0
1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2819 .loc 1 1856 1 is_stmt 0 view .LVU801
2820 0000 10B5 push {r4, lr}
2821 .LCFI11:
2822 .cfi_def_cfa_offset 8
2823 .cfi_offset 4, -8
2824 .cfi_offset 14, -4
2825 0002 0400 movs r4, r0
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2826 .loc 1 1858 3 is_stmt 1 view .LVU802
2827 .LBB739:
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2828 .loc 1 1858 3 view .LVU803
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2829 .loc 1 1858 3 view .LVU804
2830 .LBB740:
2831 .LBI740:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2832 .loc 2 382 31 view .LVU805
2833 .LBB741:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
2834 .loc 2 384 3 view .LVU806
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2835 .loc 2 386 3 view .LVU807
2836 .syntax divided
2837 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2838 0004 EFF31081 MRS r1, primask
ARM GAS /tmp/ccwvDHH5.s page 138
2839 @ 0 "" 2
2840 .LVL191:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2841 .loc 2 387 3 view .LVU808
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2842 .loc 2 387 3 is_stmt 0 view .LVU809
2843 .thumb
2844 .syntax unified
2845 .LBE741:
2846 .LBE740:
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2847 .loc 1 1858 3 is_stmt 1 view .LVU810
2848 .LBB742:
2849 .LBI742:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2850 .loc 2 412 27 view .LVU811
2851 .LBB743:
2852 .loc 2 414 3 view .LVU812
2853 0008 0123 movs r3, #1
2854 .syntax divided
2855 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2856 000a 83F31088 MSR primask, r3
2857 @ 0 "" 2
2858 .LVL192:
2859 .loc 2 414 3 is_stmt 0 view .LVU813
2860 .thumb
2861 .syntax unified
2862 .LBE743:
2863 .LBE742:
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2864 .loc 1 1858 3 is_stmt 1 view .LVU814
2865 000e 0268 ldr r2, [r0]
2866 0010 1368 ldr r3, [r2]
2867 0012 C020 movs r0, #192
2868 .LVL193:
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2869 .loc 1 1858 3 is_stmt 0 view .LVU815
2870 0014 8343 bics r3, r0
2871 0016 1360 str r3, [r2]
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2872 .loc 1 1858 3 is_stmt 1 view .LVU816
2873 .LVL194:
2874 .LBB744:
2875 .LBI744:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2876 .loc 2 412 27 view .LVU817
2877 .LBB745:
2878 .loc 2 414 3 view .LVU818
2879 .syntax divided
2880 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2881 0018 81F31088 MSR primask, r1
2882 @ 0 "" 2
2883 .LVL195:
2884 .loc 2 414 3 is_stmt 0 view .LVU819
2885 .thumb
2886 .syntax unified
2887 .LBE745:
ARM GAS /tmp/ccwvDHH5.s page 139
2888 .LBE744:
2889 .LBE739:
1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2890 .loc 1 1861 3 is_stmt 1 view .LVU820
1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2891 .loc 1 1861 7 is_stmt 0 view .LVU821
2892 001c 2368 ldr r3, [r4]
2893 001e 9B68 ldr r3, [r3, #8]
1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2894 .loc 1 1861 6 view .LVU822
2895 0020 1B06 lsls r3, r3, #24
2896 0022 15D5 bpl .L84
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2897 .loc 1 1863 5 is_stmt 1 view .LVU823
2898 .LBB746:
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2899 .loc 1 1863 5 view .LVU824
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2900 .loc 1 1863 5 view .LVU825
2901 .LBB747:
2902 .LBI747:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2903 .loc 2 382 31 view .LVU826
2904 .LBB748:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
2905 .loc 2 384 3 view .LVU827
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
2906 .loc 2 386 3 view .LVU828
2907 .syntax divided
2908 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2909 0024 EFF31081 MRS r1, primask
2910 @ 0 "" 2
2911 .LVL196:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2912 .loc 2 387 3 view .LVU829
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
2913 .loc 2 387 3 is_stmt 0 view .LVU830
2914 .thumb
2915 .syntax unified
2916 .LBE748:
2917 .LBE747:
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2918 .loc 1 1863 5 is_stmt 1 view .LVU831
2919 .LBB749:
2920 .LBI749:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2921 .loc 2 412 27 view .LVU832
2922 .LBB750:
2923 .loc 2 414 3 view .LVU833
2924 0028 0123 movs r3, #1
2925 .syntax divided
2926 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2927 002a 83F31088 MSR primask, r3
2928 @ 0 "" 2
2929 .LVL197:
2930 .loc 2 414 3 is_stmt 0 view .LVU834
2931 .thumb
ARM GAS /tmp/ccwvDHH5.s page 140
2932 .syntax unified
2933 .LBE750:
2934 .LBE749:
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2935 .loc 1 1863 5 is_stmt 1 view .LVU835
2936 002e 2268 ldr r2, [r4]
2937 0030 9368 ldr r3, [r2, #8]
2938 0032 4038 subs r0, r0, #64
2939 0034 8343 bics r3, r0
2940 0036 9360 str r3, [r2, #8]
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2941 .loc 1 1863 5 view .LVU836
2942 .LVL198:
2943 .LBB751:
2944 .LBI751:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
2945 .loc 2 412 27 view .LVU837
2946 .LBB752:
2947 .loc 2 414 3 view .LVU838
2948 .syntax divided
2949 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2950 0038 81F31088 MSR primask, r1
2951 @ 0 "" 2
2952 .LVL199:
2953 .loc 2 414 3 is_stmt 0 view .LVU839
2954 .thumb
2955 .syntax unified
2956 .LBE752:
2957 .LBE751:
2958 .LBE746:
1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2959 .loc 1 1866 5 is_stmt 1 view .LVU840
1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2960 .loc 1 1866 14 is_stmt 0 view .LVU841
2961 003c E36E ldr r3, [r4, #108]
1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2962 .loc 1 1866 8 view .LVU842
2963 003e 002B cmp r3, #0
2964 0040 06D0 beq .L84
1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2965 .loc 1 1870 7 is_stmt 1 view .LVU843
1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2966 .loc 1 1870 40 is_stmt 0 view .LVU844
2967 0042 0022 movs r2, #0
2968 0044 5A63 str r2, [r3, #52]
1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2969 .loc 1 1872 7 is_stmt 1 view .LVU845
1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2970 .loc 1 1872 11 is_stmt 0 view .LVU846
2971 0046 E06E ldr r0, [r4, #108]
2972 0048 FFF7FEFF bl HAL_DMA_Abort
2973 .LVL200:
1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2974 .loc 1 1872 10 view .LVU847
2975 004c 0028 cmp r0, #0
2976 004e 06D1 bne .L86
2977 .L84:
ARM GAS /tmp/ccwvDHH5.s page 141
1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2978 .loc 1 1886 3 is_stmt 1 view .LVU848
1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2979 .loc 1 1886 22 is_stmt 0 view .LVU849
2980 0050 5223 movs r3, #82
2981 0052 0022 movs r2, #0
2982 0054 E252 strh r2, [r4, r3]
1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2983 .loc 1 1890 3 is_stmt 1 view .LVU850
1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2984 .loc 1 1890 17 is_stmt 0 view .LVU851
2985 0056 323B subs r3, r3, #50
2986 0058 A367 str r3, [r4, #120]
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2987 .loc 1 1892 3 is_stmt 1 view .LVU852
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
2988 .loc 1 1892 10 is_stmt 0 view .LVU853
2989 005a 0020 movs r0, #0
2990 .L85:
1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2991 .loc 1 1893 1 view .LVU854
2992 @ sp needed
2993 .LVL201:
1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
2994 .loc 1 1893 1 view .LVU855
2995 005c 10BD pop {r4, pc}
2996 .LVL202:
2997 .L86:
1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2998 .loc 1 1874 9 is_stmt 1 view .LVU856
1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
2999 .loc 1 1874 13 is_stmt 0 view .LVU857
3000 005e E06E ldr r0, [r4, #108]
3001 0060 FFF7FEFF bl HAL_DMA_GetError
3002 .LVL203:
1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3003 .loc 1 1874 12 view .LVU858
3004 0064 2028 cmp r0, #32
3005 0066 F3D1 bne .L84
1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3006 .loc 1 1877 11 is_stmt 1 view .LVU859
1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3007 .loc 1 1877 28 is_stmt 0 view .LVU860
3008 0068 8023 movs r3, #128
3009 006a 1022 movs r2, #16
3010 006c E250 str r2, [r4, r3]
1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3011 .loc 1 1879 11 is_stmt 1 view .LVU861
1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3012 .loc 1 1879 18 is_stmt 0 view .LVU862
3013 006e 1D38 subs r0, r0, #29
3014 0070 F4E7 b .L85
3015 .cfi_endproc
3016 .LFE57:
3018 .section .text.HAL_UART_AbortReceive,"ax",%progbits
3019 .align 1
3020 .global HAL_UART_AbortReceive
ARM GAS /tmp/ccwvDHH5.s page 142
3021 .syntax unified
3022 .code 16
3023 .thumb_func
3024 .fpu softvfp
3026 HAL_UART_AbortReceive:
3027 .LVL204:
3028 .LFB58:
1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3029 .loc 1 1908 1 is_stmt 1 view -0
3030 .cfi_startproc
3031 @ args = 0, pretend = 0, frame = 0
3032 @ frame_needed = 0, uses_anonymous_args = 0
1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
3033 .loc 1 1908 1 is_stmt 0 view .LVU864
3034 0000 70B5 push {r4, r5, r6, lr}
3035 .LCFI12:
3036 .cfi_def_cfa_offset 16
3037 .cfi_offset 4, -16
3038 .cfi_offset 5, -12
3039 .cfi_offset 6, -8
3040 .cfi_offset 14, -4
3041 0002 0400 movs r4, r0
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3042 .loc 1 1910 3 is_stmt 1 view .LVU865
3043 .LBB753:
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3044 .loc 1 1910 3 view .LVU866
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3045 .loc 1 1910 3 view .LVU867
3046 .LBB754:
3047 .LBI754:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3048 .loc 2 382 31 view .LVU868
3049 .LBB755:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
3050 .loc 2 384 3 view .LVU869
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3051 .loc 2 386 3 view .LVU870
3052 .syntax divided
3053 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3054 0004 EFF31080 MRS r0, primask
3055 @ 0 "" 2
3056 .LVL205:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3057 .loc 2 387 3 view .LVU871
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3058 .loc 2 387 3 is_stmt 0 view .LVU872
3059 .thumb
3060 .syntax unified
3061 .LBE755:
3062 .LBE754:
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3063 .loc 1 1910 3 is_stmt 1 view .LVU873
3064 .LBB756:
3065 .LBI756:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3066 .loc 2 412 27 view .LVU874
ARM GAS /tmp/ccwvDHH5.s page 143
3067 .LBB757:
3068 .loc 2 414 3 view .LVU875
3069 0008 0122 movs r2, #1
3070 .syntax divided
3071 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3072 000a 82F31088 MSR primask, r2
3073 @ 0 "" 2
3074 .LVL206:
3075 .loc 2 414 3 is_stmt 0 view .LVU876
3076 .thumb
3077 .syntax unified
3078 .LBE757:
3079 .LBE756:
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3080 .loc 1 1910 3 is_stmt 1 view .LVU877
3081 000e 2168 ldr r1, [r4]
3082 0010 0B68 ldr r3, [r1]
3083 0012 294D ldr r5, .L93
3084 0014 2B40 ands r3, r5
3085 0016 0B60 str r3, [r1]
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3086 .loc 1 1910 3 view .LVU878
3087 .LVL207:
3088 .LBB758:
3089 .LBI758:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3090 .loc 2 412 27 view .LVU879
3091 .LBB759:
3092 .loc 2 414 3 view .LVU880
3093 .syntax divided
3094 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3095 0018 80F31088 MSR primask, r0
3096 @ 0 "" 2
3097 .LVL208:
3098 .loc 2 414 3 is_stmt 0 view .LVU881
3099 .thumb
3100 .syntax unified
3101 .LBE759:
3102 .LBE758:
3103 .LBE753:
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3104 .loc 1 1911 3 is_stmt 1 view .LVU882
3105 .LBB760:
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3106 .loc 1 1911 3 view .LVU883
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3107 .loc 1 1911 3 view .LVU884
3108 .LBB761:
3109 .LBI761:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3110 .loc 2 382 31 view .LVU885
3111 .LBB762:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
3112 .loc 2 384 3 view .LVU886
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3113 .loc 2 386 3 view .LVU887
3114 .syntax divided
ARM GAS /tmp/ccwvDHH5.s page 144
3115 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3116 001c EFF31080 MRS r0, primask
3117 @ 0 "" 2
3118 .LVL209:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3119 .loc 2 387 3 view .LVU888
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3120 .loc 2 387 3 is_stmt 0 view .LVU889
3121 .thumb
3122 .syntax unified
3123 .LBE762:
3124 .LBE761:
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3125 .loc 1 1911 3 is_stmt 1 view .LVU890
3126 .LBB763:
3127 .LBI763:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3128 .loc 2 412 27 view .LVU891
3129 .LBB764:
3130 .loc 2 414 3 view .LVU892
3131 .syntax divided
3132 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3133 0020 82F31088 MSR primask, r2
3134 @ 0 "" 2
3135 .LVL210:
3136 .loc 2 414 3 is_stmt 0 view .LVU893
3137 .thumb
3138 .syntax unified
3139 .LBE764:
3140 .LBE763:
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3141 .loc 1 1911 3 is_stmt 1 view .LVU894
3142 0024 2168 ldr r1, [r4]
3143 0026 8B68 ldr r3, [r1, #8]
3144 0028 9343 bics r3, r2
3145 002a 8B60 str r3, [r1, #8]
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3146 .loc 1 1911 3 view .LVU895
3147 .LVL211:
3148 .LBB765:
3149 .LBI765:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3150 .loc 2 412 27 view .LVU896
3151 .LBB766:
3152 .loc 2 414 3 view .LVU897
3153 .syntax divided
3154 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3155 002c 80F31088 MSR primask, r0
3156 @ 0 "" 2
3157 .LVL212:
3158 .loc 2 414 3 is_stmt 0 view .LVU898
3159 .thumb
3160 .syntax unified
3161 .LBE766:
3162 .LBE765:
3163 .LBE760:
1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 145
3164 .loc 1 1914 3 is_stmt 1 view .LVU899
1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3165 .loc 1 1914 12 is_stmt 0 view .LVU900
3166 0030 236E ldr r3, [r4, #96]
1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3167 .loc 1 1914 6 view .LVU901
3168 0032 012B cmp r3, #1
3169 0034 29D0 beq .L91
3170 .LVL213:
3171 .L88:
1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3172 .loc 1 1920 3 is_stmt 1 view .LVU902
1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3173 .loc 1 1920 7 is_stmt 0 view .LVU903
3174 0036 2368 ldr r3, [r4]
3175 0038 9B68 ldr r3, [r3, #8]
1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3176 .loc 1 1920 6 view .LVU904
3177 003a 5B06 lsls r3, r3, #25
3178 003c 15D5 bpl .L89
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3179 .loc 1 1922 5 is_stmt 1 view .LVU905
3180 .LBB767:
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3181 .loc 1 1922 5 view .LVU906
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3182 .loc 1 1922 5 view .LVU907
3183 .LBB768:
3184 .LBI768:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3185 .loc 2 382 31 view .LVU908
3186 .LBB769:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
3187 .loc 2 384 3 view .LVU909
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3188 .loc 2 386 3 view .LVU910
3189 .syntax divided
3190 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3191 003e EFF31081 MRS r1, primask
3192 @ 0 "" 2
3193 .LVL214:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3194 .loc 2 387 3 view .LVU911
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3195 .loc 2 387 3 is_stmt 0 view .LVU912
3196 .thumb
3197 .syntax unified
3198 .LBE769:
3199 .LBE768:
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3200 .loc 1 1922 5 is_stmt 1 view .LVU913
3201 .LBB770:
3202 .LBI770:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3203 .loc 2 412 27 view .LVU914
3204 .LBB771:
3205 .loc 2 414 3 view .LVU915
ARM GAS /tmp/ccwvDHH5.s page 146
3206 0042 0123 movs r3, #1
3207 .syntax divided
3208 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3209 0044 83F31088 MSR primask, r3
3210 @ 0 "" 2
3211 .LVL215:
3212 .loc 2 414 3 is_stmt 0 view .LVU916
3213 .thumb
3214 .syntax unified
3215 .LBE771:
3216 .LBE770:
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3217 .loc 1 1922 5 is_stmt 1 view .LVU917
3218 0048 2268 ldr r2, [r4]
3219 004a 9368 ldr r3, [r2, #8]
3220 004c 4020 movs r0, #64
3221 004e 8343 bics r3, r0
3222 0050 9360 str r3, [r2, #8]
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3223 .loc 1 1922 5 view .LVU918
3224 .LVL216:
3225 .LBB772:
3226 .LBI772:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3227 .loc 2 412 27 view .LVU919
3228 .LBB773:
3229 .loc 2 414 3 view .LVU920
3230 .syntax divided
3231 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3232 0052 81F31088 MSR primask, r1
3233 @ 0 "" 2
3234 .LVL217:
3235 .loc 2 414 3 is_stmt 0 view .LVU921
3236 .thumb
3237 .syntax unified
3238 .LBE773:
3239 .LBE772:
3240 .LBE767:
1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3241 .loc 1 1925 5 is_stmt 1 view .LVU922
1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3242 .loc 1 1925 14 is_stmt 0 view .LVU923
3243 0056 236F ldr r3, [r4, #112]
1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3244 .loc 1 1925 8 view .LVU924
3245 0058 002B cmp r3, #0
3246 005a 06D0 beq .L89
1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3247 .loc 1 1929 7 is_stmt 1 view .LVU925
1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3248 .loc 1 1929 40 is_stmt 0 view .LVU926
3249 005c 0022 movs r2, #0
3250 005e 5A63 str r2, [r3, #52]
1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3251 .loc 1 1931 7 is_stmt 1 view .LVU927
1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3252 .loc 1 1931 11 is_stmt 0 view .LVU928
ARM GAS /tmp/ccwvDHH5.s page 147
3253 0060 206F ldr r0, [r4, #112]
3254 0062 FFF7FEFF bl HAL_DMA_Abort
3255 .LVL218:
1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3256 .loc 1 1931 10 view .LVU929
3257 0066 0028 cmp r0, #0
3258 0068 1BD1 bne .L92
3259 .L89:
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3260 .loc 1 1945 3 is_stmt 1 view .LVU930
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3261 .loc 1 1945 22 is_stmt 0 view .LVU931
3262 006a 0022 movs r2, #0
3263 006c 5A23 movs r3, #90
3264 006e E252 strh r2, [r4, r3]
1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3265 .loc 1 1948 3 is_stmt 1 view .LVU932
3266 0070 2368 ldr r3, [r4]
3267 0072 0F21 movs r1, #15
3268 0074 1962 str r1, [r3, #32]
1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3269 .loc 1 1951 3 view .LVU933
3270 0076 2168 ldr r1, [r4]
3271 0078 8B69 ldr r3, [r1, #24]
3272 007a 0820 movs r0, #8
3273 007c 0343 orrs r3, r0
3274 007e 8B61 str r3, [r1, #24]
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3275 .loc 1 1954 3 view .LVU934
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3276 .loc 1 1954 18 is_stmt 0 view .LVU935
3277 0080 2023 movs r3, #32
3278 0082 E367 str r3, [r4, #124]
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3279 .loc 1 1955 3 is_stmt 1 view .LVU936
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3280 .loc 1 1955 24 is_stmt 0 view .LVU937
3281 0084 2266 str r2, [r4, #96]
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3282 .loc 1 1957 3 is_stmt 1 view .LVU938
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3283 .loc 1 1957 10 is_stmt 0 view .LVU939
3284 0086 0020 movs r0, #0
3285 .L90:
1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3286 .loc 1 1958 1 view .LVU940
3287 @ sp needed
3288 .LVL219:
1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3289 .loc 1 1958 1 view .LVU941
3290 0088 70BD pop {r4, r5, r6, pc}
3291 .LVL220:
3292 .L91:
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3293 .loc 1 1916 5 is_stmt 1 view .LVU942
3294 .LBB774:
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 148
3295 .loc 1 1916 5 view .LVU943
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3296 .loc 1 1916 5 view .LVU944
3297 .LBB775:
3298 .LBI775:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3299 .loc 2 382 31 view .LVU945
3300 .LBB776:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
3301 .loc 2 384 3 view .LVU946
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3302 .loc 2 386 3 view .LVU947
3303 .syntax divided
3304 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3305 008a EFF31081 MRS r1, primask
3306 @ 0 "" 2
3307 .LVL221:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3308 .loc 2 387 3 view .LVU948
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3309 .loc 2 387 3 is_stmt 0 view .LVU949
3310 .thumb
3311 .syntax unified
3312 .LBE776:
3313 .LBE775:
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3314 .loc 1 1916 5 is_stmt 1 view .LVU950
3315 .LBB777:
3316 .LBI777:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3317 .loc 2 412 27 view .LVU951
3318 .LBB778:
3319 .loc 2 414 3 view .LVU952
3320 .syntax divided
3321 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3322 008e 83F31088 MSR primask, r3
3323 @ 0 "" 2
3324 .LVL222:
3325 .loc 2 414 3 is_stmt 0 view .LVU953
3326 .thumb
3327 .syntax unified
3328 .LBE778:
3329 .LBE777:
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3330 .loc 1 1916 5 is_stmt 1 view .LVU954
3331 0092 2268 ldr r2, [r4]
3332 0094 1368 ldr r3, [r2]
3333 0096 1020 movs r0, #16
3334 .LVL223:
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3335 .loc 1 1916 5 is_stmt 0 view .LVU955
3336 0098 8343 bics r3, r0
3337 009a 1360 str r3, [r2]
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3338 .loc 1 1916 5 is_stmt 1 view .LVU956
3339 .LVL224:
3340 .LBB779:
ARM GAS /tmp/ccwvDHH5.s page 149
3341 .LBI779:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3342 .loc 2 412 27 view .LVU957
3343 .LBB780:
3344 .loc 2 414 3 view .LVU958
3345 .syntax divided
3346 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3347 009c 81F31088 MSR primask, r1
3348 @ 0 "" 2
3349 .thumb
3350 .syntax unified
3351 00a0 C9E7 b .L88
3352 .LVL225:
3353 .L92:
3354 .loc 2 414 3 is_stmt 0 view .LVU959
3355 .LBE780:
3356 .LBE779:
3357 .LBE774:
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3358 .loc 1 1933 9 is_stmt 1 view .LVU960
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3359 .loc 1 1933 13 is_stmt 0 view .LVU961
3360 00a2 206F ldr r0, [r4, #112]
3361 00a4 FFF7FEFF bl HAL_DMA_GetError
3362 .LVL226:
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3363 .loc 1 1933 12 view .LVU962
3364 00a8 2028 cmp r0, #32
3365 00aa DED1 bne .L89
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3366 .loc 1 1936 11 is_stmt 1 view .LVU963
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3367 .loc 1 1936 28 is_stmt 0 view .LVU964
3368 00ac 8023 movs r3, #128
3369 00ae 1022 movs r2, #16
3370 00b0 E250 str r2, [r4, r3]
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3371 .loc 1 1938 11 is_stmt 1 view .LVU965
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3372 .loc 1 1938 18 is_stmt 0 view .LVU966
3373 00b2 1D38 subs r0, r0, #29
3374 00b4 E8E7 b .L90
3375 .L94:
3376 00b6 C046 .align 2
3377 .L93:
3378 00b8 DFFEFFFF .word -289
3379 .cfi_endproc
3380 .LFE58:
3382 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
3383 .align 1
3384 .weak HAL_UART_TxCpltCallback
3385 .syntax unified
3386 .code 16
3387 .thumb_func
3388 .fpu softvfp
3390 HAL_UART_TxCpltCallback:
3391 .LVL227:
ARM GAS /tmp/ccwvDHH5.s page 150
3392 .LFB63:
2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3393 .loc 1 2592 1 is_stmt 1 view -0
3394 .cfi_startproc
3395 @ args = 0, pretend = 0, frame = 0
3396 @ frame_needed = 0, uses_anonymous_args = 0
3397 @ link register save eliminated.
2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3398 .loc 1 2594 3 view .LVU968
2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3399 .loc 1 2599 1 is_stmt 0 view .LVU969
3400 @ sp needed
3401 0000 7047 bx lr
3402 .cfi_endproc
3403 .LFE63:
3405 .section .text.UART_DMATransmitCplt,"ax",%progbits
3406 .align 1
3407 .syntax unified
3408 .code 16
3409 .thumb_func
3410 .fpu softvfp
3412 UART_DMATransmitCplt:
3413 .LVL228:
3414 .LFB91:
3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3415 .loc 1 3511 1 is_stmt 1 view -0
3416 .cfi_startproc
3417 @ args = 0, pretend = 0, frame = 0
3418 @ frame_needed = 0, uses_anonymous_args = 0
3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3419 .loc 1 3511 1 is_stmt 0 view .LVU971
3420 0000 70B5 push {r4, r5, r6, lr}
3421 .LCFI13:
3422 .cfi_def_cfa_offset 16
3423 .cfi_offset 4, -16
3424 .cfi_offset 5, -12
3425 .cfi_offset 6, -8
3426 .cfi_offset 14, -4
3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3427 .loc 1 3512 3 is_stmt 1 view .LVU972
3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3428 .loc 1 3512 23 is_stmt 0 view .LVU973
3429 0002 436A ldr r3, [r0, #36]
3430 .LVL229:
3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3431 .loc 1 3515 3 is_stmt 1 view .LVU974
3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3432 .loc 1 3515 17 is_stmt 0 view .LVU975
3433 0004 8269 ldr r2, [r0, #24]
3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3434 .loc 1 3515 6 view .LVU976
3435 0006 202A cmp r2, #32
3436 0008 1AD0 beq .L97
3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3437 .loc 1 3517 5 is_stmt 1 view .LVU977
3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3438 .loc 1 3517 24 is_stmt 0 view .LVU978
ARM GAS /tmp/ccwvDHH5.s page 151
3439 000a 5222 movs r2, #82
3440 000c 0021 movs r1, #0
3441 000e 9952 strh r1, [r3, r2]
3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3442 .loc 1 3521 5 is_stmt 1 view .LVU979
3443 .LBB781:
3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3444 .loc 1 3521 5 view .LVU980
3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3445 .loc 1 3521 5 view .LVU981
3446 .LBB782:
3447 .LBI782:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3448 .loc 2 382 31 view .LVU982
3449 .LBB783:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
3450 .loc 2 384 3 view .LVU983
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3451 .loc 2 386 3 view .LVU984
3452 .syntax divided
3453 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3454 0010 EFF31084 MRS r4, primask
3455 @ 0 "" 2
3456 .LVL230:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3457 .loc 2 387 3 view .LVU985
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3458 .loc 2 387 3 is_stmt 0 view .LVU986
3459 .thumb
3460 .syntax unified
3461 .LBE783:
3462 .LBE782:
3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3463 .loc 1 3521 5 is_stmt 1 view .LVU987
3464 .LBB784:
3465 .LBI784:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3466 .loc 2 412 27 view .LVU988
3467 .LBB785:
3468 .loc 2 414 3 view .LVU989
3469 0014 0131 adds r1, r1, #1
3470 .syntax divided
3471 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3472 0016 81F31088 MSR primask, r1
3473 @ 0 "" 2
3474 .LVL231:
3475 .loc 2 414 3 is_stmt 0 view .LVU990
3476 .thumb
3477 .syntax unified
3478 .LBE785:
3479 .LBE784:
3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3480 .loc 1 3521 5 is_stmt 1 view .LVU991
3481 001a 1868 ldr r0, [r3]
3482 .LVL232:
3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3483 .loc 1 3521 5 is_stmt 0 view .LVU992
ARM GAS /tmp/ccwvDHH5.s page 152
3484 001c 8268 ldr r2, [r0, #8]
3485 001e 8025 movs r5, #128
3486 0020 AA43 bics r2, r5
3487 0022 8260 str r2, [r0, #8]
3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3488 .loc 1 3521 5 is_stmt 1 view .LVU993
3489 .LVL233:
3490 .LBB786:
3491 .LBI786:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3492 .loc 2 412 27 view .LVU994
3493 .LBB787:
3494 .loc 2 414 3 view .LVU995
3495 .syntax divided
3496 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3497 0024 84F31088 MSR primask, r4
3498 @ 0 "" 2
3499 .LVL234:
3500 .loc 2 414 3 is_stmt 0 view .LVU996
3501 .thumb
3502 .syntax unified
3503 .LBE787:
3504 .LBE786:
3505 .LBE781:
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3506 .loc 1 3524 5 is_stmt 1 view .LVU997
3507 .LBB788:
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3508 .loc 1 3524 5 view .LVU998
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3509 .loc 1 3524 5 view .LVU999
3510 .LBB789:
3511 .LBI789:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3512 .loc 2 382 31 view .LVU1000
3513 .LBB790:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
3514 .loc 2 384 3 view .LVU1001
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3515 .loc 2 386 3 view .LVU1002
3516 .syntax divided
3517 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3518 0028 EFF31080 MRS r0, primask
3519 @ 0 "" 2
3520 .LVL235:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3521 .loc 2 387 3 view .LVU1003
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3522 .loc 2 387 3 is_stmt 0 view .LVU1004
3523 .thumb
3524 .syntax unified
3525 .LBE790:
3526 .LBE789:
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3527 .loc 1 3524 5 is_stmt 1 view .LVU1005
3528 .LBB791:
3529 .LBI791:
ARM GAS /tmp/ccwvDHH5.s page 153
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3530 .loc 2 412 27 view .LVU1006
3531 .LBB792:
3532 .loc 2 414 3 view .LVU1007
3533 .syntax divided
3534 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3535 002c 81F31088 MSR primask, r1
3536 @ 0 "" 2
3537 .LVL236:
3538 .loc 2 414 3 is_stmt 0 view .LVU1008
3539 .thumb
3540 .syntax unified
3541 .LBE792:
3542 .LBE791:
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3543 .loc 1 3524 5 is_stmt 1 view .LVU1009
3544 0030 1A68 ldr r2, [r3]
3545 0032 1368 ldr r3, [r2]
3546 .LVL237:
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3547 .loc 1 3524 5 is_stmt 0 view .LVU1010
3548 0034 3F31 adds r1, r1, #63
3549 0036 0B43 orrs r3, r1
3550 0038 1360 str r3, [r2]
3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3551 .loc 1 3524 5 is_stmt 1 view .LVU1011
3552 .LVL238:
3553 .LBB793:
3554 .LBI793:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3555 .loc 2 412 27 view .LVU1012
3556 .LBB794:
3557 .loc 2 414 3 view .LVU1013
3558 .syntax divided
3559 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3560 003a 80F31088 MSR primask, r0
3561 @ 0 "" 2
3562 .LVL239:
3563 .thumb
3564 .syntax unified
3565 .L96:
3566 .loc 2 414 3 is_stmt 0 view .LVU1014
3567 .LBE794:
3568 .LBE793:
3569 .LBE788:
3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3570 .loc 1 3537 1 view .LVU1015
3571 @ sp needed
3572 003e 70BD pop {r4, r5, r6, pc}
3573 .LVL240:
3574 .L97:
3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3575 .loc 1 3534 5 is_stmt 1 view .LVU1016
3576 0040 1800 movs r0, r3
3577 .LVL241:
3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3578 .loc 1 3534 5 is_stmt 0 view .LVU1017
ARM GAS /tmp/ccwvDHH5.s page 154
3579 0042 FFF7FEFF bl HAL_UART_TxCpltCallback
3580 .LVL242:
3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3581 .loc 1 3537 1 view .LVU1018
3582 0046 FAE7 b .L96
3583 .cfi_endproc
3584 .LFE91:
3586 .section .text.UART_EndTransmit_IT,"ax",%progbits
3587 .align 1
3588 .syntax unified
3589 .code 16
3590 .thumb_func
3591 .fpu softvfp
3593 UART_EndTransmit_IT:
3594 .LVL243:
3595 .LFB103:
3932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief Wrap up transmission in non-blocking mode.
3936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart pointer to a UART_HandleTypeDef structure that contains
3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * the configuration information for the specified UART module.
3938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_EndTransmit_IT(UART_HandleTypeDef *huart)
3941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3596 .loc 1 3941 1 is_stmt 1 view -0
3597 .cfi_startproc
3598 @ args = 0, pretend = 0, frame = 0
3599 @ frame_needed = 0, uses_anonymous_args = 0
3600 .loc 1 3941 1 is_stmt 0 view .LVU1020
3601 0000 10B5 push {r4, lr}
3602 .LCFI14:
3603 .cfi_def_cfa_offset 8
3604 .cfi_offset 4, -8
3605 .cfi_offset 14, -4
3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
3943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE);
3606 .loc 1 3943 3 is_stmt 1 view .LVU1021
3607 .LBB795:
3608 .loc 1 3943 3 view .LVU1022
3609 .loc 1 3943 3 view .LVU1023
3610 .LBB796:
3611 .LBI796:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3612 .loc 2 382 31 view .LVU1024
3613 .LBB797:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
3614 .loc 2 384 3 view .LVU1025
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
3615 .loc 2 386 3 view .LVU1026
3616 .syntax divided
3617 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3618 0002 EFF31081 MRS r1, primask
3619 @ 0 "" 2
3620 .LVL244:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/ccwvDHH5.s page 155
3621 .loc 2 387 3 view .LVU1027
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
3622 .loc 2 387 3 is_stmt 0 view .LVU1028
3623 .thumb
3624 .syntax unified
3625 .LBE797:
3626 .LBE796:
3627 .loc 1 3943 3 is_stmt 1 view .LVU1029
3628 .LBB798:
3629 .LBI798:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3630 .loc 2 412 27 view .LVU1030
3631 .LBB799:
3632 .loc 2 414 3 view .LVU1031
3633 0006 0123 movs r3, #1
3634 .syntax divided
3635 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3636 0008 83F31088 MSR primask, r3
3637 @ 0 "" 2
3638 .LVL245:
3639 .loc 2 414 3 is_stmt 0 view .LVU1032
3640 .thumb
3641 .syntax unified
3642 .LBE799:
3643 .LBE798:
3644 .loc 1 3943 3 is_stmt 1 view .LVU1033
3645 000c 0268 ldr r2, [r0]
3646 000e 1368 ldr r3, [r2]
3647 0010 4024 movs r4, #64
3648 0012 A343 bics r3, r4
3649 0014 1360 str r3, [r2]
3650 .loc 1 3943 3 view .LVU1034
3651 .LVL246:
3652 .LBB800:
3653 .LBI800:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
3654 .loc 2 412 27 view .LVU1035
3655 .LBB801:
3656 .loc 2 414 3 view .LVU1036
3657 .syntax divided
3658 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
3659 0016 81F31088 MSR primask, r1
3660 @ 0 "" 2
3661 .LVL247:
3662 .loc 2 414 3 is_stmt 0 view .LVU1037
3663 .thumb
3664 .syntax unified
3665 .LBE801:
3666 .LBE800:
3667 .LBE795:
3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
3668 .loc 1 3946 3 is_stmt 1 view .LVU1038
3669 .loc 1 3946 17 is_stmt 0 view .LVU1039
3670 001a 2023 movs r3, #32
3671 001c 8367 str r3, [r0, #120]
ARM GAS /tmp/ccwvDHH5.s page 156
3947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Cleat TxISR function pointer */
3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
3672 .loc 1 3949 3 is_stmt 1 view .LVU1040
3673 .loc 1 3949 16 is_stmt 0 view .LVU1041
3674 001e 0023 movs r3, #0
3675 0020 8366 str r3, [r0, #104]
3950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Tx complete callback*/
3953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxCpltCallback(huart);
3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
3956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
3676 .loc 1 3956 3 is_stmt 1 view .LVU1042
3677 0022 FFF7FEFF bl HAL_UART_TxCpltCallback
3678 .LVL248:
3957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3679 .loc 1 3958 1 is_stmt 0 view .LVU1043
3680 @ sp needed
3681 0026 10BD pop {r4, pc}
3682 .cfi_endproc
3683 .LFE103:
3685 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
3686 .align 1
3687 .weak HAL_UART_TxHalfCpltCallback
3688 .syntax unified
3689 .code 16
3690 .thumb_func
3691 .fpu softvfp
3693 HAL_UART_TxHalfCpltCallback:
3694 .LVL249:
3695 .LFB64:
2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3696 .loc 1 2607 1 is_stmt 1 view -0
3697 .cfi_startproc
3698 @ args = 0, pretend = 0, frame = 0
3699 @ frame_needed = 0, uses_anonymous_args = 0
3700 @ link register save eliminated.
2609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3701 .loc 1 2609 3 view .LVU1045
2614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3702 .loc 1 2614 1 is_stmt 0 view .LVU1046
3703 @ sp needed
3704 0000 7047 bx lr
3705 .cfi_endproc
3706 .LFE64:
3708 .section .text.UART_DMATxHalfCplt,"ax",%progbits
3709 .align 1
3710 .syntax unified
3711 .code 16
3712 .thumb_func
3713 .fpu softvfp
3715 UART_DMATxHalfCplt:
3716 .LVL250:
3717 .LFB92:
ARM GAS /tmp/ccwvDHH5.s page 157
3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3718 .loc 1 3545 1 is_stmt 1 view -0
3719 .cfi_startproc
3720 @ args = 0, pretend = 0, frame = 0
3721 @ frame_needed = 0, uses_anonymous_args = 0
3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3722 .loc 1 3545 1 is_stmt 0 view .LVU1048
3723 0000 10B5 push {r4, lr}
3724 .LCFI15:
3725 .cfi_def_cfa_offset 8
3726 .cfi_offset 4, -8
3727 .cfi_offset 14, -4
3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3728 .loc 1 3546 3 is_stmt 1 view .LVU1049
3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3729 .loc 1 3546 23 is_stmt 0 view .LVU1050
3730 0002 406A ldr r0, [r0, #36]
3731 .LVL251:
3553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3732 .loc 1 3553 3 is_stmt 1 view .LVU1051
3733 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
3734 .LVL252:
3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3735 .loc 1 3555 1 is_stmt 0 view .LVU1052
3736 @ sp needed
3737 0008 10BD pop {r4, pc}
3738 .cfi_endproc
3739 .LFE92:
3741 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
3742 .align 1
3743 .weak HAL_UART_RxCpltCallback
3744 .syntax unified
3745 .code 16
3746 .thumb_func
3747 .fpu softvfp
3749 HAL_UART_RxCpltCallback:
3750 .LVL253:
3751 .LFB65:
2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3752 .loc 1 2622 1 is_stmt 1 view -0
3753 .cfi_startproc
3754 @ args = 0, pretend = 0, frame = 0
3755 @ frame_needed = 0, uses_anonymous_args = 0
3756 @ link register save eliminated.
2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3757 .loc 1 2624 3 view .LVU1054
2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3758 .loc 1 2629 1 is_stmt 0 view .LVU1055
3759 @ sp needed
3760 0000 7047 bx lr
3761 .cfi_endproc
3762 .LFE65:
3764 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
3765 .align 1
3766 .weak HAL_UART_RxHalfCpltCallback
3767 .syntax unified
3768 .code 16
ARM GAS /tmp/ccwvDHH5.s page 158
3769 .thumb_func
3770 .fpu softvfp
3772 HAL_UART_RxHalfCpltCallback:
3773 .LVL254:
3774 .LFB66:
2637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3775 .loc 1 2637 1 is_stmt 1 view -0
3776 .cfi_startproc
3777 @ args = 0, pretend = 0, frame = 0
3778 @ frame_needed = 0, uses_anonymous_args = 0
3779 @ link register save eliminated.
2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3780 .loc 1 2639 3 view .LVU1057
2644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3781 .loc 1 2644 1 is_stmt 0 view .LVU1058
3782 @ sp needed
3783 0000 7047 bx lr
3784 .cfi_endproc
3785 .LFE66:
3787 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
3788 .align 1
3789 .weak HAL_UART_ErrorCallback
3790 .syntax unified
3791 .code 16
3792 .thumb_func
3793 .fpu softvfp
3795 HAL_UART_ErrorCallback:
3796 .LVL255:
3797 .LFB67:
2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3798 .loc 1 2652 1 is_stmt 1 view -0
3799 .cfi_startproc
3800 @ args = 0, pretend = 0, frame = 0
3801 @ frame_needed = 0, uses_anonymous_args = 0
3802 @ link register save eliminated.
2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3803 .loc 1 2654 3 view .LVU1060
2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3804 .loc 1 2659 1 is_stmt 0 view .LVU1061
3805 @ sp needed
3806 0000 7047 bx lr
3807 .cfi_endproc
3808 .LFE67:
3810 .section .text.UART_DMAError,"ax",%progbits
3811 .align 1
3812 .syntax unified
3813 .code 16
3814 .thumb_func
3815 .fpu softvfp
3817 UART_DMAError:
3818 .LVL256:
3819 .LFB95:
3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3820 .loc 1 3654 1 is_stmt 1 view -0
3821 .cfi_startproc
3822 @ args = 0, pretend = 0, frame = 0
3823 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccwvDHH5.s page 159
3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3824 .loc 1 3654 1 is_stmt 0 view .LVU1063
3825 0000 70B5 push {r4, r5, r6, lr}
3826 .LCFI16:
3827 .cfi_def_cfa_offset 16
3828 .cfi_offset 4, -16
3829 .cfi_offset 5, -12
3830 .cfi_offset 6, -8
3831 .cfi_offset 14, -4
3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3832 .loc 1 3655 3 is_stmt 1 view .LVU1064
3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3833 .loc 1 3655 23 is_stmt 0 view .LVU1065
3834 0002 446A ldr r4, [r0, #36]
3835 .LVL257:
3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
3836 .loc 1 3657 3 is_stmt 1 view .LVU1066
3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** const HAL_UART_StateTypeDef rxstate = huart->RxState;
3837 .loc 1 3657 31 is_stmt 0 view .LVU1067
3838 0004 A26F ldr r2, [r4, #120]
3839 .LVL258:
3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3840 .loc 1 3658 3 is_stmt 1 view .LVU1068
3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3841 .loc 1 3658 31 is_stmt 0 view .LVU1069
3842 0006 E56F ldr r5, [r4, #124]
3843 .LVL259:
3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3844 .loc 1 3661 3 is_stmt 1 view .LVU1070
3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3845 .loc 1 3661 8 is_stmt 0 view .LVU1071
3846 0008 2368 ldr r3, [r4]
3847 000a 9B68 ldr r3, [r3, #8]
3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3848 .loc 1 3661 6 view .LVU1072
3849 000c 1B06 lsls r3, r3, #24
3850 000e 01D5 bpl .L106
3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (gstate == HAL_UART_STATE_BUSY_TX))
3851 .loc 1 3661 62 discriminator 1 view .LVU1073
3852 0010 212A cmp r2, #33
3853 0012 0ED0 beq .L108
3854 .LVL260:
3855 .L106:
3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3856 .loc 1 3669 3 is_stmt 1 view .LVU1074
3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3857 .loc 1 3669 8 is_stmt 0 view .LVU1075
3858 0014 2368 ldr r3, [r4]
3859 0016 9B68 ldr r3, [r3, #8]
3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3860 .loc 1 3669 6 view .LVU1076
3861 0018 5B06 lsls r3, r3, #25
3862 001a 01D5 bpl .L107
3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** (rxstate == HAL_UART_STATE_BUSY_RX))
3863 .loc 1 3669 62 discriminator 1 view .LVU1077
3864 001c 222D cmp r5, #34
3865 001e 0FD0 beq .L109
ARM GAS /tmp/ccwvDHH5.s page 160
3866 .L107:
3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3867 .loc 1 3676 3 is_stmt 1 view .LVU1078
3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3868 .loc 1 3676 20 is_stmt 0 view .LVU1079
3869 0020 8022 movs r2, #128
3870 0022 A358 ldr r3, [r4, r2]
3871 0024 1021 movs r1, #16
3872 0026 0B43 orrs r3, r1
3873 0028 A350 str r3, [r4, r2]
3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3874 .loc 1 3683 3 is_stmt 1 view .LVU1080
3875 002a 2000 movs r0, r4
3876 002c FFF7FEFF bl HAL_UART_ErrorCallback
3877 .LVL261:
3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3878 .loc 1 3685 1 is_stmt 0 view .LVU1081
3879 @ sp needed
3880 .LVL262:
3881 .LVL263:
3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3882 .loc 1 3685 1 view .LVU1082
3883 0030 70BD pop {r4, r5, r6, pc}
3884 .LVL264:
3885 .L108:
3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTxTransfer(huart);
3886 .loc 1 3664 5 is_stmt 1 view .LVU1083
3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTxTransfer(huart);
3887 .loc 1 3664 24 is_stmt 0 view .LVU1084
3888 0032 5223 movs r3, #82
3889 0034 0022 movs r2, #0
3890 .LVL265:
3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndTxTransfer(huart);
3891 .loc 1 3664 24 view .LVU1085
3892 0036 E252 strh r2, [r4, r3]
3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3893 .loc 1 3665 5 is_stmt 1 view .LVU1086
3894 0038 2000 movs r0, r4
3895 .LVL266:
3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3896 .loc 1 3665 5 is_stmt 0 view .LVU1087
3897 003a FFF7FEFF bl UART_EndTxTransfer
3898 .LVL267:
3899 003e E9E7 b .L106
3900 .L109:
3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndRxTransfer(huart);
3901 .loc 1 3672 5 is_stmt 1 view .LVU1088
3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_EndRxTransfer(huart);
3902 .loc 1 3672 24 is_stmt 0 view .LVU1089
3903 0040 5A23 movs r3, #90
3904 0042 0022 movs r2, #0
3905 0044 E252 strh r2, [r4, r3]
3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
3906 .loc 1 3673 5 is_stmt 1 view .LVU1090
3907 0046 2000 movs r0, r4
3908 0048 FFF7FEFF bl UART_EndRxTransfer
3909 .LVL268:
ARM GAS /tmp/ccwvDHH5.s page 161
3910 004c E8E7 b .L107
3911 .cfi_endproc
3912 .LFE95:
3914 .section .text.UART_DMAAbortOnError,"ax",%progbits
3915 .align 1
3916 .syntax unified
3917 .code 16
3918 .thumb_func
3919 .fpu softvfp
3921 UART_DMAAbortOnError:
3922 .LVL269:
3923 .LFB96:
3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3924 .loc 1 3694 1 view -0
3925 .cfi_startproc
3926 @ args = 0, pretend = 0, frame = 0
3927 @ frame_needed = 0, uses_anonymous_args = 0
3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
3928 .loc 1 3694 1 is_stmt 0 view .LVU1092
3929 0000 10B5 push {r4, lr}
3930 .LCFI17:
3931 .cfi_def_cfa_offset 8
3932 .cfi_offset 4, -8
3933 .cfi_offset 14, -4
3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
3934 .loc 1 3695 3 is_stmt 1 view .LVU1093
3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
3935 .loc 1 3695 23 is_stmt 0 view .LVU1094
3936 0002 406A ldr r0, [r0, #36]
3937 .LVL270:
3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
3938 .loc 1 3696 3 is_stmt 1 view .LVU1095
3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = 0U;
3939 .loc 1 3696 22 is_stmt 0 view .LVU1096
3940 0004 0023 movs r3, #0
3941 0006 5A22 movs r2, #90
3942 0008 8352 strh r3, [r0, r2]
3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3943 .loc 1 3697 3 is_stmt 1 view .LVU1097
3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3944 .loc 1 3697 22 is_stmt 0 view .LVU1098
3945 000a 083A subs r2, r2, #8
3946 000c 8352 strh r3, [r0, r2]
3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3947 .loc 1 3704 3 is_stmt 1 view .LVU1099
3948 000e FFF7FEFF bl HAL_UART_ErrorCallback
3949 .LVL271:
3706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3950 .loc 1 3706 1 is_stmt 0 view .LVU1100
3951 @ sp needed
3952 0012 10BD pop {r4, pc}
3953 .cfi_endproc
3954 .LFE96:
3956 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
3957 .align 1
3958 .weak HAL_UART_AbortCpltCallback
3959 .syntax unified
ARM GAS /tmp/ccwvDHH5.s page 162
3960 .code 16
3961 .thumb_func
3962 .fpu softvfp
3964 HAL_UART_AbortCpltCallback:
3965 .LVL272:
3966 .LFB68:
2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3967 .loc 1 2667 1 is_stmt 1 view -0
3968 .cfi_startproc
3969 @ args = 0, pretend = 0, frame = 0
3970 @ frame_needed = 0, uses_anonymous_args = 0
3971 @ link register save eliminated.
2669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3972 .loc 1 2669 3 view .LVU1102
2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3973 .loc 1 2674 1 is_stmt 0 view .LVU1103
3974 @ sp needed
3975 0000 7047 bx lr
3976 .cfi_endproc
3977 .LFE68:
3979 .section .text.HAL_UART_Abort_IT,"ax",%progbits
3980 .align 1
3981 .global HAL_UART_Abort_IT
3982 .syntax unified
3983 .code 16
3984 .thumb_func
3985 .fpu softvfp
3987 HAL_UART_Abort_IT:
3988 .LVL273:
3989 .LFB59:
1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t abortcplt = 1U;
3990 .loc 1 1975 1 is_stmt 1 view -0
3991 .cfi_startproc
3992 @ args = 0, pretend = 0, frame = 0
3993 @ frame_needed = 0, uses_anonymous_args = 0
1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t abortcplt = 1U;
3994 .loc 1 1975 1 is_stmt 0 view .LVU1105
3995 0000 70B5 push {r4, r5, r6, lr}
3996 .LCFI18:
3997 .cfi_def_cfa_offset 16
3998 .cfi_offset 4, -16
3999 .cfi_offset 5, -12
4000 .cfi_offset 6, -8
4001 .cfi_offset 14, -4
4002 0002 0400 movs r4, r0
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4003 .loc 1 1976 3 is_stmt 1 view .LVU1106
4004 .LVL274:
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4005 .loc 1 1979 3 view .LVU1107
4006 .LBB802:
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4007 .loc 1 1979 3 view .LVU1108
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4008 .loc 1 1979 3 view .LVU1109
4009 .LBB803:
4010 .LBI803:
ARM GAS /tmp/ccwvDHH5.s page 163
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4011 .loc 2 382 31 view .LVU1110
4012 .LBB804:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
4013 .loc 2 384 3 view .LVU1111
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4014 .loc 2 386 3 view .LVU1112
4015 .syntax divided
4016 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4017 0004 EFF31080 MRS r0, primask
4018 @ 0 "" 2
4019 .LVL275:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4020 .loc 2 387 3 view .LVU1113
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4021 .loc 2 387 3 is_stmt 0 view .LVU1114
4022 .thumb
4023 .syntax unified
4024 .LBE804:
4025 .LBE803:
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4026 .loc 1 1979 3 is_stmt 1 view .LVU1115
4027 .LBB805:
4028 .LBI805:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4029 .loc 2 412 27 view .LVU1116
4030 .LBB806:
4031 .loc 2 414 3 view .LVU1117
4032 0008 0122 movs r2, #1
4033 .syntax divided
4034 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4035 000a 82F31088 MSR primask, r2
4036 @ 0 "" 2
4037 .LVL276:
4038 .loc 2 414 3 is_stmt 0 view .LVU1118
4039 .thumb
4040 .syntax unified
4041 .LBE806:
4042 .LBE805:
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4043 .loc 1 1979 3 is_stmt 1 view .LVU1119
4044 000e 2168 ldr r1, [r4]
4045 0010 0B68 ldr r3, [r1]
4046 0012 474D ldr r5, .L126
4047 0014 2B40 ands r3, r5
4048 0016 0B60 str r3, [r1]
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4049 .loc 1 1979 3 view .LVU1120
4050 .LVL277:
4051 .LBB807:
4052 .LBI807:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4053 .loc 2 412 27 view .LVU1121
4054 .LBB808:
4055 .loc 2 414 3 view .LVU1122
4056 .syntax divided
4057 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
ARM GAS /tmp/ccwvDHH5.s page 164
4058 0018 80F31088 MSR primask, r0
4059 @ 0 "" 2
4060 .LVL278:
4061 .loc 2 414 3 is_stmt 0 view .LVU1123
4062 .thumb
4063 .syntax unified
4064 .LBE808:
4065 .LBE807:
4066 .LBE802:
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4067 .loc 1 1980 3 is_stmt 1 view .LVU1124
4068 .LBB809:
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4069 .loc 1 1980 3 view .LVU1125
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4070 .loc 1 1980 3 view .LVU1126
4071 .LBB810:
4072 .LBI810:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4073 .loc 2 382 31 view .LVU1127
4074 .LBB811:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
4075 .loc 2 384 3 view .LVU1128
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4076 .loc 2 386 3 view .LVU1129
4077 .syntax divided
4078 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4079 001c EFF31080 MRS r0, primask
4080 @ 0 "" 2
4081 .LVL279:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4082 .loc 2 387 3 view .LVU1130
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4083 .loc 2 387 3 is_stmt 0 view .LVU1131
4084 .thumb
4085 .syntax unified
4086 .LBE811:
4087 .LBE810:
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4088 .loc 1 1980 3 is_stmt 1 view .LVU1132
4089 .LBB812:
4090 .LBI812:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4091 .loc 2 412 27 view .LVU1133
4092 .LBB813:
4093 .loc 2 414 3 view .LVU1134
4094 .syntax divided
4095 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4096 0020 82F31088 MSR primask, r2
4097 @ 0 "" 2
4098 .LVL280:
4099 .loc 2 414 3 is_stmt 0 view .LVU1135
4100 .thumb
4101 .syntax unified
4102 .LBE813:
4103 .LBE812:
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 165
4104 .loc 1 1980 3 is_stmt 1 view .LVU1136
4105 0024 2168 ldr r1, [r4]
4106 0026 8B68 ldr r3, [r1, #8]
4107 0028 9343 bics r3, r2
4108 002a 8B60 str r3, [r1, #8]
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4109 .loc 1 1980 3 view .LVU1137
4110 .LVL281:
4111 .LBB814:
4112 .LBI814:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4113 .loc 2 412 27 view .LVU1138
4114 .LBB815:
4115 .loc 2 414 3 view .LVU1139
4116 .syntax divided
4117 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4118 002c 80F31088 MSR primask, r0
4119 @ 0 "" 2
4120 .LVL282:
4121 .loc 2 414 3 is_stmt 0 view .LVU1140
4122 .thumb
4123 .syntax unified
4124 .LBE815:
4125 .LBE814:
4126 .LBE809:
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4127 .loc 1 1983 3 is_stmt 1 view .LVU1141
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4128 .loc 1 1983 12 is_stmt 0 view .LVU1142
4129 0030 236E ldr r3, [r4, #96]
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4130 .loc 1 1983 6 view .LVU1143
4131 0032 012B cmp r3, #1
4132 0034 2DD0 beq .L125
4133 .LVL283:
4134 .L113:
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4135 .loc 1 1991 3 is_stmt 1 view .LVU1144
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4136 .loc 1 1991 12 is_stmt 0 view .LVU1145
4137 0036 E36E ldr r3, [r4, #108]
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4138 .loc 1 1991 6 view .LVU1146
4139 0038 002B cmp r3, #0
4140 003a 05D0 beq .L114
1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4141 .loc 1 1995 5 is_stmt 1 view .LVU1147
1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4142 .loc 1 1995 9 is_stmt 0 view .LVU1148
4143 003c 2268 ldr r2, [r4]
4144 003e 9268 ldr r2, [r2, #8]
1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4145 .loc 1 1995 8 view .LVU1149
4146 0040 1206 lsls r2, r2, #24
4147 0042 32D5 bpl .L115
1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4148 .loc 1 1997 7 is_stmt 1 view .LVU1150
ARM GAS /tmp/ccwvDHH5.s page 166
1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4149 .loc 1 1997 40 is_stmt 0 view .LVU1151
4150 0044 3B4A ldr r2, .L126+4
4151 0046 5A63 str r2, [r3, #52]
4152 .L114:
2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4153 .loc 1 2005 3 is_stmt 1 view .LVU1152
2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4154 .loc 1 2005 12 is_stmt 0 view .LVU1153
4155 0048 236F ldr r3, [r4, #112]
2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4156 .loc 1 2005 6 view .LVU1154
4157 004a 002B cmp r3, #0
4158 004c 05D0 beq .L116
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4159 .loc 1 2009 5 is_stmt 1 view .LVU1155
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4160 .loc 1 2009 9 is_stmt 0 view .LVU1156
4161 004e 2268 ldr r2, [r4]
4162 0050 9268 ldr r2, [r2, #8]
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4163 .loc 1 2009 8 view .LVU1157
4164 0052 5206 lsls r2, r2, #25
4165 0054 2CD5 bpl .L117
2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4166 .loc 1 2011 7 is_stmt 1 view .LVU1158
2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4167 .loc 1 2011 40 is_stmt 0 view .LVU1159
4168 0056 384A ldr r2, .L126+8
4169 0058 5A63 str r2, [r3, #52]
4170 .L116:
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4171 .loc 1 2020 3 is_stmt 1 view .LVU1160
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4172 .loc 1 2020 7 is_stmt 0 view .LVU1161
4173 005a 2368 ldr r3, [r4]
4174 005c 9B68 ldr r3, [r3, #8]
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4175 .loc 1 2020 6 view .LVU1162
4176 005e 1B06 lsls r3, r3, #24
4177 0060 29D5 bpl .L122
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4178 .loc 1 2023 5 is_stmt 1 view .LVU1163
4179 .LBB816:
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4180 .loc 1 2023 5 view .LVU1164
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4181 .loc 1 2023 5 view .LVU1165
4182 .LBB817:
4183 .LBI817:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4184 .loc 2 382 31 view .LVU1166
4185 .LBB818:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
4186 .loc 2 384 3 view .LVU1167
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4187 .loc 2 386 3 view .LVU1168
ARM GAS /tmp/ccwvDHH5.s page 167
4188 .syntax divided
4189 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4190 0062 EFF31081 MRS r1, primask
4191 @ 0 "" 2
4192 .LVL284:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4193 .loc 2 387 3 view .LVU1169
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4194 .loc 2 387 3 is_stmt 0 view .LVU1170
4195 .thumb
4196 .syntax unified
4197 .LBE818:
4198 .LBE817:
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4199 .loc 1 2023 5 is_stmt 1 view .LVU1171
4200 .LBB819:
4201 .LBI819:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4202 .loc 2 412 27 view .LVU1172
4203 .LBB820:
4204 .loc 2 414 3 view .LVU1173
4205 0066 0123 movs r3, #1
4206 .syntax divided
4207 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4208 0068 83F31088 MSR primask, r3
4209 @ 0 "" 2
4210 .LVL285:
4211 .loc 2 414 3 is_stmt 0 view .LVU1174
4212 .thumb
4213 .syntax unified
4214 .LBE820:
4215 .LBE819:
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4216 .loc 1 2023 5 is_stmt 1 view .LVU1175
4217 006c 2268 ldr r2, [r4]
4218 006e 9368 ldr r3, [r2, #8]
4219 0070 8020 movs r0, #128
4220 0072 8343 bics r3, r0
4221 0074 9360 str r3, [r2, #8]
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4222 .loc 1 2023 5 view .LVU1176
4223 .LVL286:
4224 .LBB821:
4225 .LBI821:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4226 .loc 2 412 27 view .LVU1177
4227 .LBB822:
4228 .loc 2 414 3 view .LVU1178
4229 .syntax divided
4230 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4231 0076 81F31088 MSR primask, r1
4232 @ 0 "" 2
4233 .LVL287:
4234 .loc 2 414 3 is_stmt 0 view .LVU1179
4235 .thumb
4236 .syntax unified
4237 .LBE822:
ARM GAS /tmp/ccwvDHH5.s page 168
4238 .LBE821:
4239 .LBE816:
2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4240 .loc 1 2026 5 is_stmt 1 view .LVU1180
2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4241 .loc 1 2026 14 is_stmt 0 view .LVU1181
4242 007a E06E ldr r0, [r4, #108]
2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4243 .loc 1 2026 8 view .LVU1182
4244 007c 0028 cmp r0, #0
4245 007e 4ED0 beq .L123
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4246 .loc 1 2032 7 is_stmt 1 view .LVU1183
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4247 .loc 1 2032 11 is_stmt 0 view .LVU1184
4248 0080 FFF7FEFF bl HAL_DMA_Abort_IT
4249 .LVL288:
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4250 .loc 1 2032 10 view .LVU1185
4251 0084 0028 cmp r0, #0
4252 0086 4CD0 beq .L124
2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4253 .loc 1 2034 9 is_stmt 1 view .LVU1186
2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4254 .loc 1 2034 14 is_stmt 0 view .LVU1187
4255 0088 E36E ldr r3, [r4, #108]
2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4256 .loc 1 2034 42 view .LVU1188
4257 008a 0022 movs r2, #0
4258 008c 5A63 str r2, [r3, #52]
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4259 .loc 1 1976 12 view .LVU1189
4260 008e 0132 adds r2, r2, #1
4261 0090 12E0 b .L118
4262 .LVL289:
4263 .L125:
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4264 .loc 1 1985 5 is_stmt 1 view .LVU1190
4265 .LBB823:
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4266 .loc 1 1985 5 view .LVU1191
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4267 .loc 1 1985 5 view .LVU1192
4268 .LBB824:
4269 .LBI824:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4270 .loc 2 382 31 view .LVU1193
4271 .LBB825:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
4272 .loc 2 384 3 view .LVU1194
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4273 .loc 2 386 3 view .LVU1195
4274 .syntax divided
4275 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4276 0092 EFF31081 MRS r1, primask
4277 @ 0 "" 2
4278 .LVL290:
ARM GAS /tmp/ccwvDHH5.s page 169
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4279 .loc 2 387 3 view .LVU1196
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4280 .loc 2 387 3 is_stmt 0 view .LVU1197
4281 .thumb
4282 .syntax unified
4283 .LBE825:
4284 .LBE824:
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4285 .loc 1 1985 5 is_stmt 1 view .LVU1198
4286 .LBB826:
4287 .LBI826:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4288 .loc 2 412 27 view .LVU1199
4289 .LBB827:
4290 .loc 2 414 3 view .LVU1200
4291 .syntax divided
4292 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4293 0096 83F31088 MSR primask, r3
4294 @ 0 "" 2
4295 .LVL291:
4296 .loc 2 414 3 is_stmt 0 view .LVU1201
4297 .thumb
4298 .syntax unified
4299 .LBE827:
4300 .LBE826:
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4301 .loc 1 1985 5 is_stmt 1 view .LVU1202
4302 009a 2268 ldr r2, [r4]
4303 009c 1368 ldr r3, [r2]
4304 009e 1020 movs r0, #16
4305 .LVL292:
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4306 .loc 1 1985 5 is_stmt 0 view .LVU1203
4307 00a0 8343 bics r3, r0
4308 00a2 1360 str r3, [r2]
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4309 .loc 1 1985 5 is_stmt 1 view .LVU1204
4310 .LVL293:
4311 .LBB828:
4312 .LBI828:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4313 .loc 2 412 27 view .LVU1205
4314 .LBB829:
4315 .loc 2 414 3 view .LVU1206
4316 .syntax divided
4317 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4318 00a4 81F31088 MSR primask, r1
4319 @ 0 "" 2
4320 .thumb
4321 .syntax unified
4322 00a8 C5E7 b .L113
4323 .LVL294:
4324 .L115:
4325 .loc 2 414 3 is_stmt 0 view .LVU1207
4326 .LBE829:
4327 .LBE828:
ARM GAS /tmp/ccwvDHH5.s page 170
4328 .LBE823:
2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4329 .loc 1 2001 7 is_stmt 1 view .LVU1208
2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4330 .loc 1 2001 40 is_stmt 0 view .LVU1209
4331 00aa 0022 movs r2, #0
4332 00ac 5A63 str r2, [r3, #52]
4333 00ae CBE7 b .L114
4334 .L117:
2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4335 .loc 1 2015 7 is_stmt 1 view .LVU1210
2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4336 .loc 1 2015 40 is_stmt 0 view .LVU1211
4337 00b0 0022 movs r2, #0
4338 00b2 5A63 str r2, [r3, #52]
4339 00b4 D1E7 b .L116
4340 .L122:
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4341 .loc 1 1976 12 view .LVU1212
4342 00b6 0122 movs r2, #1
4343 .L118:
4344 .LVL295:
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4345 .loc 1 2044 3 is_stmt 1 view .LVU1213
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4346 .loc 1 2044 7 is_stmt 0 view .LVU1214
4347 00b8 2368 ldr r3, [r4]
4348 00ba 9B68 ldr r3, [r3, #8]
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4349 .loc 1 2044 6 view .LVU1215
4350 00bc 5B06 lsls r3, r3, #25
4351 00be 32D5 bpl .L119
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4352 .loc 1 2046 5 is_stmt 1 view .LVU1216
4353 .LBB830:
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4354 .loc 1 2046 5 view .LVU1217
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4355 .loc 1 2046 5 view .LVU1218
4356 .LBB831:
4357 .LBI831:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4358 .loc 2 382 31 view .LVU1219
4359 .LBB832:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
4360 .loc 2 384 3 view .LVU1220
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4361 .loc 2 386 3 view .LVU1221
4362 .syntax divided
4363 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4364 00c0 EFF31080 MRS r0, primask
4365 @ 0 "" 2
4366 .LVL296:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4367 .loc 2 387 3 view .LVU1222
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4368 .loc 2 387 3 is_stmt 0 view .LVU1223
ARM GAS /tmp/ccwvDHH5.s page 171
4369 .thumb
4370 .syntax unified
4371 .LBE832:
4372 .LBE831:
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4373 .loc 1 2046 5 is_stmt 1 view .LVU1224
4374 .LBB833:
4375 .LBI833:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4376 .loc 2 412 27 view .LVU1225
4377 .LBB834:
4378 .loc 2 414 3 view .LVU1226
4379 00c4 0123 movs r3, #1
4380 .syntax divided
4381 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4382 00c6 83F31088 MSR primask, r3
4383 @ 0 "" 2
4384 .LVL297:
4385 .loc 2 414 3 is_stmt 0 view .LVU1227
4386 .thumb
4387 .syntax unified
4388 .LBE834:
4389 .LBE833:
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4390 .loc 1 2046 5 is_stmt 1 view .LVU1228
4391 00ca 2168 ldr r1, [r4]
4392 00cc 8B68 ldr r3, [r1, #8]
4393 00ce 4025 movs r5, #64
4394 00d0 AB43 bics r3, r5
4395 00d2 8B60 str r3, [r1, #8]
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4396 .loc 1 2046 5 view .LVU1229
4397 .LVL298:
4398 .LBB835:
4399 .LBI835:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4400 .loc 2 412 27 view .LVU1230
4401 .LBB836:
4402 .loc 2 414 3 view .LVU1231
4403 .syntax divided
4404 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4405 00d4 80F31088 MSR primask, r0
4406 @ 0 "" 2
4407 .LVL299:
4408 .loc 2 414 3 is_stmt 0 view .LVU1232
4409 .thumb
4410 .syntax unified
4411 .LBE836:
4412 .LBE835:
4413 .LBE830:
2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4414 .loc 1 2049 5 is_stmt 1 view .LVU1233
2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4415 .loc 1 2049 14 is_stmt 0 view .LVU1234
4416 00d8 206F ldr r0, [r4, #112]
4417 .LVL300:
2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 172
4418 .loc 1 2049 8 view .LVU1235
4419 00da 0028 cmp r0, #0
4420 00dc 23D0 beq .L119
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4421 .loc 1 2055 7 is_stmt 1 view .LVU1236
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4422 .loc 1 2055 11 is_stmt 0 view .LVU1237
4423 00de FFF7FEFF bl HAL_DMA_Abort_IT
4424 .LVL301:
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4425 .loc 1 2055 10 view .LVU1238
4426 00e2 0028 cmp r0, #0
4427 00e4 21D0 beq .L120
2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 1U;
4428 .loc 1 2057 9 is_stmt 1 view .LVU1239
2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 1U;
4429 .loc 1 2057 14 is_stmt 0 view .LVU1240
4430 00e6 236F ldr r3, [r4, #112]
2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** abortcplt = 1U;
4431 .loc 1 2057 42 view .LVU1241
4432 00e8 0022 movs r2, #0
4433 00ea 5A63 str r2, [r3, #52]
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4434 .loc 1 2058 9 is_stmt 1 view .LVU1242
4435 .LVL302:
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4436 .loc 1 2068 3 view .LVU1243
4437 .L121:
2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
4438 .loc 1 2071 5 view .LVU1244
2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
4439 .loc 1 2071 24 is_stmt 0 view .LVU1245
4440 00ec 0023 movs r3, #0
4441 00ee 5222 movs r2, #82
4442 00f0 A352 strh r3, [r4, r2]
2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4443 .loc 1 2072 5 is_stmt 1 view .LVU1246
2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4444 .loc 1 2072 24 is_stmt 0 view .LVU1247
4445 00f2 0832 adds r2, r2, #8
4446 00f4 A352 strh r3, [r4, r2]
2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
4447 .loc 1 2075 5 is_stmt 1 view .LVU1248
2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
4448 .loc 1 2075 18 is_stmt 0 view .LVU1249
4449 00f6 6366 str r3, [r4, #100]
2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4450 .loc 1 2076 5 is_stmt 1 view .LVU1250
2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4451 .loc 1 2076 18 is_stmt 0 view .LVU1251
4452 00f8 A366 str r3, [r4, #104]
2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4453 .loc 1 2079 5 is_stmt 1 view .LVU1252
2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4454 .loc 1 2079 22 is_stmt 0 view .LVU1253
4455 00fa 2632 adds r2, r2, #38
4456 00fc A350 str r3, [r4, r2]
ARM GAS /tmp/ccwvDHH5.s page 173
2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4457 .loc 1 2082 5 is_stmt 1 view .LVU1254
4458 00fe 2268 ldr r2, [r4]
4459 0100 0F21 movs r1, #15
4460 0102 1162 str r1, [r2, #32]
2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4461 .loc 1 2086 5 view .LVU1255
4462 0104 2168 ldr r1, [r4]
4463 0106 8A69 ldr r2, [r1, #24]
4464 0108 0820 movs r0, #8
4465 010a 0243 orrs r2, r0
4466 010c 8A61 str r2, [r1, #24]
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4467 .loc 1 2089 5 view .LVU1256
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4468 .loc 1 2089 20 is_stmt 0 view .LVU1257
4469 010e 2022 movs r2, #32
4470 0110 A267 str r2, [r4, #120]
2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4471 .loc 1 2090 5 is_stmt 1 view .LVU1258
2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4472 .loc 1 2090 20 is_stmt 0 view .LVU1259
4473 0112 E267 str r2, [r4, #124]
2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4474 .loc 1 2091 5 is_stmt 1 view .LVU1260
2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4475 .loc 1 2091 26 is_stmt 0 view .LVU1261
4476 0114 2366 str r3, [r4, #96]
2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4477 .loc 1 2099 5 is_stmt 1 view .LVU1262
4478 0116 2000 movs r0, r4
4479 0118 FFF7FEFF bl HAL_UART_AbortCpltCallback
4480 .LVL303:
4481 011c 05E0 b .L120
4482 .LVL304:
4483 .L123:
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4484 .loc 1 1976 12 is_stmt 0 view .LVU1263
4485 011e 0122 movs r2, #1
4486 0120 CAE7 b .L118
4487 .LVL305:
4488 .L124:
2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4489 .loc 1 2038 19 view .LVU1264
4490 0122 0022 movs r2, #0
4491 0124 C8E7 b .L118
4492 .LVL306:
4493 .L119:
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4494 .loc 1 2068 3 is_stmt 1 view .LVU1265
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4495 .loc 1 2068 6 is_stmt 0 view .LVU1266
4496 0126 012A cmp r2, #1
4497 0128 E0D0 beq .L121
4498 .LVL307:
4499 .L120:
2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 174
4500 .loc 1 2103 3 is_stmt 1 view .LVU1267
2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4501 .loc 1 2104 1 is_stmt 0 view .LVU1268
4502 012a 0020 movs r0, #0
4503 @ sp needed
4504 .LVL308:
2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4505 .loc 1 2104 1 view .LVU1269
4506 012c 70BD pop {r4, r5, r6, pc}
4507 .L127:
4508 012e C046 .align 2
4509 .L126:
4510 0130 1FFEFFFF .word -481
4511 0134 00000000 .word UART_DMATxAbortCallback
4512 0138 00000000 .word UART_DMARxAbortCallback
4513 .cfi_endproc
4514 .LFE59:
4516 .section .text.UART_DMARxAbortCallback,"ax",%progbits
4517 .align 1
4518 .syntax unified
4519 .code 16
4520 .thumb_func
4521 .fpu softvfp
4523 UART_DMARxAbortCallback:
4524 .LVL309:
4525 .LFB98:
3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
4526 .loc 1 3767 1 is_stmt 1 view -0
4527 .cfi_startproc
4528 @ args = 0, pretend = 0, frame = 0
4529 @ frame_needed = 0, uses_anonymous_args = 0
3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
4530 .loc 1 3767 1 is_stmt 0 view .LVU1271
4531 0000 10B5 push {r4, lr}
4532 .LCFI19:
4533 .cfi_def_cfa_offset 8
4534 .cfi_offset 4, -8
4535 .cfi_offset 14, -4
3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4536 .loc 1 3768 3 is_stmt 1 view .LVU1272
3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4537 .loc 1 3768 23 is_stmt 0 view .LVU1273
4538 0002 406A ldr r0, [r0, #36]
4539 .LVL310:
3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4540 .loc 1 3770 3 is_stmt 1 view .LVU1274
3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4541 .loc 1 3770 8 is_stmt 0 view .LVU1275
4542 0004 036F ldr r3, [r0, #112]
3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4543 .loc 1 3770 36 view .LVU1276
4544 0006 0022 movs r2, #0
4545 0008 5A63 str r2, [r3, #52]
3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4546 .loc 1 3773 3 is_stmt 1 view .LVU1277
3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4547 .loc 1 3773 12 is_stmt 0 view .LVU1278
ARM GAS /tmp/ccwvDHH5.s page 175
4548 000a C36E ldr r3, [r0, #108]
3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4549 .loc 1 3773 6 view .LVU1279
4550 000c 002B cmp r3, #0
4551 000e 02D0 beq .L129
3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4552 .loc 1 3775 5 is_stmt 1 view .LVU1280
3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4553 .loc 1 3775 22 is_stmt 0 view .LVU1281
4554 0010 5B6B ldr r3, [r3, #52]
3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4555 .loc 1 3775 8 view .LVU1282
4556 0012 002B cmp r3, #0
4557 0014 14D1 bne .L128
4558 .L129:
3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
4559 .loc 1 3782 3 is_stmt 1 view .LVU1283
3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
4560 .loc 1 3782 22 is_stmt 0 view .LVU1284
4561 0016 0023 movs r3, #0
4562 0018 5222 movs r2, #82
4563 001a 8352 strh r3, [r0, r2]
3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4564 .loc 1 3783 3 is_stmt 1 view .LVU1285
3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4565 .loc 1 3783 22 is_stmt 0 view .LVU1286
4566 001c 0832 adds r2, r2, #8
4567 001e 8352 strh r3, [r0, r2]
3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4568 .loc 1 3786 3 is_stmt 1 view .LVU1287
3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4569 .loc 1 3786 20 is_stmt 0 view .LVU1288
4570 0020 2632 adds r2, r2, #38
4571 0022 8350 str r3, [r0, r2]
3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4572 .loc 1 3789 3 is_stmt 1 view .LVU1289
4573 0024 0268 ldr r2, [r0]
4574 0026 0F21 movs r1, #15
4575 0028 1162 str r1, [r2, #32]
3792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4576 .loc 1 3792 3 view .LVU1290
4577 002a 0168 ldr r1, [r0]
4578 002c 8A69 ldr r2, [r1, #24]
4579 002e 0824 movs r4, #8
4580 0030 2243 orrs r2, r4
4581 0032 8A61 str r2, [r1, #24]
3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4582 .loc 1 3795 3 view .LVU1291
3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4583 .loc 1 3795 18 is_stmt 0 view .LVU1292
4584 0034 2022 movs r2, #32
4585 0036 8267 str r2, [r0, #120]
3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4586 .loc 1 3796 3 is_stmt 1 view .LVU1293
3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4587 .loc 1 3796 18 is_stmt 0 view .LVU1294
4588 0038 C267 str r2, [r0, #124]
ARM GAS /tmp/ccwvDHH5.s page 176
3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4589 .loc 1 3797 3 is_stmt 1 view .LVU1295
3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4590 .loc 1 3797 24 is_stmt 0 view .LVU1296
4591 003a 0366 str r3, [r0, #96]
3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4592 .loc 1 3805 3 is_stmt 1 view .LVU1297
4593 003c FFF7FEFF bl HAL_UART_AbortCpltCallback
4594 .LVL311:
4595 .L128:
3807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4596 .loc 1 3807 1 is_stmt 0 view .LVU1298
4597 @ sp needed
4598 0040 10BD pop {r4, pc}
4599 .cfi_endproc
4600 .LFE98:
4602 .section .text.UART_DMATxAbortCallback,"ax",%progbits
4603 .align 1
4604 .syntax unified
4605 .code 16
4606 .thumb_func
4607 .fpu softvfp
4609 UART_DMATxAbortCallback:
4610 .LVL312:
4611 .LFB97:
3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
4612 .loc 1 3717 1 is_stmt 1 view -0
4613 .cfi_startproc
4614 @ args = 0, pretend = 0, frame = 0
4615 @ frame_needed = 0, uses_anonymous_args = 0
3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
4616 .loc 1 3717 1 is_stmt 0 view .LVU1300
4617 0000 10B5 push {r4, lr}
4618 .LCFI20:
4619 .cfi_def_cfa_offset 8
4620 .cfi_offset 4, -8
4621 .cfi_offset 14, -4
3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4622 .loc 1 3718 3 is_stmt 1 view .LVU1301
3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4623 .loc 1 3718 23 is_stmt 0 view .LVU1302
4624 0002 406A ldr r0, [r0, #36]
4625 .LVL313:
3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4626 .loc 1 3720 3 is_stmt 1 view .LVU1303
3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4627 .loc 1 3720 8 is_stmt 0 view .LVU1304
4628 0004 C36E ldr r3, [r0, #108]
3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4629 .loc 1 3720 36 view .LVU1305
4630 0006 0022 movs r2, #0
4631 0008 5A63 str r2, [r3, #52]
3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4632 .loc 1 3723 3 is_stmt 1 view .LVU1306
3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4633 .loc 1 3723 12 is_stmt 0 view .LVU1307
4634 000a 036F ldr r3, [r0, #112]
ARM GAS /tmp/ccwvDHH5.s page 177
3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4635 .loc 1 3723 6 view .LVU1308
4636 000c 002B cmp r3, #0
4637 000e 02D0 beq .L132
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4638 .loc 1 3725 5 is_stmt 1 view .LVU1309
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4639 .loc 1 3725 22 is_stmt 0 view .LVU1310
4640 0010 5B6B ldr r3, [r3, #52]
3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4641 .loc 1 3725 8 view .LVU1311
4642 0012 002B cmp r3, #0
4643 0014 0FD1 bne .L131
4644 .L132:
3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
4645 .loc 1 3732 3 is_stmt 1 view .LVU1312
3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = 0U;
4646 .loc 1 3732 22 is_stmt 0 view .LVU1313
4647 0016 0023 movs r3, #0
4648 0018 5222 movs r2, #82
4649 001a 8352 strh r3, [r0, r2]
3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4650 .loc 1 3733 3 is_stmt 1 view .LVU1314
3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4651 .loc 1 3733 22 is_stmt 0 view .LVU1315
4652 001c 0832 adds r2, r2, #8
4653 001e 8352 strh r3, [r0, r2]
3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4654 .loc 1 3736 3 is_stmt 1 view .LVU1316
3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4655 .loc 1 3736 20 is_stmt 0 view .LVU1317
4656 0020 2632 adds r2, r2, #38
4657 0022 8350 str r3, [r0, r2]
3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4658 .loc 1 3739 3 is_stmt 1 view .LVU1318
4659 0024 0268 ldr r2, [r0]
4660 0026 0F21 movs r1, #15
4661 0028 1162 str r1, [r2, #32]
3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4662 .loc 1 3743 3 view .LVU1319
3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4663 .loc 1 3743 18 is_stmt 0 view .LVU1320
4664 002a 2022 movs r2, #32
4665 002c 8267 str r2, [r0, #120]
3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4666 .loc 1 3744 3 is_stmt 1 view .LVU1321
3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4667 .loc 1 3744 18 is_stmt 0 view .LVU1322
4668 002e C267 str r2, [r0, #124]
3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4669 .loc 1 3745 3 is_stmt 1 view .LVU1323
3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4670 .loc 1 3745 24 is_stmt 0 view .LVU1324
4671 0030 0366 str r3, [r0, #96]
3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4672 .loc 1 3753 3 is_stmt 1 view .LVU1325
4673 0032 FFF7FEFF bl HAL_UART_AbortCpltCallback
ARM GAS /tmp/ccwvDHH5.s page 178
4674 .LVL314:
4675 .L131:
3755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4676 .loc 1 3755 1 is_stmt 0 view .LVU1326
4677 @ sp needed
4678 0036 10BD pop {r4, pc}
4679 .cfi_endproc
4680 .LFE97:
4682 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
4683 .align 1
4684 .weak HAL_UART_AbortTransmitCpltCallback
4685 .syntax unified
4686 .code 16
4687 .thumb_func
4688 .fpu softvfp
4690 HAL_UART_AbortTransmitCpltCallback:
4691 .LVL315:
4692 .LFB69:
2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4693 .loc 1 2682 1 is_stmt 1 view -0
4694 .cfi_startproc
4695 @ args = 0, pretend = 0, frame = 0
4696 @ frame_needed = 0, uses_anonymous_args = 0
4697 @ link register save eliminated.
2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4698 .loc 1 2684 3 view .LVU1328
2689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4699 .loc 1 2689 1 is_stmt 0 view .LVU1329
4700 @ sp needed
4701 0000 7047 bx lr
4702 .cfi_endproc
4703 .LFE69:
4705 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
4706 .align 1
4707 .global HAL_UART_AbortTransmit_IT
4708 .syntax unified
4709 .code 16
4710 .thumb_func
4711 .fpu softvfp
4713 HAL_UART_AbortTransmit_IT:
4714 .LVL316:
4715 .LFB60:
2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable interrupts */
4716 .loc 1 2121 1 is_stmt 1 view -0
4717 .cfi_startproc
4718 @ args = 0, pretend = 0, frame = 0
4719 @ frame_needed = 0, uses_anonymous_args = 0
2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable interrupts */
4720 .loc 1 2121 1 is_stmt 0 view .LVU1331
4721 0000 10B5 push {r4, lr}
4722 .LCFI21:
4723 .cfi_def_cfa_offset 8
4724 .cfi_offset 4, -8
4725 .cfi_offset 14, -4
4726 0002 0400 movs r4, r0
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4727 .loc 1 2123 3 is_stmt 1 view .LVU1332
ARM GAS /tmp/ccwvDHH5.s page 179
4728 .LBB837:
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4729 .loc 1 2123 3 view .LVU1333
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4730 .loc 1 2123 3 view .LVU1334
4731 .LBB838:
4732 .LBI838:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4733 .loc 2 382 31 view .LVU1335
4734 .LBB839:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
4735 .loc 2 384 3 view .LVU1336
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4736 .loc 2 386 3 view .LVU1337
4737 .syntax divided
4738 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4739 0004 EFF31081 MRS r1, primask
4740 @ 0 "" 2
4741 .LVL317:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4742 .loc 2 387 3 view .LVU1338
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4743 .loc 2 387 3 is_stmt 0 view .LVU1339
4744 .thumb
4745 .syntax unified
4746 .LBE839:
4747 .LBE838:
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4748 .loc 1 2123 3 is_stmt 1 view .LVU1340
4749 .LBB840:
4750 .LBI840:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4751 .loc 2 412 27 view .LVU1341
4752 .LBB841:
4753 .loc 2 414 3 view .LVU1342
4754 0008 0123 movs r3, #1
4755 .syntax divided
4756 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4757 000a 83F31088 MSR primask, r3
4758 @ 0 "" 2
4759 .LVL318:
4760 .loc 2 414 3 is_stmt 0 view .LVU1343
4761 .thumb
4762 .syntax unified
4763 .LBE841:
4764 .LBE840:
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4765 .loc 1 2123 3 is_stmt 1 view .LVU1344
4766 000e 0268 ldr r2, [r0]
4767 0010 1368 ldr r3, [r2]
4768 0012 C020 movs r0, #192
4769 .LVL319:
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4770 .loc 1 2123 3 is_stmt 0 view .LVU1345
4771 0014 8343 bics r3, r0
4772 0016 1360 str r3, [r2]
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 180
4773 .loc 1 2123 3 is_stmt 1 view .LVU1346
4774 .LVL320:
4775 .LBB842:
4776 .LBI842:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4777 .loc 2 412 27 view .LVU1347
4778 .LBB843:
4779 .loc 2 414 3 view .LVU1348
4780 .syntax divided
4781 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4782 0018 81F31088 MSR primask, r1
4783 @ 0 "" 2
4784 .LVL321:
4785 .loc 2 414 3 is_stmt 0 view .LVU1349
4786 .thumb
4787 .syntax unified
4788 .LBE843:
4789 .LBE842:
4790 .LBE837:
2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4791 .loc 1 2126 3 is_stmt 1 view .LVU1350
2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4792 .loc 1 2126 7 is_stmt 0 view .LVU1351
4793 001c 2368 ldr r3, [r4]
4794 001e 9B68 ldr r3, [r3, #8]
2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4795 .loc 1 2126 6 view .LVU1352
4796 0020 1B06 lsls r3, r3, #24
4797 0022 23D5 bpl .L136
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4798 .loc 1 2128 5 is_stmt 1 view .LVU1353
4799 .LBB844:
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4800 .loc 1 2128 5 view .LVU1354
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4801 .loc 1 2128 5 view .LVU1355
4802 .LBB845:
4803 .LBI845:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4804 .loc 2 382 31 view .LVU1356
4805 .LBB846:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
4806 .loc 2 384 3 view .LVU1357
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
4807 .loc 2 386 3 view .LVU1358
4808 .syntax divided
4809 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4810 0024 EFF31081 MRS r1, primask
4811 @ 0 "" 2
4812 .LVL322:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4813 .loc 2 387 3 view .LVU1359
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
4814 .loc 2 387 3 is_stmt 0 view .LVU1360
4815 .thumb
4816 .syntax unified
4817 .LBE846:
ARM GAS /tmp/ccwvDHH5.s page 181
4818 .LBE845:
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4819 .loc 1 2128 5 is_stmt 1 view .LVU1361
4820 .LBB847:
4821 .LBI847:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4822 .loc 2 412 27 view .LVU1362
4823 .LBB848:
4824 .loc 2 414 3 view .LVU1363
4825 0028 0123 movs r3, #1
4826 .syntax divided
4827 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4828 002a 83F31088 MSR primask, r3
4829 @ 0 "" 2
4830 .LVL323:
4831 .loc 2 414 3 is_stmt 0 view .LVU1364
4832 .thumb
4833 .syntax unified
4834 .LBE848:
4835 .LBE847:
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4836 .loc 1 2128 5 is_stmt 1 view .LVU1365
4837 002e 2268 ldr r2, [r4]
4838 0030 9368 ldr r3, [r2, #8]
4839 0032 4038 subs r0, r0, #64
4840 0034 8343 bics r3, r0
4841 0036 9360 str r3, [r2, #8]
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4842 .loc 1 2128 5 view .LVU1366
4843 .LVL324:
4844 .LBB849:
4845 .LBI849:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
4846 .loc 2 412 27 view .LVU1367
4847 .LBB850:
4848 .loc 2 414 3 view .LVU1368
4849 .syntax divided
4850 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
4851 0038 81F31088 MSR primask, r1
4852 @ 0 "" 2
4853 .LVL325:
4854 .loc 2 414 3 is_stmt 0 view .LVU1369
4855 .thumb
4856 .syntax unified
4857 .LBE850:
4858 .LBE849:
4859 .LBE844:
2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4860 .loc 1 2131 5 is_stmt 1 view .LVU1370
2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4861 .loc 1 2131 14 is_stmt 0 view .LVU1371
4862 003c E36E ldr r3, [r4, #108]
2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4863 .loc 1 2131 8 view .LVU1372
4864 003e 002B cmp r3, #0
4865 0040 0AD0 beq .L137
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 182
4866 .loc 1 2135 7 is_stmt 1 view .LVU1373
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4867 .loc 1 2135 40 is_stmt 0 view .LVU1374
4868 0042 104A ldr r2, .L139
4869 0044 5A63 str r2, [r3, #52]
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4870 .loc 1 2138 7 is_stmt 1 view .LVU1375
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4871 .loc 1 2138 11 is_stmt 0 view .LVU1376
4872 0046 E06E ldr r0, [r4, #108]
4873 0048 FFF7FEFF bl HAL_DMA_Abort_IT
4874 .LVL326:
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4875 .loc 1 2138 10 view .LVU1377
4876 004c 0028 cmp r0, #0
4877 004e 16D0 beq .L138
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4878 .loc 1 2141 9 is_stmt 1 view .LVU1378
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4879 .loc 1 2141 14 is_stmt 0 view .LVU1379
4880 0050 E06E ldr r0, [r4, #108]
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4881 .loc 1 2141 22 view .LVU1380
4882 0052 436B ldr r3, [r0, #52]
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4883 .loc 1 2141 9 view .LVU1381
4884 0054 9847 blx r3
4885 .LVL327:
4886 0056 12E0 b .L138
4887 .LVL328:
4888 .L137:
2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4889 .loc 1 2147 7 is_stmt 1 view .LVU1382
2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4890 .loc 1 2147 26 is_stmt 0 view .LVU1383
4891 0058 0023 movs r3, #0
4892 005a 5222 movs r2, #82
4893 005c A352 strh r3, [r4, r2]
2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4894 .loc 1 2150 7 is_stmt 1 view .LVU1384
2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4895 .loc 1 2150 20 is_stmt 0 view .LVU1385
4896 005e A366 str r3, [r4, #104]
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4897 .loc 1 2153 7 is_stmt 1 view .LVU1386
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4898 .loc 1 2153 21 is_stmt 0 view .LVU1387
4899 0060 2033 adds r3, r3, #32
4900 0062 A367 str r3, [r4, #120]
2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4901 .loc 1 2161 7 is_stmt 1 view .LVU1388
4902 0064 2000 movs r0, r4
4903 0066 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4904 .LVL329:
2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4905 .loc 1 2161 7 is_stmt 0 view .LVU1389
4906 006a 08E0 b .L138
ARM GAS /tmp/ccwvDHH5.s page 183
4907 .LVL330:
4908 .L136:
2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4909 .loc 1 2168 5 is_stmt 1 view .LVU1390
2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4910 .loc 1 2168 24 is_stmt 0 view .LVU1391
4911 006c 0023 movs r3, #0
4912 006e 5222 movs r2, #82
4913 0070 A352 strh r3, [r4, r2]
2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4914 .loc 1 2171 5 is_stmt 1 view .LVU1392
2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4915 .loc 1 2171 18 is_stmt 0 view .LVU1393
4916 0072 A366 str r3, [r4, #104]
2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4917 .loc 1 2175 5 is_stmt 1 view .LVU1394
2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4918 .loc 1 2175 19 is_stmt 0 view .LVU1395
4919 0074 2033 adds r3, r3, #32
4920 0076 A367 str r3, [r4, #120]
2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4921 .loc 1 2183 5 is_stmt 1 view .LVU1396
4922 0078 2000 movs r0, r4
4923 007a FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4924 .LVL331:
4925 .L138:
2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4926 .loc 1 2187 3 view .LVU1397
2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4927 .loc 1 2188 1 is_stmt 0 view .LVU1398
4928 007e 0020 movs r0, #0
4929 @ sp needed
4930 .LVL332:
2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4931 .loc 1 2188 1 view .LVU1399
4932 0080 10BD pop {r4, pc}
4933 .L140:
4934 0082 C046 .align 2
4935 .L139:
4936 0084 00000000 .word UART_DMATxOnlyAbortCallback
4937 .cfi_endproc
4938 .LFE60:
4940 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
4941 .align 1
4942 .syntax unified
4943 .code 16
4944 .thumb_func
4945 .fpu softvfp
4947 UART_DMATxOnlyAbortCallback:
4948 .LVL333:
4949 .LFB99:
3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
4950 .loc 1 3819 1 is_stmt 1 view -0
4951 .cfi_startproc
4952 @ args = 0, pretend = 0, frame = 0
4953 @ frame_needed = 0, uses_anonymous_args = 0
3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
ARM GAS /tmp/ccwvDHH5.s page 184
4954 .loc 1 3819 1 is_stmt 0 view .LVU1401
4955 0000 10B5 push {r4, lr}
4956 .LCFI22:
4957 .cfi_def_cfa_offset 8
4958 .cfi_offset 4, -8
4959 .cfi_offset 14, -4
3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4960 .loc 1 3820 3 is_stmt 1 view .LVU1402
3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4961 .loc 1 3820 23 is_stmt 0 view .LVU1403
4962 0002 406A ldr r0, [r0, #36]
4963 .LVL334:
3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4964 .loc 1 3822 3 is_stmt 1 view .LVU1404
3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4965 .loc 1 3822 22 is_stmt 0 view .LVU1405
4966 0004 5223 movs r3, #82
4967 0006 0022 movs r2, #0
4968 0008 C252 strh r2, [r0, r3]
3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4969 .loc 1 3826 3 is_stmt 1 view .LVU1406
3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4970 .loc 1 3826 17 is_stmt 0 view .LVU1407
4971 000a 323B subs r3, r3, #50
4972 000c 8367 str r3, [r0, #120]
3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4973 .loc 1 3834 3 is_stmt 1 view .LVU1408
4974 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4975 .LVL335:
3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4976 .loc 1 3836 1 is_stmt 0 view .LVU1409
4977 @ sp needed
4978 0012 10BD pop {r4, pc}
4979 .cfi_endproc
4980 .LFE99:
4982 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
4983 .align 1
4984 .weak HAL_UART_AbortReceiveCpltCallback
4985 .syntax unified
4986 .code 16
4987 .thumb_func
4988 .fpu softvfp
4990 HAL_UART_AbortReceiveCpltCallback:
4991 .LVL336:
4992 .LFB70:
2697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4993 .loc 1 2697 1 is_stmt 1 view -0
4994 .cfi_startproc
4995 @ args = 0, pretend = 0, frame = 0
4996 @ frame_needed = 0, uses_anonymous_args = 0
4997 @ link register save eliminated.
2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4998 .loc 1 2699 3 view .LVU1411
2704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4999 .loc 1 2704 1 is_stmt 0 view .LVU1412
5000 @ sp needed
5001 0000 7047 bx lr
ARM GAS /tmp/ccwvDHH5.s page 185
5002 .cfi_endproc
5003 .LFE70:
5005 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
5006 .align 1
5007 .global HAL_UART_AbortReceive_IT
5008 .syntax unified
5009 .code 16
5010 .thumb_func
5011 .fpu softvfp
5013 HAL_UART_AbortReceive_IT:
5014 .LVL337:
5015 .LFB61:
2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
5016 .loc 1 2205 1 is_stmt 1 view -0
5017 .cfi_startproc
5018 @ args = 0, pretend = 0, frame = 0
5019 @ frame_needed = 0, uses_anonymous_args = 0
2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
5020 .loc 1 2205 1 is_stmt 0 view .LVU1414
5021 0000 70B5 push {r4, r5, r6, lr}
5022 .LCFI23:
5023 .cfi_def_cfa_offset 16
5024 .cfi_offset 4, -16
5025 .cfi_offset 5, -12
5026 .cfi_offset 6, -8
5027 .cfi_offset 14, -4
5028 0002 0400 movs r4, r0
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5029 .loc 1 2207 3 is_stmt 1 view .LVU1415
5030 .LBB851:
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5031 .loc 1 2207 3 view .LVU1416
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5032 .loc 1 2207 3 view .LVU1417
5033 .LBB852:
5034 .LBI852:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5035 .loc 2 382 31 view .LVU1418
5036 .LBB853:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
5037 .loc 2 384 3 view .LVU1419
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5038 .loc 2 386 3 view .LVU1420
5039 .syntax divided
5040 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5041 0004 EFF31080 MRS r0, primask
5042 @ 0 "" 2
5043 .LVL338:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5044 .loc 2 387 3 view .LVU1421
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5045 .loc 2 387 3 is_stmt 0 view .LVU1422
5046 .thumb
5047 .syntax unified
5048 .LBE853:
5049 .LBE852:
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
ARM GAS /tmp/ccwvDHH5.s page 186
5050 .loc 1 2207 3 is_stmt 1 view .LVU1423
5051 .LBB854:
5052 .LBI854:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5053 .loc 2 412 27 view .LVU1424
5054 .LBB855:
5055 .loc 2 414 3 view .LVU1425
5056 0008 0122 movs r2, #1
5057 .syntax divided
5058 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5059 000a 82F31088 MSR primask, r2
5060 @ 0 "" 2
5061 .LVL339:
5062 .loc 2 414 3 is_stmt 0 view .LVU1426
5063 .thumb
5064 .syntax unified
5065 .LBE855:
5066 .LBE854:
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5067 .loc 1 2207 3 is_stmt 1 view .LVU1427
5068 000e 2168 ldr r1, [r4]
5069 0010 0B68 ldr r3, [r1]
5070 0012 2E4D ldr r5, .L149
5071 0014 2B40 ands r3, r5
5072 0016 0B60 str r3, [r1]
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5073 .loc 1 2207 3 view .LVU1428
5074 .LVL340:
5075 .LBB856:
5076 .LBI856:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5077 .loc 2 412 27 view .LVU1429
5078 .LBB857:
5079 .loc 2 414 3 view .LVU1430
5080 .syntax divided
5081 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5082 0018 80F31088 MSR primask, r0
5083 @ 0 "" 2
5084 .LVL341:
5085 .loc 2 414 3 is_stmt 0 view .LVU1431
5086 .thumb
5087 .syntax unified
5088 .LBE857:
5089 .LBE856:
5090 .LBE851:
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5091 .loc 1 2208 3 is_stmt 1 view .LVU1432
5092 .LBB858:
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5093 .loc 1 2208 3 view .LVU1433
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5094 .loc 1 2208 3 view .LVU1434
5095 .LBB859:
5096 .LBI859:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5097 .loc 2 382 31 view .LVU1435
5098 .LBB860:
ARM GAS /tmp/ccwvDHH5.s page 187
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
5099 .loc 2 384 3 view .LVU1436
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5100 .loc 2 386 3 view .LVU1437
5101 .syntax divided
5102 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5103 001c EFF31080 MRS r0, primask
5104 @ 0 "" 2
5105 .LVL342:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5106 .loc 2 387 3 view .LVU1438
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5107 .loc 2 387 3 is_stmt 0 view .LVU1439
5108 .thumb
5109 .syntax unified
5110 .LBE860:
5111 .LBE859:
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5112 .loc 1 2208 3 is_stmt 1 view .LVU1440
5113 .LBB861:
5114 .LBI861:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5115 .loc 2 412 27 view .LVU1441
5116 .LBB862:
5117 .loc 2 414 3 view .LVU1442
5118 .syntax divided
5119 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5120 0020 82F31088 MSR primask, r2
5121 @ 0 "" 2
5122 .LVL343:
5123 .loc 2 414 3 is_stmt 0 view .LVU1443
5124 .thumb
5125 .syntax unified
5126 .LBE862:
5127 .LBE861:
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5128 .loc 1 2208 3 is_stmt 1 view .LVU1444
5129 0024 2168 ldr r1, [r4]
5130 0026 8B68 ldr r3, [r1, #8]
5131 0028 9343 bics r3, r2
5132 002a 8B60 str r3, [r1, #8]
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5133 .loc 1 2208 3 view .LVU1445
5134 .LVL344:
5135 .LBB863:
5136 .LBI863:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5137 .loc 2 412 27 view .LVU1446
5138 .LBB864:
5139 .loc 2 414 3 view .LVU1447
5140 .syntax divided
5141 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5142 002c 80F31088 MSR primask, r0
5143 @ 0 "" 2
5144 .LVL345:
5145 .loc 2 414 3 is_stmt 0 view .LVU1448
5146 .thumb
ARM GAS /tmp/ccwvDHH5.s page 188
5147 .syntax unified
5148 .LBE864:
5149 .LBE863:
5150 .LBE858:
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5151 .loc 1 2211 3 is_stmt 1 view .LVU1449
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5152 .loc 1 2211 12 is_stmt 0 view .LVU1450
5153 0030 236E ldr r3, [r4, #96]
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5154 .loc 1 2211 6 view .LVU1451
5155 0032 012B cmp r3, #1
5156 0034 1DD0 beq .L148
5157 .LVL346:
5158 .L144:
2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5159 .loc 1 2217 3 is_stmt 1 view .LVU1452
2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5160 .loc 1 2217 7 is_stmt 0 view .LVU1453
5161 0036 2368 ldr r3, [r4]
5162 0038 9A68 ldr r2, [r3, #8]
2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5163 .loc 1 2217 6 view .LVU1454
5164 003a 5206 lsls r2, r2, #25
5165 003c 38D5 bpl .L145
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5166 .loc 1 2219 5 is_stmt 1 view .LVU1455
5167 .LBB865:
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5168 .loc 1 2219 5 view .LVU1456
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5169 .loc 1 2219 5 view .LVU1457
5170 .LBB866:
5171 .LBI866:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5172 .loc 2 382 31 view .LVU1458
5173 .LBB867:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
5174 .loc 2 384 3 view .LVU1459
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5175 .loc 2 386 3 view .LVU1460
5176 .syntax divided
5177 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5178 003e EFF31081 MRS r1, primask
5179 @ 0 "" 2
5180 .LVL347:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5181 .loc 2 387 3 view .LVU1461
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5182 .loc 2 387 3 is_stmt 0 view .LVU1462
5183 .thumb
5184 .syntax unified
5185 .LBE867:
5186 .LBE866:
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5187 .loc 1 2219 5 is_stmt 1 view .LVU1463
5188 .LBB868:
ARM GAS /tmp/ccwvDHH5.s page 189
5189 .LBI868:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5190 .loc 2 412 27 view .LVU1464
5191 .LBB869:
5192 .loc 2 414 3 view .LVU1465
5193 0042 0123 movs r3, #1
5194 .syntax divided
5195 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5196 0044 83F31088 MSR primask, r3
5197 @ 0 "" 2
5198 .LVL348:
5199 .loc 2 414 3 is_stmt 0 view .LVU1466
5200 .thumb
5201 .syntax unified
5202 .LBE869:
5203 .LBE868:
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5204 .loc 1 2219 5 is_stmt 1 view .LVU1467
5205 0048 2268 ldr r2, [r4]
5206 004a 9368 ldr r3, [r2, #8]
5207 004c 4020 movs r0, #64
5208 004e 8343 bics r3, r0
5209 0050 9360 str r3, [r2, #8]
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5210 .loc 1 2219 5 view .LVU1468
5211 .LVL349:
5212 .LBB870:
5213 .LBI870:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5214 .loc 2 412 27 view .LVU1469
5215 .LBB871:
5216 .loc 2 414 3 view .LVU1470
5217 .syntax divided
5218 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5219 0052 81F31088 MSR primask, r1
5220 @ 0 "" 2
5221 .LVL350:
5222 .loc 2 414 3 is_stmt 0 view .LVU1471
5223 .thumb
5224 .syntax unified
5225 .LBE871:
5226 .LBE870:
5227 .LBE865:
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5228 .loc 1 2222 5 is_stmt 1 view .LVU1472
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5229 .loc 1 2222 14 is_stmt 0 view .LVU1473
5230 0056 236F ldr r3, [r4, #112]
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5231 .loc 1 2222 8 view .LVU1474
5232 0058 002B cmp r3, #0
5233 005a 16D0 beq .L146
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5234 .loc 1 2226 7 is_stmt 1 view .LVU1475
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5235 .loc 1 2226 40 is_stmt 0 view .LVU1476
5236 005c 1C4A ldr r2, .L149+4
ARM GAS /tmp/ccwvDHH5.s page 190
5237 005e 5A63 str r2, [r3, #52]
2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5238 .loc 1 2229 7 is_stmt 1 view .LVU1477
2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5239 .loc 1 2229 11 is_stmt 0 view .LVU1478
5240 0060 206F ldr r0, [r4, #112]
5241 0062 FFF7FEFF bl HAL_DMA_Abort_IT
5242 .LVL351:
2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5243 .loc 1 2229 10 view .LVU1479
5244 0066 0028 cmp r0, #0
5245 0068 2ED0 beq .L147
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5246 .loc 1 2232 9 is_stmt 1 view .LVU1480
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5247 .loc 1 2232 14 is_stmt 0 view .LVU1481
5248 006a 206F ldr r0, [r4, #112]
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5249 .loc 1 2232 22 view .LVU1482
5250 006c 436B ldr r3, [r0, #52]
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5251 .loc 1 2232 9 view .LVU1483
5252 006e 9847 blx r3
5253 .LVL352:
5254 0070 2AE0 b .L147
5255 .LVL353:
5256 .L148:
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5257 .loc 1 2213 5 is_stmt 1 view .LVU1484
5258 .LBB872:
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5259 .loc 1 2213 5 view .LVU1485
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5260 .loc 1 2213 5 view .LVU1486
5261 .LBB873:
5262 .LBI873:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5263 .loc 2 382 31 view .LVU1487
5264 .LBB874:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
5265 .loc 2 384 3 view .LVU1488
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5266 .loc 2 386 3 view .LVU1489
5267 .syntax divided
5268 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5269 0072 EFF31081 MRS r1, primask
5270 @ 0 "" 2
5271 .LVL354:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5272 .loc 2 387 3 view .LVU1490
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5273 .loc 2 387 3 is_stmt 0 view .LVU1491
5274 .thumb
5275 .syntax unified
5276 .LBE874:
5277 .LBE873:
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 191
5278 .loc 1 2213 5 is_stmt 1 view .LVU1492
5279 .LBB875:
5280 .LBI875:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5281 .loc 2 412 27 view .LVU1493
5282 .LBB876:
5283 .loc 2 414 3 view .LVU1494
5284 .syntax divided
5285 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5286 0076 83F31088 MSR primask, r3
5287 @ 0 "" 2
5288 .LVL355:
5289 .loc 2 414 3 is_stmt 0 view .LVU1495
5290 .thumb
5291 .syntax unified
5292 .LBE876:
5293 .LBE875:
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5294 .loc 1 2213 5 is_stmt 1 view .LVU1496
5295 007a 2268 ldr r2, [r4]
5296 007c 1368 ldr r3, [r2]
5297 007e 1020 movs r0, #16
5298 .LVL356:
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5299 .loc 1 2213 5 is_stmt 0 view .LVU1497
5300 0080 8343 bics r3, r0
5301 0082 1360 str r3, [r2]
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5302 .loc 1 2213 5 is_stmt 1 view .LVU1498
5303 .LVL357:
5304 .LBB877:
5305 .LBI877:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5306 .loc 2 412 27 view .LVU1499
5307 .LBB878:
5308 .loc 2 414 3 view .LVU1500
5309 .syntax divided
5310 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5311 0084 81F31088 MSR primask, r1
5312 @ 0 "" 2
5313 .thumb
5314 .syntax unified
5315 0088 D5E7 b .L144
5316 .LVL358:
5317 .L146:
5318 .loc 2 414 3 is_stmt 0 view .LVU1501
5319 .LBE878:
5320 .LBE877:
5321 .LBE872:
2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5322 .loc 1 2238 7 is_stmt 1 view .LVU1502
2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5323 .loc 1 2238 26 is_stmt 0 view .LVU1503
5324 008a 0023 movs r3, #0
5325 008c 5A22 movs r2, #90
5326 008e A352 strh r3, [r4, r2]
2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 192
5327 .loc 1 2241 7 is_stmt 1 view .LVU1504
2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5328 .loc 1 2241 25 is_stmt 0 view .LVU1505
5329 0090 6365 str r3, [r4, #84]
2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5330 .loc 1 2244 7 is_stmt 1 view .LVU1506
5331 0092 2268 ldr r2, [r4]
5332 0094 0F21 movs r1, #15
5333 .LVL359:
2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5334 .loc 1 2244 7 is_stmt 0 view .LVU1507
5335 0096 1162 str r1, [r2, #32]
2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5336 .loc 1 2247 7 is_stmt 1 view .LVU1508
5337 0098 2168 ldr r1, [r4]
5338 009a 8A69 ldr r2, [r1, #24]
5339 009c 0820 movs r0, #8
5340 009e 0243 orrs r2, r0
5341 00a0 8A61 str r2, [r1, #24]
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5342 .loc 1 2250 7 view .LVU1509
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5343 .loc 1 2250 22 is_stmt 0 view .LVU1510
5344 00a2 2022 movs r2, #32
5345 00a4 E267 str r2, [r4, #124]
2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5346 .loc 1 2251 7 is_stmt 1 view .LVU1511
2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5347 .loc 1 2251 28 is_stmt 0 view .LVU1512
5348 00a6 2366 str r3, [r4, #96]
2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5349 .loc 1 2259 7 is_stmt 1 view .LVU1513
5350 00a8 2000 movs r0, r4
5351 00aa FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
5352 .LVL360:
5353 00ae 0BE0 b .L147
5354 .L145:
2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5355 .loc 1 2266 5 view .LVU1514
2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5356 .loc 1 2266 24 is_stmt 0 view .LVU1515
5357 00b0 0022 movs r2, #0
5358 00b2 5A21 movs r1, #90
5359 00b4 6252 strh r2, [r4, r1]
2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5360 .loc 1 2269 5 is_stmt 1 view .LVU1516
2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5361 .loc 1 2269 23 is_stmt 0 view .LVU1517
5362 00b6 6265 str r2, [r4, #84]
2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5363 .loc 1 2272 5 is_stmt 1 view .LVU1518
5364 00b8 4B39 subs r1, r1, #75
5365 00ba 1962 str r1, [r3, #32]
2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5366 .loc 1 2275 5 view .LVU1519
2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5367 .loc 1 2275 20 is_stmt 0 view .LVU1520
ARM GAS /tmp/ccwvDHH5.s page 193
5368 00bc 2023 movs r3, #32
5369 00be E367 str r3, [r4, #124]
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5370 .loc 1 2276 5 is_stmt 1 view .LVU1521
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5371 .loc 1 2276 26 is_stmt 0 view .LVU1522
5372 00c0 2266 str r2, [r4, #96]
2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5373 .loc 1 2284 5 is_stmt 1 view .LVU1523
5374 00c2 2000 movs r0, r4
5375 00c4 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
5376 .LVL361:
5377 .L147:
2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5378 .loc 1 2288 3 view .LVU1524
2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5379 .loc 1 2289 1 is_stmt 0 view .LVU1525
5380 00c8 0020 movs r0, #0
5381 @ sp needed
5382 .LVL362:
2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5383 .loc 1 2289 1 view .LVU1526
5384 00ca 70BD pop {r4, r5, r6, pc}
5385 .L150:
5386 .align 2
5387 .L149:
5388 00cc DFFEFFFF .word -289
5389 00d0 00000000 .word UART_DMARxOnlyAbortCallback
5390 .cfi_endproc
5391 .LFE61:
5393 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
5394 .align 1
5395 .syntax unified
5396 .code 16
5397 .thumb_func
5398 .fpu softvfp
5400 UART_DMARxOnlyAbortCallback:
5401 .LVL363:
5402 .LFB100:
3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5403 .loc 1 3847 1 is_stmt 1 view -0
5404 .cfi_startproc
5405 @ args = 0, pretend = 0, frame = 0
5406 @ frame_needed = 0, uses_anonymous_args = 0
3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5407 .loc 1 3847 1 is_stmt 0 view .LVU1528
5408 0000 10B5 push {r4, lr}
5409 .LCFI24:
5410 .cfi_def_cfa_offset 8
5411 .cfi_offset 4, -8
5412 .cfi_offset 14, -4
3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5413 .loc 1 3848 3 is_stmt 1 view .LVU1529
3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5414 .loc 1 3848 23 is_stmt 0 view .LVU1530
5415 0002 406A ldr r0, [r0, #36]
5416 .LVL364:
ARM GAS /tmp/ccwvDHH5.s page 194
3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5417 .loc 1 3850 3 is_stmt 1 view .LVU1531
3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5418 .loc 1 3850 22 is_stmt 0 view .LVU1532
5419 0004 0022 movs r2, #0
5420 0006 5A23 movs r3, #90
5421 0008 C252 strh r2, [r0, r3]
3853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5422 .loc 1 3853 3 is_stmt 1 view .LVU1533
5423 000a 0368 ldr r3, [r0]
5424 000c 0F21 movs r1, #15
5425 000e 1962 str r1, [r3, #32]
3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5426 .loc 1 3856 3 view .LVU1534
5427 0010 0168 ldr r1, [r0]
5428 0012 8B69 ldr r3, [r1, #24]
5429 0014 0824 movs r4, #8
5430 0016 2343 orrs r3, r4
5431 0018 8B61 str r3, [r1, #24]
3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5432 .loc 1 3859 3 view .LVU1535
3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
5433 .loc 1 3859 18 is_stmt 0 view .LVU1536
5434 001a 2023 movs r3, #32
5435 001c C367 str r3, [r0, #124]
3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5436 .loc 1 3860 3 is_stmt 1 view .LVU1537
3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5437 .loc 1 3860 24 is_stmt 0 view .LVU1538
5438 001e 0266 str r2, [r0, #96]
3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5439 .loc 1 3868 3 is_stmt 1 view .LVU1539
5440 0020 FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
5441 .LVL365:
3870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5442 .loc 1 3870 1 is_stmt 0 view .LVU1540
5443 @ sp needed
5444 0024 10BD pop {r4, pc}
5445 .cfi_endproc
5446 .LFE100:
5448 .section .text.HAL_UARTEx_RxEventCallback,"ax",%progbits
5449 .align 1
5450 .weak HAL_UARTEx_RxEventCallback
5451 .syntax unified
5452 .code 16
5453 .thumb_func
5454 .fpu softvfp
5456 HAL_UARTEx_RxEventCallback:
5457 .LVL366:
5458 .LFB71:
2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
5459 .loc 1 2714 1 is_stmt 1 view -0
5460 .cfi_startproc
5461 @ args = 0, pretend = 0, frame = 0
5462 @ frame_needed = 0, uses_anonymous_args = 0
5463 @ link register save eliminated.
2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UNUSED(Size);
ARM GAS /tmp/ccwvDHH5.s page 195
5464 .loc 1 2716 3 view .LVU1542
2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5465 .loc 1 2717 3 view .LVU1543
2722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5466 .loc 1 2722 1 is_stmt 0 view .LVU1544
5467 @ sp needed
5468 0000 7047 bx lr
5469 .cfi_endproc
5470 .LFE71:
5472 .section .text.HAL_UART_IRQHandler,"ax",%progbits
5473 .align 1
5474 .global HAL_UART_IRQHandler
5475 .syntax unified
5476 .code 16
5477 .thumb_func
5478 .fpu softvfp
5480 HAL_UART_IRQHandler:
5481 .LVL367:
5482 .LFB62:
2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
5483 .loc 1 2297 1 is_stmt 1 view -0
5484 .cfi_startproc
5485 @ args = 0, pretend = 0, frame = 0
5486 @ frame_needed = 0, uses_anonymous_args = 0
2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->ISR);
5487 .loc 1 2297 1 is_stmt 0 view .LVU1546
5488 0000 70B5 push {r4, r5, r6, lr}
5489 .LCFI25:
5490 .cfi_def_cfa_offset 16
5491 .cfi_offset 4, -16
5492 .cfi_offset 5, -12
5493 .cfi_offset 6, -8
5494 .cfi_offset 14, -4
5495 0002 0400 movs r4, r0
2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
5496 .loc 1 2298 3 is_stmt 1 view .LVU1547
2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
5497 .loc 1 2298 25 is_stmt 0 view .LVU1548
5498 0004 0168 ldr r1, [r0]
2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
5499 .loc 1 2298 12 view .LVU1549
5500 0006 CB69 ldr r3, [r1, #28]
5501 .LVL368:
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
5502 .loc 1 2299 3 is_stmt 1 view .LVU1550
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
5503 .loc 1 2299 12 is_stmt 0 view .LVU1551
5504 0008 0868 ldr r0, [r1]
5505 .LVL369:
2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5506 .loc 1 2300 3 is_stmt 1 view .LVU1552
2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5507 .loc 1 2300 12 is_stmt 0 view .LVU1553
5508 000a 8D68 ldr r5, [r1, #8]
5509 .LVL370:
2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t errorcode;
5510 .loc 1 2302 3 is_stmt 1 view .LVU1554
ARM GAS /tmp/ccwvDHH5.s page 196
2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5511 .loc 1 2303 3 view .LVU1555
2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (errorflags == 0U)
5512 .loc 1 2306 3 view .LVU1556
2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (errorflags == 0U)
5513 .loc 1 2306 14 is_stmt 0 view .LVU1557
5514 000c A84A ldr r2, .L185
5515 000e 1A40 ands r2, r3
5516 .LVL371:
2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5517 .loc 1 2307 3 is_stmt 1 view .LVU1558
2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5518 .loc 1 2307 6 is_stmt 0 view .LVU1559
5519 0010 03D1 bne .L154
2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
5520 .loc 1 2310 5 is_stmt 1 view .LVU1560
2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
5521 .loc 1 2310 8 is_stmt 0 view .LVU1561
5522 0012 9E06 lsls r6, r3, #26
5523 0014 01D5 bpl .L154
2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5524 .loc 1 2311 9 view .LVU1562
5525 0016 8606 lsls r6, r0, #26
5526 0018 1BD4 bmi .L179
5527 .L154:
2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U)
5528 .loc 1 2322 3 is_stmt 1 view .LVU1563
2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr3its & USART_CR3_EIE) != 0U)
5529 .loc 1 2322 6 is_stmt 0 view .LVU1564
5530 001a 002A cmp r2, #0
5531 001c 05D0 beq .L157
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))
5532 .loc 1 2323 20 view .LVU1565
5533 001e 0122 movs r2, #1
5534 .LVL372:
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))
5535 .loc 1 2323 20 view .LVU1566
5536 0020 2A40 ands r2, r5
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U)))
5537 .loc 1 2323 7 view .LVU1567
5538 0022 1CD1 bne .L158
2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5539 .loc 1 2324 23 view .LVU1568
5540 0024 A34E ldr r6, .L185+4
2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5541 .loc 1 2324 11 view .LVU1569
5542 0026 3042 tst r0, r6
5543 0028 19D1 bne .L158
5544 .L157:
2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
5545 .loc 1 2459 3 is_stmt 1 view .LVU1570
2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
5546 .loc 1 2459 13 is_stmt 0 view .LVU1571
5547 002a 226E ldr r2, [r4, #96]
2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((isrflags & USART_ISR_IDLE) != 0U)
5548 .loc 1 2459 6 view .LVU1572
5549 002c 012A cmp r2, #1
ARM GAS /tmp/ccwvDHH5.s page 197
5550 002e 00D1 bne .LCB4292
5551 0030 98E0 b .L180 @long jump
5552 .LCB4292:
5553 .L171:
2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5554 .loc 1 2547 3 is_stmt 1 view .LVU1573
2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5555 .loc 1 2547 6 is_stmt 0 view .LVU1574
5556 0032 DA02 lsls r2, r3, #11
5557 0034 02D5 bpl .L176
2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5558 .loc 1 2547 42 discriminator 1 view .LVU1575
5559 0036 6A02 lsls r2, r5, #9
5560 0038 00D5 bpl .LCB4302
5561 003a 27E1 b .L181 @long jump
5562 .LCB4302:
5563 .L176:
2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U))
5564 .loc 1 2567 3 is_stmt 1 view .LVU1576
2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_TXEIE) != 0U))
5565 .loc 1 2567 6 is_stmt 0 view .LVU1577
5566 003c 1A06 lsls r2, r3, #24
5567 003e 02D5 bpl .L177
2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5568 .loc 1 2568 7 view .LVU1578
5569 0040 0206 lsls r2, r0, #24
5570 0042 00D5 bpl .LCB4312
5571 0044 29E1 b .L182 @long jump
5572 .LCB4312:
5573 .L177:
2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5574 .loc 1 2578 3 is_stmt 1 view .LVU1579
2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5575 .loc 1 2578 6 is_stmt 0 view .LVU1580
5576 0046 5B06 lsls r3, r3, #25
5577 0048 02D5 bpl .L153
5578 .LVL373:
2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5579 .loc 1 2578 41 discriminator 1 view .LVU1581
5580 004a 4306 lsls r3, r0, #25
5581 004c 00D5 bpl .LCB4324
5582 004e 2BE1 b .L183 @long jump
5583 .LCB4324:
5584 .LVL374:
5585 .L153:
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5586 .loc 1 2584 1 view .LVU1582
5587 @ sp needed
5588 .LVL375:
2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5589 .loc 1 2584 1 view .LVU1583
5590 0050 70BD pop {r4, r5, r6, pc}
5591 .LVL376:
5592 .L179:
2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5593 .loc 1 2313 7 is_stmt 1 view .LVU1584
2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 198
5594 .loc 1 2313 16 is_stmt 0 view .LVU1585
5595 0052 636E ldr r3, [r4, #100]
5596 .LVL377:
2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5597 .loc 1 2313 10 view .LVU1586
5598 0054 002B cmp r3, #0
5599 0056 FBD0 beq .L153
2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5600 .loc 1 2315 9 is_stmt 1 view .LVU1587
5601 0058 2000 movs r0, r4
5602 .LVL378:
2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5603 .loc 1 2315 9 is_stmt 0 view .LVU1588
5604 005a 9847 blx r3
5605 .LVL379:
2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5606 .loc 1 2317 7 is_stmt 1 view .LVU1589
5607 005c F8E7 b .L153
5608 .LVL380:
5609 .L158:
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5610 .loc 1 2327 5 view .LVU1590
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5611 .loc 1 2327 8 is_stmt 0 view .LVU1591
5612 005e DD07 lsls r5, r3, #31
5613 0060 07D5 bpl .L159
5614 .LVL381:
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5615 .loc 1 2327 43 discriminator 1 view .LVU1592
5616 0062 C505 lsls r5, r0, #23
5617 0064 05D5 bpl .L159
2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5618 .loc 1 2329 7 is_stmt 1 view .LVU1593
5619 0066 0126 movs r6, #1
5620 0068 0E62 str r6, [r1, #32]
2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5621 .loc 1 2331 7 view .LVU1594
2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5622 .loc 1 2331 24 is_stmt 0 view .LVU1595
5623 006a 8025 movs r5, #128
5624 006c 6159 ldr r1, [r4, r5]
5625 006e 3143 orrs r1, r6
5626 0070 6151 str r1, [r4, r5]
5627 .L159:
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5628 .loc 1 2335 5 is_stmt 1 view .LVU1596
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5629 .loc 1 2335 8 is_stmt 0 view .LVU1597
5630 0072 9907 lsls r1, r3, #30
5631 0074 09D5 bpl .L160
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5632 .loc 1 2335 43 discriminator 1 view .LVU1598
5633 0076 002A cmp r2, #0
5634 0078 07D0 beq .L160
2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5635 .loc 1 2337 7 is_stmt 1 view .LVU1599
5636 007a 2168 ldr r1, [r4]
ARM GAS /tmp/ccwvDHH5.s page 199
5637 007c 0225 movs r5, #2
5638 007e 0D62 str r5, [r1, #32]
2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5639 .loc 1 2339 7 view .LVU1600
2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5640 .loc 1 2339 24 is_stmt 0 view .LVU1601
5641 0080 7E35 adds r5, r5, #126
5642 0082 6159 ldr r1, [r4, r5]
5643 0084 0426 movs r6, #4
5644 0086 3143 orrs r1, r6
5645 0088 6151 str r1, [r4, r5]
5646 .L160:
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5647 .loc 1 2343 5 is_stmt 1 view .LVU1602
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5648 .loc 1 2343 8 is_stmt 0 view .LVU1603
5649 008a 5907 lsls r1, r3, #29
5650 008c 09D5 bpl .L161
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5651 .loc 1 2343 43 discriminator 1 view .LVU1604
5652 008e 002A cmp r2, #0
5653 0090 07D0 beq .L161
2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5654 .loc 1 2345 7 is_stmt 1 view .LVU1605
5655 0092 2168 ldr r1, [r4]
5656 0094 0425 movs r5, #4
5657 0096 0D62 str r5, [r1, #32]
2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5658 .loc 1 2347 7 view .LVU1606
2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5659 .loc 1 2347 24 is_stmt 0 view .LVU1607
5660 0098 7C35 adds r5, r5, #124
5661 009a 6159 ldr r1, [r4, r5]
5662 009c 0226 movs r6, #2
5663 009e 3143 orrs r1, r6
5664 00a0 6151 str r1, [r4, r5]
5665 .L161:
2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
5666 .loc 1 2351 5 is_stmt 1 view .LVU1608
2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
5667 .loc 1 2351 8 is_stmt 0 view .LVU1609
5668 00a2 1907 lsls r1, r3, #28
5669 00a4 0AD5 bpl .L162
2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U)))
5670 .loc 1 2352 9 view .LVU1610
5671 00a6 8106 lsls r1, r0, #26
5672 00a8 01D4 bmi .L163
2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((cr3its & USART_CR3_EIE) != 0U)))
5673 .loc 1 2352 49 discriminator 1 view .LVU1611
5674 00aa 002A cmp r2, #0
5675 00ac 06D0 beq .L162
5676 .L163:
2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5677 .loc 1 2355 7 is_stmt 1 view .LVU1612
5678 00ae 2268 ldr r2, [r4]
5679 00b0 0825 movs r5, #8
5680 00b2 1562 str r5, [r2, #32]
ARM GAS /tmp/ccwvDHH5.s page 200
2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5681 .loc 1 2357 7 view .LVU1613
2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5682 .loc 1 2357 24 is_stmt 0 view .LVU1614
5683 00b4 8021 movs r1, #128
5684 00b6 6258 ldr r2, [r4, r1]
5685 00b8 2A43 orrs r2, r5
5686 00ba 6250 str r2, [r4, r1]
5687 .L162:
2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5688 .loc 1 2361 5 is_stmt 1 view .LVU1615
2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5689 .loc 1 2361 8 is_stmt 0 view .LVU1616
5690 00bc 1A05 lsls r2, r3, #20
5691 00be 0AD5 bpl .L164
2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5692 .loc 1 2361 45 discriminator 1 view .LVU1617
5693 00c0 4201 lsls r2, r0, #5
5694 00c2 08D5 bpl .L164
2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5695 .loc 1 2363 7 is_stmt 1 view .LVU1618
5696 00c4 2268 ldr r2, [r4]
5697 00c6 8021 movs r1, #128
5698 00c8 0901 lsls r1, r1, #4
5699 00ca 1162 str r1, [r2, #32]
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5700 .loc 1 2365 7 view .LVU1619
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5701 .loc 1 2365 24 is_stmt 0 view .LVU1620
5702 00cc 8021 movs r1, #128
5703 00ce 6258 ldr r2, [r4, r1]
5704 00d0 2025 movs r5, #32
5705 00d2 2A43 orrs r2, r5
5706 00d4 6250 str r2, [r4, r1]
5707 .L164:
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5708 .loc 1 2369 5 is_stmt 1 view .LVU1621
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5709 .loc 1 2369 14 is_stmt 0 view .LVU1622
5710 00d6 8022 movs r2, #128
5711 00d8 A258 ldr r2, [r4, r2]
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5712 .loc 1 2369 8 view .LVU1623
5713 00da 002A cmp r2, #0
5714 00dc B8D0 beq .L153
2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
5715 .loc 1 2372 7 is_stmt 1 view .LVU1624
2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_CR1_RXNEIE) != 0U))
5716 .loc 1 2372 10 is_stmt 0 view .LVU1625
5717 00de 9B06 lsls r3, r3, #26
5718 00e0 06D5 bpl .L166
5719 .LVL382:
2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5720 .loc 1 2373 11 view .LVU1626
5721 00e2 8306 lsls r3, r0, #26
5722 00e4 04D5 bpl .L166
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 201
5723 .loc 1 2375 9 is_stmt 1 view .LVU1627
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5724 .loc 1 2375 18 is_stmt 0 view .LVU1628
5725 00e6 636E ldr r3, [r4, #100]
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5726 .loc 1 2375 12 view .LVU1629
5727 00e8 002B cmp r3, #0
5728 00ea 01D0 beq .L166
2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5729 .loc 1 2377 11 is_stmt 1 view .LVU1630
5730 00ec 2000 movs r0, r4
5731 .LVL383:
2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5732 .loc 1 2377 11 is_stmt 0 view .LVU1631
5733 00ee 9847 blx r3
5734 .LVL384:
5735 .L166:
2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
5736 .loc 1 2386 7 is_stmt 1 view .LVU1632
2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
5737 .loc 1 2386 17 is_stmt 0 view .LVU1633
5738 00f0 8023 movs r3, #128
5739 00f2 E258 ldr r2, [r4, r3]
5740 .LVL385:
2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
5741 .loc 1 2387 7 is_stmt 1 view .LVU1634
2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
5742 .loc 1 2387 12 is_stmt 0 view .LVU1635
5743 00f4 2368 ldr r3, [r4]
5744 00f6 9B68 ldr r3, [r3, #8]
2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
5745 .loc 1 2387 10 view .LVU1636
5746 00f8 5B06 lsls r3, r3, #25
5747 00fa 02D4 bmi .L167
2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5748 .loc 1 2388 23 discriminator 1 view .LVU1637
5749 00fc 2823 movs r3, #40
2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U))
5750 .loc 1 2387 66 discriminator 1 view .LVU1638
5751 00fe 1342 tst r3, r2
5752 0100 29D0 beq .L168
5753 .L167:
2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5754 .loc 1 2393 9 is_stmt 1 view .LVU1639
5755 0102 2000 movs r0, r4
5756 0104 FFF7FEFF bl UART_EndRxTransfer
5757 .LVL386:
2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5758 .loc 1 2396 9 view .LVU1640
2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5759 .loc 1 2396 13 is_stmt 0 view .LVU1641
5760 0108 2368 ldr r3, [r4]
5761 010a 9B68 ldr r3, [r3, #8]
2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5762 .loc 1 2396 12 view .LVU1642
5763 010c 5B06 lsls r3, r3, #25
5764 010e 1ED5 bpl .L169
ARM GAS /tmp/ccwvDHH5.s page 202
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5765 .loc 1 2398 11 is_stmt 1 view .LVU1643
5766 .LBB879:
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5767 .loc 1 2398 11 view .LVU1644
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5768 .loc 1 2398 11 view .LVU1645
5769 .LBB880:
5770 .LBI880:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5771 .loc 2 382 31 view .LVU1646
5772 .LBB881:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
5773 .loc 2 384 3 view .LVU1647
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5774 .loc 2 386 3 view .LVU1648
5775 .syntax divided
5776 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5777 0110 EFF31081 MRS r1, primask
5778 @ 0 "" 2
5779 .LVL387:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5780 .loc 2 387 3 view .LVU1649
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5781 .loc 2 387 3 is_stmt 0 view .LVU1650
5782 .thumb
5783 .syntax unified
5784 .LBE881:
5785 .LBE880:
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5786 .loc 1 2398 11 is_stmt 1 view .LVU1651
5787 .LBB882:
5788 .LBI882:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5789 .loc 2 412 27 view .LVU1652
5790 .LBB883:
5791 .loc 2 414 3 view .LVU1653
5792 0114 0123 movs r3, #1
5793 .syntax divided
5794 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5795 0116 83F31088 MSR primask, r3
5796 @ 0 "" 2
5797 .LVL388:
5798 .loc 2 414 3 is_stmt 0 view .LVU1654
5799 .thumb
5800 .syntax unified
5801 .LBE883:
5802 .LBE882:
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5803 .loc 1 2398 11 is_stmt 1 view .LVU1655
5804 011a 2268 ldr r2, [r4]
5805 011c 9368 ldr r3, [r2, #8]
5806 011e 4020 movs r0, #64
5807 0120 8343 bics r3, r0
5808 0122 9360 str r3, [r2, #8]
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5809 .loc 1 2398 11 view .LVU1656
ARM GAS /tmp/ccwvDHH5.s page 203
5810 .LVL389:
5811 .LBB884:
5812 .LBI884:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5813 .loc 2 412 27 view .LVU1657
5814 .LBB885:
5815 .loc 2 414 3 view .LVU1658
5816 .syntax divided
5817 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5818 0124 81F31088 MSR primask, r1
5819 @ 0 "" 2
5820 .LVL390:
5821 .loc 2 414 3 is_stmt 0 view .LVU1659
5822 .thumb
5823 .syntax unified
5824 .LBE885:
5825 .LBE884:
5826 .LBE879:
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5827 .loc 1 2401 11 is_stmt 1 view .LVU1660
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5828 .loc 1 2401 20 is_stmt 0 view .LVU1661
5829 0128 236F ldr r3, [r4, #112]
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5830 .loc 1 2401 14 view .LVU1662
5831 012a 002B cmp r3, #0
5832 012c 0BD0 beq .L170
2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5833 .loc 1 2405 13 is_stmt 1 view .LVU1663
2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5834 .loc 1 2405 46 is_stmt 0 view .LVU1664
5835 012e 624A ldr r2, .L185+8
5836 0130 5A63 str r2, [r3, #52]
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5837 .loc 1 2408 13 is_stmt 1 view .LVU1665
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5838 .loc 1 2408 17 is_stmt 0 view .LVU1666
5839 0132 206F ldr r0, [r4, #112]
5840 0134 FFF7FEFF bl HAL_DMA_Abort_IT
5841 .LVL391:
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5842 .loc 1 2408 16 view .LVU1667
5843 0138 0028 cmp r0, #0
5844 013a 00D1 bne .LCB4582
5845 013c 88E7 b .L153 @long jump
5846 .LCB4582:
2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5847 .loc 1 2411 15 is_stmt 1 view .LVU1668
2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5848 .loc 1 2411 20 is_stmt 0 view .LVU1669
5849 013e 206F ldr r0, [r4, #112]
2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5850 .loc 1 2411 28 view .LVU1670
5851 0140 436B ldr r3, [r0, #52]
2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5852 .loc 1 2411 15 view .LVU1671
5853 0142 9847 blx r3
ARM GAS /tmp/ccwvDHH5.s page 204
5854 .LVL392:
5855 0144 84E7 b .L153
5856 .LVL393:
5857 .L170:
2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5858 .loc 1 2422 13 is_stmt 1 view .LVU1672
5859 0146 2000 movs r0, r4
5860 0148 FFF7FEFF bl HAL_UART_ErrorCallback
5861 .LVL394:
2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5862 .loc 1 2422 13 is_stmt 0 view .LVU1673
5863 014c 80E7 b .L153
5864 .L169:
2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5865 .loc 1 2435 11 is_stmt 1 view .LVU1674
5866 014e 2000 movs r0, r4
5867 0150 FFF7FEFF bl HAL_UART_ErrorCallback
5868 .LVL395:
5869 0154 7CE7 b .L153
5870 .LVL396:
5871 .L168:
2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
5872 .loc 1 2448 9 view .LVU1675
5873 0156 2000 movs r0, r4
5874 0158 FFF7FEFF bl HAL_UART_ErrorCallback
5875 .LVL397:
2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5876 .loc 1 2450 9 view .LVU1676
2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5877 .loc 1 2450 26 is_stmt 0 view .LVU1677
5878 015c 8023 movs r3, #128
5879 015e 0022 movs r2, #0
5880 0160 E250 str r2, [r4, r3]
2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5881 .loc 1 2453 5 is_stmt 1 view .LVU1678
5882 0162 75E7 b .L153
5883 .LVL398:
5884 .L180:
2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && ((cr1its & USART_ISR_IDLE) != 0U))
5885 .loc 1 2460 7 is_stmt 0 view .LVU1679
5886 0164 DA06 lsls r2, r3, #27
5887 0166 00D4 bmi .LCB4633
5888 0168 63E7 b .L171 @long jump
5889 .LCB4633:
2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5890 .loc 1 2461 7 view .LVU1680
5891 016a C206 lsls r2, r0, #27
5892 016c 00D4 bmi .LCB4637
5893 016e 60E7 b .L171 @long jump
5894 .LCB4637:
2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5895 .loc 1 2463 5 is_stmt 1 view .LVU1681
5896 0170 1023 movs r3, #16
5897 .LVL399:
2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5898 .loc 1 2463 5 is_stmt 0 view .LVU1682
5899 0172 0B62 str r3, [r1, #32]
ARM GAS /tmp/ccwvDHH5.s page 205
2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5900 .loc 1 2466 5 is_stmt 1 view .LVU1683
2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5901 .loc 1 2466 9 is_stmt 0 view .LVU1684
5902 0174 2368 ldr r3, [r4]
5903 0176 9B68 ldr r3, [r3, #8]
2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5904 .loc 1 2466 8 view .LVU1685
5905 0178 5B06 lsls r3, r3, #25
5906 017a 4FD5 bpl .L172
5907 .LBB886:
2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
5908 .loc 1 2472 7 is_stmt 1 view .LVU1686
2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
5909 .loc 1 2472 50 is_stmt 0 view .LVU1687
5910 017c 226F ldr r2, [r4, #112]
5911 017e 1368 ldr r3, [r2]
5912 0180 5B68 ldr r3, [r3, #4]
2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((nb_remaining_rx_data > 0U)
5913 .loc 1 2472 16 view .LVU1688
5914 0182 9BB2 uxth r3, r3
5915 .LVL400:
2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
5916 .loc 1 2473 7 is_stmt 1 view .LVU1689
2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_remaining_rx_data < huart->RxXferSize))
5917 .loc 1 2473 10 is_stmt 0 view .LVU1690
5918 0184 002B cmp r3, #0
5919 0186 00D1 bne .LCB4659
5920 0188 62E7 b .L153 @long jump
5921 .LCB4659:
2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5922 .loc 1 2474 43 view .LVU1691
5923 018a 5821 movs r1, #88
5924 018c 615A ldrh r1, [r4, r1]
2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5925 .loc 1 2474 11 view .LVU1692
5926 018e 9942 cmp r1, r3
5927 0190 00D8 bhi .LCB4663
5928 0192 5DE7 b .L153 @long jump
5929 .LCB4663:
2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5930 .loc 1 2477 9 is_stmt 1 view .LVU1693
2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
5931 .loc 1 2477 28 is_stmt 0 view .LVU1694
5932 0194 5A21 movs r1, #90
5933 0196 6352 strh r3, [r4, r1]
2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5934 .loc 1 2480 9 is_stmt 1 view .LVU1695
2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5935 .loc 1 2480 32 is_stmt 0 view .LVU1696
5936 0198 9369 ldr r3, [r2, #24]
5937 .LVL401:
2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
5938 .loc 1 2480 12 view .LVU1697
5939 019a 202B cmp r3, #32
5940 019c 09D1 bne .L184
5941 .LVL402:
ARM GAS /tmp/ccwvDHH5.s page 206
5942 .L174:
2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
5943 .loc 1 2504 9 is_stmt 1 view .LVU1698
2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
5944 .loc 1 2504 49 is_stmt 0 view .LVU1699
5945 019e 5823 movs r3, #88
5946 01a0 E15A ldrh r1, [r4, r3]
2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
5947 .loc 1 2504 69 view .LVU1700
5948 01a2 0233 adds r3, r3, #2
5949 01a4 E35A ldrh r3, [r4, r3]
2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
5950 .loc 1 2504 9 view .LVU1701
5951 01a6 C91A subs r1, r1, r3
5952 01a8 89B2 uxth r1, r1
5953 01aa 2000 movs r0, r4
5954 01ac FFF7FEFF bl HAL_UARTEx_RxEventCallback
5955 .LVL403:
2507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
5956 .loc 1 2507 7 is_stmt 1 view .LVU1702
5957 01b0 4EE7 b .L153
5958 .LVL404:
5959 .L184:
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5960 .loc 1 2483 11 view .LVU1703
5961 .LBB887:
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5962 .loc 1 2483 11 view .LVU1704
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5963 .loc 1 2483 11 view .LVU1705
5964 .LBB888:
5965 .LBI888:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
5966 .loc 2 382 31 view .LVU1706
5967 .LBB889:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
5968 .loc 2 384 3 view .LVU1707
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
5969 .loc 2 386 3 view .LVU1708
5970 .syntax divided
5971 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5972 01b2 EFF31080 MRS r0, primask
5973 @ 0 "" 2
5974 .LVL405:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5975 .loc 2 387 3 view .LVU1709
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
5976 .loc 2 387 3 is_stmt 0 view .LVU1710
5977 .thumb
5978 .syntax unified
5979 .LBE889:
5980 .LBE888:
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5981 .loc 1 2483 11 is_stmt 1 view .LVU1711
5982 .LBB890:
5983 .LBI890:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/ccwvDHH5.s page 207
5984 .loc 2 412 27 view .LVU1712
5985 .LBB891:
5986 .loc 2 414 3 view .LVU1713
5987 01b6 0123 movs r3, #1
5988 .syntax divided
5989 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
5990 01b8 83F31088 MSR primask, r3
5991 @ 0 "" 2
5992 .LVL406:
5993 .loc 2 414 3 is_stmt 0 view .LVU1714
5994 .thumb
5995 .syntax unified
5996 .LBE891:
5997 .LBE890:
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
5998 .loc 1 2483 11 is_stmt 1 view .LVU1715
5999 01bc 2168 ldr r1, [r4]
6000 .LVL407:
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6001 .loc 1 2483 11 is_stmt 0 view .LVU1716
6002 01be 0A68 ldr r2, [r1]
6003 01c0 3E4D ldr r5, .L185+12
6004 .LVL408:
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6005 .loc 1 2483 11 view .LVU1717
6006 01c2 2A40 ands r2, r5
6007 01c4 0A60 str r2, [r1]
6008 .LVL409:
2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
6009 .loc 1 2483 11 is_stmt 1 view .LVU1718
6010 .LBB892:
6011 .LBI892:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6012 .loc 2 412 27 view .LVU1719
6013 .LBB893:
6014 .loc 2 414 3 view .LVU1720
6015 .syntax divided
6016 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6017 01c6 80F31088 MSR primask, r0
6018 @ 0 "" 2
6019 .LVL410:
6020 .loc 2 414 3 is_stmt 0 view .LVU1721
6021 .thumb
6022 .syntax unified
6023 .LBE893:
6024 .LBE892:
6025 .LBE887:
2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6026 .loc 1 2484 11 is_stmt 1 view .LVU1722
6027 .LBB894:
2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6028 .loc 1 2484 11 view .LVU1723
2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6029 .loc 1 2484 11 view .LVU1724
6030 .LBB895:
6031 .LBI895:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/ccwvDHH5.s page 208
6032 .loc 2 382 31 view .LVU1725
6033 .LBB896:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6034 .loc 2 384 3 view .LVU1726
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6035 .loc 2 386 3 view .LVU1727
6036 .syntax divided
6037 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6038 01ca EFF31080 MRS r0, primask
6039 @ 0 "" 2
6040 .LVL411:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6041 .loc 2 387 3 view .LVU1728
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6042 .loc 2 387 3 is_stmt 0 view .LVU1729
6043 .thumb
6044 .syntax unified
6045 .LBE896:
6046 .LBE895:
2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6047 .loc 1 2484 11 is_stmt 1 view .LVU1730
6048 .LBB897:
6049 .LBI897:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6050 .loc 2 412 27 view .LVU1731
6051 .LBB898:
6052 .loc 2 414 3 view .LVU1732
6053 .syntax divided
6054 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6055 01ce 83F31088 MSR primask, r3
6056 @ 0 "" 2
6057 .LVL412:
6058 .loc 2 414 3 is_stmt 0 view .LVU1733
6059 .thumb
6060 .syntax unified
6061 .LBE898:
6062 .LBE897:
2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6063 .loc 1 2484 11 is_stmt 1 view .LVU1734
6064 01d2 2168 ldr r1, [r4]
6065 01d4 8A68 ldr r2, [r1, #8]
6066 01d6 9A43 bics r2, r3
6067 01d8 8A60 str r2, [r1, #8]
2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6068 .loc 1 2484 11 view .LVU1735
6069 .LVL413:
6070 .LBB899:
6071 .LBI899:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6072 .loc 2 412 27 view .LVU1736
6073 .LBB900:
6074 .loc 2 414 3 view .LVU1737
6075 .syntax divided
6076 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6077 01da 80F31088 MSR primask, r0
6078 @ 0 "" 2
6079 .LVL414:
ARM GAS /tmp/ccwvDHH5.s page 209
6080 .loc 2 414 3 is_stmt 0 view .LVU1738
6081 .thumb
6082 .syntax unified
6083 .LBE900:
6084 .LBE899:
6085 .LBE894:
2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6086 .loc 1 2488 11 is_stmt 1 view .LVU1739
6087 .LBB901:
2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6088 .loc 1 2488 11 view .LVU1740
2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6089 .loc 1 2488 11 view .LVU1741
6090 .LBB902:
6091 .LBI902:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6092 .loc 2 382 31 view .LVU1742
6093 .LBB903:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6094 .loc 2 384 3 view .LVU1743
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6095 .loc 2 386 3 view .LVU1744
6096 .syntax divided
6097 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6098 01de EFF31080 MRS r0, primask
6099 @ 0 "" 2
6100 .LVL415:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6101 .loc 2 387 3 view .LVU1745
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6102 .loc 2 387 3 is_stmt 0 view .LVU1746
6103 .thumb
6104 .syntax unified
6105 .LBE903:
6106 .LBE902:
2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6107 .loc 1 2488 11 is_stmt 1 view .LVU1747
6108 .LBB904:
6109 .LBI904:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6110 .loc 2 412 27 view .LVU1748
6111 .LBB905:
6112 .loc 2 414 3 view .LVU1749
6113 .syntax divided
6114 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6115 01e2 83F31088 MSR primask, r3
6116 @ 0 "" 2
6117 .LVL416:
6118 .loc 2 414 3 is_stmt 0 view .LVU1750
6119 .thumb
6120 .syntax unified
6121 .LBE905:
6122 .LBE904:
2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6123 .loc 1 2488 11 is_stmt 1 view .LVU1751
6124 01e6 2168 ldr r1, [r4]
6125 01e8 8A68 ldr r2, [r1, #8]
ARM GAS /tmp/ccwvDHH5.s page 210
6126 01ea 4235 adds r5, r5, #66
6127 01ec FF35 adds r5, r5, #255
6128 01ee AA43 bics r2, r5
6129 01f0 8A60 str r2, [r1, #8]
2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6130 .loc 1 2488 11 view .LVU1752
6131 .LVL417:
6132 .LBB906:
6133 .LBI906:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6134 .loc 2 412 27 view .LVU1753
6135 .LBB907:
6136 .loc 2 414 3 view .LVU1754
6137 .syntax divided
6138 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6139 01f2 80F31088 MSR primask, r0
6140 @ 0 "" 2
6141 .LVL418:
6142 .loc 2 414 3 is_stmt 0 view .LVU1755
6143 .thumb
6144 .syntax unified
6145 .LBE907:
6146 .LBE906:
6147 .LBE901:
2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6148 .loc 1 2491 11 is_stmt 1 view .LVU1756
2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6149 .loc 1 2491 26 is_stmt 0 view .LVU1757
6150 01f6 2022 movs r2, #32
6151 01f8 E267 str r2, [r4, #124]
2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6152 .loc 1 2492 11 is_stmt 1 view .LVU1758
2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6153 .loc 1 2492 32 is_stmt 0 view .LVU1759
6154 01fa 0022 movs r2, #0
6155 01fc 2266 str r2, [r4, #96]
2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6156 .loc 1 2494 11 is_stmt 1 view .LVU1760
6157 .LBB908:
2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6158 .loc 1 2494 11 view .LVU1761
2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6159 .loc 1 2494 11 view .LVU1762
6160 .LBB909:
6161 .LBI909:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6162 .loc 2 382 31 view .LVU1763
6163 .LBB910:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6164 .loc 2 384 3 view .LVU1764
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6165 .loc 2 386 3 view .LVU1765
6166 .syntax divided
6167 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6168 01fe EFF31081 MRS r1, primask
6169 @ 0 "" 2
6170 .LVL419:
ARM GAS /tmp/ccwvDHH5.s page 211
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6171 .loc 2 387 3 view .LVU1766
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6172 .loc 2 387 3 is_stmt 0 view .LVU1767
6173 .thumb
6174 .syntax unified
6175 .LBE910:
6176 .LBE909:
2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6177 .loc 1 2494 11 is_stmt 1 view .LVU1768
6178 .LBB911:
6179 .LBI911:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6180 .loc 2 412 27 view .LVU1769
6181 .LBB912:
6182 .loc 2 414 3 view .LVU1770
6183 .syntax divided
6184 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6185 0202 83F31088 MSR primask, r3
6186 @ 0 "" 2
6187 .LVL420:
6188 .loc 2 414 3 is_stmt 0 view .LVU1771
6189 .thumb
6190 .syntax unified
6191 .LBE912:
6192 .LBE911:
2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6193 .loc 1 2494 11 is_stmt 1 view .LVU1772
6194 0206 2268 ldr r2, [r4]
6195 0208 1368 ldr r3, [r2]
6196 020a 1020 movs r0, #16
6197 .LVL421:
2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6198 .loc 1 2494 11 is_stmt 0 view .LVU1773
6199 020c 8343 bics r3, r0
6200 020e 1360 str r3, [r2]
2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6201 .loc 1 2494 11 is_stmt 1 view .LVU1774
6202 .LVL422:
6203 .LBB913:
6204 .LBI913:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6205 .loc 2 412 27 view .LVU1775
6206 .LBB914:
6207 .loc 2 414 3 view .LVU1776
6208 .syntax divided
6209 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6210 0210 81F31088 MSR primask, r1
6211 @ 0 "" 2
6212 .LVL423:
6213 .loc 2 414 3 is_stmt 0 view .LVU1777
6214 .thumb
6215 .syntax unified
6216 .LBE914:
6217 .LBE913:
6218 .LBE908:
2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 212
6219 .loc 1 2497 11 is_stmt 1 view .LVU1778
2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6220 .loc 1 2497 17 is_stmt 0 view .LVU1779
6221 0214 206F ldr r0, [r4, #112]
6222 0216 FFF7FEFF bl HAL_DMA_Abort
6223 .LVL424:
2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6224 .loc 1 2497 17 view .LVU1780
6225 021a C0E7 b .L174
6226 .LVL425:
6227 .L172:
2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6228 .loc 1 2497 17 view .LVU1781
6229 .LBE886:
6230 .LBB915:
2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
6231 .loc 1 2514 7 is_stmt 1 view .LVU1782
2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
6232 .loc 1 2514 34 is_stmt 0 view .LVU1783
6233 021c 5823 movs r3, #88
6234 021e E15A ldrh r1, [r4, r3]
2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
6235 .loc 1 2514 54 view .LVU1784
6236 0220 0233 adds r3, r3, #2
6237 0222 E25A ldrh r2, [r4, r3]
2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((huart->RxXferCount > 0U)
6238 .loc 1 2514 16 view .LVU1785
6239 0224 891A subs r1, r1, r2
6240 0226 89B2 uxth r1, r1
6241 .LVL426:
2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_rx_data > 0U))
6242 .loc 1 2515 7 is_stmt 1 view .LVU1786
2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_rx_data > 0U))
6243 .loc 1 2515 17 is_stmt 0 view .LVU1787
6244 0228 E35A ldrh r3, [r4, r3]
6245 022a 9BB2 uxth r3, r3
2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** && (nb_rx_data > 0U))
6246 .loc 1 2515 10 view .LVU1788
6247 022c 002B cmp r3, #0
6248 022e 00D1 bne .LCB4913
6249 0230 0EE7 b .L153 @long jump
6250 .LCB4913:
2516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6251 .loc 1 2516 11 view .LVU1789
6252 0232 0029 cmp r1, #0
6253 0234 00D1 bne .LCB4915
6254 0236 0BE7 b .L153 @long jump
6255 .LCB4915:
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6256 .loc 1 2519 9 is_stmt 1 view .LVU1790
6257 .LBB916:
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6258 .loc 1 2519 9 view .LVU1791
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6259 .loc 1 2519 9 view .LVU1792
6260 .LBB917:
6261 .LBI917:
ARM GAS /tmp/ccwvDHH5.s page 213
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6262 .loc 2 382 31 view .LVU1793
6263 .LBB918:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6264 .loc 2 384 3 view .LVU1794
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6265 .loc 2 386 3 view .LVU1795
6266 .syntax divided
6267 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6268 0238 EFF31085 MRS r5, primask
6269 @ 0 "" 2
6270 .LVL427:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6271 .loc 2 387 3 view .LVU1796
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6272 .loc 2 387 3 is_stmt 0 view .LVU1797
6273 .thumb
6274 .syntax unified
6275 .LBE918:
6276 .LBE917:
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6277 .loc 1 2519 9 is_stmt 1 view .LVU1798
6278 .LBB919:
6279 .LBI919:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6280 .loc 2 412 27 view .LVU1799
6281 .LBB920:
6282 .loc 2 414 3 view .LVU1800
6283 023c 0123 movs r3, #1
6284 .syntax divided
6285 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6286 023e 83F31088 MSR primask, r3
6287 @ 0 "" 2
6288 .LVL428:
6289 .loc 2 414 3 is_stmt 0 view .LVU1801
6290 .thumb
6291 .syntax unified
6292 .LBE920:
6293 .LBE919:
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6294 .loc 1 2519 9 is_stmt 1 view .LVU1802
6295 0242 2068 ldr r0, [r4]
6296 .LVL429:
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6297 .loc 1 2519 9 is_stmt 0 view .LVU1803
6298 0244 0268 ldr r2, [r0]
6299 0246 1E4E ldr r6, .L185+16
6300 0248 3240 ands r2, r6
6301 024a 0260 str r2, [r0]
2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6302 .loc 1 2519 9 is_stmt 1 view .LVU1804
6303 .LVL430:
6304 .LBB921:
6305 .LBI921:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6306 .loc 2 412 27 view .LVU1805
6307 .LBB922:
ARM GAS /tmp/ccwvDHH5.s page 214
6308 .loc 2 414 3 view .LVU1806
6309 .syntax divided
6310 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6311 024c 85F31088 MSR primask, r5
6312 @ 0 "" 2
6313 .LVL431:
6314 .loc 2 414 3 is_stmt 0 view .LVU1807
6315 .thumb
6316 .syntax unified
6317 .LBE922:
6318 .LBE921:
6319 .LBE916:
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6320 .loc 1 2522 9 is_stmt 1 view .LVU1808
6321 .LBB923:
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6322 .loc 1 2522 9 view .LVU1809
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6323 .loc 1 2522 9 view .LVU1810
6324 .LBB924:
6325 .LBI924:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6326 .loc 2 382 31 view .LVU1811
6327 .LBB925:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6328 .loc 2 384 3 view .LVU1812
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6329 .loc 2 386 3 view .LVU1813
6330 .syntax divided
6331 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6332 0250 EFF31085 MRS r5, primask
6333 @ 0 "" 2
6334 .LVL432:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6335 .loc 2 387 3 view .LVU1814
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6336 .loc 2 387 3 is_stmt 0 view .LVU1815
6337 .thumb
6338 .syntax unified
6339 .LBE925:
6340 .LBE924:
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6341 .loc 1 2522 9 is_stmt 1 view .LVU1816
6342 .LBB926:
6343 .LBI926:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6344 .loc 2 412 27 view .LVU1817
6345 .LBB927:
6346 .loc 2 414 3 view .LVU1818
6347 .syntax divided
6348 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6349 0254 83F31088 MSR primask, r3
6350 @ 0 "" 2
6351 .LVL433:
6352 .loc 2 414 3 is_stmt 0 view .LVU1819
6353 .thumb
6354 .syntax unified
ARM GAS /tmp/ccwvDHH5.s page 215
6355 .LBE927:
6356 .LBE926:
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6357 .loc 1 2522 9 is_stmt 1 view .LVU1820
6358 0258 2068 ldr r0, [r4]
6359 025a 8268 ldr r2, [r0, #8]
6360 025c 9A43 bics r2, r3
6361 025e 8260 str r2, [r0, #8]
2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6362 .loc 1 2522 9 view .LVU1821
6363 .LVL434:
6364 .LBB928:
6365 .LBI928:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6366 .loc 2 412 27 view .LVU1822
6367 .LBB929:
6368 .loc 2 414 3 view .LVU1823
6369 .syntax divided
6370 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6371 0260 85F31088 MSR primask, r5
6372 @ 0 "" 2
6373 .LVL435:
6374 .loc 2 414 3 is_stmt 0 view .LVU1824
6375 .thumb
6376 .syntax unified
6377 .LBE929:
6378 .LBE928:
6379 .LBE923:
2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6380 .loc 1 2525 9 is_stmt 1 view .LVU1825
2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
6381 .loc 1 2525 24 is_stmt 0 view .LVU1826
6382 0264 2022 movs r2, #32
6383 0266 E267 str r2, [r4, #124]
2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6384 .loc 1 2526 9 is_stmt 1 view .LVU1827
2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6385 .loc 1 2526 30 is_stmt 0 view .LVU1828
6386 0268 0022 movs r2, #0
6387 026a 2266 str r2, [r4, #96]
2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6388 .loc 1 2529 9 is_stmt 1 view .LVU1829
2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6389 .loc 1 2529 22 is_stmt 0 view .LVU1830
6390 026c 6266 str r2, [r4, #100]
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
6391 .loc 1 2531 9 is_stmt 1 view .LVU1831
6392 .LBB930:
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
6393 .loc 1 2531 9 view .LVU1832
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
6394 .loc 1 2531 9 view .LVU1833
6395 .LBB931:
6396 .LBI931:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6397 .loc 2 382 31 view .LVU1834
6398 .LBB932:
ARM GAS /tmp/ccwvDHH5.s page 216
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6399 .loc 2 384 3 view .LVU1835
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6400 .loc 2 386 3 view .LVU1836
6401 .syntax divided
6402 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6403 026e EFF31080 MRS r0, primask
6404 @ 0 "" 2
6405 .LVL436:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6406 .loc 2 387 3 view .LVU1837
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6407 .loc 2 387 3 is_stmt 0 view .LVU1838
6408 .thumb
6409 .syntax unified
6410 .LBE932:
6411 .LBE931:
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
6412 .loc 1 2531 9 is_stmt 1 view .LVU1839
6413 .LBB933:
6414 .LBI933:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6415 .loc 2 412 27 view .LVU1840
6416 .LBB934:
6417 .loc 2 414 3 view .LVU1841
6418 .syntax divided
6419 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6420 0272 83F31088 MSR primask, r3
6421 @ 0 "" 2
6422 .LVL437:
6423 .loc 2 414 3 is_stmt 0 view .LVU1842
6424 .thumb
6425 .syntax unified
6426 .LBE934:
6427 .LBE933:
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
6428 .loc 1 2531 9 is_stmt 1 view .LVU1843
6429 0276 2268 ldr r2, [r4]
6430 0278 1368 ldr r3, [r2]
6431 027a 1025 movs r5, #16
6432 .LVL438:
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
6433 .loc 1 2531 9 is_stmt 0 view .LVU1844
6434 027c AB43 bics r3, r5
6435 027e 1360 str r3, [r2]
2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
6436 .loc 1 2531 9 is_stmt 1 view .LVU1845
6437 .LVL439:
6438 .LBB935:
6439 .LBI935:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6440 .loc 2 412 27 view .LVU1846
6441 .LBB936:
6442 .loc 2 414 3 view .LVU1847
6443 .syntax divided
6444 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6445 0280 80F31088 MSR primask, r0
ARM GAS /tmp/ccwvDHH5.s page 217
6446 @ 0 "" 2
6447 .LVL440:
6448 .loc 2 414 3 is_stmt 0 view .LVU1848
6449 .thumb
6450 .syntax unified
6451 .LBE936:
6452 .LBE935:
6453 .LBE930:
2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
6454 .loc 1 2537 9 is_stmt 1 view .LVU1849
6455 0284 2000 movs r0, r4
6456 .LVL441:
2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
6457 .loc 1 2537 9 is_stmt 0 view .LVU1850
6458 0286 FFF7FEFF bl HAL_UARTEx_RxEventCallback
6459 .LVL442:
2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6460 .loc 1 2540 7 is_stmt 1 view .LVU1851
6461 028a E1E6 b .L153
6462 .LVL443:
6463 .L181:
2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6464 .loc 1 2540 7 is_stmt 0 view .LVU1852
6465 .LBE915:
2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6466 .loc 1 2549 5 is_stmt 1 view .LVU1853
6467 028c 8023 movs r3, #128
6468 .LVL444:
2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6469 .loc 1 2549 5 is_stmt 0 view .LVU1854
6470 028e 5B03 lsls r3, r3, #13
6471 0290 0B62 str r3, [r1, #32]
2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6472 .loc 1 2559 5 is_stmt 1 view .LVU1855
6473 0292 2000 movs r0, r4
6474 .LVL445:
2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6475 .loc 1 2559 5 is_stmt 0 view .LVU1856
6476 0294 FFF7FEFF bl HAL_UARTEx_WakeupCallback
6477 .LVL446:
2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6478 .loc 1 2561 5 is_stmt 1 view .LVU1857
6479 0298 DAE6 b .L153
6480 .LVL447:
6481 .L182:
2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6482 .loc 1 2570 5 view .LVU1858
2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6483 .loc 1 2570 14 is_stmt 0 view .LVU1859
6484 029a A36E ldr r3, [r4, #104]
6485 .LVL448:
2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6486 .loc 1 2570 8 view .LVU1860
6487 029c 002B cmp r3, #0
6488 029e 00D1 bne .LCB5101
6489 02a0 D6E6 b .L153 @long jump
6490 .LCB5101:
ARM GAS /tmp/ccwvDHH5.s page 218
2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6491 .loc 1 2572 7 is_stmt 1 view .LVU1861
6492 02a2 2000 movs r0, r4
6493 .LVL449:
2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6494 .loc 1 2572 7 is_stmt 0 view .LVU1862
6495 02a4 9847 blx r3
6496 .LVL450:
2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6497 .loc 1 2574 5 is_stmt 1 view .LVU1863
6498 02a6 D3E6 b .L153
6499 .LVL451:
6500 .L183:
2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
6501 .loc 1 2580 5 view .LVU1864
6502 02a8 2000 movs r0, r4
6503 .LVL452:
2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return;
6504 .loc 1 2580 5 is_stmt 0 view .LVU1865
6505 02aa FFF7FEFF bl UART_EndTransmit_IT
6506 .LVL453:
2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6507 .loc 1 2581 5 is_stmt 1 view .LVU1866
6508 02ae CFE6 b .L153
6509 .L186:
6510 .align 2
6511 .L185:
6512 02b0 0F080000 .word 2063
6513 02b4 20010004 .word 67109152
6514 02b8 00000000 .word UART_DMAAbortOnError
6515 02bc FFFEFFFF .word -257
6516 02c0 DFFEFFFF .word -289
6517 .cfi_endproc
6518 .LFE62:
6520 .section .text.UART_RxISR_8BIT,"ax",%progbits
6521 .align 1
6522 .syntax unified
6523 .code 16
6524 .thumb_func
6525 .fpu softvfp
6527 UART_RxISR_8BIT:
6528 .LVL454:
6529 .LFB104:
3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
3961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief RX interrupt handler for 7 or 8 bits data word length .
3962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
3964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
3965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_RxISR_8BIT(UART_HandleTypeDef *huart)
3966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6530 .loc 1 3966 1 view -0
6531 .cfi_startproc
6532 @ args = 0, pretend = 0, frame = 0
6533 @ frame_needed = 0, uses_anonymous_args = 0
6534 .loc 1 3966 1 is_stmt 0 view .LVU1868
6535 0000 70B5 push {r4, r5, r6, lr}
ARM GAS /tmp/ccwvDHH5.s page 219
6536 .LCFI26:
6537 .cfi_def_cfa_offset 16
6538 .cfi_offset 4, -16
6539 .cfi_offset 5, -12
6540 .cfi_offset 6, -8
6541 .cfi_offset 14, -4
3967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
6542 .loc 1 3967 3 is_stmt 1 view .LVU1869
6543 .loc 1 3967 12 is_stmt 0 view .LVU1870
6544 0002 5C23 movs r3, #92
6545 0004 C35A ldrh r3, [r0, r3]
6546 .LVL455:
3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhdata;
6547 .loc 1 3968 3 is_stmt 1 view .LVU1871
3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is ongoing */
3971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
6548 .loc 1 3971 3 view .LVU1872
6549 .loc 1 3971 12 is_stmt 0 view .LVU1873
6550 0006 C26F ldr r2, [r0, #124]
6551 .loc 1 3971 6 view .LVU1874
6552 0008 222A cmp r2, #34
6553 000a 05D0 beq .L192
3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++;
3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--;
3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxXferCount == 0U)
3979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupts */
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
3982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RxISR function pointer */
3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL;
3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check current reception Mode :
3993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If Reception till IDLE event has been selected : */
3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
3996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set reception type to Standard */
3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
3998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
3999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable IDLE interrupt */
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET)
4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear IDLE Flag */
4005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
ARM GAS /tmp/ccwvDHH5.s page 220
4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Event callback*/
4009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
4010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
4016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Standard reception API called */
4018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx complete callback*/
4020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback(huart);
4021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
4029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RXNE interrupt flag */
4031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
6554 .loc 1 4031 5 is_stmt 1 view .LVU1875
6555 000c 0268 ldr r2, [r0]
6556 000e 9369 ldr r3, [r2, #24]
6557 .LVL456:
6558 .loc 1 4031 5 is_stmt 0 view .LVU1876
6559 0010 0821 movs r1, #8
6560 0012 0B43 orrs r3, r1
6561 0014 9361 str r3, [r2, #24]
6562 .LVL457:
6563 .L187:
4032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6564 .loc 1 4033 1 view .LVU1877
6565 @ sp needed
6566 0016 70BD pop {r4, r5, r6, pc}
6567 .LVL458:
6568 .L192:
3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
6569 .loc 1 3973 5 is_stmt 1 view .LVU1878
3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *huart->pRxBuffPtr = (uint8_t)(uhdata & (uint8_t)uhMask);
6570 .loc 1 3973 12 is_stmt 0 view .LVU1879
6571 0018 0268 ldr r2, [r0]
6572 001a 928C ldrh r2, [r2, #36]
6573 .LVL459:
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++;
6574 .loc 1 3974 5 is_stmt 1 view .LVU1880
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++;
6575 .loc 1 3974 45 is_stmt 0 view .LVU1881
6576 001c DBB2 uxtb r3, r3
6577 .LVL460:
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++;
ARM GAS /tmp/ccwvDHH5.s page 221
6578 .loc 1 3974 26 view .LVU1882
6579 001e 1340 ands r3, r2
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++;
6580 .loc 1 3974 24 view .LVU1883
6581 0020 426D ldr r2, [r0, #84]
6582 .LVL461:
3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr++;
6583 .loc 1 3974 24 view .LVU1884
6584 0022 1370 strb r3, [r2]
6585 .LVL462:
3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--;
6586 .loc 1 3975 5 is_stmt 1 view .LVU1885
3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--;
6587 .loc 1 3975 22 is_stmt 0 view .LVU1886
6588 0024 436D ldr r3, [r0, #84]
6589 0026 0133 adds r3, r3, #1
6590 0028 4365 str r3, [r0, #84]
3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6591 .loc 1 3976 5 is_stmt 1 view .LVU1887
3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6592 .loc 1 3976 10 is_stmt 0 view .LVU1888
6593 002a 5A22 movs r2, #90
6594 002c 835A ldrh r3, [r0, r2]
3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6595 .loc 1 3976 23 view .LVU1889
6596 002e 013B subs r3, r3, #1
6597 0030 9BB2 uxth r3, r3
6598 0032 8352 strh r3, [r0, r2]
3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6599 .loc 1 3978 5 is_stmt 1 view .LVU1890
3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6600 .loc 1 3978 14 is_stmt 0 view .LVU1891
6601 0034 835A ldrh r3, [r0, r2]
6602 0036 9BB2 uxth r3, r3
3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6603 .loc 1 3978 8 view .LVU1892
6604 0038 002B cmp r3, #0
6605 003a ECD1 bne .L187
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6606 .loc 1 3981 7 is_stmt 1 view .LVU1893
6607 .LBB937:
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6608 .loc 1 3981 7 view .LVU1894
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6609 .loc 1 3981 7 view .LVU1895
6610 .LBB938:
6611 .LBI938:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6612 .loc 2 382 31 view .LVU1896
6613 .LBB939:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6614 .loc 2 384 3 view .LVU1897
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6615 .loc 2 386 3 view .LVU1898
6616 .syntax divided
6617 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6618 003c EFF31084 MRS r4, primask
ARM GAS /tmp/ccwvDHH5.s page 222
6619 @ 0 "" 2
6620 .LVL463:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6621 .loc 2 387 3 view .LVU1899
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6622 .loc 2 387 3 is_stmt 0 view .LVU1900
6623 .thumb
6624 .syntax unified
6625 .LBE939:
6626 .LBE938:
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6627 .loc 1 3981 7 is_stmt 1 view .LVU1901
6628 .LBB940:
6629 .LBI940:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6630 .loc 2 412 27 view .LVU1902
6631 .LBB941:
6632 .loc 2 414 3 view .LVU1903
6633 0040 593A subs r2, r2, #89
6634 .syntax divided
6635 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6636 0042 82F31088 MSR primask, r2
6637 @ 0 "" 2
6638 .LVL464:
6639 .loc 2 414 3 is_stmt 0 view .LVU1904
6640 .thumb
6641 .syntax unified
6642 .LBE941:
6643 .LBE940:
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6644 .loc 1 3981 7 is_stmt 1 view .LVU1905
6645 0046 0168 ldr r1, [r0]
6646 0048 0B68 ldr r3, [r1]
6647 004a 184D ldr r5, .L193
6648 004c 2B40 ands r3, r5
6649 004e 0B60 str r3, [r1]
3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6650 .loc 1 3981 7 view .LVU1906
6651 .LVL465:
6652 .LBB942:
6653 .LBI942:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6654 .loc 2 412 27 view .LVU1907
6655 .LBB943:
6656 .loc 2 414 3 view .LVU1908
6657 .syntax divided
6658 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6659 0050 84F31088 MSR primask, r4
6660 @ 0 "" 2
6661 .LVL466:
6662 .loc 2 414 3 is_stmt 0 view .LVU1909
6663 .thumb
6664 .syntax unified
6665 .LBE943:
6666 .LBE942:
6667 .LBE937:
3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 223
6668 .loc 1 3984 7 is_stmt 1 view .LVU1910
6669 .LBB944:
3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6670 .loc 1 3984 7 view .LVU1911
3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6671 .loc 1 3984 7 view .LVU1912
6672 .LBB945:
6673 .LBI945:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6674 .loc 2 382 31 view .LVU1913
6675 .LBB946:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6676 .loc 2 384 3 view .LVU1914
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6677 .loc 2 386 3 view .LVU1915
6678 .syntax divided
6679 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6680 0054 EFF31084 MRS r4, primask
6681 @ 0 "" 2
6682 .LVL467:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6683 .loc 2 387 3 view .LVU1916
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6684 .loc 2 387 3 is_stmt 0 view .LVU1917
6685 .thumb
6686 .syntax unified
6687 .LBE946:
6688 .LBE945:
3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6689 .loc 1 3984 7 is_stmt 1 view .LVU1918
6690 .LBB947:
6691 .LBI947:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6692 .loc 2 412 27 view .LVU1919
6693 .LBB948:
6694 .loc 2 414 3 view .LVU1920
6695 .syntax divided
6696 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6697 0058 82F31088 MSR primask, r2
6698 @ 0 "" 2
6699 .LVL468:
6700 .loc 2 414 3 is_stmt 0 view .LVU1921
6701 .thumb
6702 .syntax unified
6703 .LBE948:
6704 .LBE947:
3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6705 .loc 1 3984 7 is_stmt 1 view .LVU1922
6706 005c 0168 ldr r1, [r0]
6707 005e 8B68 ldr r3, [r1, #8]
6708 0060 9343 bics r3, r2
6709 0062 8B60 str r3, [r1, #8]
3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6710 .loc 1 3984 7 view .LVU1923
6711 .LVL469:
6712 .LBB949:
6713 .LBI949:
ARM GAS /tmp/ccwvDHH5.s page 224
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6714 .loc 2 412 27 view .LVU1924
6715 .LBB950:
6716 .loc 2 414 3 view .LVU1925
6717 .syntax divided
6718 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6719 0064 84F31088 MSR primask, r4
6720 @ 0 "" 2
6721 .LVL470:
6722 .loc 2 414 3 is_stmt 0 view .LVU1926
6723 .thumb
6724 .syntax unified
6725 .LBE950:
6726 .LBE949:
6727 .LBE944:
3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6728 .loc 1 3987 7 is_stmt 1 view .LVU1927
3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6729 .loc 1 3987 22 is_stmt 0 view .LVU1928
6730 0068 2023 movs r3, #32
6731 006a C367 str r3, [r0, #124]
3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6732 .loc 1 3990 7 is_stmt 1 view .LVU1929
3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6733 .loc 1 3990 20 is_stmt 0 view .LVU1930
6734 006c 0023 movs r3, #0
6735 006e 4366 str r3, [r0, #100]
3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6736 .loc 1 3994 7 is_stmt 1 view .LVU1931
3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6737 .loc 1 3994 16 is_stmt 0 view .LVU1932
6738 0070 036E ldr r3, [r0, #96]
3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6739 .loc 1 3994 10 view .LVU1933
6740 0072 012B cmp r3, #1
6741 0074 17D1 bne .L190
3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6742 .loc 1 3997 9 is_stmt 1 view .LVU1934
3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6743 .loc 1 3997 30 is_stmt 0 view .LVU1935
6744 0076 0023 movs r3, #0
6745 0078 0366 str r3, [r0, #96]
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6746 .loc 1 4000 9 is_stmt 1 view .LVU1936
6747 .LBB951:
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6748 .loc 1 4000 9 view .LVU1937
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6749 .loc 1 4000 9 view .LVU1938
6750 .LBB952:
6751 .LBI952:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6752 .loc 2 382 31 view .LVU1939
6753 .LBB953:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6754 .loc 2 384 3 view .LVU1940
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/ccwvDHH5.s page 225
6755 .loc 2 386 3 view .LVU1941
6756 .syntax divided
6757 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6758 007a EFF31084 MRS r4, primask
6759 @ 0 "" 2
6760 .LVL471:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6761 .loc 2 387 3 view .LVU1942
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6762 .loc 2 387 3 is_stmt 0 view .LVU1943
6763 .thumb
6764 .syntax unified
6765 .LBE953:
6766 .LBE952:
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6767 .loc 1 4000 9 is_stmt 1 view .LVU1944
6768 .LBB954:
6769 .LBI954:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6770 .loc 2 412 27 view .LVU1945
6771 .LBB955:
6772 .loc 2 414 3 view .LVU1946
6773 007e 0133 adds r3, r3, #1
6774 .syntax divided
6775 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6776 0080 83F31088 MSR primask, r3
6777 @ 0 "" 2
6778 .LVL472:
6779 .loc 2 414 3 is_stmt 0 view .LVU1947
6780 .thumb
6781 .syntax unified
6782 .LBE955:
6783 .LBE954:
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6784 .loc 1 4000 9 is_stmt 1 view .LVU1948
6785 0084 0168 ldr r1, [r0]
6786 0086 0B68 ldr r3, [r1]
6787 0088 0F32 adds r2, r2, #15
6788 008a 9343 bics r3, r2
6789 008c 0B60 str r3, [r1]
4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6790 .loc 1 4000 9 view .LVU1949
6791 .LVL473:
6792 .LBB956:
6793 .LBI956:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6794 .loc 2 412 27 view .LVU1950
6795 .LBB957:
6796 .loc 2 414 3 view .LVU1951
6797 .syntax divided
6798 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6799 008e 84F31088 MSR primask, r4
6800 @ 0 "" 2
6801 .LVL474:
6802 .loc 2 414 3 is_stmt 0 view .LVU1952
6803 .thumb
6804 .syntax unified
ARM GAS /tmp/ccwvDHH5.s page 226
6805 .LBE957:
6806 .LBE956:
6807 .LBE951:
4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6808 .loc 1 4002 9 is_stmt 1 view .LVU1953
4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6809 .loc 1 4002 13 is_stmt 0 view .LVU1954
6810 0092 0368 ldr r3, [r0]
6811 0094 D969 ldr r1, [r3, #28]
4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6812 .loc 1 4002 12 view .LVU1955
6813 0096 0A42 tst r2, r1
6814 0098 00D0 beq .L191
4005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6815 .loc 1 4005 11 is_stmt 1 view .LVU1956
6816 009a 1A62 str r2, [r3, #32]
6817 .L191:
4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
6818 .loc 1 4012 9 view .LVU1957
6819 009c 5823 movs r3, #88
6820 009e C15A ldrh r1, [r0, r3]
6821 00a0 FFF7FEFF bl HAL_UARTEx_RxEventCallback
6822 .LVL475:
4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
6823 .loc 1 4012 9 is_stmt 0 view .LVU1958
6824 00a4 B7E7 b .L187
6825 .LVL476:
6826 .L190:
4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6827 .loc 1 4023 9 is_stmt 1 view .LVU1959
6828 00a6 FFF7FEFF bl HAL_UART_RxCpltCallback
6829 .LVL477:
4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
6830 .loc 1 4023 9 is_stmt 0 view .LVU1960
6831 00aa B4E7 b .L187
6832 .L194:
6833 .align 2
6834 .L193:
6835 00ac DFFEFFFF .word -289
6836 .cfi_endproc
6837 .LFE104:
6839 .section .text.UART_RxISR_16BIT,"ax",%progbits
6840 .align 1
6841 .syntax unified
6842 .code 16
6843 .thumb_func
6844 .fpu softvfp
6846 UART_RxISR_16BIT:
6847 .LVL478:
6848 .LFB105:
4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
4036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @brief RX interrupt handler for 9 bits data word length .
4037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @note Function is called under interruption only, once
4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * interruptions have been enabled by HAL_UART_Receive_IT()
4039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @param huart UART handle.
4040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** * @retval None
ARM GAS /tmp/ccwvDHH5.s page 227
4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** */
4042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** static void UART_RxISR_16BIT(UART_HandleTypeDef *huart)
4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6849 .loc 1 4043 1 is_stmt 1 view -0
6850 .cfi_startproc
6851 @ args = 0, pretend = 0, frame = 0
6852 @ frame_needed = 0, uses_anonymous_args = 0
6853 .loc 1 4043 1 is_stmt 0 view .LVU1962
6854 0000 70B5 push {r4, r5, r6, lr}
6855 .LCFI27:
6856 .cfi_def_cfa_offset 16
6857 .cfi_offset 4, -16
6858 .cfi_offset 5, -12
6859 .cfi_offset 6, -8
6860 .cfi_offset 14, -4
4044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *tmp;
6861 .loc 1 4044 3 is_stmt 1 view .LVU1963
4045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhMask = huart->Mask;
6862 .loc 1 4045 3 view .LVU1964
6863 .loc 1 4045 12 is_stmt 0 view .LVU1965
6864 0002 5C23 movs r3, #92
6865 0004 C25A ldrh r2, [r0, r3]
6866 .LVL479:
4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhdata;
6867 .loc 1 4046 3 is_stmt 1 view .LVU1966
4047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is ongoing */
4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
6868 .loc 1 4049 3 view .LVU1967
6869 .loc 1 4049 12 is_stmt 0 view .LVU1968
6870 0006 C36F ldr r3, [r0, #124]
6871 .loc 1 4049 6 view .LVU1969
6872 0008 222B cmp r3, #34
6873 000a 05D0 beq .L200
4050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhdata = (uint16_t) READ_REG(huart->Instance->RDR);
4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask);
4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--;
4056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->RxXferCount == 0U)
4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt and RXNE interrupt*/
4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
4061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RxISR function pointer */
4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL;
4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check current reception Mode :
4072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** If Reception till IDLE event has been selected : */
ARM GAS /tmp/ccwvDHH5.s page 228
4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Set reception type to Standard */
4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Disable IDLE interrupt */
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET)
4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear IDLE Flag */
4084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
4085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx Event callback*/
4088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxEventCallback(huart, huart->RxXferSize);
4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx Event callback*/
4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UARTEx_RxEventCallback(huart, huart->RxXferSize);
4092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Standard reception API called */
4097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call registered Rx complete callback*/
4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxCpltCallback(huart);
4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
4101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
4103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** else
4108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
4109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Clear RXNE interrupt flag */
4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST);
6874 .loc 1 4110 5 is_stmt 1 view .LVU1970
6875 000c 0268 ldr r2, [r0]
6876 .LVL480:
6877 .loc 1 4110 5 is_stmt 0 view .LVU1971
6878 000e 9369 ldr r3, [r2, #24]
6879 0010 0821 movs r1, #8
6880 0012 0B43 orrs r3, r1
6881 0014 9361 str r3, [r2, #24]
6882 .LVL481:
6883 .L195:
4111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
4112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
6884 .loc 1 4112 1 view .LVU1972
6885 @ sp needed
6886 0016 70BD pop {r4, r5, r6, pc}
6887 .LVL482:
6888 .L200:
4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
6889 .loc 1 4051 5 is_stmt 1 view .LVU1973
ARM GAS /tmp/ccwvDHH5.s page 229
4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr ;
6890 .loc 1 4051 12 is_stmt 0 view .LVU1974
6891 0018 0368 ldr r3, [r0]
6892 001a 9B8C ldrh r3, [r3, #36]
6893 .LVL483:
4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** *tmp = (uint16_t)(uhdata & uhMask);
6894 .loc 1 4052 5 is_stmt 1 view .LVU1975
4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6895 .loc 1 4053 5 view .LVU1976
4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6896 .loc 1 4053 12 is_stmt 0 view .LVU1977
6897 001c 1340 ands r3, r2
6898 .LVL484:
4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6899 .loc 1 4053 10 view .LVU1978
6900 001e 426D ldr r2, [r0, #84]
6901 .LVL485:
4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
6902 .loc 1 4053 10 view .LVU1979
6903 0020 1380 strh r3, [r2]
6904 .LVL486:
4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--;
6905 .loc 1 4054 5 is_stmt 1 view .LVU1980
4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount--;
6906 .loc 1 4054 23 is_stmt 0 view .LVU1981
6907 0022 436D ldr r3, [r0, #84]
6908 0024 0233 adds r3, r3, #2
6909 0026 4365 str r3, [r0, #84]
4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6910 .loc 1 4055 5 is_stmt 1 view .LVU1982
4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6911 .loc 1 4055 10 is_stmt 0 view .LVU1983
6912 0028 5A22 movs r2, #90
6913 .LVL487:
4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6914 .loc 1 4055 10 view .LVU1984
6915 002a 835A ldrh r3, [r0, r2]
4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6916 .loc 1 4055 23 view .LVU1985
6917 002c 013B subs r3, r3, #1
6918 002e 9BB2 uxth r3, r3
6919 0030 8352 strh r3, [r0, r2]
4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6920 .loc 1 4057 5 is_stmt 1 view .LVU1986
4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6921 .loc 1 4057 14 is_stmt 0 view .LVU1987
6922 0032 835A ldrh r3, [r0, r2]
6923 0034 9BB2 uxth r3, r3
4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
6924 .loc 1 4057 8 view .LVU1988
6925 0036 002B cmp r3, #0
6926 0038 EDD1 bne .L195
4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6927 .loc 1 4060 7 is_stmt 1 view .LVU1989
6928 .LBB958:
4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6929 .loc 1 4060 7 view .LVU1990
ARM GAS /tmp/ccwvDHH5.s page 230
4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6930 .loc 1 4060 7 view .LVU1991
6931 .LBB959:
6932 .LBI959:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6933 .loc 2 382 31 view .LVU1992
6934 .LBB960:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6935 .loc 2 384 3 view .LVU1993
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6936 .loc 2 386 3 view .LVU1994
6937 .syntax divided
6938 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6939 003a EFF31084 MRS r4, primask
6940 @ 0 "" 2
6941 .LVL488:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6942 .loc 2 387 3 view .LVU1995
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
6943 .loc 2 387 3 is_stmt 0 view .LVU1996
6944 .thumb
6945 .syntax unified
6946 .LBE960:
6947 .LBE959:
4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6948 .loc 1 4060 7 is_stmt 1 view .LVU1997
6949 .LBB961:
6950 .LBI961:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6951 .loc 2 412 27 view .LVU1998
6952 .LBB962:
6953 .loc 2 414 3 view .LVU1999
6954 003e 593A subs r2, r2, #89
6955 .syntax divided
6956 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6957 0040 82F31088 MSR primask, r2
6958 @ 0 "" 2
6959 .LVL489:
6960 .loc 2 414 3 is_stmt 0 view .LVU2000
6961 .thumb
6962 .syntax unified
6963 .LBE962:
6964 .LBE961:
4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6965 .loc 1 4060 7 is_stmt 1 view .LVU2001
6966 0044 0168 ldr r1, [r0]
6967 0046 0B68 ldr r3, [r1]
6968 0048 184D ldr r5, .L201
6969 004a 2B40 ands r3, r5
6970 004c 0B60 str r3, [r1]
4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6971 .loc 1 4060 7 view .LVU2002
6972 .LVL490:
6973 .LBB963:
6974 .LBI963:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6975 .loc 2 412 27 view .LVU2003
ARM GAS /tmp/ccwvDHH5.s page 231
6976 .LBB964:
6977 .loc 2 414 3 view .LVU2004
6978 .syntax divided
6979 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
6980 004e 84F31088 MSR primask, r4
6981 @ 0 "" 2
6982 .LVL491:
6983 .loc 2 414 3 is_stmt 0 view .LVU2005
6984 .thumb
6985 .syntax unified
6986 .LBE964:
6987 .LBE963:
6988 .LBE958:
4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6989 .loc 1 4063 7 is_stmt 1 view .LVU2006
6990 .LBB965:
4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6991 .loc 1 4063 7 view .LVU2007
4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
6992 .loc 1 4063 7 view .LVU2008
6993 .LBB966:
6994 .LBI966:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
6995 .loc 2 382 31 view .LVU2009
6996 .LBB967:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
6997 .loc 2 384 3 view .LVU2010
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
6998 .loc 2 386 3 view .LVU2011
6999 .syntax divided
7000 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7001 0052 EFF31084 MRS r4, primask
7002 @ 0 "" 2
7003 .LVL492:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7004 .loc 2 387 3 view .LVU2012
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7005 .loc 2 387 3 is_stmt 0 view .LVU2013
7006 .thumb
7007 .syntax unified
7008 .LBE967:
7009 .LBE966:
4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7010 .loc 1 4063 7 is_stmt 1 view .LVU2014
7011 .LBB968:
7012 .LBI968:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7013 .loc 2 412 27 view .LVU2015
7014 .LBB969:
7015 .loc 2 414 3 view .LVU2016
7016 .syntax divided
7017 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7018 0056 82F31088 MSR primask, r2
7019 @ 0 "" 2
7020 .LVL493:
7021 .loc 2 414 3 is_stmt 0 view .LVU2017
7022 .thumb
ARM GAS /tmp/ccwvDHH5.s page 232
7023 .syntax unified
7024 .LBE969:
7025 .LBE968:
4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7026 .loc 1 4063 7 is_stmt 1 view .LVU2018
7027 005a 0168 ldr r1, [r0]
7028 005c 8B68 ldr r3, [r1, #8]
7029 005e 9343 bics r3, r2
7030 0060 8B60 str r3, [r1, #8]
4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7031 .loc 1 4063 7 view .LVU2019
7032 .LVL494:
7033 .LBB970:
7034 .LBI970:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7035 .loc 2 412 27 view .LVU2020
7036 .LBB971:
7037 .loc 2 414 3 view .LVU2021
7038 .syntax divided
7039 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7040 0062 84F31088 MSR primask, r4
7041 @ 0 "" 2
7042 .LVL495:
7043 .loc 2 414 3 is_stmt 0 view .LVU2022
7044 .thumb
7045 .syntax unified
7046 .LBE971:
7047 .LBE970:
7048 .LBE965:
4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7049 .loc 1 4066 7 is_stmt 1 view .LVU2023
4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7050 .loc 1 4066 22 is_stmt 0 view .LVU2024
7051 0066 2023 movs r3, #32
7052 0068 C367 str r3, [r0, #124]
4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7053 .loc 1 4069 7 is_stmt 1 view .LVU2025
4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7054 .loc 1 4069 20 is_stmt 0 view .LVU2026
7055 006a 0023 movs r3, #0
7056 006c 4366 str r3, [r0, #100]
4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7057 .loc 1 4073 7 is_stmt 1 view .LVU2027
4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7058 .loc 1 4073 16 is_stmt 0 view .LVU2028
7059 006e 036E ldr r3, [r0, #96]
4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7060 .loc 1 4073 10 view .LVU2029
7061 0070 012B cmp r3, #1
7062 0072 17D1 bne .L198
4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7063 .loc 1 4076 9 is_stmt 1 view .LVU2030
4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7064 .loc 1 4076 30 is_stmt 0 view .LVU2031
7065 0074 0023 movs r3, #0
7066 0076 0366 str r3, [r0, #96]
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 233
7067 .loc 1 4079 9 is_stmt 1 view .LVU2032
7068 .LBB972:
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7069 .loc 1 4079 9 view .LVU2033
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7070 .loc 1 4079 9 view .LVU2034
7071 .LBB973:
7072 .LBI973:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7073 .loc 2 382 31 view .LVU2035
7074 .LBB974:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
7075 .loc 2 384 3 view .LVU2036
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7076 .loc 2 386 3 view .LVU2037
7077 .syntax divided
7078 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7079 0078 EFF31084 MRS r4, primask
7080 @ 0 "" 2
7081 .LVL496:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7082 .loc 2 387 3 view .LVU2038
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7083 .loc 2 387 3 is_stmt 0 view .LVU2039
7084 .thumb
7085 .syntax unified
7086 .LBE974:
7087 .LBE973:
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7088 .loc 1 4079 9 is_stmt 1 view .LVU2040
7089 .LBB975:
7090 .LBI975:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7091 .loc 2 412 27 view .LVU2041
7092 .LBB976:
7093 .loc 2 414 3 view .LVU2042
7094 007c 0133 adds r3, r3, #1
7095 .syntax divided
7096 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7097 007e 83F31088 MSR primask, r3
7098 @ 0 "" 2
7099 .LVL497:
7100 .loc 2 414 3 is_stmt 0 view .LVU2043
7101 .thumb
7102 .syntax unified
7103 .LBE976:
7104 .LBE975:
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7105 .loc 1 4079 9 is_stmt 1 view .LVU2044
7106 0082 0168 ldr r1, [r0]
7107 0084 0B68 ldr r3, [r1]
7108 0086 0F32 adds r2, r2, #15
7109 0088 9343 bics r3, r2
7110 008a 0B60 str r3, [r1]
4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7111 .loc 1 4079 9 view .LVU2045
7112 .LVL498:
ARM GAS /tmp/ccwvDHH5.s page 234
7113 .LBB977:
7114 .LBI977:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7115 .loc 2 412 27 view .LVU2046
7116 .LBB978:
7117 .loc 2 414 3 view .LVU2047
7118 .syntax divided
7119 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7120 008c 84F31088 MSR primask, r4
7121 @ 0 "" 2
7122 .LVL499:
7123 .loc 2 414 3 is_stmt 0 view .LVU2048
7124 .thumb
7125 .syntax unified
7126 .LBE978:
7127 .LBE977:
7128 .LBE972:
4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7129 .loc 1 4081 9 is_stmt 1 view .LVU2049
4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7130 .loc 1 4081 13 is_stmt 0 view .LVU2050
7131 0090 0368 ldr r3, [r0]
7132 0092 D969 ldr r1, [r3, #28]
4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7133 .loc 1 4081 12 view .LVU2051
7134 0094 0A42 tst r2, r1
7135 0096 00D0 beq .L199
4084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7136 .loc 1 4084 11 is_stmt 1 view .LVU2052
7137 0098 1A62 str r2, [r3, #32]
7138 .L199:
4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
7139 .loc 1 4091 9 view .LVU2053
7140 009a 5823 movs r3, #88
7141 009c C15A ldrh r1, [r0, r3]
7142 009e FFF7FEFF bl HAL_UARTEx_RxEventCallback
7143 .LVL500:
4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
7144 .loc 1 4091 9 is_stmt 0 view .LVU2054
7145 00a2 B8E7 b .L195
7146 .LVL501:
7147 .L198:
4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7148 .loc 1 4102 9 is_stmt 1 view .LVU2055
7149 00a4 FFF7FEFF bl HAL_UART_RxCpltCallback
7150 .LVL502:
4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7151 .loc 1 4102 9 is_stmt 0 view .LVU2056
7152 00a8 B5E7 b .L195
7153 .L202:
7154 00aa C046 .align 2
7155 .L201:
7156 00ac DFFEFFFF .word -289
7157 .cfi_endproc
7158 .LFE105:
7160 .section .text.UART_DMARxHalfCplt,"ax",%progbits
7161 .align 1
ARM GAS /tmp/ccwvDHH5.s page 235
7162 .syntax unified
7163 .code 16
7164 .thumb_func
7165 .fpu softvfp
7167 UART_DMARxHalfCplt:
7168 .LVL503:
7169 .LFB94:
3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
7170 .loc 1 3620 1 is_stmt 1 view -0
7171 .cfi_startproc
7172 @ args = 0, pretend = 0, frame = 0
7173 @ frame_needed = 0, uses_anonymous_args = 0
3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
7174 .loc 1 3620 1 is_stmt 0 view .LVU2058
7175 0000 10B5 push {r4, lr}
7176 .LCFI28:
7177 .cfi_def_cfa_offset 8
7178 .cfi_offset 4, -8
7179 .cfi_offset 14, -4
3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7180 .loc 1 3621 3 is_stmt 1 view .LVU2059
3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7181 .loc 1 3621 23 is_stmt 0 view .LVU2060
7182 0002 406A ldr r0, [r0, #36]
7183 .LVL504:
3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7184 .loc 1 3625 3 is_stmt 1 view .LVU2061
3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7185 .loc 1 3625 12 is_stmt 0 view .LVU2062
7186 0004 036E ldr r3, [r0, #96]
3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7187 .loc 1 3625 6 view .LVU2063
7188 0006 012B cmp r3, #1
7189 0008 02D0 beq .L206
3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7190 .loc 1 3643 5 is_stmt 1 view .LVU2064
7191 000a FFF7FEFF bl HAL_UART_RxHalfCpltCallback
7192 .LVL505:
7193 .L203:
3646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7194 .loc 1 3646 1 is_stmt 0 view .LVU2065
7195 @ sp needed
7196 000e 10BD pop {r4, pc}
7197 .LVL506:
7198 .L206:
3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7199 .loc 1 3632 5 is_stmt 1 view .LVU2066
3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7200 .loc 1 3632 44 is_stmt 0 view .LVU2067
7201 0010 5733 adds r3, r3, #87
7202 0012 C15A ldrh r1, [r0, r3]
3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7203 .loc 1 3632 5 view .LVU2068
7204 0014 4908 lsrs r1, r1, #1
7205 0016 FFF7FEFF bl HAL_UARTEx_RxEventCallback
7206 .LVL507:
3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/ccwvDHH5.s page 236
7207 .loc 1 3632 5 view .LVU2069
7208 001a F8E7 b .L203
7209 .cfi_endproc
7210 .LFE94:
7212 .section .text.UART_DMAReceiveCplt,"ax",%progbits
7213 .align 1
7214 .syntax unified
7215 .code 16
7216 .thumb_func
7217 .fpu softvfp
7219 UART_DMAReceiveCplt:
7220 .LVL508:
7221 .LFB93:
3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
7222 .loc 1 3563 1 is_stmt 1 view -0
7223 .cfi_startproc
7224 @ args = 0, pretend = 0, frame = 0
7225 @ frame_needed = 0, uses_anonymous_args = 0
3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
7226 .loc 1 3563 1 is_stmt 0 view .LVU2071
7227 0000 70B5 push {r4, r5, r6, lr}
7228 .LCFI29:
7229 .cfi_def_cfa_offset 16
7230 .cfi_offset 4, -16
7231 .cfi_offset 5, -12
7232 .cfi_offset 6, -8
7233 .cfi_offset 14, -4
3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7234 .loc 1 3564 3 is_stmt 1 view .LVU2072
3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7235 .loc 1 3564 23 is_stmt 0 view .LVU2073
7236 0002 436A ldr r3, [r0, #36]
7237 .LVL509:
3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7238 .loc 1 3567 3 is_stmt 1 view .LVU2074
3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7239 .loc 1 3567 17 is_stmt 0 view .LVU2075
7240 0004 8269 ldr r2, [r0, #24]
3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7241 .loc 1 3567 6 view .LVU2076
7242 0006 202A cmp r2, #32
7243 0008 28D0 beq .L208
3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7244 .loc 1 3569 5 is_stmt 1 view .LVU2077
3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7245 .loc 1 3569 24 is_stmt 0 view .LVU2078
7246 000a 5A22 movs r2, #90
7247 000c 0021 movs r1, #0
7248 000e 9952 strh r1, [r3, r2]
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7249 .loc 1 3572 5 is_stmt 1 view .LVU2079
7250 .LBB979:
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7251 .loc 1 3572 5 view .LVU2080
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7252 .loc 1 3572 5 view .LVU2081
7253 .LBB980:
ARM GAS /tmp/ccwvDHH5.s page 237
7254 .LBI980:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7255 .loc 2 382 31 view .LVU2082
7256 .LBB981:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
7257 .loc 2 384 3 view .LVU2083
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7258 .loc 2 386 3 view .LVU2084
7259 .syntax divided
7260 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7261 0010 EFF31084 MRS r4, primask
7262 @ 0 "" 2
7263 .LVL510:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7264 .loc 2 387 3 view .LVU2085
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7265 .loc 2 387 3 is_stmt 0 view .LVU2086
7266 .thumb
7267 .syntax unified
7268 .LBE981:
7269 .LBE980:
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7270 .loc 1 3572 5 is_stmt 1 view .LVU2087
7271 .LBB982:
7272 .LBI982:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7273 .loc 2 412 27 view .LVU2088
7274 .LBB983:
7275 .loc 2 414 3 view .LVU2089
7276 0014 593A subs r2, r2, #89
7277 .syntax divided
7278 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7279 0016 82F31088 MSR primask, r2
7280 @ 0 "" 2
7281 .LVL511:
7282 .loc 2 414 3 is_stmt 0 view .LVU2090
7283 .thumb
7284 .syntax unified
7285 .LBE983:
7286 .LBE982:
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7287 .loc 1 3572 5 is_stmt 1 view .LVU2091
7288 001a 1868 ldr r0, [r3]
7289 .LVL512:
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7290 .loc 1 3572 5 is_stmt 0 view .LVU2092
7291 001c 0168 ldr r1, [r0]
7292 001e 1C4D ldr r5, .L213
7293 0020 2940 ands r1, r5
7294 0022 0160 str r1, [r0]
3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
7295 .loc 1 3572 5 is_stmt 1 view .LVU2093
7296 .LVL513:
7297 .LBB984:
7298 .LBI984:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7299 .loc 2 412 27 view .LVU2094
ARM GAS /tmp/ccwvDHH5.s page 238
7300 .LBB985:
7301 .loc 2 414 3 view .LVU2095
7302 .syntax divided
7303 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7304 0024 84F31088 MSR primask, r4
7305 @ 0 "" 2
7306 .LVL514:
7307 .loc 2 414 3 is_stmt 0 view .LVU2096
7308 .thumb
7309 .syntax unified
7310 .LBE985:
7311 .LBE984:
7312 .LBE979:
3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7313 .loc 1 3573 5 is_stmt 1 view .LVU2097
7314 .LBB986:
3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7315 .loc 1 3573 5 view .LVU2098
3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7316 .loc 1 3573 5 view .LVU2099
7317 .LBB987:
7318 .LBI987:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7319 .loc 2 382 31 view .LVU2100
7320 .LBB988:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
7321 .loc 2 384 3 view .LVU2101
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7322 .loc 2 386 3 view .LVU2102
7323 .syntax divided
7324 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7325 0028 EFF31084 MRS r4, primask
7326 @ 0 "" 2
7327 .LVL515:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7328 .loc 2 387 3 view .LVU2103
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7329 .loc 2 387 3 is_stmt 0 view .LVU2104
7330 .thumb
7331 .syntax unified
7332 .LBE988:
7333 .LBE987:
3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7334 .loc 1 3573 5 is_stmt 1 view .LVU2105
7335 .LBB989:
7336 .LBI989:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7337 .loc 2 412 27 view .LVU2106
7338 .LBB990:
7339 .loc 2 414 3 view .LVU2107
7340 .syntax divided
7341 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7342 002c 82F31088 MSR primask, r2
7343 @ 0 "" 2
7344 .LVL516:
7345 .loc 2 414 3 is_stmt 0 view .LVU2108
7346 .thumb
ARM GAS /tmp/ccwvDHH5.s page 239
7347 .syntax unified
7348 .LBE990:
7349 .LBE989:
3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7350 .loc 1 3573 5 is_stmt 1 view .LVU2109
7351 0030 1868 ldr r0, [r3]
7352 0032 8168 ldr r1, [r0, #8]
7353 0034 9143 bics r1, r2
7354 0036 8160 str r1, [r0, #8]
3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7355 .loc 1 3573 5 view .LVU2110
7356 .LVL517:
7357 .LBB991:
7358 .LBI991:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7359 .loc 2 412 27 view .LVU2111
7360 .LBB992:
7361 .loc 2 414 3 view .LVU2112
7362 .syntax divided
7363 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7364 0038 84F31088 MSR primask, r4
7365 @ 0 "" 2
7366 .LVL518:
7367 .loc 2 414 3 is_stmt 0 view .LVU2113
7368 .thumb
7369 .syntax unified
7370 .LBE992:
7371 .LBE991:
7372 .LBE986:
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7373 .loc 1 3577 5 is_stmt 1 view .LVU2114
7374 .LBB993:
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7375 .loc 1 3577 5 view .LVU2115
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7376 .loc 1 3577 5 view .LVU2116
7377 .LBB994:
7378 .LBI994:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7379 .loc 2 382 31 view .LVU2117
7380 .LBB995:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
7381 .loc 2 384 3 view .LVU2118
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7382 .loc 2 386 3 view .LVU2119
7383 .syntax divided
7384 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7385 003c EFF31080 MRS r0, primask
7386 @ 0 "" 2
7387 .LVL519:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7388 .loc 2 387 3 view .LVU2120
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7389 .loc 2 387 3 is_stmt 0 view .LVU2121
7390 .thumb
7391 .syntax unified
7392 .LBE995:
ARM GAS /tmp/ccwvDHH5.s page 240
7393 .LBE994:
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7394 .loc 1 3577 5 is_stmt 1 view .LVU2122
7395 .LBB996:
7396 .LBI996:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7397 .loc 2 412 27 view .LVU2123
7398 .LBB997:
7399 .loc 2 414 3 view .LVU2124
7400 .syntax divided
7401 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7402 0040 82F31088 MSR primask, r2
7403 @ 0 "" 2
7404 .LVL520:
7405 .loc 2 414 3 is_stmt 0 view .LVU2125
7406 .thumb
7407 .syntax unified
7408 .LBE997:
7409 .LBE996:
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7410 .loc 1 3577 5 is_stmt 1 view .LVU2126
7411 0044 1968 ldr r1, [r3]
7412 0046 8A68 ldr r2, [r1, #8]
7413 0048 4024 movs r4, #64
7414 .LVL521:
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7415 .loc 1 3577 5 is_stmt 0 view .LVU2127
7416 004a A243 bics r2, r4
7417 004c 8A60 str r2, [r1, #8]
3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7418 .loc 1 3577 5 is_stmt 1 view .LVU2128
7419 .LVL522:
7420 .LBB998:
7421 .LBI998:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7422 .loc 2 412 27 view .LVU2129
7423 .LBB999:
7424 .loc 2 414 3 view .LVU2130
7425 .syntax divided
7426 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7427 004e 80F31088 MSR primask, r0
7428 @ 0 "" 2
7429 .LVL523:
7430 .loc 2 414 3 is_stmt 0 view .LVU2131
7431 .thumb
7432 .syntax unified
7433 .LBE999:
7434 .LBE998:
7435 .LBE993:
3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7436 .loc 1 3580 5 is_stmt 1 view .LVU2132
3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7437 .loc 1 3580 20 is_stmt 0 view .LVU2133
7438 0052 2022 movs r2, #32
7439 0054 DA67 str r2, [r3, #124]
3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7440 .loc 1 3583 5 is_stmt 1 view .LVU2134
ARM GAS /tmp/ccwvDHH5.s page 241
3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7441 .loc 1 3583 14 is_stmt 0 view .LVU2135
7442 0056 1A6E ldr r2, [r3, #96]
3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7443 .loc 1 3583 8 view .LVU2136
7444 0058 012A cmp r2, #1
7445 005a 06D0 beq .L211
7446 .LVL524:
7447 .L208:
3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7448 .loc 1 3591 3 is_stmt 1 view .LVU2137
3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7449 .loc 1 3591 12 is_stmt 0 view .LVU2138
7450 005c 1A6E ldr r2, [r3, #96]
3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7451 .loc 1 3591 6 view .LVU2139
7452 005e 012A cmp r2, #1
7453 0060 0FD0 beq .L212
3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7454 .loc 1 3609 5 is_stmt 1 view .LVU2140
7455 0062 1800 movs r0, r3
7456 0064 FFF7FEFF bl HAL_UART_RxCpltCallback
7457 .LVL525:
7458 .L207:
3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7459 .loc 1 3612 1 is_stmt 0 view .LVU2141
7460 @ sp needed
7461 0068 70BD pop {r4, r5, r6, pc}
7462 .LVL526:
7463 .L211:
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7464 .loc 1 3585 7 is_stmt 1 view .LVU2142
7465 .LBB1000:
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7466 .loc 1 3585 7 view .LVU2143
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7467 .loc 1 3585 7 view .LVU2144
7468 .LBB1001:
7469 .LBI1001:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7470 .loc 2 382 31 view .LVU2145
7471 .LBB1002:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
7472 .loc 2 384 3 view .LVU2146
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7473 .loc 2 386 3 view .LVU2147
7474 .syntax divided
7475 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7476 006a EFF31080 MRS r0, primask
7477 @ 0 "" 2
7478 .LVL527:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7479 .loc 2 387 3 view .LVU2148
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7480 .loc 2 387 3 is_stmt 0 view .LVU2149
7481 .thumb
7482 .syntax unified
ARM GAS /tmp/ccwvDHH5.s page 242
7483 .LBE1002:
7484 .LBE1001:
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7485 .loc 1 3585 7 is_stmt 1 view .LVU2150
7486 .LBB1003:
7487 .LBI1003:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7488 .loc 2 412 27 view .LVU2151
7489 .LBB1004:
7490 .loc 2 414 3 view .LVU2152
7491 .syntax divided
7492 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7493 006e 82F31088 MSR primask, r2
7494 @ 0 "" 2
7495 .LVL528:
7496 .loc 2 414 3 is_stmt 0 view .LVU2153
7497 .thumb
7498 .syntax unified
7499 .LBE1004:
7500 .LBE1003:
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7501 .loc 1 3585 7 is_stmt 1 view .LVU2154
7502 0072 1968 ldr r1, [r3]
7503 0074 0A68 ldr r2, [r1]
7504 0076 303C subs r4, r4, #48
7505 0078 A243 bics r2, r4
7506 007a 0A60 str r2, [r1]
3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7507 .loc 1 3585 7 view .LVU2155
7508 .LVL529:
7509 .LBB1005:
7510 .LBI1005:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7511 .loc 2 412 27 view .LVU2156
7512 .LBB1006:
7513 .loc 2 414 3 view .LVU2157
7514 .syntax divided
7515 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7516 007c 80F31088 MSR primask, r0
7517 @ 0 "" 2
7518 .thumb
7519 .syntax unified
7520 0080 ECE7 b .L208
7521 .LVL530:
7522 .L212:
7523 .loc 2 414 3 is_stmt 0 view .LVU2158
7524 .LBE1006:
7525 .LBE1005:
7526 .LBE1000:
3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
7527 .loc 1 3598 5 is_stmt 1 view .LVU2159
7528 0082 5732 adds r2, r2, #87
7529 0084 995A ldrh r1, [r3, r2]
7530 0086 1800 movs r0, r3
7531 0088 FFF7FEFF bl HAL_UARTEx_RxEventCallback
7532 .LVL531:
3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS /tmp/ccwvDHH5.s page 243
7533 .loc 1 3598 5 is_stmt 0 view .LVU2160
7534 008c ECE7 b .L207
7535 .L214:
7536 008e C046 .align 2
7537 .L213:
7538 0090 FFFEFFFF .word -257
7539 .cfi_endproc
7540 .LFE93:
7542 .section .text.HAL_UART_ReceiverTimeout_Config,"ax",%progbits
7543 .align 1
7544 .global HAL_UART_ReceiverTimeout_Config
7545 .syntax unified
7546 .code 16
7547 .thumb_func
7548 .fpu softvfp
7550 HAL_UART_ReceiverTimeout_Config:
7551 .LVL532:
7552 .LFB72:
2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_RECEIVER_TIMEOUT_VALUE(TimeoutValue));
7553 .loc 1 2762 1 is_stmt 1 view -0
7554 .cfi_startproc
7555 @ args = 0, pretend = 0, frame = 0
7556 @ frame_needed = 0, uses_anonymous_args = 0
7557 @ link register save eliminated.
2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->RTOR, USART_RTOR_RTO, TimeoutValue);
7558 .loc 1 2763 3 view .LVU2162
2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7559 .loc 1 2764 3 view .LVU2163
7560 0000 0268 ldr r2, [r0]
7561 0002 5369 ldr r3, [r2, #20]
7562 0004 1B0E lsrs r3, r3, #24
7563 0006 1B06 lsls r3, r3, #24
7564 0008 0B43 orrs r3, r1
7565 000a 5361 str r3, [r2, #20]
2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7566 .loc 1 2765 1 is_stmt 0 view .LVU2164
7567 @ sp needed
7568 000c 7047 bx lr
7569 .cfi_endproc
7570 .LFE72:
7572 .section .text.HAL_UART_EnableReceiverTimeout,"ax",%progbits
7573 .align 1
7574 .global HAL_UART_EnableReceiverTimeout
7575 .syntax unified
7576 .code 16
7577 .thumb_func
7578 .fpu softvfp
7580 HAL_UART_EnableReceiverTimeout:
7581 .LVL533:
7582 .LFB73:
2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
7583 .loc 1 2774 1 is_stmt 1 view -0
7584 .cfi_startproc
7585 @ args = 0, pretend = 0, frame = 0
7586 @ frame_needed = 0, uses_anonymous_args = 0
2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
7587 .loc 1 2774 1 is_stmt 0 view .LVU2166
ARM GAS /tmp/ccwvDHH5.s page 244
7588 0000 10B5 push {r4, lr}
7589 .LCFI30:
7590 .cfi_def_cfa_offset 8
7591 .cfi_offset 4, -8
7592 .cfi_offset 14, -4
2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7593 .loc 1 2775 3 is_stmt 1 view .LVU2167
2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7594 .loc 1 2775 12 is_stmt 0 view .LVU2168
7595 0002 836F ldr r3, [r0, #120]
2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7596 .loc 1 2775 6 view .LVU2169
7597 0004 202B cmp r3, #32
7598 0006 14D1 bne .L218
2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7599 .loc 1 2778 5 is_stmt 1 view .LVU2170
2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7600 .loc 1 2778 5 view .LVU2171
7601 0008 5433 adds r3, r3, #84
7602 000a C35C ldrb r3, [r0, r3]
7603 000c 012B cmp r3, #1
7604 000e 12D0 beq .L219
2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7605 .loc 1 2778 5 discriminator 2 view .LVU2172
7606 0010 7422 movs r2, #116
7607 0012 0123 movs r3, #1
7608 0014 8354 strb r3, [r0, r2]
2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7609 .loc 1 2780 5 discriminator 2 view .LVU2173
2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7610 .loc 1 2780 19 is_stmt 0 discriminator 2 view .LVU2174
7611 0016 2333 adds r3, r3, #35
7612 0018 8367 str r3, [r0, #120]
2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7613 .loc 1 2783 5 is_stmt 1 discriminator 2 view .LVU2175
7614 001a 0168 ldr r1, [r0]
7615 001c 4C68 ldr r4, [r1, #4]
7616 001e 8023 movs r3, #128
7617 0020 1B04 lsls r3, r3, #16
7618 0022 2343 orrs r3, r4
7619 0024 4B60 str r3, [r1, #4]
2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7620 .loc 1 2785 5 discriminator 2 view .LVU2176
2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7621 .loc 1 2785 19 is_stmt 0 discriminator 2 view .LVU2177
7622 0026 2023 movs r3, #32
7623 0028 8367 str r3, [r0, #120]
2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7624 .loc 1 2788 5 is_stmt 1 discriminator 2 view .LVU2178
2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7625 .loc 1 2788 5 discriminator 2 view .LVU2179
7626 002a 0023 movs r3, #0
7627 002c 8354 strb r3, [r0, r2]
2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7628 .loc 1 2790 5 discriminator 2 view .LVU2180
2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7629 .loc 1 2790 12 is_stmt 0 discriminator 2 view .LVU2181
ARM GAS /tmp/ccwvDHH5.s page 245
7630 002e 0020 movs r0, #0
7631 .LVL534:
7632 .L217:
2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7633 .loc 1 2796 1 view .LVU2182
7634 @ sp needed
7635 0030 10BD pop {r4, pc}
7636 .LVL535:
7637 .L218:
2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7638 .loc 1 2794 12 view .LVU2183
7639 0032 0220 movs r0, #2
7640 .LVL536:
2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7641 .loc 1 2794 12 view .LVU2184
7642 0034 FCE7 b .L217
7643 .LVL537:
7644 .L219:
2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7645 .loc 1 2778 5 view .LVU2185
7646 0036 0220 movs r0, #2
7647 .LVL538:
2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7648 .loc 1 2778 5 view .LVU2186
7649 0038 FAE7 b .L217
7650 .cfi_endproc
7651 .LFE73:
7653 .section .text.HAL_UART_DisableReceiverTimeout,"ax",%progbits
7654 .align 1
7655 .global HAL_UART_DisableReceiverTimeout
7656 .syntax unified
7657 .code 16
7658 .thumb_func
7659 .fpu softvfp
7661 HAL_UART_DisableReceiverTimeout:
7662 .LVL539:
7663 .LFB74:
2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
7664 .loc 1 2805 1 is_stmt 1 view -0
7665 .cfi_startproc
7666 @ args = 0, pretend = 0, frame = 0
7667 @ frame_needed = 0, uses_anonymous_args = 0
2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
7668 .loc 1 2805 1 is_stmt 0 view .LVU2188
7669 0000 10B5 push {r4, lr}
7670 .LCFI31:
7671 .cfi_def_cfa_offset 8
7672 .cfi_offset 4, -8
7673 .cfi_offset 14, -4
2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7674 .loc 1 2806 3 is_stmt 1 view .LVU2189
2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7675 .loc 1 2806 12 is_stmt 0 view .LVU2190
7676 0002 836F ldr r3, [r0, #120]
2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
7677 .loc 1 2806 6 view .LVU2191
7678 0004 202B cmp r3, #32
ARM GAS /tmp/ccwvDHH5.s page 246
7679 0006 13D1 bne .L222
2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7680 .loc 1 2809 5 is_stmt 1 view .LVU2192
2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7681 .loc 1 2809 5 view .LVU2193
7682 0008 5433 adds r3, r3, #84
7683 000a C35C ldrb r3, [r0, r3]
7684 000c 012B cmp r3, #1
7685 000e 11D0 beq .L223
2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7686 .loc 1 2809 5 discriminator 2 view .LVU2194
7687 0010 7422 movs r2, #116
7688 0012 0123 movs r3, #1
7689 0014 8354 strb r3, [r0, r2]
2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7690 .loc 1 2811 5 discriminator 2 view .LVU2195
2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7691 .loc 1 2811 19 is_stmt 0 discriminator 2 view .LVU2196
7692 0016 2333 adds r3, r3, #35
7693 0018 8367 str r3, [r0, #120]
2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7694 .loc 1 2814 5 is_stmt 1 discriminator 2 view .LVU2197
7695 001a 0168 ldr r1, [r0]
7696 001c 4B68 ldr r3, [r1, #4]
7697 001e 064C ldr r4, .L224
7698 0020 2340 ands r3, r4
7699 0022 4B60 str r3, [r1, #4]
2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7700 .loc 1 2816 5 discriminator 2 view .LVU2198
2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7701 .loc 1 2816 19 is_stmt 0 discriminator 2 view .LVU2199
7702 0024 2023 movs r3, #32
7703 0026 8367 str r3, [r0, #120]
2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7704 .loc 1 2819 5 is_stmt 1 discriminator 2 view .LVU2200
2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7705 .loc 1 2819 5 discriminator 2 view .LVU2201
7706 0028 0023 movs r3, #0
7707 002a 8354 strb r3, [r0, r2]
2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7708 .loc 1 2821 5 discriminator 2 view .LVU2202
2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7709 .loc 1 2821 12 is_stmt 0 discriminator 2 view .LVU2203
7710 002c 0020 movs r0, #0
7711 .LVL540:
7712 .L221:
2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7713 .loc 1 2827 1 view .LVU2204
7714 @ sp needed
7715 002e 10BD pop {r4, pc}
7716 .LVL541:
7717 .L222:
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7718 .loc 1 2825 12 view .LVU2205
7719 0030 0220 movs r0, #2
7720 .LVL542:
2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 247
7721 .loc 1 2825 12 view .LVU2206
7722 0032 FCE7 b .L221
7723 .LVL543:
7724 .L223:
2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7725 .loc 1 2809 5 view .LVU2207
7726 0034 0220 movs r0, #2
7727 .LVL544:
2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7728 .loc 1 2809 5 view .LVU2208
7729 0036 FAE7 b .L221
7730 .L225:
7731 .align 2
7732 .L224:
7733 0038 FFFF7FFF .word -8388609
7734 .cfi_endproc
7735 .LFE74:
7737 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
7738 .align 1
7739 .global HAL_MultiProcessor_EnterMuteMode
7740 .syntax unified
7741 .code 16
7742 .thumb_func
7743 .fpu softvfp
7745 HAL_MultiProcessor_EnterMuteMode:
7746 .LVL545:
7747 .LFB77:
2876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_UART_SEND_REQ(huart, UART_MUTE_MODE_REQUEST);
7748 .loc 1 2876 1 is_stmt 1 view -0
7749 .cfi_startproc
7750 @ args = 0, pretend = 0, frame = 0
7751 @ frame_needed = 0, uses_anonymous_args = 0
7752 @ link register save eliminated.
2877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7753 .loc 1 2877 3 view .LVU2210
7754 0000 0268 ldr r2, [r0]
7755 0002 9369 ldr r3, [r2, #24]
7756 0004 0421 movs r1, #4
7757 0006 0B43 orrs r3, r1
7758 0008 9361 str r3, [r2, #24]
2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7759 .loc 1 2878 1 is_stmt 0 view .LVU2211
7760 @ sp needed
7761 000a 7047 bx lr
7762 .cfi_endproc
7763 .LFE77:
7765 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
7766 .align 1
7767 .global HAL_HalfDuplex_EnableTransmitter
7768 .syntax unified
7769 .code 16
7770 .thumb_func
7771 .fpu softvfp
7773 HAL_HalfDuplex_EnableTransmitter:
7774 .LVL546:
7775 .LFB78:
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
ARM GAS /tmp/ccwvDHH5.s page 248
7776 .loc 1 2886 1 is_stmt 1 view -0
7777 .cfi_startproc
7778 @ args = 0, pretend = 0, frame = 0
7779 @ frame_needed = 0, uses_anonymous_args = 0
2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
7780 .loc 1 2886 1 is_stmt 0 view .LVU2213
7781 0000 70B5 push {r4, r5, r6, lr}
7782 .LCFI32:
7783 .cfi_def_cfa_offset 16
7784 .cfi_offset 4, -16
7785 .cfi_offset 5, -12
7786 .cfi_offset 6, -8
7787 .cfi_offset 14, -4
2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7788 .loc 1 2887 3 is_stmt 1 view .LVU2214
2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7789 .loc 1 2887 3 view .LVU2215
7790 0002 7423 movs r3, #116
7791 0004 C35C ldrb r3, [r0, r3]
7792 0006 012B cmp r3, #1
7793 0008 20D0 beq .L229
2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7794 .loc 1 2887 3 discriminator 2 view .LVU2216
7795 000a 7421 movs r1, #116
7796 000c 0123 movs r3, #1
7797 000e 4354 strb r3, [r0, r1]
2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7798 .loc 1 2888 3 discriminator 2 view .LVU2217
2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7799 .loc 1 2888 17 is_stmt 0 discriminator 2 view .LVU2218
7800 0010 2422 movs r2, #36
7801 0012 8267 str r2, [r0, #120]
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7802 .loc 1 2891 3 is_stmt 1 discriminator 2 view .LVU2219
7803 .LBB1007:
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7804 .loc 1 2891 3 discriminator 2 view .LVU2220
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7805 .loc 1 2891 3 discriminator 2 view .LVU2221
7806 .LBB1008:
7807 .LBI1008:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7808 .loc 2 382 31 discriminator 2 view .LVU2222
7809 .LBB1009:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
7810 .loc 2 384 3 discriminator 2 view .LVU2223
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7811 .loc 2 386 3 discriminator 2 view .LVU2224
7812 .syntax divided
7813 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7814 0014 EFF31085 MRS r5, primask
7815 @ 0 "" 2
7816 .LVL547:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7817 .loc 2 387 3 discriminator 2 view .LVU2225
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7818 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU2226
ARM GAS /tmp/ccwvDHH5.s page 249
7819 .thumb
7820 .syntax unified
7821 .LBE1009:
7822 .LBE1008:
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7823 .loc 1 2891 3 is_stmt 1 discriminator 2 view .LVU2227
7824 .LBB1010:
7825 .LBI1010:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7826 .loc 2 412 27 discriminator 2 view .LVU2228
7827 .LBB1011:
7828 .loc 2 414 3 discriminator 2 view .LVU2229
7829 .syntax divided
7830 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7831 0018 83F31088 MSR primask, r3
7832 @ 0 "" 2
7833 .LVL548:
7834 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2230
7835 .thumb
7836 .syntax unified
7837 .LBE1011:
7838 .LBE1010:
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7839 .loc 1 2891 3 is_stmt 1 discriminator 2 view .LVU2231
7840 001c 0468 ldr r4, [r0]
7841 001e 2268 ldr r2, [r4]
7842 0020 0C26 movs r6, #12
7843 0022 B243 bics r2, r6
7844 0024 2260 str r2, [r4]
2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7845 .loc 1 2891 3 discriminator 2 view .LVU2232
7846 .LVL549:
7847 .LBB1012:
7848 .LBI1012:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7849 .loc 2 412 27 discriminator 2 view .LVU2233
7850 .LBB1013:
7851 .loc 2 414 3 discriminator 2 view .LVU2234
7852 .syntax divided
7853 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7854 0026 85F31088 MSR primask, r5
7855 @ 0 "" 2
7856 .LVL550:
7857 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2235
7858 .thumb
7859 .syntax unified
7860 .LBE1013:
7861 .LBE1012:
7862 .LBE1007:
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7863 .loc 1 2894 3 is_stmt 1 discriminator 2 view .LVU2236
7864 .LBB1014:
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7865 .loc 1 2894 3 discriminator 2 view .LVU2237
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7866 .loc 1 2894 3 discriminator 2 view .LVU2238
7867 .LBB1015:
ARM GAS /tmp/ccwvDHH5.s page 250
7868 .LBI1015:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7869 .loc 2 382 31 discriminator 2 view .LVU2239
7870 .LBB1016:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
7871 .loc 2 384 3 discriminator 2 view .LVU2240
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7872 .loc 2 386 3 discriminator 2 view .LVU2241
7873 .syntax divided
7874 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7875 002a EFF31084 MRS r4, primask
7876 @ 0 "" 2
7877 .LVL551:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7878 .loc 2 387 3 discriminator 2 view .LVU2242
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
7879 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU2243
7880 .thumb
7881 .syntax unified
7882 .LBE1016:
7883 .LBE1015:
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7884 .loc 1 2894 3 is_stmt 1 discriminator 2 view .LVU2244
7885 .LBB1017:
7886 .LBI1017:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7887 .loc 2 412 27 discriminator 2 view .LVU2245
7888 .LBB1018:
7889 .loc 2 414 3 discriminator 2 view .LVU2246
7890 .syntax divided
7891 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7892 002e 83F31088 MSR primask, r3
7893 @ 0 "" 2
7894 .LVL552:
7895 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2247
7896 .thumb
7897 .syntax unified
7898 .LBE1018:
7899 .LBE1017:
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7900 .loc 1 2894 3 is_stmt 1 discriminator 2 view .LVU2248
7901 0032 0268 ldr r2, [r0]
7902 0034 1368 ldr r3, [r2]
7903 0036 0825 movs r5, #8
7904 .LVL553:
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7905 .loc 1 2894 3 is_stmt 0 discriminator 2 view .LVU2249
7906 0038 2B43 orrs r3, r5
7907 003a 1360 str r3, [r2]
2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7908 .loc 1 2894 3 is_stmt 1 discriminator 2 view .LVU2250
7909 .LVL554:
7910 .LBB1019:
7911 .LBI1019:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7912 .loc 2 412 27 discriminator 2 view .LVU2251
7913 .LBB1020:
ARM GAS /tmp/ccwvDHH5.s page 251
7914 .loc 2 414 3 discriminator 2 view .LVU2252
7915 .syntax divided
7916 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
7917 003c 84F31088 MSR primask, r4
7918 @ 0 "" 2
7919 .LVL555:
7920 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2253
7921 .thumb
7922 .syntax unified
7923 .LBE1020:
7924 .LBE1019:
7925 .LBE1014:
2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7926 .loc 1 2896 3 is_stmt 1 discriminator 2 view .LVU2254
2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7927 .loc 1 2896 17 is_stmt 0 discriminator 2 view .LVU2255
7928 0040 2023 movs r3, #32
7929 0042 8367 str r3, [r0, #120]
2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7930 .loc 1 2898 3 is_stmt 1 discriminator 2 view .LVU2256
2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7931 .loc 1 2898 3 discriminator 2 view .LVU2257
7932 0044 0023 movs r3, #0
7933 0046 4354 strb r3, [r0, r1]
2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7934 .loc 1 2900 3 discriminator 2 view .LVU2258
2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
7935 .loc 1 2900 10 is_stmt 0 discriminator 2 view .LVU2259
7936 0048 0020 movs r0, #0
7937 .LVL556:
7938 .L228:
2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7939 .loc 1 2901 1 view .LVU2260
7940 @ sp needed
7941 004a 70BD pop {r4, r5, r6, pc}
7942 .LVL557:
7943 .L229:
2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7944 .loc 1 2887 3 view .LVU2261
7945 004c 0220 movs r0, #2
7946 .LVL558:
2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7947 .loc 1 2887 3 view .LVU2262
7948 004e FCE7 b .L228
7949 .cfi_endproc
7950 .LFE78:
7952 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
7953 .align 1
7954 .global HAL_HalfDuplex_EnableReceiver
7955 .syntax unified
7956 .code 16
7957 .thumb_func
7958 .fpu softvfp
7960 HAL_HalfDuplex_EnableReceiver:
7961 .LVL559:
7962 .LFB79:
2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
ARM GAS /tmp/ccwvDHH5.s page 252
7963 .loc 1 2909 1 is_stmt 1 view -0
7964 .cfi_startproc
7965 @ args = 0, pretend = 0, frame = 0
7966 @ frame_needed = 0, uses_anonymous_args = 0
2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
7967 .loc 1 2909 1 is_stmt 0 view .LVU2264
7968 0000 70B5 push {r4, r5, r6, lr}
7969 .LCFI33:
7970 .cfi_def_cfa_offset 16
7971 .cfi_offset 4, -16
7972 .cfi_offset 5, -12
7973 .cfi_offset 6, -8
7974 .cfi_offset 14, -4
2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7975 .loc 1 2910 3 is_stmt 1 view .LVU2265
2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7976 .loc 1 2910 3 view .LVU2266
7977 0002 7423 movs r3, #116
7978 0004 C35C ldrb r3, [r0, r3]
7979 0006 012B cmp r3, #1
7980 0008 20D0 beq .L232
2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
7981 .loc 1 2910 3 discriminator 2 view .LVU2267
7982 000a 7421 movs r1, #116
7983 000c 0123 movs r3, #1
7984 000e 4354 strb r3, [r0, r1]
2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7985 .loc 1 2911 3 discriminator 2 view .LVU2268
2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7986 .loc 1 2911 17 is_stmt 0 discriminator 2 view .LVU2269
7987 0010 2422 movs r2, #36
7988 0012 8267 str r2, [r0, #120]
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7989 .loc 1 2914 3 is_stmt 1 discriminator 2 view .LVU2270
7990 .LBB1021:
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7991 .loc 1 2914 3 discriminator 2 view .LVU2271
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
7992 .loc 1 2914 3 discriminator 2 view .LVU2272
7993 .LBB1022:
7994 .LBI1022:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
7995 .loc 2 382 31 discriminator 2 view .LVU2273
7996 .LBB1023:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
7997 .loc 2 384 3 discriminator 2 view .LVU2274
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
7998 .loc 2 386 3 discriminator 2 view .LVU2275
7999 .syntax divided
8000 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8001 0014 EFF31085 MRS r5, primask
8002 @ 0 "" 2
8003 .LVL560:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8004 .loc 2 387 3 discriminator 2 view .LVU2276
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8005 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU2277
ARM GAS /tmp/ccwvDHH5.s page 253
8006 .thumb
8007 .syntax unified
8008 .LBE1023:
8009 .LBE1022:
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8010 .loc 1 2914 3 is_stmt 1 discriminator 2 view .LVU2278
8011 .LBB1024:
8012 .LBI1024:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8013 .loc 2 412 27 discriminator 2 view .LVU2279
8014 .LBB1025:
8015 .loc 2 414 3 discriminator 2 view .LVU2280
8016 .syntax divided
8017 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8018 0018 83F31088 MSR primask, r3
8019 @ 0 "" 2
8020 .LVL561:
8021 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2281
8022 .thumb
8023 .syntax unified
8024 .LBE1025:
8025 .LBE1024:
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8026 .loc 1 2914 3 is_stmt 1 discriminator 2 view .LVU2282
8027 001c 0468 ldr r4, [r0]
8028 001e 2268 ldr r2, [r4]
8029 0020 0C26 movs r6, #12
8030 0022 B243 bics r2, r6
8031 0024 2260 str r2, [r4]
2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8032 .loc 1 2914 3 discriminator 2 view .LVU2283
8033 .LVL562:
8034 .LBB1026:
8035 .LBI1026:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8036 .loc 2 412 27 discriminator 2 view .LVU2284
8037 .LBB1027:
8038 .loc 2 414 3 discriminator 2 view .LVU2285
8039 .syntax divided
8040 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8041 0026 85F31088 MSR primask, r5
8042 @ 0 "" 2
8043 .LVL563:
8044 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2286
8045 .thumb
8046 .syntax unified
8047 .LBE1027:
8048 .LBE1026:
8049 .LBE1021:
2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8050 .loc 1 2917 3 is_stmt 1 discriminator 2 view .LVU2287
8051 .LBB1028:
2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8052 .loc 1 2917 3 discriminator 2 view .LVU2288
2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8053 .loc 1 2917 3 discriminator 2 view .LVU2289
8054 .LBB1029:
ARM GAS /tmp/ccwvDHH5.s page 254
8055 .LBI1029:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8056 .loc 2 382 31 discriminator 2 view .LVU2290
8057 .LBB1030:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
8058 .loc 2 384 3 discriminator 2 view .LVU2291
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8059 .loc 2 386 3 discriminator 2 view .LVU2292
8060 .syntax divided
8061 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8062 002a EFF31084 MRS r4, primask
8063 @ 0 "" 2
8064 .LVL564:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8065 .loc 2 387 3 discriminator 2 view .LVU2293
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8066 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU2294
8067 .thumb
8068 .syntax unified
8069 .LBE1030:
8070 .LBE1029:
2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8071 .loc 1 2917 3 is_stmt 1 discriminator 2 view .LVU2295
8072 .LBB1031:
8073 .LBI1031:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8074 .loc 2 412 27 discriminator 2 view .LVU2296
8075 .LBB1032:
8076 .loc 2 414 3 discriminator 2 view .LVU2297
8077 .syntax divided
8078 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8079 002e 83F31088 MSR primask, r3
8080 @ 0 "" 2
8081 .LVL565:
8082 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2298
8083 .thumb
8084 .syntax unified
8085 .LBE1032:
8086 .LBE1031:
2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8087 .loc 1 2917 3 is_stmt 1 discriminator 2 view .LVU2299
8088 0032 0268 ldr r2, [r0]
8089 0034 1368 ldr r3, [r2]
8090 0036 0425 movs r5, #4
8091 .LVL566:
2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8092 .loc 1 2917 3 is_stmt 0 discriminator 2 view .LVU2300
8093 0038 2B43 orrs r3, r5
8094 003a 1360 str r3, [r2]
2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8095 .loc 1 2917 3 is_stmt 1 discriminator 2 view .LVU2301
8096 .LVL567:
8097 .LBB1033:
8098 .LBI1033:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8099 .loc 2 412 27 discriminator 2 view .LVU2302
8100 .LBB1034:
ARM GAS /tmp/ccwvDHH5.s page 255
8101 .loc 2 414 3 discriminator 2 view .LVU2303
8102 .syntax divided
8103 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8104 003c 84F31088 MSR primask, r4
8105 @ 0 "" 2
8106 .LVL568:
8107 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2304
8108 .thumb
8109 .syntax unified
8110 .LBE1034:
8111 .LBE1033:
8112 .LBE1028:
2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8113 .loc 1 2919 3 is_stmt 1 discriminator 2 view .LVU2305
2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8114 .loc 1 2919 17 is_stmt 0 discriminator 2 view .LVU2306
8115 0040 2023 movs r3, #32
8116 0042 8367 str r3, [r0, #120]
2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8117 .loc 1 2921 3 is_stmt 1 discriminator 2 view .LVU2307
2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8118 .loc 1 2921 3 discriminator 2 view .LVU2308
8119 0044 0023 movs r3, #0
8120 0046 4354 strb r3, [r0, r1]
2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8121 .loc 1 2923 3 discriminator 2 view .LVU2309
2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8122 .loc 1 2923 10 is_stmt 0 discriminator 2 view .LVU2310
8123 0048 0020 movs r0, #0
8124 .LVL569:
8125 .L231:
2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8126 .loc 1 2924 1 view .LVU2311
8127 @ sp needed
8128 004a 70BD pop {r4, r5, r6, pc}
8129 .LVL570:
8130 .L232:
2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
8131 .loc 1 2910 3 view .LVU2312
8132 004c 0220 movs r0, #2
8133 .LVL571:
2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
8134 .loc 1 2910 3 view .LVU2313
8135 004e FCE7 b .L231
8136 .cfi_endproc
8137 .LFE79:
8139 .section .text.HAL_LIN_SendBreak,"ax",%progbits
8140 .align 1
8141 .global HAL_LIN_SendBreak
8142 .syntax unified
8143 .code 16
8144 .thumb_func
8145 .fpu softvfp
8147 HAL_LIN_SendBreak:
8148 .LVL572:
8149 .LFB80:
2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */
ARM GAS /tmp/ccwvDHH5.s page 256
8150 .loc 1 2934 1 is_stmt 1 view -0
8151 .cfi_startproc
8152 @ args = 0, pretend = 0, frame = 0
8153 @ frame_needed = 0, uses_anonymous_args = 0
2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the parameters */
8154 .loc 1 2934 1 is_stmt 0 view .LVU2315
8155 0000 10B5 push {r4, lr}
8156 .LCFI34:
8157 .cfi_def_cfa_offset 8
8158 .cfi_offset 4, -8
8159 .cfi_offset 14, -4
2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8160 .loc 1 2936 3 is_stmt 1 view .LVU2316
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8161 .loc 1 2938 3 view .LVU2317
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8162 .loc 1 2938 3 view .LVU2318
8163 0002 7423 movs r3, #116
8164 0004 C35C ldrb r3, [r0, r3]
8165 0006 012B cmp r3, #1
8166 0008 0FD0 beq .L235
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8167 .loc 1 2938 3 discriminator 2 view .LVU2319
8168 000a 7422 movs r2, #116
8169 000c 0123 movs r3, #1
8170 000e 8354 strb r3, [r0, r2]
2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8171 .loc 1 2940 3 discriminator 2 view .LVU2320
2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8172 .loc 1 2940 17 is_stmt 0 discriminator 2 view .LVU2321
8173 0010 2333 adds r3, r3, #35
8174 0012 8367 str r3, [r0, #120]
2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8175 .loc 1 2943 3 is_stmt 1 discriminator 2 view .LVU2322
8176 0014 0168 ldr r1, [r0]
8177 0016 8B69 ldr r3, [r1, #24]
8178 0018 0224 movs r4, #2
8179 001a 2343 orrs r3, r4
8180 001c 8B61 str r3, [r1, #24]
2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8181 .loc 1 2945 3 discriminator 2 view .LVU2323
2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8182 .loc 1 2945 17 is_stmt 0 discriminator 2 view .LVU2324
8183 001e 2023 movs r3, #32
8184 0020 8367 str r3, [r0, #120]
2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8185 .loc 1 2947 3 is_stmt 1 discriminator 2 view .LVU2325
2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8186 .loc 1 2947 3 discriminator 2 view .LVU2326
8187 0022 0023 movs r3, #0
8188 0024 8354 strb r3, [r0, r2]
2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8189 .loc 1 2949 3 discriminator 2 view .LVU2327
2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8190 .loc 1 2949 10 is_stmt 0 discriminator 2 view .LVU2328
8191 0026 0020 movs r0, #0
8192 .LVL573:
ARM GAS /tmp/ccwvDHH5.s page 257
8193 .L234:
2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */
8194 .loc 1 2950 1 view .LVU2329
8195 @ sp needed
8196 0028 10BD pop {r4, pc}
8197 .LVL574:
8198 .L235:
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8199 .loc 1 2938 3 view .LVU2330
8200 002a 0220 movs r0, #2
8201 .LVL575:
2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8202 .loc 1 2938 3 view .LVU2331
8203 002c FCE7 b .L234
8204 .cfi_endproc
8205 .LFE80:
8207 .section .text.HAL_UART_GetState,"ax",%progbits
8208 .align 1
8209 .global HAL_UART_GetState
8210 .syntax unified
8211 .code 16
8212 .thumb_func
8213 .fpu softvfp
8215 HAL_UART_GetState:
8216 .LVL576:
8217 .LFB81:
2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t temp1;
8218 .loc 1 2980 1 is_stmt 1 view -0
8219 .cfi_startproc
8220 @ args = 0, pretend = 0, frame = 0
8221 @ frame_needed = 0, uses_anonymous_args = 0
8222 @ link register save eliminated.
2981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t temp2;
8223 .loc 1 2981 3 view .LVU2333
2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** temp1 = huart->gState;
8224 .loc 1 2982 3 view .LVU2334
2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** temp2 = huart->RxState;
8225 .loc 1 2983 3 view .LVU2335
2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** temp2 = huart->RxState;
8226 .loc 1 2983 9 is_stmt 0 view .LVU2336
8227 0000 836F ldr r3, [r0, #120]
8228 .LVL577:
2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8229 .loc 1 2984 3 is_stmt 1 view .LVU2337
2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8230 .loc 1 2984 9 is_stmt 0 view .LVU2338
8231 0002 C06F ldr r0, [r0, #124]
8232 .LVL578:
2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8233 .loc 1 2986 3 is_stmt 1 view .LVU2339
2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8234 .loc 1 2986 10 is_stmt 0 view .LVU2340
8235 0004 1843 orrs r0, r3
8236 .LVL579:
2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8237 .loc 1 2987 1 view .LVU2341
8238 @ sp needed
ARM GAS /tmp/ccwvDHH5.s page 258
8239 0006 7047 bx lr
8240 .cfi_endproc
8241 .LFE81:
8243 .section .text.HAL_UART_GetError,"ax",%progbits
8244 .align 1
8245 .global HAL_UART_GetError
8246 .syntax unified
8247 .code 16
8248 .thumb_func
8249 .fpu softvfp
8251 HAL_UART_GetError:
8252 .LVL580:
8253 .LFB82:
2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return huart->ErrorCode;
8254 .loc 1 2996 1 is_stmt 1 view -0
8255 .cfi_startproc
8256 @ args = 0, pretend = 0, frame = 0
8257 @ frame_needed = 0, uses_anonymous_args = 0
8258 @ link register save eliminated.
2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8259 .loc 1 2997 3 view .LVU2343
2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8260 .loc 1 2997 15 is_stmt 0 view .LVU2344
8261 0000 8023 movs r3, #128
8262 0002 C058 ldr r0, [r0, r3]
8263 .LVL581:
2998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /**
8264 .loc 1 2998 1 view .LVU2345
8265 @ sp needed
8266 0004 7047 bx lr
8267 .cfi_endproc
8268 .LFE82:
8270 .global __aeabi_uidiv
8271 .section .text.UART_SetConfig,"ax",%progbits
8272 .align 1
8273 .global UART_SetConfig
8274 .syntax unified
8275 .code 16
8276 .thumb_func
8277 .fpu softvfp
8279 UART_SetConfig:
8280 .LVL582:
8281 .LFB83:
3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tmpreg;
8282 .loc 1 3044 1 is_stmt 1 view -0
8283 .cfi_startproc
8284 @ args = 0, pretend = 0, frame = 0
8285 @ frame_needed = 0, uses_anonymous_args = 0
3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tmpreg;
8286 .loc 1 3044 1 is_stmt 0 view .LVU2347
8287 0000 10B5 push {r4, lr}
8288 .LCFI35:
8289 .cfi_def_cfa_offset 8
8290 .cfi_offset 4, -8
8291 .cfi_offset 14, -4
8292 0002 0400 movs r4, r0
3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t brrtemp;
ARM GAS /tmp/ccwvDHH5.s page 259
8293 .loc 1 3045 3 is_stmt 1 view .LVU2348
3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** UART_ClockSourceTypeDef clocksource;
8294 .loc 1 3046 3 view .LVU2349
3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t usartdiv;
8295 .loc 1 3047 3 view .LVU2350
3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** HAL_StatusTypeDef ret = HAL_OK;
8296 .loc 1 3048 3 view .LVU2351
3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t pclk;
8297 .loc 1 3049 3 view .LVU2352
8298 .LVL583:
3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8299 .loc 1 3050 3 view .LVU2353
3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
8300 .loc 1 3053 3 view .LVU2354
3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
8301 .loc 1 3054 3 view .LVU2355
3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ONE_BIT_SAMPLE(huart->Init.OneBitSampling));
8302 .loc 1 3055 3 view .LVU2356
3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8303 .loc 1 3056 3 view .LVU2357
3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
8304 .loc 1 3058 3 view .LVU2358
3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
8305 .loc 1 3059 3 view .LVU2359
3060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
8306 .loc 1 3060 3 view .LVU2360
3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8307 .loc 1 3061 3 view .LVU2361
3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
8308 .loc 1 3070 3 view .LVU2362
3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
8309 .loc 1 3070 45 is_stmt 0 view .LVU2363
8310 0004 8368 ldr r3, [r0, #8]
8311 0006 0269 ldr r2, [r0, #16]
8312 0008 1343 orrs r3, r2
3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
8313 .loc 1 3070 66 view .LVU2364
8314 000a 4269 ldr r2, [r0, #20]
8315 000c 1343 orrs r3, r2
3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
8316 .loc 1 3070 10 view .LVU2365
8317 000e C269 ldr r2, [r0, #28]
8318 0010 1343 orrs r3, r2
8319 .LVL584:
3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8320 .loc 1 3071 3 is_stmt 1 view .LVU2366
8321 0012 0168 ldr r1, [r0]
8322 0014 0A68 ldr r2, [r1]
8323 0016 4F48 ldr r0, .L274
8324 .LVL585:
3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8325 .loc 1 3071 3 is_stmt 0 view .LVU2367
8326 0018 0240 ands r2, r0
8327 001a 1343 orrs r3, r2
8328 .LVL586:
3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8329 .loc 1 3071 3 view .LVU2368
ARM GAS /tmp/ccwvDHH5.s page 260
8330 001c 0B60 str r3, [r1]
8331 .LVL587:
3076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8332 .loc 1 3076 3 is_stmt 1 view .LVU2369
8333 001e 2268 ldr r2, [r4]
8334 0020 5368 ldr r3, [r2, #4]
8335 0022 4D49 ldr r1, .L274+4
8336 0024 0B40 ands r3, r1
8337 0026 E168 ldr r1, [r4, #12]
8338 0028 0B43 orrs r3, r1
8339 002a 5360 str r3, [r2, #4]
3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8340 .loc 1 3084 3 view .LVU2370
8341 .LVL588:
3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
8342 .loc 1 3086 3 view .LVU2371
3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
8343 .loc 1 3086 10 is_stmt 0 view .LVU2372
8344 002c 226A ldr r2, [r4, #32]
8345 002e A369 ldr r3, [r4, #24]
8346 0030 1A43 orrs r2, r3
8347 .LVL589:
3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8348 .loc 1 3087 3 is_stmt 1 view .LVU2373
8349 0032 2168 ldr r1, [r4]
8350 0034 8B68 ldr r3, [r1, #8]
8351 0036 4948 ldr r0, .L274+8
8352 0038 0340 ands r3, r0
8353 003a 1343 orrs r3, r2
8354 003c 8B60 str r3, [r1, #8]
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8355 .loc 1 3091 3 view .LVU2374
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8356 .loc 1 3091 3 view .LVU2375
8357 003e 2368 ldr r3, [r4]
8358 0040 474A ldr r2, .L274+12
8359 .LVL590:
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8360 .loc 1 3091 3 is_stmt 0 view .LVU2376
8361 0042 9342 cmp r3, r2
8362 0044 24D0 beq .L265
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8363 .loc 1 3091 3 is_stmt 1 discriminator 2 view .LVU2377
8364 0046 474A ldr r2, .L274+16
8365 0048 9342 cmp r3, r2
8366 004a 2FD0 beq .L266
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8367 .loc 1 3091 3 is_stmt 0 view .LVU2378
8368 004c 1023 movs r3, #16
8369 .L240:
8370 .LVL591:
3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8371 .loc 1 3093 3 is_stmt 1 view .LVU2379
3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8372 .loc 1 3093 18 is_stmt 0 view .LVU2380
8373 004e E069 ldr r0, [r4, #28]
3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
ARM GAS /tmp/ccwvDHH5.s page 261
8374 .loc 1 3093 6 view .LVU2381
8375 0050 8022 movs r2, #128
8376 0052 1202 lsls r2, r2, #8
8377 0054 9042 cmp r0, r2
8378 0056 33D0 beq .L267
3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8379 .loc 1 3133 5 is_stmt 1 view .LVU2382
8380 0058 022B cmp r3, #2
8381 005a 00D1 bne .LCB6598
8382 005c 74E0 b .L261 @long jump
8383 .LCB6598:
8384 005e 61D9 bls .L268
8385 0060 042B cmp r3, #4
8386 0062 00D1 bne .LCB6602
8387 0064 6DE0 b .L251 @long jump
8388 .LCB6602:
8389 0066 082B cmp r3, #8
8390 0068 69D1 bne .L269
3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8391 .loc 1 3145 14 is_stmt 0 view .LVU2383
8392 006a 8020 movs r0, #128
8393 006c 0002 lsls r0, r0, #8
8394 .LVL592:
8395 .L248:
3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
8396 .loc 1 3156 7 is_stmt 1 view .LVU2384
3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
8397 .loc 1 3156 29 is_stmt 0 view .LVU2385
8398 006e 6368 ldr r3, [r4, #4]
8399 0070 5B08 lsrs r3, r3, #1
8400 0072 1818 adds r0, r3, r0
8401 0074 6168 ldr r1, [r4, #4]
8402 0076 FFF7FEFF bl __aeabi_uidiv
8403 .LVL593:
8404 007a 0004 lsls r0, r0, #16
8405 007c 000C lsrs r0, r0, #16
8406 .LVL594:
3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8407 .loc 1 3157 7 is_stmt 1 view .LVU2386
3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8408 .loc 1 3157 38 is_stmt 0 view .LVU2387
8409 007e 0200 movs r2, r0
8410 0080 103A subs r2, r2, #16
3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8411 .loc 1 3157 10 view .LVU2388
8412 0082 394B ldr r3, .L274+20
8413 0084 9A42 cmp r2, r3
8414 0086 63D8 bhi .L264
3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8415 .loc 1 3159 9 is_stmt 1 view .LVU2389
3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8416 .loc 1 3159 14 is_stmt 0 view .LVU2390
8417 0088 2368 ldr r3, [r4]
3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8418 .loc 1 3159 30 view .LVU2391
8419 008a D860 str r0, [r3, #12]
8420 008c 0020 movs r0, #0
ARM GAS /tmp/ccwvDHH5.s page 262
8421 .LVL595:
3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8422 .loc 1 3159 30 view .LVU2392
8423 008e 52E0 b .L245
8424 .LVL596:
8425 .L265:
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8426 .loc 1 3091 3 is_stmt 1 discriminator 1 view .LVU2393
8427 0090 364B ldr r3, .L274+24
8428 0092 1A6B ldr r2, [r3, #48]
8429 0094 0323 movs r3, #3
8430 0096 1340 ands r3, r2
8431 0098 012B cmp r3, #1
8432 009a 09D0 beq .L253
3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8433 .loc 1 3091 3 is_stmt 0 view .LVU2394
8434 009c 002B cmp r3, #0
8435 009e 09D0 beq .L254
8436 00a0 022B cmp r3, #2
8437 00a2 09D0 beq .L255
8438 00a4 032B cmp r3, #3
8439 00a6 09D0 beq .L256
8440 00a8 1023 movs r3, #16
8441 00aa D0E7 b .L240
8442 .L266:
8443 00ac 0023 movs r3, #0
8444 00ae CEE7 b .L240
8445 .L253:
8446 00b0 0423 movs r3, #4
8447 00b2 CCE7 b .L240
8448 .L254:
8449 00b4 0023 movs r3, #0
8450 00b6 CAE7 b .L240
8451 .L255:
8452 00b8 0823 movs r3, #8
8453 00ba C8E7 b .L240
8454 .L256:
8455 00bc 0223 movs r3, #2
8456 00be C6E7 b .L240
8457 .LVL597:
8458 .L267:
3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8459 .loc 1 3095 5 is_stmt 1 view .LVU2395
8460 00c0 022B cmp r3, #2
8461 00c2 2DD0 beq .L258
8462 00c4 1DD9 bls .L270
8463 00c6 042B cmp r3, #4
8464 00c8 27D0 beq .L246
8465 00ca 082B cmp r3, #8
8466 00cc 23D1 bne .L271
8467 .LVL598:
8468 .L242:
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
8469 .loc 1 3118 7 view .LVU2396
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
8470 .loc 1 3118 29 is_stmt 0 view .LVU2397
8471 00ce 4000 lsls r0, r0, #1
ARM GAS /tmp/ccwvDHH5.s page 263
8472 00d0 6368 ldr r3, [r4, #4]
8473 00d2 5B08 lsrs r3, r3, #1
8474 00d4 C018 adds r0, r0, r3
8475 00d6 6168 ldr r1, [r4, #4]
8476 00d8 FFF7FEFF bl __aeabi_uidiv
8477 .LVL599:
3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
8478 .loc 1 3118 18 view .LVU2398
8479 00dc 83B2 uxth r3, r0
8480 00de 0004 lsls r0, r0, #16
8481 00e0 000C lsrs r0, r0, #16
8482 .LVL600:
3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8483 .loc 1 3119 7 is_stmt 1 view .LVU2399
3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8484 .loc 1 3119 38 is_stmt 0 view .LVU2400
8485 00e2 0100 movs r1, r0
8486 00e4 1039 subs r1, r1, #16
3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8487 .loc 1 3119 10 view .LVU2401
8488 00e6 204A ldr r2, .L274+20
8489 00e8 9142 cmp r1, r2
8490 00ea 2FD8 bhi .L260
3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
8491 .loc 1 3121 9 is_stmt 1 view .LVU2402
3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
8492 .loc 1 3121 17 is_stmt 0 view .LVU2403
8493 00ec 0F22 movs r2, #15
8494 00ee 9343 bics r3, r2
8495 00f0 1A00 movs r2, r3
8496 .LVL601:
3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
8497 .loc 1 3122 9 is_stmt 1 view .LVU2404
3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
8498 .loc 1 3122 62 is_stmt 0 view .LVU2405
8499 00f2 4008 lsrs r0, r0, #1
8500 .LVL602:
3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
8501 .loc 1 3122 20 view .LVU2406
8502 00f4 0723 movs r3, #7
8503 00f6 1840 ands r0, r3
3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->Instance->BRR = brrtemp;
8504 .loc 1 3122 17 view .LVU2407
8505 00f8 1043 orrs r0, r2
8506 .LVL603:
3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8507 .loc 1 3123 9 is_stmt 1 view .LVU2408
3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8508 .loc 1 3123 14 is_stmt 0 view .LVU2409
8509 00fa 2368 ldr r3, [r4]
3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8510 .loc 1 3123 30 view .LVU2410
8511 00fc D860 str r0, [r3, #12]
8512 00fe 0020 movs r0, #0
8513 .LVL604:
3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8514 .loc 1 3123 30 view .LVU2411
ARM GAS /tmp/ccwvDHH5.s page 264
8515 0100 19E0 b .L245
8516 .LVL605:
8517 .L270:
3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8518 .loc 1 3095 5 view .LVU2412
8519 0102 002B cmp r3, #0
8520 0104 05D1 bne .L272
3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8521 .loc 1 3098 9 is_stmt 1 view .LVU2413
3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8522 .loc 1 3098 16 is_stmt 0 view .LVU2414
8523 0106 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
8524 .LVL606:
3099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
8525 .loc 1 3099 9 is_stmt 1 view .LVU2415
8526 .L247:
3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8527 .loc 1 3116 5 view .LVU2416
3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8528 .loc 1 3116 8 is_stmt 0 view .LVU2417
8529 010a 0028 cmp r0, #0
8530 010c DFD1 bne .L242
3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8531 .loc 1 3116 8 view .LVU2418
8532 010e 0020 movs r0, #0
8533 .LVL607:
3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8534 .loc 1 3116 8 view .LVU2419
8535 0110 11E0 b .L245
8536 .LVL608:
8537 .L272:
3111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8538 .loc 1 3111 13 view .LVU2420
8539 0112 0120 movs r0, #1
8540 0114 0FE0 b .L245
8541 .L271:
8542 0116 0120 movs r0, #1
8543 0118 0DE0 b .L245
8544 .L246:
3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8545 .loc 1 3104 9 is_stmt 1 view .LVU2421
3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8546 .loc 1 3104 16 is_stmt 0 view .LVU2422
8547 011a FFF7FEFF bl HAL_RCC_GetSysClockFreq
8548 .LVL609:
3105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
8549 .loc 1 3105 9 is_stmt 1 view .LVU2423
8550 011e F4E7 b .L247
8551 .LVL610:
8552 .L258:
3101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8553 .loc 1 3101 14 is_stmt 0 view .LVU2424
8554 0120 1348 ldr r0, .L274+28
8555 0122 D4E7 b .L242
8556 .L268:
3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8557 .loc 1 3133 5 view .LVU2425
ARM GAS /tmp/ccwvDHH5.s page 265
8558 0124 002B cmp r3, #0
8559 0126 05D1 bne .L273
3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8560 .loc 1 3136 9 is_stmt 1 view .LVU2426
3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8561 .loc 1 3136 16 is_stmt 0 view .LVU2427
8562 0128 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
8563 .LVL611:
3137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_HSI:
8564 .loc 1 3137 9 is_stmt 1 view .LVU2428
8565 .L252:
3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8566 .loc 1 3153 5 view .LVU2429
3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8567 .loc 1 3153 8 is_stmt 0 view .LVU2430
8568 012c 0028 cmp r0, #0
8569 012e 9ED1 bne .L248
3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8570 .loc 1 3153 8 view .LVU2431
8571 0130 0020 movs r0, #0
8572 .LVL612:
3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8573 .loc 1 3153 8 view .LVU2432
8574 0132 00E0 b .L245
8575 .LVL613:
8576 .L273:
3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8577 .loc 1 3149 13 view .LVU2433
8578 0134 0120 movs r0, #1
8579 .LVL614:
8580 .L245:
3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
8581 .loc 1 3170 3 is_stmt 1 view .LVU2434
3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxISR = NULL;
8582 .loc 1 3170 16 is_stmt 0 view .LVU2435
8583 0136 0023 movs r3, #0
8584 0138 6366 str r3, [r4, #100]
3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8585 .loc 1 3171 3 is_stmt 1 view .LVU2436
3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8586 .loc 1 3171 16 is_stmt 0 view .LVU2437
8587 013a A366 str r3, [r4, #104]
3173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8588 .loc 1 3173 3 is_stmt 1 view .LVU2438
3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8589 .loc 1 3174 1 is_stmt 0 view .LVU2439
8590 @ sp needed
8591 .LVL615:
3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8592 .loc 1 3174 1 view .LVU2440
8593 013c 10BD pop {r4, pc}
8594 .LVL616:
8595 .L269:
3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8596 .loc 1 3149 13 view .LVU2441
8597 013e 0120 movs r0, #1
8598 0140 F9E7 b .L245
ARM GAS /tmp/ccwvDHH5.s page 266
8599 .L251:
3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8600 .loc 1 3142 9 is_stmt 1 view .LVU2442
3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8601 .loc 1 3142 16 is_stmt 0 view .LVU2443
8602 0142 FFF7FEFF bl HAL_RCC_GetSysClockFreq
8603 .LVL617:
3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** case UART_CLOCKSOURCE_LSE:
8604 .loc 1 3143 9 is_stmt 1 view .LVU2444
8605 0146 F1E7 b .L252
8606 .LVL618:
8607 .L261:
3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** break;
8608 .loc 1 3139 14 is_stmt 0 view .LVU2445
8609 0148 0948 ldr r0, .L274+28
8610 014a 90E7 b .L248
8611 .LVL619:
8612 .L260:
3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8613 .loc 1 3127 13 view .LVU2446
8614 014c 0120 movs r0, #1
8615 .LVL620:
3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8616 .loc 1 3127 13 view .LVU2447
8617 014e F2E7 b .L245
8618 .LVL621:
8619 .L264:
3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8620 .loc 1 3163 13 view .LVU2448
8621 0150 0120 movs r0, #1
8622 .LVL622:
3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8623 .loc 1 3163 13 view .LVU2449
8624 0152 F0E7 b .L245
8625 .L275:
8626 .align 2
8627 .L274:
8628 0154 F369FFEF .word -268473869
8629 0158 FFCFFFFF .word -12289
8630 015c FFF4FFFF .word -2817
8631 0160 00380140 .word 1073821696
8632 0164 00440040 .word 1073759232
8633 0168 EFFF0000 .word 65519
8634 016c 00100240 .word 1073876992
8635 0170 00127A00 .word 8000000
8636 .cfi_endproc
8637 .LFE83:
8639 .section .text.UART_AdvFeatureConfig,"ax",%progbits
8640 .align 1
8641 .global UART_AdvFeatureConfig
8642 .syntax unified
8643 .code 16
8644 .thumb_func
8645 .fpu softvfp
8647 UART_AdvFeatureConfig:
8648 .LVL623:
8649 .LFB84:
ARM GAS /tmp/ccwvDHH5.s page 267
3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check whether the set of advanced features to configure is properly set */
8650 .loc 1 3182 1 is_stmt 1 view -0
8651 .cfi_startproc
8652 @ args = 0, pretend = 0, frame = 0
8653 @ frame_needed = 0, uses_anonymous_args = 0
8654 @ link register save eliminated.
3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8655 .loc 1 3184 3 view .LVU2451
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8656 .loc 1 3187 3 view .LVU2452
3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8657 .loc 1 3187 6 is_stmt 0 view .LVU2453
8658 0000 436A ldr r3, [r0, #36]
8659 0002 DB07 lsls r3, r3, #31
8660 0004 06D5 bpl .L277
3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
8661 .loc 1 3189 5 is_stmt 1 view .LVU2454
3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8662 .loc 1 3190 5 view .LVU2455
8663 0006 0268 ldr r2, [r0]
8664 0008 5368 ldr r3, [r2, #4]
8665 000a 2C49 ldr r1, .L286
8666 000c 0B40 ands r3, r1
8667 000e 816A ldr r1, [r0, #40]
8668 0010 0B43 orrs r3, r1
8669 0012 5360 str r3, [r2, #4]
8670 .L277:
3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8671 .loc 1 3194 3 view .LVU2456
3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8672 .loc 1 3194 6 is_stmt 0 view .LVU2457
8673 0014 436A ldr r3, [r0, #36]
8674 0016 9B07 lsls r3, r3, #30
8675 0018 06D5 bpl .L278
3196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
8676 .loc 1 3196 5 is_stmt 1 view .LVU2458
3197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8677 .loc 1 3197 5 view .LVU2459
8678 001a 0268 ldr r2, [r0]
8679 001c 5368 ldr r3, [r2, #4]
8680 001e 2849 ldr r1, .L286+4
8681 0020 0B40 ands r3, r1
8682 0022 C16A ldr r1, [r0, #44]
8683 0024 0B43 orrs r3, r1
8684 0026 5360 str r3, [r2, #4]
8685 .L278:
3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8686 .loc 1 3201 3 view .LVU2460
3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8687 .loc 1 3201 6 is_stmt 0 view .LVU2461
8688 0028 436A ldr r3, [r0, #36]
8689 002a 5B07 lsls r3, r3, #29
8690 002c 06D5 bpl .L279
3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
8691 .loc 1 3203 5 is_stmt 1 view .LVU2462
3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8692 .loc 1 3204 5 view .LVU2463
ARM GAS /tmp/ccwvDHH5.s page 268
8693 002e 0268 ldr r2, [r0]
8694 0030 5368 ldr r3, [r2, #4]
8695 0032 2449 ldr r1, .L286+8
8696 0034 0B40 ands r3, r1
8697 0036 016B ldr r1, [r0, #48]
8698 0038 0B43 orrs r3, r1
8699 003a 5360 str r3, [r2, #4]
8700 .L279:
3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8701 .loc 1 3208 3 view .LVU2464
3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8702 .loc 1 3208 6 is_stmt 0 view .LVU2465
8703 003c 436A ldr r3, [r0, #36]
8704 003e 1B07 lsls r3, r3, #28
8705 0040 06D5 bpl .L280
3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
8706 .loc 1 3210 5 is_stmt 1 view .LVU2466
3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8707 .loc 1 3211 5 view .LVU2467
8708 0042 0268 ldr r2, [r0]
8709 0044 5368 ldr r3, [r2, #4]
8710 0046 2049 ldr r1, .L286+12
8711 0048 0B40 ands r3, r1
8712 004a 416B ldr r1, [r0, #52]
8713 004c 0B43 orrs r3, r1
8714 004e 5360 str r3, [r2, #4]
8715 .L280:
3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8716 .loc 1 3215 3 view .LVU2468
3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8717 .loc 1 3215 6 is_stmt 0 view .LVU2469
8718 0050 436A ldr r3, [r0, #36]
8719 0052 DB06 lsls r3, r3, #27
8720 0054 06D5 bpl .L281
3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
8721 .loc 1 3217 5 is_stmt 1 view .LVU2470
3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8722 .loc 1 3218 5 view .LVU2471
8723 0056 0268 ldr r2, [r0]
8724 0058 9368 ldr r3, [r2, #8]
8725 005a 1C49 ldr r1, .L286+16
8726 005c 0B40 ands r3, r1
8727 005e 816B ldr r1, [r0, #56]
8728 0060 0B43 orrs r3, r1
8729 0062 9360 str r3, [r2, #8]
8730 .L281:
3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8731 .loc 1 3222 3 view .LVU2472
3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8732 .loc 1 3222 6 is_stmt 0 view .LVU2473
8733 0064 436A ldr r3, [r0, #36]
8734 0066 9B06 lsls r3, r3, #26
8735 0068 06D5 bpl .L282
3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
8736 .loc 1 3224 5 is_stmt 1 view .LVU2474
3225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8737 .loc 1 3225 5 view .LVU2475
ARM GAS /tmp/ccwvDHH5.s page 269
8738 006a 0268 ldr r2, [r0]
8739 006c 9368 ldr r3, [r2, #8]
8740 006e 1849 ldr r1, .L286+20
8741 0070 0B40 ands r3, r1
8742 0072 C16B ldr r1, [r0, #60]
8743 0074 0B43 orrs r3, r1
8744 0076 9360 str r3, [r2, #8]
8745 .L282:
3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8746 .loc 1 3229 3 view .LVU2476
3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8747 .loc 1 3229 6 is_stmt 0 view .LVU2477
8748 0078 436A ldr r3, [r0, #36]
8749 007a 5B06 lsls r3, r3, #25
8750 007c 0BD5 bpl .L283
3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
8751 .loc 1 3231 5 is_stmt 1 view .LVU2478
3232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
8752 .loc 1 3232 5 view .LVU2479
3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* set auto Baudrate detection parameters if detection is enabled */
8753 .loc 1 3233 5 view .LVU2480
8754 007e 0268 ldr r2, [r0]
8755 0080 5368 ldr r3, [r2, #4]
8756 0082 1449 ldr r1, .L286+24
8757 0084 0B40 ands r3, r1
8758 0086 016C ldr r1, [r0, #64]
8759 0088 0B43 orrs r3, r1
8760 008a 5360 str r3, [r2, #4]
3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8761 .loc 1 3235 5 view .LVU2481
3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8762 .loc 1 3235 8 is_stmt 0 view .LVU2482
8763 008c 8023 movs r3, #128
8764 008e 5B03 lsls r3, r3, #13
8765 0090 026C ldr r2, [r0, #64]
8766 0092 9A42 cmp r2, r3
8767 0094 0AD0 beq .L285
8768 .L283:
3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8769 .loc 1 3243 3 is_stmt 1 view .LVU2483
3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8770 .loc 1 3243 6 is_stmt 0 view .LVU2484
8771 0096 436A ldr r3, [r0, #36]
8772 0098 1B06 lsls r3, r3, #24
8773 009a 06D5 bpl .L276
3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
8774 .loc 1 3245 5 is_stmt 1 view .LVU2485
3246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8775 .loc 1 3246 5 view .LVU2486
8776 009c 0268 ldr r2, [r0]
8777 009e 5368 ldr r3, [r2, #4]
8778 00a0 0D49 ldr r1, .L286+28
8779 00a2 0B40 ands r3, r1
8780 00a4 816C ldr r1, [r0, #72]
8781 00a6 0B43 orrs r3, r1
8782 00a8 5360 str r3, [r2, #4]
8783 .L276:
ARM GAS /tmp/ccwvDHH5.s page 270
3248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8784 .loc 1 3248 1 is_stmt 0 view .LVU2487
8785 @ sp needed
8786 00aa 7047 bx lr
8787 .L285:
3237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
8788 .loc 1 3237 7 is_stmt 1 view .LVU2488
3238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
8789 .loc 1 3238 7 view .LVU2489
8790 00ac 0268 ldr r2, [r0]
8791 00ae 5368 ldr r3, [r2, #4]
8792 00b0 0A49 ldr r1, .L286+32
8793 00b2 0B40 ands r3, r1
8794 00b4 416C ldr r1, [r0, #68]
8795 00b6 0B43 orrs r3, r1
8796 00b8 5360 str r3, [r2, #4]
8797 00ba ECE7 b .L283
8798 .L287:
8799 .align 2
8800 .L286:
8801 00bc FFFFFDFF .word -131073
8802 00c0 FFFFFEFF .word -65537
8803 00c4 FFFFFBFF .word -262145
8804 00c8 FF7FFFFF .word -32769
8805 00cc FFEFFFFF .word -4097
8806 00d0 FFDFFFFF .word -8193
8807 00d4 FFFFEFFF .word -1048577
8808 00d8 FFFFF7FF .word -524289
8809 00dc FFFF9FFF .word -6291457
8810 .cfi_endproc
8811 .LFE84:
8813 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
8814 .align 1
8815 .global UART_WaitOnFlagUntilTimeout
8816 .syntax unified
8817 .code 16
8818 .thumb_func
8819 .fpu softvfp
8821 UART_WaitOnFlagUntilTimeout:
8822 .LVL624:
8823 .LFB86:
3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Wait until flag is set */
8824 .loc 1 3308 1 view -0
8825 .cfi_startproc
8826 @ args = 4, pretend = 0, frame = 0
8827 @ frame_needed = 0, uses_anonymous_args = 0
3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Wait until flag is set */
8828 .loc 1 3308 1 is_stmt 0 view .LVU2491
8829 0000 F0B5 push {r4, r5, r6, r7, lr}
8830 .LCFI36:
8831 .cfi_def_cfa_offset 20
8832 .cfi_offset 4, -20
8833 .cfi_offset 5, -16
8834 .cfi_offset 6, -12
8835 .cfi_offset 7, -8
8836 .cfi_offset 14, -4
8837 0002 C646 mov lr, r8
ARM GAS /tmp/ccwvDHH5.s page 271
8838 0004 00B5 push {lr}
8839 .LCFI37:
8840 .cfi_def_cfa_offset 24
8841 .cfi_offset 8, -24
8842 0006 0500 movs r5, r0
8843 0008 0C00 movs r4, r1
8844 000a 1700 movs r7, r2
8845 000c 9846 mov r8, r3
8846 000e 069E ldr r6, [sp, #24]
3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8847 .loc 1 3310 3 is_stmt 1 view .LVU2492
8848 .LVL625:
8849 .L290:
3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8850 .loc 1 3310 11 is_stmt 0 view .LVU2493
8851 0010 2B68 ldr r3, [r5]
8852 0012 DB69 ldr r3, [r3, #28]
8853 0014 2340 ands r3, r4
3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8854 .loc 1 3310 50 view .LVU2494
8855 0016 1B1B subs r3, r3, r4
8856 0018 5A42 rsbs r2, r3, #0
8857 001a 5341 adcs r3, r3, r2
3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8858 .loc 1 3310 9 view .LVU2495
8859 001c BB42 cmp r3, r7
8860 001e 51D1 bne .L295
3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8861 .loc 1 3313 5 is_stmt 1 view .LVU2496
3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8862 .loc 1 3313 8 is_stmt 0 view .LVU2497
8863 0020 731C adds r3, r6, #1
8864 0022 F5D0 beq .L290
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8865 .loc 1 3315 7 is_stmt 1 view .LVU2498
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8866 .loc 1 3315 13 is_stmt 0 view .LVU2499
8867 0024 FFF7FEFF bl HAL_GetTick
8868 .LVL626:
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8869 .loc 1 3315 27 view .LVU2500
8870 0028 4346 mov r3, r8
8871 002a C01A subs r0, r0, r3
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8872 .loc 1 3315 10 view .LVU2501
8873 002c B042 cmp r0, r6
8874 002e 2BD8 bhi .L291
8875 .LVL627:
3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8876 .loc 1 3315 51 discriminator 1 view .LVU2502
8877 0030 002E cmp r6, #0
8878 0032 29D0 beq .L291
3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8879 .loc 1 3330 7 is_stmt 1 view .LVU2503
3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8880 .loc 1 3330 11 is_stmt 0 view .LVU2504
8881 0034 2B68 ldr r3, [r5]
ARM GAS /tmp/ccwvDHH5.s page 272
8882 .LVL628:
3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8883 .loc 1 3330 11 view .LVU2505
8884 0036 1A68 ldr r2, [r3]
3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8885 .loc 1 3330 10 view .LVU2506
8886 0038 5207 lsls r2, r2, #29
8887 003a E9D5 bpl .L290
3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8888 .loc 1 3332 9 is_stmt 1 view .LVU2507
3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8889 .loc 1 3332 13 is_stmt 0 view .LVU2508
8890 003c DA69 ldr r2, [r3, #28]
3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
8891 .loc 1 3332 12 view .LVU2509
8892 003e 1205 lsls r2, r2, #20
8893 0040 E6D5 bpl .L290
3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8894 .loc 1 3335 11 is_stmt 1 view .LVU2510
8895 0042 8022 movs r2, #128
8896 0044 1201 lsls r2, r2, #4
8897 0046 1A62 str r2, [r3, #32]
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8898 .loc 1 3339 11 view .LVU2511
8899 .LBB1035:
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8900 .loc 1 3339 11 view .LVU2512
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8901 .loc 1 3339 11 view .LVU2513
8902 .LBB1036:
8903 .LBI1036:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8904 .loc 2 382 31 view .LVU2514
8905 .LBB1037:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
8906 .loc 2 384 3 view .LVU2515
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8907 .loc 2 386 3 view .LVU2516
8908 .syntax divided
8909 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8910 0048 EFF31080 MRS r0, primask
8911 @ 0 "" 2
8912 .LVL629:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8913 .loc 2 387 3 view .LVU2517
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8914 .loc 2 387 3 is_stmt 0 view .LVU2518
8915 .thumb
8916 .syntax unified
8917 .LBE1037:
8918 .LBE1036:
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8919 .loc 1 3339 11 is_stmt 1 view .LVU2519
8920 .LBB1038:
8921 .LBI1038:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8922 .loc 2 412 27 view .LVU2520
ARM GAS /tmp/ccwvDHH5.s page 273
8923 .LBB1039:
8924 .loc 2 414 3 view .LVU2521
8925 004c 0122 movs r2, #1
8926 .syntax divided
8927 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8928 004e 82F31088 MSR primask, r2
8929 @ 0 "" 2
8930 .LVL630:
8931 .loc 2 414 3 is_stmt 0 view .LVU2522
8932 .thumb
8933 .syntax unified
8934 .LBE1039:
8935 .LBE1038:
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8936 .loc 1 3339 11 is_stmt 1 view .LVU2523
8937 0052 2968 ldr r1, [r5]
8938 0054 0B68 ldr r3, [r1]
8939 0056 1D4C ldr r4, .L296
8940 .LVL631:
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8941 .loc 1 3339 11 is_stmt 0 view .LVU2524
8942 0058 2340 ands r3, r4
8943 005a 0B60 str r3, [r1]
3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
8944 .loc 1 3339 11 is_stmt 1 view .LVU2525
8945 .LVL632:
8946 .LBB1040:
8947 .LBI1040:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8948 .loc 2 412 27 view .LVU2526
8949 .LBB1041:
8950 .loc 2 414 3 view .LVU2527
8951 .syntax divided
8952 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8953 005c 80F31088 MSR primask, r0
8954 @ 0 "" 2
8955 .LVL633:
8956 .loc 2 414 3 is_stmt 0 view .LVU2528
8957 .thumb
8958 .syntax unified
8959 .LBE1041:
8960 .LBE1040:
8961 .LBE1035:
3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8962 .loc 1 3340 11 is_stmt 1 view .LVU2529
8963 .LBB1042:
3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8964 .loc 1 3340 11 view .LVU2530
3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8965 .loc 1 3340 11 view .LVU2531
8966 .LBB1043:
8967 .LBI1043:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8968 .loc 2 382 31 view .LVU2532
8969 .LBB1044:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
8970 .loc 2 384 3 view .LVU2533
ARM GAS /tmp/ccwvDHH5.s page 274
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
8971 .loc 2 386 3 view .LVU2534
8972 .syntax divided
8973 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8974 0060 EFF31080 MRS r0, primask
8975 @ 0 "" 2
8976 .LVL634:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8977 .loc 2 387 3 view .LVU2535
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
8978 .loc 2 387 3 is_stmt 0 view .LVU2536
8979 .thumb
8980 .syntax unified
8981 .LBE1044:
8982 .LBE1043:
3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8983 .loc 1 3340 11 is_stmt 1 view .LVU2537
8984 .LBB1045:
8985 .LBI1045:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
8986 .loc 2 412 27 view .LVU2538
8987 .LBB1046:
8988 .loc 2 414 3 view .LVU2539
8989 .syntax divided
8990 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
8991 0064 82F31088 MSR primask, r2
8992 @ 0 "" 2
8993 .LVL635:
8994 .loc 2 414 3 is_stmt 0 view .LVU2540
8995 .thumb
8996 .syntax unified
8997 .LBE1046:
8998 .LBE1045:
3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
8999 .loc 1 3340 11 is_stmt 1 view .LVU2541
9000 0068 2968 ldr r1, [r5]
9001 006a 8B68 ldr r3, [r1, #8]
9002 006c 9343 bics r3, r2
9003 006e 8B60 str r3, [r1, #8]
3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9004 .loc 1 3340 11 view .LVU2542
9005 .LVL636:
9006 .LBB1047:
9007 .LBI1047:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9008 .loc 2 412 27 view .LVU2543
9009 .LBB1048:
9010 .loc 2 414 3 view .LVU2544
9011 .syntax divided
9012 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9013 0070 80F31088 MSR primask, r0
9014 @ 0 "" 2
9015 .LVL637:
9016 .loc 2 414 3 is_stmt 0 view .LVU2545
9017 .thumb
9018 .syntax unified
9019 .LBE1048:
ARM GAS /tmp/ccwvDHH5.s page 275
9020 .LBE1047:
9021 .LBE1042:
3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9022 .loc 1 3342 11 is_stmt 1 view .LVU2546
3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9023 .loc 1 3342 25 is_stmt 0 view .LVU2547
9024 0074 2023 movs r3, #32
9025 0076 AB67 str r3, [r5, #120]
3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
9026 .loc 1 3343 11 is_stmt 1 view .LVU2548
3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_RTO;
9027 .loc 1 3343 26 is_stmt 0 view .LVU2549
9028 0078 EB67 str r3, [r5, #124]
3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9029 .loc 1 3344 11 is_stmt 1 view .LVU2550
3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9030 .loc 1 3344 28 is_stmt 0 view .LVU2551
9031 007a 7F32 adds r2, r2, #127
9032 007c AB50 str r3, [r5, r2]
3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9033 .loc 1 3347 11 is_stmt 1 view .LVU2552
3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9034 .loc 1 3347 11 view .LVU2553
9035 007e 5433 adds r3, r3, #84
9036 0080 0022 movs r2, #0
9037 0082 EA54 strb r2, [r5, r3]
3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9038 .loc 1 3349 11 view .LVU2554
3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9039 .loc 1 3349 18 is_stmt 0 view .LVU2555
9040 0084 0320 movs r0, #3
9041 .LVL638:
3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9042 .loc 1 3349 18 view .LVU2556
9043 0086 1EE0 b .L293
9044 .LVL639:
9045 .L291:
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9046 .loc 1 3319 9 is_stmt 1 view .LVU2557
9047 .LBB1049:
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9048 .loc 1 3319 9 view .LVU2558
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9049 .loc 1 3319 9 view .LVU2559
9050 .LBB1050:
9051 .LBI1050:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9052 .loc 2 382 31 view .LVU2560
9053 .LBB1051:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
9054 .loc 2 384 3 view .LVU2561
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9055 .loc 2 386 3 view .LVU2562
9056 .syntax divided
9057 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9058 0088 EFF31080 MRS r0, primask
9059 @ 0 "" 2
ARM GAS /tmp/ccwvDHH5.s page 276
9060 .LVL640:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9061 .loc 2 387 3 view .LVU2563
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9062 .loc 2 387 3 is_stmt 0 view .LVU2564
9063 .thumb
9064 .syntax unified
9065 .LBE1051:
9066 .LBE1050:
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9067 .loc 1 3319 9 is_stmt 1 view .LVU2565
9068 .LBB1052:
9069 .LBI1052:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9070 .loc 2 412 27 view .LVU2566
9071 .LBB1053:
9072 .loc 2 414 3 view .LVU2567
9073 008c 0122 movs r2, #1
9074 .syntax divided
9075 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9076 008e 82F31088 MSR primask, r2
9077 @ 0 "" 2
9078 .LVL641:
9079 .loc 2 414 3 is_stmt 0 view .LVU2568
9080 .thumb
9081 .syntax unified
9082 .LBE1053:
9083 .LBE1052:
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9084 .loc 1 3319 9 is_stmt 1 view .LVU2569
9085 0092 2968 ldr r1, [r5]
9086 0094 0B68 ldr r3, [r1]
9087 .LVL642:
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9088 .loc 1 3319 9 is_stmt 0 view .LVU2570
9089 0096 0D4C ldr r4, .L296
9090 .LVL643:
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9091 .loc 1 3319 9 view .LVU2571
9092 0098 2340 ands r3, r4
9093 009a 0B60 str r3, [r1]
3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
9094 .loc 1 3319 9 is_stmt 1 view .LVU2572
9095 .LVL644:
9096 .LBB1054:
9097 .LBI1054:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9098 .loc 2 412 27 view .LVU2573
9099 .LBB1055:
9100 .loc 2 414 3 view .LVU2574
9101 .syntax divided
9102 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9103 009c 80F31088 MSR primask, r0
9104 @ 0 "" 2
9105 .LVL645:
9106 .loc 2 414 3 is_stmt 0 view .LVU2575
9107 .thumb
ARM GAS /tmp/ccwvDHH5.s page 277
9108 .syntax unified
9109 .LBE1055:
9110 .LBE1054:
9111 .LBE1049:
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9112 .loc 1 3320 9 is_stmt 1 view .LVU2576
9113 .LBB1056:
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9114 .loc 1 3320 9 view .LVU2577
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9115 .loc 1 3320 9 view .LVU2578
9116 .LBB1057:
9117 .LBI1057:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9118 .loc 2 382 31 view .LVU2579
9119 .LBB1058:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
9120 .loc 2 384 3 view .LVU2580
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
9121 .loc 2 386 3 view .LVU2581
9122 .syntax divided
9123 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9124 00a0 EFF31080 MRS r0, primask
9125 @ 0 "" 2
9126 .LVL646:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9127 .loc 2 387 3 view .LVU2582
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
9128 .loc 2 387 3 is_stmt 0 view .LVU2583
9129 .thumb
9130 .syntax unified
9131 .LBE1058:
9132 .LBE1057:
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9133 .loc 1 3320 9 is_stmt 1 view .LVU2584
9134 .LBB1059:
9135 .LBI1059:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9136 .loc 2 412 27 view .LVU2585
9137 .LBB1060:
9138 .loc 2 414 3 view .LVU2586
9139 .syntax divided
9140 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9141 00a4 82F31088 MSR primask, r2
9142 @ 0 "" 2
9143 .LVL647:
9144 .loc 2 414 3 is_stmt 0 view .LVU2587
9145 .thumb
9146 .syntax unified
9147 .LBE1060:
9148 .LBE1059:
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9149 .loc 1 3320 9 is_stmt 1 view .LVU2588
9150 00a8 2968 ldr r1, [r5]
9151 00aa 8B68 ldr r3, [r1, #8]
9152 00ac 9343 bics r3, r2
9153 00ae 8B60 str r3, [r1, #8]
ARM GAS /tmp/ccwvDHH5.s page 278
3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9154 .loc 1 3320 9 view .LVU2589
9155 .LVL648:
9156 .LBB1061:
9157 .LBI1061:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
9158 .loc 2 412 27 view .LVU2590
9159 .LBB1062:
9160 .loc 2 414 3 view .LVU2591
9161 .syntax divided
9162 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
9163 00b0 80F31088 MSR primask, r0
9164 @ 0 "" 2
9165 .LVL649:
9166 .loc 2 414 3 is_stmt 0 view .LVU2592
9167 .thumb
9168 .syntax unified
9169 .LBE1062:
9170 .LBE1061:
9171 .LBE1056:
3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9172 .loc 1 3322 9 is_stmt 1 view .LVU2593
3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9173 .loc 1 3322 23 is_stmt 0 view .LVU2594
9174 00b4 2023 movs r3, #32
9175 00b6 AB67 str r3, [r5, #120]
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9176 .loc 1 3323 9 is_stmt 1 view .LVU2595
3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9177 .loc 1 3323 24 is_stmt 0 view .LVU2596
9178 00b8 EB67 str r3, [r5, #124]
3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9179 .loc 1 3325 9 is_stmt 1 view .LVU2597
3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9180 .loc 1 3325 9 view .LVU2598
9181 00ba 5433 adds r3, r3, #84
9182 00bc 0022 movs r2, #0
9183 00be EA54 strb r2, [r5, r3]
3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9184 .loc 1 3327 9 view .LVU2599
3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9185 .loc 1 3327 16 is_stmt 0 view .LVU2600
9186 00c0 0320 movs r0, #3
9187 .LVL650:
3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9188 .loc 1 3327 16 view .LVU2601
9189 00c2 00E0 b .L293
9190 .LVL651:
9191 .L295:
3354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9192 .loc 1 3354 10 view .LVU2602
9193 00c4 0020 movs r0, #0
9194 .LVL652:
9195 .L293:
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9196 .loc 1 3355 1 view .LVU2603
9197 @ sp needed
ARM GAS /tmp/ccwvDHH5.s page 279
9198 .LVL653:
9199 .LVL654:
3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9200 .loc 1 3355 1 view .LVU2604
9201 00c6 04BC pop {r2}
9202 00c8 9046 mov r8, r2
9203 00ca F0BD pop {r4, r5, r6, r7, pc}
9204 .L297:
9205 .align 2
9206 .L296:
9207 00cc 5FFEFFFF .word -417
9208 .cfi_endproc
9209 .LFE86:
9211 .section .text.HAL_UART_Transmit,"ax",%progbits
9212 .align 1
9213 .global HAL_UART_Transmit
9214 .syntax unified
9215 .code 16
9216 .thumb_func
9217 .fpu softvfp
9219 HAL_UART_Transmit:
9220 .LVL655:
9221 .LFB47:
1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits;
9222 .loc 1 1154 1 is_stmt 1 view -0
9223 .cfi_startproc
9224 @ args = 0, pretend = 0, frame = 8
9225 @ frame_needed = 0, uses_anonymous_args = 0
1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits;
9226 .loc 1 1154 1 is_stmt 0 view .LVU2606
9227 0000 F0B5 push {r4, r5, r6, r7, lr}
9228 .LCFI38:
9229 .cfi_def_cfa_offset 20
9230 .cfi_offset 4, -20
9231 .cfi_offset 5, -16
9232 .cfi_offset 6, -12
9233 .cfi_offset 7, -8
9234 .cfi_offset 14, -4
9235 0002 85B0 sub sp, sp, #20
9236 .LCFI39:
9237 .cfi_def_cfa_offset 40
9238 0004 0400 movs r4, r0
9239 0006 0E00 movs r6, r1
9240 0008 1500 movs r5, r2
9241 000a 1F00 movs r7, r3
1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *pdata16bits;
9242 .loc 1 1155 3 is_stmt 1 view .LVU2607
1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart;
9243 .loc 1 1156 3 view .LVU2608
1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9244 .loc 1 1157 3 view .LVU2609
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9245 .loc 1 1160 3 view .LVU2610
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9246 .loc 1 1160 12 is_stmt 0 view .LVU2611
9247 000c 836F ldr r3, [r0, #120]
9248 .LVL656:
ARM GAS /tmp/ccwvDHH5.s page 280
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9249 .loc 1 1160 6 view .LVU2612
9250 000e 202B cmp r3, #32
9251 0010 60D1 bne .L306
1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9252 .loc 1 1162 5 is_stmt 1 view .LVU2613
1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9253 .loc 1 1162 8 is_stmt 0 view .LVU2614
9254 0012 0029 cmp r1, #0
9255 0014 61D0 beq .L307
1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9256 .loc 1 1162 25 discriminator 1 view .LVU2615
9257 0016 002A cmp r2, #0
9258 0018 61D0 beq .L308
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9259 .loc 1 1170 5 is_stmt 1 view .LVU2616
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9260 .loc 1 1170 8 is_stmt 0 view .LVU2617
9261 001a 8023 movs r3, #128
9262 001c 5B01 lsls r3, r3, #5
9263 001e 8268 ldr r2, [r0, #8]
9264 .LVL657:
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9265 .loc 1 1170 8 view .LVU2618
9266 0020 9A42 cmp r2, r3
9267 0022 1CD0 beq .L315
9268 .L300:
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9269 .loc 1 1178 5 is_stmt 1 view .LVU2619
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9270 .loc 1 1178 5 view .LVU2620
9271 0024 7423 movs r3, #116
9272 0026 E35C ldrb r3, [r4, r3]
9273 0028 012B cmp r3, #1
9274 002a 5AD0 beq .L310
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9275 .loc 1 1178 5 discriminator 2 view .LVU2621
9276 002c 7423 movs r3, #116
9277 002e 0122 movs r2, #1
9278 0030 E254 strb r2, [r4, r3]
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
9279 .loc 1 1180 5 discriminator 2 view .LVU2622
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
9280 .loc 1 1180 22 is_stmt 0 discriminator 2 view .LVU2623
9281 0032 0C33 adds r3, r3, #12
9282 0034 0022 movs r2, #0
9283 0036 E250 str r2, [r4, r3]
1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9284 .loc 1 1181 5 is_stmt 1 discriminator 2 view .LVU2624
1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9285 .loc 1 1181 19 is_stmt 0 discriminator 2 view .LVU2625
9286 0038 5F3B subs r3, r3, #95
9287 003a A367 str r3, [r4, #120]
1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9288 .loc 1 1184 5 is_stmt 1 discriminator 2 view .LVU2626
1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9289 .loc 1 1184 17 is_stmt 0 discriminator 2 view .LVU2627
ARM GAS /tmp/ccwvDHH5.s page 281
9290 003c FFF7FEFF bl HAL_GetTick
9291 .LVL658:
1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9292 .loc 1 1184 17 discriminator 2 view .LVU2628
9293 0040 0390 str r0, [sp, #12]
9294 .LVL659:
1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size;
9295 .loc 1 1186 5 is_stmt 1 discriminator 2 view .LVU2629
1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->TxXferCount = Size;
9296 .loc 1 1186 24 is_stmt 0 discriminator 2 view .LVU2630
9297 0042 5023 movs r3, #80
9298 0044 E552 strh r5, [r4, r3]
1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9299 .loc 1 1187 5 is_stmt 1 discriminator 2 view .LVU2631
1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9300 .loc 1 1187 24 is_stmt 0 discriminator 2 view .LVU2632
9301 0046 0233 adds r3, r3, #2
9302 0048 E552 strh r5, [r4, r3]
1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9303 .loc 1 1190 5 is_stmt 1 discriminator 2 view .LVU2633
1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9304 .loc 1 1190 8 is_stmt 0 discriminator 2 view .LVU2634
9305 004a 8023 movs r3, #128
9306 004c 5B01 lsls r3, r3, #5
9307 004e A268 ldr r2, [r4, #8]
9308 0050 9A42 cmp r2, r3
9309 0052 0BD0 beq .L316
1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9310 .loc 1 1198 19 view .LVU2635
9311 0054 0025 movs r5, #0
9312 .LVL660:
9313 .L301:
1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9314 .loc 1 1201 5 is_stmt 1 view .LVU2636
1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9315 .loc 1 1201 5 view .LVU2637
9316 0056 7423 movs r3, #116
9317 0058 0022 movs r2, #0
9318 005a E254 strb r2, [r4, r3]
1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9319 .loc 1 1203 5 view .LVU2638
1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9320 .loc 1 1203 11 is_stmt 0 view .LVU2639
9321 005c 19E0 b .L302
9322 .LVL661:
9323 .L315:
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9324 .loc 1 1170 56 discriminator 1 view .LVU2640
9325 005e 0369 ldr r3, [r0, #16]
9326 0060 002B cmp r3, #0
9327 0062 DFD1 bne .L300
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9328 .loc 1 1172 7 is_stmt 1 view .LVU2641
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9329 .loc 1 1172 10 is_stmt 0 view .LVU2642
9330 0064 CB07 lsls r3, r1, #31
9331 0066 DDD5 bpl .L300
ARM GAS /tmp/ccwvDHH5.s page 282
1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9332 .loc 1 1174 17 view .LVU2643
9333 0068 0120 movs r0, #1
9334 .LVL662:
1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9335 .loc 1 1174 17 view .LVU2644
9336 006a 34E0 b .L299
9337 .LVL663:
9338 .L316:
1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9339 .loc 1 1190 56 discriminator 1 view .LVU2645
9340 006c 2369 ldr r3, [r4, #16]
9341 006e 002B cmp r3, #0
9342 0070 01D0 beq .L312
1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9343 .loc 1 1198 19 view .LVU2646
9344 0072 0025 movs r5, #0
9345 0074 EFE7 b .L301
9346 .L312:
1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9347 .loc 1 1193 19 view .LVU2647
9348 0076 3500 movs r5, r6
1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
9349 .loc 1 1192 19 view .LVU2648
9350 0078 0026 movs r6, #0
9351 .LVL664:
1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
9352 .loc 1 1192 19 view .LVU2649
9353 007a ECE7 b .L301
9354 .LVL665:
9355 .L318:
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++;
9356 .loc 1 1211 9 is_stmt 1 view .LVU2650
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++;
9357 .loc 1 1211 43 is_stmt 0 view .LVU2651
9358 007c 2B88 ldrh r3, [r5]
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++;
9359 .loc 1 1211 32 view .LVU2652
9360 007e DB05 lsls r3, r3, #23
9361 0080 DB0D lsrs r3, r3, #23
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++;
9362 .loc 1 1211 30 view .LVU2653
9363 0082 2268 ldr r2, [r4]
9364 0084 1385 strh r3, [r2, #40]
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9365 .loc 1 1212 9 is_stmt 1 view .LVU2654
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9366 .loc 1 1212 20 is_stmt 0 view .LVU2655
9367 0086 0235 adds r5, r5, #2
9368 .LVL666:
9369 .L304:
1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9370 .loc 1 1219 7 is_stmt 1 view .LVU2656
1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9371 .loc 1 1219 12 is_stmt 0 view .LVU2657
9372 0088 5222 movs r2, #82
9373 008a A35A ldrh r3, [r4, r2]
ARM GAS /tmp/ccwvDHH5.s page 283
1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9374 .loc 1 1219 25 view .LVU2658
9375 008c 013B subs r3, r3, #1
9376 008e 9BB2 uxth r3, r3
9377 0090 A352 strh r3, [r4, r2]
9378 .L302:
1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9379 .loc 1 1203 17 view .LVU2659
9380 0092 5223 movs r3, #82
9381 0094 E35A ldrh r3, [r4, r3]
9382 0096 9BB2 uxth r3, r3
1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9383 .loc 1 1203 11 view .LVU2660
9384 0098 002B cmp r3, #0
9385 009a 0FD0 beq .L317
1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9386 .loc 1 1205 7 is_stmt 1 view .LVU2661
1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9387 .loc 1 1205 11 is_stmt 0 view .LVU2662
9388 009c 0097 str r7, [sp]
9389 009e 039B ldr r3, [sp, #12]
9390 00a0 0022 movs r2, #0
9391 00a2 8021 movs r1, #128
9392 00a4 2000 movs r0, r4
9393 00a6 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
9394 .LVL667:
1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9395 .loc 1 1205 10 view .LVU2663
9396 00aa 0028 cmp r0, #0
9397 00ac 1BD1 bne .L313
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9398 .loc 1 1209 7 is_stmt 1 view .LVU2664
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9399 .loc 1 1209 10 is_stmt 0 view .LVU2665
9400 00ae 002E cmp r6, #0
9401 00b0 E4D0 beq .L318
1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++;
9402 .loc 1 1216 9 is_stmt 1 view .LVU2666
1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++;
9403 .loc 1 1216 32 is_stmt 0 view .LVU2667
9404 00b2 3378 ldrb r3, [r6]
1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++;
9405 .loc 1 1216 30 view .LVU2668
9406 00b4 2268 ldr r2, [r4]
9407 00b6 1385 strh r3, [r2, #40]
1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9408 .loc 1 1217 9 is_stmt 1 view .LVU2669
1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9409 .loc 1 1217 19 is_stmt 0 view .LVU2670
9410 00b8 0136 adds r6, r6, #1
9411 .LVL668:
1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9412 .loc 1 1217 19 view .LVU2671
9413 00ba E5E7 b .L304
9414 .L317:
1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9415 .loc 1 1222 5 is_stmt 1 view .LVU2672
ARM GAS /tmp/ccwvDHH5.s page 284
1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9416 .loc 1 1222 9 is_stmt 0 view .LVU2673
9417 00bc 0097 str r7, [sp]
9418 00be 039B ldr r3, [sp, #12]
9419 00c0 0022 movs r2, #0
9420 00c2 4021 movs r1, #64
9421 00c4 2000 movs r0, r4
9422 00c6 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
9423 .LVL669:
1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9424 .loc 1 1222 8 view .LVU2674
9425 00ca 0028 cmp r0, #0
9426 00cc 0DD1 bne .L314
1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9427 .loc 1 1228 5 is_stmt 1 view .LVU2675
1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9428 .loc 1 1228 19 is_stmt 0 view .LVU2676
9429 00ce 2023 movs r3, #32
9430 00d0 A367 str r3, [r4, #120]
1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9431 .loc 1 1230 5 is_stmt 1 view .LVU2677
1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9432 .loc 1 1230 12 is_stmt 0 view .LVU2678
9433 00d2 00E0 b .L299
9434 .LVL670:
9435 .L306:
1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9436 .loc 1 1234 12 view .LVU2679
9437 00d4 0220 movs r0, #2
9438 .LVL671:
9439 .L299:
1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9440 .loc 1 1236 1 view .LVU2680
9441 00d6 05B0 add sp, sp, #20
9442 @ sp needed
9443 .LVL672:
9444 .LVL673:
1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9445 .loc 1 1236 1 view .LVU2681
9446 00d8 F0BD pop {r4, r5, r6, r7, pc}
9447 .LVL674:
9448 .L307:
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9449 .loc 1 1164 15 view .LVU2682
9450 00da 0120 movs r0, #1
9451 .LVL675:
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9452 .loc 1 1164 15 view .LVU2683
9453 00dc FBE7 b .L299
9454 .LVL676:
9455 .L308:
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9456 .loc 1 1164 15 view .LVU2684
9457 00de 0120 movs r0, #1
9458 .LVL677:
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9459 .loc 1 1164 15 view .LVU2685
ARM GAS /tmp/ccwvDHH5.s page 285
9460 00e0 F9E7 b .L299
9461 .LVL678:
9462 .L310:
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9463 .loc 1 1178 5 view .LVU2686
9464 00e2 0220 movs r0, #2
9465 .LVL679:
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9466 .loc 1 1178 5 view .LVU2687
9467 00e4 F7E7 b .L299
9468 .LVL680:
9469 .L313:
1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9470 .loc 1 1207 16 view .LVU2688
9471 00e6 0320 movs r0, #3
9472 00e8 F5E7 b .L299
9473 .L314:
1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9474 .loc 1 1224 14 view .LVU2689
9475 00ea 0320 movs r0, #3
9476 00ec F3E7 b .L299
9477 .cfi_endproc
9478 .LFE47:
9480 .section .text.HAL_UART_Receive,"ax",%progbits
9481 .align 1
9482 .global HAL_UART_Receive
9483 .syntax unified
9484 .code 16
9485 .thumb_func
9486 .fpu softvfp
9488 HAL_UART_Receive:
9489 .LVL681:
9490 .LFB48:
1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits;
9491 .loc 1 1255 1 is_stmt 1 view -0
9492 .cfi_startproc
9493 @ args = 0, pretend = 0, frame = 8
9494 @ frame_needed = 0, uses_anonymous_args = 0
1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint8_t *pdata8bits;
9495 .loc 1 1255 1 is_stmt 0 view .LVU2691
9496 0000 F0B5 push {r4, r5, r6, r7, lr}
9497 .LCFI40:
9498 .cfi_def_cfa_offset 20
9499 .cfi_offset 4, -20
9500 .cfi_offset 5, -16
9501 .cfi_offset 6, -12
9502 .cfi_offset 7, -8
9503 .cfi_offset 14, -4
9504 0002 C646 mov lr, r8
9505 0004 00B5 push {lr}
9506 .LCFI41:
9507 .cfi_def_cfa_offset 24
9508 .cfi_offset 8, -24
9509 0006 84B0 sub sp, sp, #16
9510 .LCFI42:
9511 .cfi_def_cfa_offset 40
9512 0008 0400 movs r4, r0
ARM GAS /tmp/ccwvDHH5.s page 286
9513 000a 0F00 movs r7, r1
9514 000c 1600 movs r6, r2
9515 000e 9846 mov r8, r3
1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t *pdata16bits;
9516 .loc 1 1256 3 is_stmt 1 view .LVU2692
1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint16_t uhMask;
9517 .loc 1 1257 3 view .LVU2693
1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart;
9518 .loc 1 1258 3 view .LVU2694
1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9519 .loc 1 1259 3 view .LVU2695
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9520 .loc 1 1262 3 view .LVU2696
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9521 .loc 1 1262 12 is_stmt 0 view .LVU2697
9522 0010 C36F ldr r3, [r0, #124]
9523 .LVL682:
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9524 .loc 1 1262 6 view .LVU2698
9525 0012 202B cmp r3, #32
9526 0014 00D0 beq .LCB7739
9527 0016 8EE0 b .L334 @long jump
9528 .LCB7739:
1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9529 .loc 1 1264 5 is_stmt 1 view .LVU2699
1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9530 .loc 1 1264 8 is_stmt 0 view .LVU2700
9531 0018 0029 cmp r1, #0
9532 001a 00D1 bne .LCB7742
9533 001c 90E0 b .L335 @long jump
9534 .LCB7742:
1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9535 .loc 1 1264 25 discriminator 1 view .LVU2701
9536 001e 002A cmp r2, #0
9537 0020 00D1 bne .LCB7744
9538 0022 8FE0 b .L336 @long jump
9539 .LCB7744:
1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9540 .loc 1 1272 5 is_stmt 1 view .LVU2702
1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9541 .loc 1 1272 8 is_stmt 0 view .LVU2703
9542 0024 8023 movs r3, #128
9543 0026 5B01 lsls r3, r3, #5
9544 0028 8268 ldr r2, [r0, #8]
9545 .LVL683:
1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9546 .loc 1 1272 8 view .LVU2704
9547 002a 9A42 cmp r2, r3
9548 002c 22D0 beq .L342
9549 .L321:
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9550 .loc 1 1280 5 is_stmt 1 view .LVU2705
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9551 .loc 1 1280 5 view .LVU2706
9552 002e 7423 movs r3, #116
9553 0030 E35C ldrb r3, [r4, r3]
9554 0032 012B cmp r3, #1
ARM GAS /tmp/ccwvDHH5.s page 287
9555 0034 00D1 bne .LCB7759
9556 0036 87E0 b .L338 @long jump
9557 .LCB7759:
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9558 .loc 1 1280 5 discriminator 2 view .LVU2707
9559 0038 7423 movs r3, #116
9560 003a 0122 movs r2, #1
9561 003c E254 strb r2, [r4, r3]
1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
9562 .loc 1 1282 5 discriminator 2 view .LVU2708
1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
9563 .loc 1 1282 22 is_stmt 0 discriminator 2 view .LVU2709
9564 003e 0023 movs r3, #0
9565 0040 7F32 adds r2, r2, #127
9566 0042 A350 str r3, [r4, r2]
1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
9567 .loc 1 1283 5 is_stmt 1 discriminator 2 view .LVU2710
1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
9568 .loc 1 1283 20 is_stmt 0 discriminator 2 view .LVU2711
9569 0044 5E3A subs r2, r2, #94
9570 0046 E267 str r2, [r4, #124]
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9571 .loc 1 1284 5 is_stmt 1 discriminator 2 view .LVU2712
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9572 .loc 1 1284 26 is_stmt 0 discriminator 2 view .LVU2713
9573 0048 2366 str r3, [r4, #96]
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9574 .loc 1 1287 5 is_stmt 1 discriminator 2 view .LVU2714
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9575 .loc 1 1287 17 is_stmt 0 discriminator 2 view .LVU2715
9576 004a FFF7FEFF bl HAL_GetTick
9577 .LVL684:
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9578 .loc 1 1287 17 discriminator 2 view .LVU2716
9579 004e 0390 str r0, [sp, #12]
9580 .LVL685:
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size;
9581 .loc 1 1289 5 is_stmt 1 discriminator 2 view .LVU2717
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size;
9582 .loc 1 1289 24 is_stmt 0 discriminator 2 view .LVU2718
9583 0050 5823 movs r3, #88
9584 0052 E652 strh r6, [r4, r3]
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9585 .loc 1 1290 5 is_stmt 1 discriminator 2 view .LVU2719
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9586 .loc 1 1290 24 is_stmt 0 discriminator 2 view .LVU2720
9587 0054 0233 adds r3, r3, #2
9588 0056 E652 strh r6, [r4, r3]
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9589 .loc 1 1293 5 is_stmt 1 discriminator 2 view .LVU2721
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9590 .loc 1 1293 5 discriminator 2 view .LVU2722
9591 0058 A368 ldr r3, [r4, #8]
9592 005a 8022 movs r2, #128
9593 005c 5201 lsls r2, r2, #5
9594 005e 9342 cmp r3, r2
9595 0060 0FD0 beq .L343
ARM GAS /tmp/ccwvDHH5.s page 288
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9596 .loc 1 1293 5 discriminator 2 view .LVU2723
9597 0062 002B cmp r3, #0
9598 0064 1CD1 bne .L325
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9599 .loc 1 1293 5 discriminator 5 view .LVU2724
9600 0066 2269 ldr r2, [r4, #16]
9601 0068 002A cmp r2, #0
9602 006a 15D1 bne .L326
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9603 .loc 1 1293 5 discriminator 7 view .LVU2725
9604 006c 5C32 adds r2, r2, #92
9605 006e FF21 movs r1, #255
9606 0070 A152 strh r1, [r4, r2]
9607 0072 1CE0 b .L324
9608 .LVL686:
9609 .L342:
1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9610 .loc 1 1272 56 is_stmt 0 discriminator 1 view .LVU2726
9611 0074 0369 ldr r3, [r0, #16]
9612 0076 002B cmp r3, #0
9613 0078 D9D1 bne .L321
1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9614 .loc 1 1274 7 is_stmt 1 view .LVU2727
1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9615 .loc 1 1274 10 is_stmt 0 view .LVU2728
9616 007a CB07 lsls r3, r1, #31
9617 007c D7D5 bpl .L321
1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9618 .loc 1 1276 17 view .LVU2729
9619 007e 0120 movs r0, #1
9620 .LVL687:
1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9621 .loc 1 1276 17 view .LVU2730
9622 0080 5AE0 b .L320
9623 .LVL688:
9624 .L343:
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9625 .loc 1 1293 5 is_stmt 1 discriminator 1 view .LVU2731
9626 0082 2269 ldr r2, [r4, #16]
9627 0084 002A cmp r2, #0
9628 0086 03D1 bne .L323
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9629 .loc 1 1293 5 discriminator 3 view .LVU2732
9630 0088 5C32 adds r2, r2, #92
9631 008a 3149 ldr r1, .L348
9632 008c A152 strh r1, [r4, r2]
9633 008e 0EE0 b .L324
9634 .L323:
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9635 .loc 1 1293 5 discriminator 4 view .LVU2733
9636 0090 5C22 movs r2, #92
9637 0092 FF21 movs r1, #255
9638 0094 A152 strh r1, [r4, r2]
9639 0096 0AE0 b .L324
9640 .L326:
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
ARM GAS /tmp/ccwvDHH5.s page 289
9641 .loc 1 1293 5 discriminator 8 view .LVU2734
9642 0098 5C22 movs r2, #92
9643 009a 7F21 movs r1, #127
9644 009c A152 strh r1, [r4, r2]
9645 009e 06E0 b .L324
9646 .L325:
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9647 .loc 1 1293 5 discriminator 6 view .LVU2735
9648 00a0 8022 movs r2, #128
9649 00a2 5205 lsls r2, r2, #21
9650 00a4 9342 cmp r3, r2
9651 00a6 0DD0 beq .L344
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9652 .loc 1 1293 5 discriminator 10 view .LVU2736
9653 00a8 5C22 movs r2, #92
9654 00aa 0021 movs r1, #0
9655 00ac A152 strh r1, [r4, r2]
9656 .L324:
1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9657 .loc 1 1294 5 view .LVU2737
1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9658 .loc 1 1294 12 is_stmt 0 view .LVU2738
9659 00ae 5C22 movs r2, #92
9660 00b0 A65A ldrh r6, [r4, r2]
9661 .LVL689:
1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9662 .loc 1 1297 5 is_stmt 1 view .LVU2739
1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9663 .loc 1 1297 8 is_stmt 0 view .LVU2740
9664 00b2 8022 movs r2, #128
9665 00b4 5201 lsls r2, r2, #5
9666 00b6 9342 cmp r3, r2
9667 00b8 0FD0 beq .L345
1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9668 .loc 1 1305 19 view .LVU2741
9669 00ba 0025 movs r5, #0
9670 .LVL690:
9671 .L329:
1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9672 .loc 1 1308 5 is_stmt 1 view .LVU2742
1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9673 .loc 1 1308 5 view .LVU2743
9674 00bc 7423 movs r3, #116
9675 00be 0022 movs r2, #0
9676 00c0 E254 strb r2, [r4, r3]
1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9677 .loc 1 1311 5 view .LVU2744
1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9678 .loc 1 1311 11 is_stmt 0 view .LVU2745
9679 00c2 1CE0 b .L330
9680 .LVL691:
9681 .L344:
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9682 .loc 1 1293 5 is_stmt 1 discriminator 9 view .LVU2746
9683 00c4 2269 ldr r2, [r4, #16]
9684 00c6 002A cmp r2, #0
9685 00c8 03D1 bne .L328
ARM GAS /tmp/ccwvDHH5.s page 290
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9686 .loc 1 1293 5 discriminator 11 view .LVU2747
9687 00ca 5C32 adds r2, r2, #92
9688 00cc 7F21 movs r1, #127
9689 00ce A152 strh r1, [r4, r2]
9690 00d0 EDE7 b .L324
9691 .L328:
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uhMask = huart->Mask;
9692 .loc 1 1293 5 discriminator 12 view .LVU2748
9693 00d2 5C22 movs r2, #92
9694 00d4 3F21 movs r1, #63
9695 00d6 A152 strh r1, [r4, r2]
9696 00d8 E9E7 b .L324
9697 .LVL692:
9698 .L345:
1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9699 .loc 1 1297 56 is_stmt 0 discriminator 1 view .LVU2749
9700 00da 2369 ldr r3, [r4, #16]
9701 00dc 002B cmp r3, #0
9702 00de 01D0 beq .L340
1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9703 .loc 1 1305 19 view .LVU2750
9704 00e0 0025 movs r5, #0
9705 00e2 EBE7 b .L329
9706 .L340:
1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9707 .loc 1 1300 19 view .LVU2751
9708 00e4 3D00 movs r5, r7
1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
9709 .loc 1 1299 19 view .LVU2752
9710 00e6 0027 movs r7, #0
9711 .LVL693:
1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits = (uint16_t *) pData;
9712 .loc 1 1299 19 view .LVU2753
9713 00e8 E8E7 b .L329
9714 .LVL694:
9715 .L347:
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++;
9716 .loc 1 1319 9 is_stmt 1 view .LVU2754
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++;
9717 .loc 1 1319 50 is_stmt 0 view .LVU2755
9718 00ea 2368 ldr r3, [r4]
9719 00ec 9B8C ldrh r3, [r3, #36]
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++;
9720 .loc 1 1319 24 view .LVU2756
9721 00ee 3340 ands r3, r6
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata16bits++;
9722 .loc 1 1319 22 view .LVU2757
9723 00f0 2B80 strh r3, [r5]
1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9724 .loc 1 1320 9 is_stmt 1 view .LVU2758
1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9725 .loc 1 1320 20 is_stmt 0 view .LVU2759
9726 00f2 0235 adds r5, r5, #2
9727 .LVL695:
9728 .L332:
1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
ARM GAS /tmp/ccwvDHH5.s page 291
9729 .loc 1 1327 7 is_stmt 1 view .LVU2760
1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9730 .loc 1 1327 12 is_stmt 0 view .LVU2761
9731 00f4 5A22 movs r2, #90
9732 00f6 A35A ldrh r3, [r4, r2]
1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9733 .loc 1 1327 25 view .LVU2762
9734 00f8 013B subs r3, r3, #1
9735 00fa 9BB2 uxth r3, r3
9736 00fc A352 strh r3, [r4, r2]
9737 .L330:
1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9738 .loc 1 1311 17 view .LVU2763
9739 00fe 5A23 movs r3, #90
9740 0100 E35A ldrh r3, [r4, r3]
9741 0102 9BB2 uxth r3, r3
1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9742 .loc 1 1311 11 view .LVU2764
9743 0104 002B cmp r3, #0
9744 0106 12D0 beq .L346
1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9745 .loc 1 1313 7 is_stmt 1 view .LVU2765
1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9746 .loc 1 1313 11 is_stmt 0 view .LVU2766
9747 0108 4346 mov r3, r8
9748 010a 0093 str r3, [sp]
9749 010c 039B ldr r3, [sp, #12]
9750 010e 0022 movs r2, #0
9751 0110 2021 movs r1, #32
9752 0112 2000 movs r0, r4
9753 0114 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
9754 .LVL696:
1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9755 .loc 1 1313 10 view .LVU2767
9756 0118 0028 cmp r0, #0
9757 011a 17D1 bne .L341
1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9758 .loc 1 1317 7 is_stmt 1 view .LVU2768
1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9759 .loc 1 1317 10 is_stmt 0 view .LVU2769
9760 011c 002F cmp r7, #0
9761 011e E4D0 beq .L347
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++;
9762 .loc 1 1324 9 is_stmt 1 view .LVU2770
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++;
9763 .loc 1 1324 48 is_stmt 0 view .LVU2771
9764 0120 2368 ldr r3, [r4]
9765 0122 9B8C ldrh r3, [r3, #36]
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++;
9766 .loc 1 1324 56 view .LVU2772
9767 0124 F2B2 uxtb r2, r6
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++;
9768 .loc 1 1324 23 view .LVU2773
9769 0126 1340 ands r3, r2
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** pdata8bits++;
9770 .loc 1 1324 21 view .LVU2774
9771 0128 3B70 strb r3, [r7]
ARM GAS /tmp/ccwvDHH5.s page 292
1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9772 .loc 1 1325 9 is_stmt 1 view .LVU2775
1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9773 .loc 1 1325 19 is_stmt 0 view .LVU2776
9774 012a 0137 adds r7, r7, #1
9775 .LVL697:
1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9776 .loc 1 1325 19 view .LVU2777
9777 012c E2E7 b .L332
9778 .L346:
1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9779 .loc 1 1331 5 is_stmt 1 view .LVU2778
1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9780 .loc 1 1331 20 is_stmt 0 view .LVU2779
9781 012e 2033 adds r3, r3, #32
9782 0130 E367 str r3, [r4, #124]
1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9783 .loc 1 1333 5 is_stmt 1 view .LVU2780
1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9784 .loc 1 1333 12 is_stmt 0 view .LVU2781
9785 0132 0020 movs r0, #0
9786 0134 00E0 b .L320
9787 .LVL698:
9788 .L334:
1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9789 .loc 1 1337 12 view .LVU2782
9790 0136 0220 movs r0, #2
9791 .LVL699:
9792 .L320:
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9793 .loc 1 1339 1 view .LVU2783
9794 0138 04B0 add sp, sp, #16
9795 @ sp needed
9796 .LVL700:
9797 .LVL701:
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9798 .loc 1 1339 1 view .LVU2784
9799 013a 04BC pop {r2}
9800 013c 9046 mov r8, r2
9801 013e F0BD pop {r4, r5, r6, r7, pc}
9802 .LVL702:
9803 .L335:
1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9804 .loc 1 1266 15 view .LVU2785
9805 0140 0120 movs r0, #1
9806 .LVL703:
1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9807 .loc 1 1266 15 view .LVU2786
9808 0142 F9E7 b .L320
9809 .LVL704:
9810 .L336:
1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9811 .loc 1 1266 15 view .LVU2787
9812 0144 0120 movs r0, #1
9813 .LVL705:
1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9814 .loc 1 1266 15 view .LVU2788
ARM GAS /tmp/ccwvDHH5.s page 293
9815 0146 F7E7 b .L320
9816 .LVL706:
9817 .L338:
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9818 .loc 1 1280 5 view .LVU2789
9819 0148 0220 movs r0, #2
9820 .LVL707:
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9821 .loc 1 1280 5 view .LVU2790
9822 014a F5E7 b .L320
9823 .LVL708:
9824 .L341:
1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9825 .loc 1 1315 16 view .LVU2791
9826 014c 0320 movs r0, #3
9827 014e F3E7 b .L320
9828 .L349:
9829 .align 2
9830 .L348:
9831 0150 FF010000 .word 511
9832 .cfi_endproc
9833 .LFE48:
9835 .section .text.UART_CheckIdleState,"ax",%progbits
9836 .align 1
9837 .global UART_CheckIdleState
9838 .syntax unified
9839 .code 16
9840 .thumb_func
9841 .fpu softvfp
9843 UART_CheckIdleState:
9844 .LVL709:
9845 .LFB85:
3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart;
9846 .loc 1 3256 1 is_stmt 1 view -0
9847 .cfi_startproc
9848 @ args = 0, pretend = 0, frame = 0
9849 @ frame_needed = 0, uses_anonymous_args = 0
3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** uint32_t tickstart;
9850 .loc 1 3256 1 is_stmt 0 view .LVU2793
9851 0000 30B5 push {r4, r5, lr}
9852 .LCFI43:
9853 .cfi_def_cfa_offset 12
9854 .cfi_offset 4, -12
9855 .cfi_offset 5, -8
9856 .cfi_offset 14, -4
9857 0002 83B0 sub sp, sp, #12
9858 .LCFI44:
9859 .cfi_def_cfa_offset 24
9860 0004 0400 movs r4, r0
3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9861 .loc 1 3257 3 is_stmt 1 view .LVU2794
3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9862 .loc 1 3260 3 view .LVU2795
3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9863 .loc 1 3260 20 is_stmt 0 view .LVU2796
9864 0006 8023 movs r3, #128
9865 0008 0022 movs r2, #0
ARM GAS /tmp/ccwvDHH5.s page 294
9866 000a C250 str r2, [r0, r3]
3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9867 .loc 1 3263 3 is_stmt 1 view .LVU2797
3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9868 .loc 1 3263 15 is_stmt 0 view .LVU2798
9869 000c FFF7FEFF bl HAL_GetTick
9870 .LVL710:
3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9871 .loc 1 3263 15 view .LVU2799
9872 0010 0500 movs r5, r0
9873 .LVL711:
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9874 .loc 1 3266 3 is_stmt 1 view .LVU2800
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9875 .loc 1 3266 13 is_stmt 0 view .LVU2801
9876 0012 2368 ldr r3, [r4]
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9877 .loc 1 3266 23 view .LVU2802
9878 0014 1B68 ldr r3, [r3]
3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9879 .loc 1 3266 6 view .LVU2803
9880 0016 1B07 lsls r3, r3, #28
9881 0018 0DD4 bmi .L356
9882 .LVL712:
9883 .L351:
3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9884 .loc 1 3277 3 is_stmt 1 view .LVU2804
3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9885 .loc 1 3277 13 is_stmt 0 view .LVU2805
9886 001a 2368 ldr r3, [r4]
3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9887 .loc 1 3277 23 view .LVU2806
9888 001c 1B68 ldr r3, [r3]
3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9889 .loc 1 3277 6 view .LVU2807
9890 001e 5B07 lsls r3, r3, #29
9891 0020 16D4 bmi .L357
9892 .L353:
3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9893 .loc 1 3288 3 is_stmt 1 view .LVU2808
3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
9894 .loc 1 3288 17 is_stmt 0 view .LVU2809
9895 0022 2023 movs r3, #32
9896 0024 A367 str r3, [r4, #120]
3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
9897 .loc 1 3289 3 is_stmt 1 view .LVU2810
3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
9898 .loc 1 3289 18 is_stmt 0 view .LVU2811
9899 0026 E367 str r3, [r4, #124]
3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9900 .loc 1 3290 3 is_stmt 1 view .LVU2812
3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9901 .loc 1 3290 24 is_stmt 0 view .LVU2813
9902 0028 0023 movs r3, #0
9903 002a 2366 str r3, [r4, #96]
3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9904 .loc 1 3292 3 is_stmt 1 view .LVU2814
ARM GAS /tmp/ccwvDHH5.s page 295
3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9905 .loc 1 3292 3 view .LVU2815
9906 002c 7422 movs r2, #116
9907 002e A354 strb r3, [r4, r2]
3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9908 .loc 1 3294 3 view .LVU2816
3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9909 .loc 1 3294 10 is_stmt 0 view .LVU2817
9910 0030 0020 movs r0, #0
9911 .L352:
3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9912 .loc 1 3295 1 view .LVU2818
9913 0032 03B0 add sp, sp, #12
9914 @ sp needed
9915 .LVL713:
9916 .LVL714:
3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
9917 .loc 1 3295 1 view .LVU2819
9918 0034 30BD pop {r4, r5, pc}
9919 .LVL715:
9920 .L356:
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9921 .loc 1 3269 5 is_stmt 1 view .LVU2820
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9922 .loc 1 3269 9 is_stmt 0 view .LVU2821
9923 0036 8021 movs r1, #128
9924 0038 0C4B ldr r3, .L358
9925 003a 0093 str r3, [sp]
9926 003c 0300 movs r3, r0
9927 003e 0022 movs r2, #0
9928 0040 8903 lsls r1, r1, #14
9929 0042 2000 movs r0, r4
9930 .LVL716:
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9931 .loc 1 3269 9 view .LVU2822
9932 0044 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
9933 .LVL717:
3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9934 .loc 1 3269 8 view .LVU2823
9935 0048 0028 cmp r0, #0
9936 004a E6D0 beq .L351
3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9937 .loc 1 3272 14 view .LVU2824
9938 004c 0320 movs r0, #3
9939 004e F0E7 b .L352
9940 .L357:
3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9941 .loc 1 3280 5 is_stmt 1 view .LVU2825
3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9942 .loc 1 3280 9 is_stmt 0 view .LVU2826
9943 0050 8021 movs r1, #128
9944 0052 064B ldr r3, .L358
9945 0054 0093 str r3, [sp]
9946 0056 2B00 movs r3, r5
9947 0058 0022 movs r2, #0
9948 005a C903 lsls r1, r1, #15
9949 005c 2000 movs r0, r4
ARM GAS /tmp/ccwvDHH5.s page 296
9950 005e FFF7FEFF bl UART_WaitOnFlagUntilTimeout
9951 .LVL718:
3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9952 .loc 1 3280 8 view .LVU2827
9953 0062 0028 cmp r0, #0
9954 0064 DDD0 beq .L353
3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9955 .loc 1 3283 14 view .LVU2828
9956 0066 0320 movs r0, #3
9957 0068 E3E7 b .L352
9958 .L359:
9959 006a C046 .align 2
9960 .L358:
9961 006c FFFFFF01 .word 33554431
9962 .cfi_endproc
9963 .LFE85:
9965 .section .text.HAL_UART_Init,"ax",%progbits
9966 .align 1
9967 .global HAL_UART_Init
9968 .syntax unified
9969 .code 16
9970 .thumb_func
9971 .fpu softvfp
9973 HAL_UART_Init:
9974 .LVL719:
9975 .LFB40:
290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
9976 .loc 1 290 1 is_stmt 1 view -0
9977 .cfi_startproc
9978 @ args = 0, pretend = 0, frame = 0
9979 @ frame_needed = 0, uses_anonymous_args = 0
290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
9980 .loc 1 290 1 is_stmt 0 view .LVU2830
9981 0000 10B5 push {r4, lr}
9982 .LCFI45:
9983 .cfi_def_cfa_offset 8
9984 .cfi_offset 4, -8
9985 .cfi_offset 14, -4
9986 0002 041E subs r4, r0, #0
292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9987 .loc 1 292 3 is_stmt 1 view .LVU2831
292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9988 .loc 1 292 6 is_stmt 0 view .LVU2832
9989 0004 2ED0 beq .L364
297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9990 .loc 1 297 3 is_stmt 1 view .LVU2833
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
9991 .loc 1 305 5 view .LVU2834
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9992 .loc 1 308 3 view .LVU2835
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9993 .loc 1 308 12 is_stmt 0 view .LVU2836
9994 0006 836F ldr r3, [r0, #120]
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
9995 .loc 1 308 6 view .LVU2837
9996 0008 002B cmp r3, #0
9997 000a 21D0 beq .L365
ARM GAS /tmp/ccwvDHH5.s page 297
9998 .LVL720:
9999 .L362:
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10000 .loc 1 329 3 is_stmt 1 view .LVU2838
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10001 .loc 1 329 17 is_stmt 0 view .LVU2839
10002 000c 2423 movs r3, #36
10003 000e A367 str r3, [r4, #120]
331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10004 .loc 1 331 3 is_stmt 1 view .LVU2840
10005 0010 2268 ldr r2, [r4]
10006 0012 1368 ldr r3, [r2]
10007 0014 0121 movs r1, #1
10008 0016 8B43 bics r3, r1
10009 0018 1360 str r3, [r2]
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10010 .loc 1 334 3 view .LVU2841
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10011 .loc 1 334 7 is_stmt 0 view .LVU2842
10012 001a 2000 movs r0, r4
10013 001c FFF7FEFF bl UART_SetConfig
10014 .LVL721:
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10015 .loc 1 334 6 view .LVU2843
10016 0020 0128 cmp r0, #1
10017 0022 14D0 beq .L361
339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10018 .loc 1 339 3 is_stmt 1 view .LVU2844
339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10019 .loc 1 339 6 is_stmt 0 view .LVU2845
10020 0024 636A ldr r3, [r4, #36]
10021 0026 002B cmp r3, #0
10022 0028 18D1 bne .L366
10023 .L363:
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
10024 .loc 1 348 3 is_stmt 1 view .LVU2846
10025 002a 2268 ldr r2, [r4]
10026 002c 5368 ldr r3, [r2, #4]
10027 002e 0E49 ldr r1, .L367
10028 0030 0B40 ands r3, r1
10029 0032 5360 str r3, [r2, #4]
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
10030 .loc 1 354 3 view .LVU2847
10031 0034 2268 ldr r2, [r4]
10032 0036 9368 ldr r3, [r2, #8]
10033 0038 2A21 movs r1, #42
10034 003a 8B43 bics r3, r1
10035 003c 9360 str r3, [r2, #8]
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10036 .loc 1 366 3 view .LVU2848
10037 003e 2268 ldr r2, [r4]
10038 0040 1368 ldr r3, [r2]
10039 0042 2939 subs r1, r1, #41
10040 0044 0B43 orrs r3, r1
10041 0046 1360 str r3, [r2]
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10042 .loc 1 369 3 view .LVU2849
ARM GAS /tmp/ccwvDHH5.s page 298
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10043 .loc 1 369 11 is_stmt 0 view .LVU2850
10044 0048 2000 movs r0, r4
10045 004a FFF7FEFF bl UART_CheckIdleState
10046 .LVL722:
10047 .L361:
370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10048 .loc 1 370 1 view .LVU2851
10049 @ sp needed
10050 .LVL723:
370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10051 .loc 1 370 1 view .LVU2852
10052 004e 10BD pop {r4, pc}
10053 .LVL724:
10054 .L365:
311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10055 .loc 1 311 5 is_stmt 1 view .LVU2853
311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10056 .loc 1 311 17 is_stmt 0 view .LVU2854
10057 0050 7433 adds r3, r3, #116
10058 0052 0022 movs r2, #0
10059 0054 C254 strb r2, [r0, r3]
325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
10060 .loc 1 325 5 is_stmt 1 view .LVU2855
10061 0056 FFF7FEFF bl HAL_UART_MspInit
10062 .LVL725:
325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
10063 .loc 1 325 5 is_stmt 0 view .LVU2856
10064 005a D7E7 b .L362
10065 .L366:
341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10066 .loc 1 341 5 is_stmt 1 view .LVU2857
10067 005c 2000 movs r0, r4
10068 005e FFF7FEFF bl UART_AdvFeatureConfig
10069 .LVL726:
10070 0062 E2E7 b .L363
10071 .LVL727:
10072 .L364:
294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10073 .loc 1 294 12 is_stmt 0 view .LVU2858
10074 0064 0120 movs r0, #1
10075 .LVL728:
294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10076 .loc 1 294 12 view .LVU2859
10077 0066 F2E7 b .L361
10078 .L368:
10079 .align 2
10080 .L367:
10081 0068 FFB7FFFF .word -18433
10082 .cfi_endproc
10083 .LFE40:
10085 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
10086 .align 1
10087 .global HAL_HalfDuplex_Init
10088 .syntax unified
10089 .code 16
10090 .thumb_func
ARM GAS /tmp/ccwvDHH5.s page 299
10091 .fpu softvfp
10093 HAL_HalfDuplex_Init:
10094 .LVL729:
10095 .LFB41:
379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
10096 .loc 1 379 1 is_stmt 1 view -0
10097 .cfi_startproc
10098 @ args = 0, pretend = 0, frame = 0
10099 @ frame_needed = 0, uses_anonymous_args = 0
379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
10100 .loc 1 379 1 is_stmt 0 view .LVU2861
10101 0000 10B5 push {r4, lr}
10102 .LCFI46:
10103 .cfi_def_cfa_offset 8
10104 .cfi_offset 4, -8
10105 .cfi_offset 14, -4
10106 0002 041E subs r4, r0, #0
381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10107 .loc 1 381 3 is_stmt 1 view .LVU2862
381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10108 .loc 1 381 6 is_stmt 0 view .LVU2863
10109 0004 33D0 beq .L373
387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10110 .loc 1 387 3 is_stmt 1 view .LVU2864
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10111 .loc 1 389 3 view .LVU2865
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10112 .loc 1 389 12 is_stmt 0 view .LVU2866
10113 0006 836F ldr r3, [r0, #120]
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10114 .loc 1 389 6 view .LVU2867
10115 0008 002B cmp r3, #0
10116 000a 26D0 beq .L374
10117 .LVL730:
10118 .L371:
410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10119 .loc 1 410 3 is_stmt 1 view .LVU2868
410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10120 .loc 1 410 17 is_stmt 0 view .LVU2869
10121 000c 2423 movs r3, #36
10122 000e A367 str r3, [r4, #120]
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10123 .loc 1 412 3 is_stmt 1 view .LVU2870
10124 0010 2268 ldr r2, [r4]
10125 0012 1368 ldr r3, [r2]
10126 0014 0121 movs r1, #1
10127 0016 8B43 bics r3, r1
10128 0018 1360 str r3, [r2]
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10129 .loc 1 415 3 view .LVU2871
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10130 .loc 1 415 7 is_stmt 0 view .LVU2872
10131 001a 2000 movs r0, r4
10132 001c FFF7FEFF bl UART_SetConfig
10133 .LVL731:
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10134 .loc 1 415 6 view .LVU2873
ARM GAS /tmp/ccwvDHH5.s page 300
10135 0020 0128 cmp r0, #1
10136 0022 19D0 beq .L370
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10137 .loc 1 420 3 is_stmt 1 view .LVU2874
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10138 .loc 1 420 6 is_stmt 0 view .LVU2875
10139 0024 636A ldr r3, [r4, #36]
10140 0026 002B cmp r3, #0
10141 0028 1DD1 bne .L375
10142 .L372:
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
10143 .loc 1 429 3 is_stmt 1 view .LVU2876
10144 002a 2268 ldr r2, [r4]
10145 002c 5368 ldr r3, [r2, #4]
10146 002e 1149 ldr r1, .L376
10147 0030 0B40 ands r3, r1
10148 0032 5360 str r3, [r2, #4]
435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
10149 .loc 1 435 3 view .LVU2877
10150 0034 2268 ldr r2, [r4]
10151 0036 9368 ldr r3, [r2, #8]
10152 0038 2221 movs r1, #34
10153 003a 8B43 bics r3, r1
10154 003c 9360 str r3, [r2, #8]
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10155 .loc 1 446 3 view .LVU2878
10156 003e 2268 ldr r2, [r4]
10157 0040 9368 ldr r3, [r2, #8]
10158 0042 1A39 subs r1, r1, #26
10159 0044 0B43 orrs r3, r1
10160 0046 9360 str r3, [r2, #8]
448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10161 .loc 1 448 3 view .LVU2879
10162 0048 2268 ldr r2, [r4]
10163 004a 1368 ldr r3, [r2]
10164 004c 0739 subs r1, r1, #7
10165 004e 0B43 orrs r3, r1
10166 0050 1360 str r3, [r2]
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10167 .loc 1 451 3 view .LVU2880
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10168 .loc 1 451 11 is_stmt 0 view .LVU2881
10169 0052 2000 movs r0, r4
10170 0054 FFF7FEFF bl UART_CheckIdleState
10171 .LVL732:
10172 .L370:
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10173 .loc 1 452 1 view .LVU2882
10174 @ sp needed
10175 .LVL733:
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10176 .loc 1 452 1 view .LVU2883
10177 0058 10BD pop {r4, pc}
10178 .LVL734:
10179 .L374:
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10180 .loc 1 392 5 is_stmt 1 view .LVU2884
ARM GAS /tmp/ccwvDHH5.s page 301
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10181 .loc 1 392 17 is_stmt 0 view .LVU2885
10182 005a 7433 adds r3, r3, #116
10183 005c 0022 movs r2, #0
10184 005e C254 strb r2, [r0, r3]
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
10185 .loc 1 406 5 is_stmt 1 view .LVU2886
10186 0060 FFF7FEFF bl HAL_UART_MspInit
10187 .LVL735:
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
10188 .loc 1 406 5 is_stmt 0 view .LVU2887
10189 0064 D2E7 b .L371
10190 .L375:
422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10191 .loc 1 422 5 is_stmt 1 view .LVU2888
10192 0066 2000 movs r0, r4
10193 0068 FFF7FEFF bl UART_AdvFeatureConfig
10194 .LVL736:
10195 006c DDE7 b .L372
10196 .LVL737:
10197 .L373:
383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10198 .loc 1 383 12 is_stmt 0 view .LVU2889
10199 006e 0120 movs r0, #1
10200 .LVL738:
383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10201 .loc 1 383 12 view .LVU2890
10202 0070 F2E7 b .L370
10203 .L377:
10204 0072 C046 .align 2
10205 .L376:
10206 0074 FFB7FFFF .word -18433
10207 .cfi_endproc
10208 .LFE41:
10210 .section .text.HAL_LIN_Init,"ax",%progbits
10211 .align 1
10212 .global HAL_LIN_Init
10213 .syntax unified
10214 .code 16
10215 .thumb_func
10216 .fpu softvfp
10218 HAL_LIN_Init:
10219 .LVL739:
10220 .LFB42:
467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
10221 .loc 1 467 1 is_stmt 1 view -0
10222 .cfi_startproc
10223 @ args = 0, pretend = 0, frame = 0
10224 @ frame_needed = 0, uses_anonymous_args = 0
467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
10225 .loc 1 467 1 is_stmt 0 view .LVU2892
10226 0000 70B5 push {r4, r5, r6, lr}
10227 .LCFI47:
10228 .cfi_def_cfa_offset 16
10229 .cfi_offset 4, -16
10230 .cfi_offset 5, -12
10231 .cfi_offset 6, -8
ARM GAS /tmp/ccwvDHH5.s page 302
10232 .cfi_offset 14, -4
10233 0002 0400 movs r4, r0
10234 0004 0D00 movs r5, r1
469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10235 .loc 1 469 3 is_stmt 1 view .LVU2893
469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10236 .loc 1 469 6 is_stmt 0 view .LVU2894
10237 0006 0028 cmp r0, #0
10238 0008 42D0 beq .L382
475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the Break detection length parameter */
10239 .loc 1 475 3 is_stmt 1 view .LVU2895
477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10240 .loc 1 477 3 view .LVU2896
480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10241 .loc 1 480 3 view .LVU2897
480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10242 .loc 1 480 6 is_stmt 0 view .LVU2898
10243 000a 8023 movs r3, #128
10244 000c 1B02 lsls r3, r3, #8
10245 000e C269 ldr r2, [r0, #28]
10246 0010 9A42 cmp r2, r3
10247 0012 3FD0 beq .L383
485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10248 .loc 1 485 3 is_stmt 1 view .LVU2899
485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10249 .loc 1 485 6 is_stmt 0 view .LVU2900
10250 0014 8368 ldr r3, [r0, #8]
10251 0016 002B cmp r3, #0
10252 0018 3ED1 bne .L384
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10253 .loc 1 490 3 is_stmt 1 view .LVU2901
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10254 .loc 1 490 12 is_stmt 0 view .LVU2902
10255 001a 836F ldr r3, [r0, #120]
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10256 .loc 1 490 6 view .LVU2903
10257 001c 002B cmp r3, #0
10258 001e 2DD0 beq .L385
10259 .LVL740:
10260 .L380:
511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10261 .loc 1 511 3 is_stmt 1 view .LVU2904
511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10262 .loc 1 511 17 is_stmt 0 view .LVU2905
10263 0020 2423 movs r3, #36
10264 0022 A367 str r3, [r4, #120]
513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10265 .loc 1 513 3 is_stmt 1 view .LVU2906
10266 0024 2268 ldr r2, [r4]
10267 0026 1368 ldr r3, [r2]
10268 0028 0121 movs r1, #1
10269 002a 8B43 bics r3, r1
10270 002c 1360 str r3, [r2]
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10271 .loc 1 516 3 view .LVU2907
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10272 .loc 1 516 7 is_stmt 0 view .LVU2908
ARM GAS /tmp/ccwvDHH5.s page 303
10273 002e 2000 movs r0, r4
10274 0030 FFF7FEFF bl UART_SetConfig
10275 .LVL741:
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10276 .loc 1 516 6 view .LVU2909
10277 0034 0128 cmp r0, #1
10278 0036 20D0 beq .L379
521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10279 .loc 1 521 3 is_stmt 1 view .LVU2910
521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10280 .loc 1 521 6 is_stmt 0 view .LVU2911
10281 0038 636A ldr r3, [r4, #36]
10282 003a 002B cmp r3, #0
10283 003c 24D1 bne .L386
10284 .L381:
529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #if defined (USART_CR3_SCEN)
10285 .loc 1 529 3 is_stmt 1 view .LVU2912
10286 003e 2268 ldr r2, [r4]
10287 0040 5368 ldr r3, [r2, #4]
10288 0042 1649 ldr r1, .L387
10289 0044 0B40 ands r3, r1
10290 0046 5360 str r3, [r2, #4]
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
10291 .loc 1 532 3 view .LVU2913
10292 0048 2268 ldr r2, [r4]
10293 004a 9368 ldr r3, [r2, #8]
10294 004c 2A21 movs r1, #42
10295 004e 8B43 bics r3, r1
10296 0050 9360 str r3, [r2, #8]
545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10297 .loc 1 545 3 view .LVU2914
10298 0052 2268 ldr r2, [r4]
10299 0054 5168 ldr r1, [r2, #4]
10300 0056 8023 movs r3, #128
10301 0058 DB01 lsls r3, r3, #7
10302 005a 0B43 orrs r3, r1
10303 005c 5360 str r3, [r2, #4]
548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10304 .loc 1 548 3 view .LVU2915
10305 005e 2368 ldr r3, [r4]
10306 0060 5968 ldr r1, [r3, #4]
10307 0062 2022 movs r2, #32
10308 0064 9143 bics r1, r2
10309 0066 2943 orrs r1, r5
10310 0068 5960 str r1, [r3, #4]
550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10311 .loc 1 550 3 view .LVU2916
10312 006a 2268 ldr r2, [r4]
10313 006c 1368 ldr r3, [r2]
10314 006e 0121 movs r1, #1
10315 0070 0B43 orrs r3, r1
10316 0072 1360 str r3, [r2]
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10317 .loc 1 553 3 view .LVU2917
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10318 .loc 1 553 11 is_stmt 0 view .LVU2918
10319 0074 2000 movs r0, r4
ARM GAS /tmp/ccwvDHH5.s page 304
10320 0076 FFF7FEFF bl UART_CheckIdleState
10321 .LVL742:
10322 .L379:
554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */
10323 .loc 1 554 1 view .LVU2919
10324 @ sp needed
10325 .LVL743:
10326 .LVL744:
554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* USART_CR2_LINEN */
10327 .loc 1 554 1 view .LVU2920
10328 007a 70BD pop {r4, r5, r6, pc}
10329 .LVL745:
10330 .L385:
493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10331 .loc 1 493 5 is_stmt 1 view .LVU2921
493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10332 .loc 1 493 17 is_stmt 0 view .LVU2922
10333 007c 7433 adds r3, r3, #116
10334 007e 0022 movs r2, #0
10335 0080 C254 strb r2, [r0, r3]
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
10336 .loc 1 507 5 is_stmt 1 view .LVU2923
10337 0082 FFF7FEFF bl HAL_UART_MspInit
10338 .LVL746:
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
10339 .loc 1 507 5 is_stmt 0 view .LVU2924
10340 0086 CBE7 b .L380
10341 .L386:
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10342 .loc 1 523 5 is_stmt 1 view .LVU2925
10343 0088 2000 movs r0, r4
10344 008a FFF7FEFF bl UART_AdvFeatureConfig
10345 .LVL747:
10346 008e D6E7 b .L381
10347 .LVL748:
10348 .L382:
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10349 .loc 1 471 12 is_stmt 0 view .LVU2926
10350 0090 0120 movs r0, #1
10351 .LVL749:
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10352 .loc 1 471 12 view .LVU2927
10353 0092 F2E7 b .L379
10354 .LVL750:
10355 .L383:
482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10356 .loc 1 482 12 view .LVU2928
10357 0094 0120 movs r0, #1
10358 .LVL751:
482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10359 .loc 1 482 12 view .LVU2929
10360 0096 F0E7 b .L379
10361 .LVL752:
10362 .L384:
487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10363 .loc 1 487 12 view .LVU2930
10364 0098 0120 movs r0, #1
ARM GAS /tmp/ccwvDHH5.s page 305
10365 .LVL753:
487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10366 .loc 1 487 12 view .LVU2931
10367 009a EEE7 b .L379
10368 .L388:
10369 .align 2
10370 .L387:
10371 009c FFB7FFFF .word -18433
10372 .cfi_endproc
10373 .LFE42:
10375 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
10376 .align 1
10377 .global HAL_MultiProcessor_Init
10378 .syntax unified
10379 .code 16
10380 .thumb_func
10381 .fpu softvfp
10383 HAL_MultiProcessor_Init:
10384 .LVL754:
10385 .LFB43:
577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
10386 .loc 1 577 1 is_stmt 1 view -0
10387 .cfi_startproc
10388 @ args = 0, pretend = 0, frame = 0
10389 @ frame_needed = 0, uses_anonymous_args = 0
577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check the UART handle allocation */
10390 .loc 1 577 1 is_stmt 0 view .LVU2933
10391 0000 70B5 push {r4, r5, r6, lr}
10392 .LCFI48:
10393 .cfi_def_cfa_offset 16
10394 .cfi_offset 4, -16
10395 .cfi_offset 5, -12
10396 .cfi_offset 6, -8
10397 .cfi_offset 14, -4
10398 0002 0400 movs r4, r0
10399 0004 0D00 movs r5, r1
10400 0006 1600 movs r6, r2
579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10401 .loc 1 579 3 is_stmt 1 view .LVU2934
579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10402 .loc 1 579 6 is_stmt 0 view .LVU2935
10403 0008 0028 cmp r0, #0
10404 000a 40D0 beq .L394
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10405 .loc 1 585 3 is_stmt 1 view .LVU2936
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10406 .loc 1 587 3 view .LVU2937
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10407 .loc 1 587 12 is_stmt 0 view .LVU2938
10408 000c 836F ldr r3, [r0, #120]
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10409 .loc 1 587 6 view .LVU2939
10410 000e 002B cmp r3, #0
10411 0010 2BD0 beq .L395
10412 .LVL755:
10413 .L391:
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 306
10414 .loc 1 608 3 is_stmt 1 view .LVU2940
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10415 .loc 1 608 17 is_stmt 0 view .LVU2941
10416 0012 2423 movs r3, #36
10417 0014 A367 str r3, [r4, #120]
610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10418 .loc 1 610 3 is_stmt 1 view .LVU2942
10419 0016 2268 ldr r2, [r4]
10420 0018 1368 ldr r3, [r2]
10421 001a 0121 movs r1, #1
10422 001c 8B43 bics r3, r1
10423 001e 1360 str r3, [r2]
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10424 .loc 1 613 3 view .LVU2943
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10425 .loc 1 613 7 is_stmt 0 view .LVU2944
10426 0020 2000 movs r0, r4
10427 0022 FFF7FEFF bl UART_SetConfig
10428 .LVL756:
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10429 .loc 1 613 6 view .LVU2945
10430 0026 0128 cmp r0, #1
10431 0028 1ED0 beq .L390
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10432 .loc 1 618 3 is_stmt 1 view .LVU2946
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10433 .loc 1 618 6 is_stmt 0 view .LVU2947
10434 002a 636A ldr r3, [r4, #36]
10435 002c 002B cmp r3, #0
10436 002e 22D1 bne .L396
10437 .L392:
627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
10438 .loc 1 627 3 is_stmt 1 view .LVU2948
10439 0030 2268 ldr r2, [r4]
10440 0032 5368 ldr r3, [r2, #4]
10441 0034 1749 ldr r1, .L398
10442 0036 0B40 ands r3, r1
10443 0038 5360 str r3, [r2, #4]
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #else
10444 .loc 1 633 3 view .LVU2949
10445 003a 2268 ldr r2, [r4]
10446 003c 9368 ldr r3, [r2, #8]
10447 003e 2A21 movs r1, #42
10448 0040 8B43 bics r3, r1
10449 0042 9360 str r3, [r2, #8]
645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10450 .loc 1 645 3 view .LVU2950
645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10451 .loc 1 645 6 is_stmt 0 view .LVU2951
10452 0044 8023 movs r3, #128
10453 0046 1B01 lsls r3, r3, #4
10454 0048 9E42 cmp r6, r3
10455 004a 18D0 beq .L397
10456 .L393:
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10457 .loc 1 652 3 is_stmt 1 view .LVU2952
10458 004c 2368 ldr r3, [r4]
ARM GAS /tmp/ccwvDHH5.s page 307
10459 004e 1A68 ldr r2, [r3]
10460 0050 1149 ldr r1, .L398+4
10461 0052 0A40 ands r2, r1
10462 0054 3243 orrs r2, r6
10463 0056 1A60 str r2, [r3]
654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10464 .loc 1 654 3 view .LVU2953
10465 0058 2268 ldr r2, [r4]
10466 005a 1368 ldr r3, [r2]
10467 005c 0121 movs r1, #1
10468 005e 0B43 orrs r3, r1
10469 0060 1360 str r3, [r2]
657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10470 .loc 1 657 3 view .LVU2954
657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10471 .loc 1 657 11 is_stmt 0 view .LVU2955
10472 0062 2000 movs r0, r4
10473 0064 FFF7FEFF bl UART_CheckIdleState
10474 .LVL757:
10475 .L390:
658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10476 .loc 1 658 1 view .LVU2956
10477 @ sp needed
10478 .LVL758:
10479 .LVL759:
658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10480 .loc 1 658 1 view .LVU2957
10481 0068 70BD pop {r4, r5, r6, pc}
10482 .LVL760:
10483 .L395:
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10484 .loc 1 590 5 is_stmt 1 view .LVU2958
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10485 .loc 1 590 17 is_stmt 0 view .LVU2959
10486 006a 7433 adds r3, r3, #116
10487 006c 0022 movs r2, #0
10488 .LVL761:
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10489 .loc 1 590 17 view .LVU2960
10490 006e C254 strb r2, [r0, r3]
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
10491 .loc 1 604 5 is_stmt 1 view .LVU2961
10492 0070 FFF7FEFF bl HAL_UART_MspInit
10493 .LVL762:
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
10494 .loc 1 604 5 is_stmt 0 view .LVU2962
10495 0074 CDE7 b .L391
10496 .L396:
620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10497 .loc 1 620 5 is_stmt 1 view .LVU2963
10498 0076 2000 movs r0, r4
10499 0078 FFF7FEFF bl UART_AdvFeatureConfig
10500 .LVL763:
10501 007c D8E7 b .L392
10502 .L397:
648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10503 .loc 1 648 5 view .LVU2964
ARM GAS /tmp/ccwvDHH5.s page 308
10504 007e 2268 ldr r2, [r4]
10505 0080 5368 ldr r3, [r2, #4]
10506 0082 1B02 lsls r3, r3, #8
10507 0084 1B0A lsrs r3, r3, #8
10508 0086 2D06 lsls r5, r5, #24
10509 0088 1D43 orrs r5, r3
10510 008a 5560 str r5, [r2, #4]
10511 008c DEE7 b .L393
10512 .LVL764:
10513 .L394:
581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10514 .loc 1 581 12 is_stmt 0 view .LVU2965
10515 008e 0120 movs r0, #1
10516 .LVL765:
581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10517 .loc 1 581 12 view .LVU2966
10518 0090 EAE7 b .L390
10519 .L399:
10520 0092 C046 .align 2
10521 .L398:
10522 0094 FFB7FFFF .word -18433
10523 0098 FFF7FFFF .word -2049
10524 .cfi_endproc
10525 .LFE43:
10527 .section .text.HAL_MultiProcessor_EnableMuteMode,"ax",%progbits
10528 .align 1
10529 .global HAL_MultiProcessor_EnableMuteMode
10530 .syntax unified
10531 .code 16
10532 .thumb_func
10533 .fpu softvfp
10535 HAL_MultiProcessor_EnableMuteMode:
10536 .LVL766:
10537 .LFB75:
2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
10538 .loc 1 2836 1 is_stmt 1 view -0
10539 .cfi_startproc
10540 @ args = 0, pretend = 0, frame = 0
10541 @ frame_needed = 0, uses_anonymous_args = 0
2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
10542 .loc 1 2836 1 is_stmt 0 view .LVU2968
10543 0000 10B5 push {r4, lr}
10544 .LCFI49:
10545 .cfi_def_cfa_offset 8
10546 .cfi_offset 4, -8
10547 .cfi_offset 14, -4
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10548 .loc 1 2837 3 is_stmt 1 view .LVU2969
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10549 .loc 1 2837 3 view .LVU2970
10550 0002 7423 movs r3, #116
10551 0004 C35C ldrb r3, [r0, r3]
10552 0006 012B cmp r3, #1
10553 0008 15D0 beq .L402
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10554 .loc 1 2837 3 discriminator 2 view .LVU2971
10555 000a 0123 movs r3, #1
ARM GAS /tmp/ccwvDHH5.s page 309
10556 000c 7422 movs r2, #116
10557 000e 8354 strb r3, [r0, r2]
2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10558 .loc 1 2839 3 discriminator 2 view .LVU2972
2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10559 .loc 1 2839 17 is_stmt 0 discriminator 2 view .LVU2973
10560 0010 503A subs r2, r2, #80
10561 0012 8267 str r2, [r0, #120]
2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10562 .loc 1 2842 3 is_stmt 1 discriminator 2 view .LVU2974
10563 .LBB1063:
2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10564 .loc 1 2842 3 discriminator 2 view .LVU2975
2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10565 .loc 1 2842 3 discriminator 2 view .LVU2976
10566 .LBB1064:
10567 .LBI1064:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10568 .loc 2 382 31 discriminator 2 view .LVU2977
10569 .LBB1065:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
10570 .loc 2 384 3 discriminator 2 view .LVU2978
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10571 .loc 2 386 3 discriminator 2 view .LVU2979
10572 .syntax divided
10573 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10574 0014 EFF31081 MRS r1, primask
10575 @ 0 "" 2
10576 .LVL767:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10577 .loc 2 387 3 discriminator 2 view .LVU2980
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10578 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU2981
10579 .thumb
10580 .syntax unified
10581 .LBE1065:
10582 .LBE1064:
2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10583 .loc 1 2842 3 is_stmt 1 discriminator 2 view .LVU2982
10584 .LBB1066:
10585 .LBI1066:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10586 .loc 2 412 27 discriminator 2 view .LVU2983
10587 .LBB1067:
10588 .loc 2 414 3 discriminator 2 view .LVU2984
10589 .syntax divided
10590 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10591 0018 83F31088 MSR primask, r3
10592 @ 0 "" 2
10593 .LVL768:
10594 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2985
10595 .thumb
10596 .syntax unified
10597 .LBE1067:
10598 .LBE1066:
2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10599 .loc 1 2842 3 is_stmt 1 discriminator 2 view .LVU2986
ARM GAS /tmp/ccwvDHH5.s page 310
10600 001c 0268 ldr r2, [r0]
10601 001e 1468 ldr r4, [r2]
10602 0020 8023 movs r3, #128
10603 0022 9B01 lsls r3, r3, #6
10604 0024 2343 orrs r3, r4
10605 0026 1360 str r3, [r2]
2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10606 .loc 1 2842 3 discriminator 2 view .LVU2987
10607 .LVL769:
10608 .LBB1068:
10609 .LBI1068:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10610 .loc 2 412 27 discriminator 2 view .LVU2988
10611 .LBB1069:
10612 .loc 2 414 3 discriminator 2 view .LVU2989
10613 .syntax divided
10614 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10615 0028 81F31088 MSR primask, r1
10616 @ 0 "" 2
10617 .LVL770:
10618 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU2990
10619 .thumb
10620 .syntax unified
10621 .LBE1069:
10622 .LBE1068:
10623 .LBE1063:
2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10624 .loc 1 2844 3 is_stmt 1 discriminator 2 view .LVU2991
2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10625 .loc 1 2844 17 is_stmt 0 discriminator 2 view .LVU2992
10626 002c 2023 movs r3, #32
10627 002e 8367 str r3, [r0, #120]
2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10628 .loc 1 2846 3 is_stmt 1 discriminator 2 view .LVU2993
2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10629 .loc 1 2846 11 is_stmt 0 discriminator 2 view .LVU2994
10630 0030 FFF7FEFF bl UART_CheckIdleState
10631 .LVL771:
10632 .L401:
2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10633 .loc 1 2847 1 view .LVU2995
10634 @ sp needed
10635 0034 10BD pop {r4, pc}
10636 .LVL772:
10637 .L402:
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10638 .loc 1 2837 3 view .LVU2996
10639 0036 0220 movs r0, #2
10640 .LVL773:
2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10641 .loc 1 2837 3 view .LVU2997
10642 0038 FCE7 b .L401
10643 .cfi_endproc
10644 .LFE75:
10646 .section .text.HAL_MultiProcessor_DisableMuteMode,"ax",%progbits
10647 .align 1
10648 .global HAL_MultiProcessor_DisableMuteMode
ARM GAS /tmp/ccwvDHH5.s page 311
10649 .syntax unified
10650 .code 16
10651 .thumb_func
10652 .fpu softvfp
10654 HAL_MultiProcessor_DisableMuteMode:
10655 .LVL774:
10656 .LFB76:
2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
10657 .loc 1 2856 1 is_stmt 1 view -0
10658 .cfi_startproc
10659 @ args = 0, pretend = 0, frame = 0
10660 @ frame_needed = 0, uses_anonymous_args = 0
2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** __HAL_LOCK(huart);
10661 .loc 1 2856 1 is_stmt 0 view .LVU2999
10662 0000 10B5 push {r4, lr}
10663 .LCFI50:
10664 .cfi_def_cfa_offset 8
10665 .cfi_offset 4, -8
10666 .cfi_offset 14, -4
2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10667 .loc 1 2857 3 is_stmt 1 view .LVU3000
2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10668 .loc 1 2857 3 view .LVU3001
10669 0002 7423 movs r3, #116
10670 0004 C35C ldrb r3, [r0, r3]
10671 0006 012B cmp r3, #1
10672 0008 14D0 beq .L405
2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10673 .loc 1 2857 3 discriminator 2 view .LVU3002
10674 000a 0123 movs r3, #1
10675 000c 7422 movs r2, #116
10676 000e 8354 strb r3, [r0, r2]
2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10677 .loc 1 2859 3 discriminator 2 view .LVU3003
2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10678 .loc 1 2859 17 is_stmt 0 discriminator 2 view .LVU3004
10679 0010 503A subs r2, r2, #80
10680 0012 8267 str r2, [r0, #120]
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10681 .loc 1 2862 3 is_stmt 1 discriminator 2 view .LVU3005
10682 .LBB1070:
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10683 .loc 1 2862 3 discriminator 2 view .LVU3006
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10684 .loc 1 2862 3 discriminator 2 view .LVU3007
10685 .LBB1071:
10686 .LBI1071:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10687 .loc 2 382 31 discriminator 2 view .LVU3008
10688 .LBB1072:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
10689 .loc 2 384 3 discriminator 2 view .LVU3009
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10690 .loc 2 386 3 discriminator 2 view .LVU3010
10691 .syntax divided
10692 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10693 0014 EFF31081 MRS r1, primask
ARM GAS /tmp/ccwvDHH5.s page 312
10694 @ 0 "" 2
10695 .LVL775:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10696 .loc 2 387 3 discriminator 2 view .LVU3011
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10697 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU3012
10698 .thumb
10699 .syntax unified
10700 .LBE1072:
10701 .LBE1071:
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10702 .loc 1 2862 3 is_stmt 1 discriminator 2 view .LVU3013
10703 .LBB1073:
10704 .LBI1073:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10705 .loc 2 412 27 discriminator 2 view .LVU3014
10706 .LBB1074:
10707 .loc 2 414 3 discriminator 2 view .LVU3015
10708 .syntax divided
10709 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10710 0018 83F31088 MSR primask, r3
10711 @ 0 "" 2
10712 .LVL776:
10713 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU3016
10714 .thumb
10715 .syntax unified
10716 .LBE1074:
10717 .LBE1073:
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10718 .loc 1 2862 3 is_stmt 1 discriminator 2 view .LVU3017
10719 001c 0268 ldr r2, [r0]
10720 001e 1368 ldr r3, [r2]
10721 0020 054C ldr r4, .L406
10722 0022 2340 ands r3, r4
10723 0024 1360 str r3, [r2]
2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10724 .loc 1 2862 3 discriminator 2 view .LVU3018
10725 .LVL777:
10726 .LBB1075:
10727 .LBI1075:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10728 .loc 2 412 27 discriminator 2 view .LVU3019
10729 .LBB1076:
10730 .loc 2 414 3 discriminator 2 view .LVU3020
10731 .syntax divided
10732 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10733 0026 81F31088 MSR primask, r1
10734 @ 0 "" 2
10735 .LVL778:
10736 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU3021
10737 .thumb
10738 .syntax unified
10739 .LBE1076:
10740 .LBE1075:
10741 .LBE1070:
2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10742 .loc 1 2864 3 is_stmt 1 discriminator 2 view .LVU3022
ARM GAS /tmp/ccwvDHH5.s page 313
2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10743 .loc 1 2864 17 is_stmt 0 discriminator 2 view .LVU3023
10744 002a 2023 movs r3, #32
10745 002c 8367 str r3, [r0, #120]
2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10746 .loc 1 2866 3 is_stmt 1 discriminator 2 view .LVU3024
2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10747 .loc 1 2866 11 is_stmt 0 discriminator 2 view .LVU3025
10748 002e FFF7FEFF bl UART_CheckIdleState
10749 .LVL779:
10750 .L404:
2867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10751 .loc 1 2867 1 view .LVU3026
10752 @ sp needed
10753 0032 10BD pop {r4, pc}
10754 .LVL780:
10755 .L405:
2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10756 .loc 1 2857 3 view .LVU3027
10757 0034 0220 movs r0, #2
10758 .LVL781:
2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10759 .loc 1 2857 3 view .LVU3028
10760 0036 FCE7 b .L404
10761 .L407:
10762 .align 2
10763 .L406:
10764 0038 FFDFFFFF .word -8193
10765 .cfi_endproc
10766 .LFE76:
10768 .section .text.UART_Start_Receive_IT,"ax",%progbits
10769 .align 1
10770 .global UART_Start_Receive_IT
10771 .syntax unified
10772 .code 16
10773 .thumb_func
10774 .fpu softvfp
10776 UART_Start_Receive_IT:
10777 .LVL782:
10778 .LFB87:
3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData;
10779 .loc 1 3369 1 is_stmt 1 view -0
10780 .cfi_startproc
10781 @ args = 0, pretend = 0, frame = 0
10782 @ frame_needed = 0, uses_anonymous_args = 0
3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData;
10783 .loc 1 3369 1 is_stmt 0 view .LVU3030
10784 0000 10B5 push {r4, lr}
10785 .LCFI51:
10786 .cfi_def_cfa_offset 8
10787 .cfi_offset 4, -8
10788 .cfi_offset 14, -4
3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size;
10789 .loc 1 3370 3 is_stmt 1 view .LVU3031
3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size;
10790 .loc 1 3370 22 is_stmt 0 view .LVU3032
10791 0002 4165 str r1, [r0, #84]
ARM GAS /tmp/ccwvDHH5.s page 314
3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size;
10792 .loc 1 3371 3 is_stmt 1 view .LVU3033
3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferCount = Size;
10793 .loc 1 3371 22 is_stmt 0 view .LVU3034
10794 0004 5823 movs r3, #88
10795 0006 C252 strh r2, [r0, r3]
3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL;
10796 .loc 1 3372 3 is_stmt 1 view .LVU3035
3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxISR = NULL;
10797 .loc 1 3372 22 is_stmt 0 view .LVU3036
10798 0008 0233 adds r3, r3, #2
10799 000a C252 strh r2, [r0, r3]
3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10800 .loc 1 3373 3 is_stmt 1 view .LVU3037
3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10801 .loc 1 3373 22 is_stmt 0 view .LVU3038
10802 000c 0023 movs r3, #0
10803 000e 4366 str r3, [r0, #100]
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10804 .loc 1 3376 3 is_stmt 1 view .LVU3039
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10805 .loc 1 3376 3 view .LVU3040
10806 0010 8368 ldr r3, [r0, #8]
10807 0012 8022 movs r2, #128
10808 .LVL783:
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10809 .loc 1 3376 3 is_stmt 0 view .LVU3041
10810 0014 5201 lsls r2, r2, #5
10811 0016 9342 cmp r3, r2
10812 0018 08D0 beq .L418
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10813 .loc 1 3376 3 is_stmt 1 discriminator 2 view .LVU3042
10814 001a 002B cmp r3, #0
10815 001c 15D1 bne .L412
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10816 .loc 1 3376 3 discriminator 5 view .LVU3043
10817 001e 0369 ldr r3, [r0, #16]
10818 0020 002B cmp r3, #0
10819 0022 0ED1 bne .L413
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10820 .loc 1 3376 3 discriminator 7 view .LVU3044
10821 0024 5C33 adds r3, r3, #92
10822 0026 FF22 movs r2, #255
10823 0028 C252 strh r2, [r0, r3]
10824 002a 15E0 b .L411
10825 .L418:
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10826 .loc 1 3376 3 discriminator 1 view .LVU3045
10827 002c 0369 ldr r3, [r0, #16]
10828 002e 002B cmp r3, #0
10829 0030 03D1 bne .L410
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10830 .loc 1 3376 3 discriminator 3 view .LVU3046
10831 0032 5C33 adds r3, r3, #92
10832 0034 254A ldr r2, .L421
10833 0036 C252 strh r2, [r0, r3]
10834 0038 0EE0 b .L411
ARM GAS /tmp/ccwvDHH5.s page 315
10835 .L410:
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10836 .loc 1 3376 3 discriminator 4 view .LVU3047
10837 003a 5C23 movs r3, #92
10838 003c FF22 movs r2, #255
10839 003e C252 strh r2, [r0, r3]
10840 0040 0AE0 b .L411
10841 .L413:
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10842 .loc 1 3376 3 discriminator 8 view .LVU3048
10843 0042 5C23 movs r3, #92
10844 0044 7F22 movs r2, #127
10845 0046 C252 strh r2, [r0, r3]
10846 0048 06E0 b .L411
10847 .L412:
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10848 .loc 1 3376 3 discriminator 6 view .LVU3049
10849 004a 8022 movs r2, #128
10850 004c 5205 lsls r2, r2, #21
10851 004e 9342 cmp r3, r2
10852 0050 2BD0 beq .L419
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10853 .loc 1 3376 3 discriminator 10 view .LVU3050
10854 0052 5C23 movs r3, #92
10855 0054 0022 movs r2, #0
10856 0056 C252 strh r2, [r0, r3]
10857 .L411:
3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10858 .loc 1 3378 3 view .LVU3051
3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
10859 .loc 1 3378 20 is_stmt 0 view .LVU3052
10860 0058 8023 movs r3, #128
10861 005a 0022 movs r2, #0
10862 005c C250 str r2, [r0, r3]
3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10863 .loc 1 3379 3 is_stmt 1 view .LVU3053
3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10864 .loc 1 3379 18 is_stmt 0 view .LVU3054
10865 005e 5E3B subs r3, r3, #94
10866 0060 C367 str r3, [r0, #124]
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10867 .loc 1 3382 3 is_stmt 1 view .LVU3055
10868 .LBB1077:
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10869 .loc 1 3382 3 view .LVU3056
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10870 .loc 1 3382 3 view .LVU3057
10871 .LBB1078:
10872 .LBI1078:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10873 .loc 2 382 31 view .LVU3058
10874 .LBB1079:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
10875 .loc 2 384 3 view .LVU3059
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10876 .loc 2 386 3 view .LVU3060
10877 .syntax divided
ARM GAS /tmp/ccwvDHH5.s page 316
10878 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10879 0062 EFF31084 MRS r4, primask
10880 @ 0 "" 2
10881 .LVL784:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10882 .loc 2 387 3 view .LVU3061
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10883 .loc 2 387 3 is_stmt 0 view .LVU3062
10884 .thumb
10885 .syntax unified
10886 .LBE1079:
10887 .LBE1078:
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10888 .loc 1 3382 3 is_stmt 1 view .LVU3063
10889 .LBB1080:
10890 .LBI1080:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10891 .loc 2 412 27 view .LVU3064
10892 .LBB1081:
10893 .loc 2 414 3 view .LVU3065
10894 0066 0121 movs r1, #1
10895 .LVL785:
10896 .loc 2 414 3 is_stmt 0 view .LVU3066
10897 .syntax divided
10898 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10899 0068 81F31088 MSR primask, r1
10900 @ 0 "" 2
10901 .LVL786:
10902 .loc 2 414 3 view .LVU3067
10903 .thumb
10904 .syntax unified
10905 .LBE1081:
10906 .LBE1080:
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10907 .loc 1 3382 3 is_stmt 1 view .LVU3068
10908 006c 0268 ldr r2, [r0]
10909 006e 9368 ldr r3, [r2, #8]
10910 0070 0B43 orrs r3, r1
10911 0072 9360 str r3, [r2, #8]
3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10912 .loc 1 3382 3 view .LVU3069
10913 .LVL787:
10914 .LBB1082:
10915 .LBI1082:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10916 .loc 2 412 27 view .LVU3070
10917 .LBB1083:
10918 .loc 2 414 3 view .LVU3071
10919 .syntax divided
10920 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10921 0074 84F31088 MSR primask, r4
10922 @ 0 "" 2
10923 .LVL788:
10924 .loc 2 414 3 is_stmt 0 view .LVU3072
10925 .thumb
10926 .syntax unified
10927 .LBE1083:
ARM GAS /tmp/ccwvDHH5.s page 317
10928 .LBE1082:
10929 .LBE1077:
3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10930 .loc 1 3385 3 is_stmt 1 view .LVU3073
3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
10931 .loc 1 3385 6 is_stmt 0 view .LVU3074
10932 0078 8023 movs r3, #128
10933 007a 5B01 lsls r3, r3, #5
10934 007c 8268 ldr r2, [r0, #8]
10935 007e 9A42 cmp r2, r3
10936 0080 1ED0 beq .L420
10937 .L416:
3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10938 .loc 1 3391 5 is_stmt 1 view .LVU3075
3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
10939 .loc 1 3391 18 is_stmt 0 view .LVU3076
10940 0082 134B ldr r3, .L421+4
10941 0084 4366 str r3, [r0, #100]
10942 .L417:
3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10943 .loc 1 3394 3 is_stmt 1 view .LVU3077
3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
10944 .loc 1 3394 3 view .LVU3078
10945 0086 7423 movs r3, #116
10946 0088 0022 movs r2, #0
10947 008a C254 strb r2, [r0, r3]
3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
10948 .loc 1 3397 3 view .LVU3079
10949 .LBB1084:
3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
10950 .loc 1 3397 3 view .LVU3080
3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
10951 .loc 1 3397 3 view .LVU3081
10952 .LBB1085:
10953 .LBI1085:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10954 .loc 2 382 31 view .LVU3082
10955 .LBB1086:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
10956 .loc 2 384 3 view .LVU3083
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
10957 .loc 2 386 3 view .LVU3084
10958 .syntax divided
10959 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10960 008c EFF31081 MRS r1, primask
10961 @ 0 "" 2
10962 .LVL789:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10963 .loc 2 387 3 view .LVU3085
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
10964 .loc 2 387 3 is_stmt 0 view .LVU3086
10965 .thumb
10966 .syntax unified
10967 .LBE1086:
10968 .LBE1085:
3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
10969 .loc 1 3397 3 is_stmt 1 view .LVU3087
ARM GAS /tmp/ccwvDHH5.s page 318
10970 .LBB1087:
10971 .LBI1087:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10972 .loc 2 412 27 view .LVU3088
10973 .LBB1088:
10974 .loc 2 414 3 view .LVU3089
10975 0090 733B subs r3, r3, #115
10976 .syntax divided
10977 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
10978 0092 83F31088 MSR primask, r3
10979 @ 0 "" 2
10980 .LVL790:
10981 .loc 2 414 3 is_stmt 0 view .LVU3090
10982 .thumb
10983 .syntax unified
10984 .LBE1088:
10985 .LBE1087:
3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
10986 .loc 1 3397 3 is_stmt 1 view .LVU3091
10987 0096 0268 ldr r2, [r0]
10988 0098 1068 ldr r0, [r2]
10989 .LVL791:
3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
10990 .loc 1 3397 3 is_stmt 0 view .LVU3092
10991 009a 2033 adds r3, r3, #32
10992 009c FF33 adds r3, r3, #255
10993 009e 0343 orrs r3, r0
10994 00a0 1360 str r3, [r2]
3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** return HAL_OK;
10995 .loc 1 3397 3 is_stmt 1 view .LVU3093
10996 .LVL792:
10997 .LBB1089:
10998 .LBI1089:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
10999 .loc 2 412 27 view .LVU3094
11000 .LBB1090:
11001 .loc 2 414 3 view .LVU3095
11002 .syntax divided
11003 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11004 00a2 81F31088 MSR primask, r1
11005 @ 0 "" 2
11006 .LVL793:
11007 .loc 2 414 3 is_stmt 0 view .LVU3096
11008 .thumb
11009 .syntax unified
11010 .LBE1090:
11011 .LBE1089:
11012 .LBE1084:
3398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11013 .loc 1 3398 3 is_stmt 1 view .LVU3097
3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11014 .loc 1 3399 1 is_stmt 0 view .LVU3098
11015 00a6 0020 movs r0, #0
11016 @ sp needed
11017 .LVL794:
3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11018 .loc 1 3399 1 view .LVU3099
ARM GAS /tmp/ccwvDHH5.s page 319
11019 00a8 10BD pop {r4, pc}
11020 .LVL795:
11021 .L419:
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11022 .loc 1 3376 3 is_stmt 1 discriminator 9 view .LVU3100
11023 00aa 0369 ldr r3, [r0, #16]
11024 00ac 002B cmp r3, #0
11025 00ae 03D1 bne .L415
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11026 .loc 1 3376 3 discriminator 11 view .LVU3101
11027 00b0 5C33 adds r3, r3, #92
11028 00b2 7F22 movs r2, #127
11029 00b4 C252 strh r2, [r0, r3]
11030 00b6 CFE7 b .L411
11031 .L415:
3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11032 .loc 1 3376 3 discriminator 12 view .LVU3102
11033 00b8 5C23 movs r3, #92
11034 00ba 3F22 movs r2, #63
11035 00bc C252 strh r2, [r0, r3]
11036 00be CBE7 b .L411
11037 .LVL796:
11038 .L420:
3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11039 .loc 1 3385 54 is_stmt 0 discriminator 1 view .LVU3103
11040 00c0 0369 ldr r3, [r0, #16]
11041 00c2 002B cmp r3, #0
11042 00c4 DDD1 bne .L416
3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11043 .loc 1 3387 5 is_stmt 1 view .LVU3104
3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11044 .loc 1 3387 18 is_stmt 0 view .LVU3105
11045 00c6 034B ldr r3, .L421+8
11046 00c8 4366 str r3, [r0, #100]
11047 00ca DCE7 b .L417
11048 .L422:
11049 .align 2
11050 .L421:
11051 00cc FF010000 .word 511
11052 00d0 00000000 .word UART_RxISR_8BIT
11053 00d4 00000000 .word UART_RxISR_16BIT
11054 .cfi_endproc
11055 .LFE87:
11057 .section .text.HAL_UART_Receive_IT,"ax",%progbits
11058 .align 1
11059 .global HAL_UART_Receive_IT
11060 .syntax unified
11061 .code 16
11062 .thumb_func
11063 .fpu softvfp
11065 HAL_UART_Receive_IT:
11066 .LVL797:
11067 .LFB50:
1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
11068 .loc 1 1426 1 is_stmt 1 view -0
11069 .cfi_startproc
11070 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccwvDHH5.s page 320
11071 @ frame_needed = 0, uses_anonymous_args = 0
1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
11072 .loc 1 1426 1 is_stmt 0 view .LVU3107
11073 0000 70B5 push {r4, r5, r6, lr}
11074 .LCFI52:
11075 .cfi_def_cfa_offset 16
11076 .cfi_offset 4, -16
11077 .cfi_offset 5, -12
11078 .cfi_offset 6, -8
11079 .cfi_offset 14, -4
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11080 .loc 1 1428 3 is_stmt 1 view .LVU3108
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11081 .loc 1 1428 12 is_stmt 0 view .LVU3109
11082 0002 C36F ldr r3, [r0, #124]
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11083 .loc 1 1428 6 view .LVU3110
11084 0004 202B cmp r3, #32
11085 0006 2CD1 bne .L427
1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11086 .loc 1 1430 5 is_stmt 1 view .LVU3111
1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11087 .loc 1 1430 8 is_stmt 0 view .LVU3112
11088 0008 0029 cmp r1, #0
11089 000a 2CD0 beq .L428
1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11090 .loc 1 1430 25 discriminator 1 view .LVU3113
11091 000c 002A cmp r2, #0
11092 000e 2CD0 beq .L429
1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11093 .loc 1 1438 5 is_stmt 1 view .LVU3114
1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11094 .loc 1 1438 8 is_stmt 0 view .LVU3115
11095 0010 8023 movs r3, #128
11096 0012 5B01 lsls r3, r3, #5
11097 0014 8468 ldr r4, [r0, #8]
11098 0016 9C42 cmp r4, r3
11099 0018 1CD0 beq .L432
11100 .L425:
1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11101 .loc 1 1446 5 is_stmt 1 view .LVU3116
1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11102 .loc 1 1446 5 view .LVU3117
11103 001a 7423 movs r3, #116
11104 001c C35C ldrb r3, [r0, r3]
11105 001e 012B cmp r3, #1
11106 0020 25D0 beq .L431
1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11107 .loc 1 1446 5 discriminator 2 view .LVU3118
11108 0022 7423 movs r3, #116
11109 0024 0124 movs r4, #1
11110 0026 C454 strb r4, [r0, r3]
1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11111 .loc 1 1449 5 discriminator 2 view .LVU3119
1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11112 .loc 1 1449 26 is_stmt 0 discriminator 2 view .LVU3120
11113 0028 0023 movs r3, #0
ARM GAS /tmp/ccwvDHH5.s page 321
11114 002a 0366 str r3, [r0, #96]
1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11115 .loc 1 1452 5 is_stmt 1 discriminator 2 view .LVU3121
1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11116 .loc 1 1452 9 is_stmt 0 discriminator 2 view .LVU3122
11117 002c 0368 ldr r3, [r0]
11118 002e 5B68 ldr r3, [r3, #4]
1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11119 .loc 1 1452 8 discriminator 2 view .LVU3123
11120 0030 1B02 lsls r3, r3, #8
11121 0032 0CD5 bpl .L426
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11122 .loc 1 1455 7 is_stmt 1 view .LVU3124
11123 .LBB1091:
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11124 .loc 1 1455 7 view .LVU3125
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11125 .loc 1 1455 7 view .LVU3126
11126 .LBB1092:
11127 .LBI1092:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11128 .loc 2 382 31 view .LVU3127
11129 .LBB1093:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
11130 .loc 2 384 3 view .LVU3128
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
11131 .loc 2 386 3 view .LVU3129
11132 .syntax divided
11133 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11134 0034 EFF31085 MRS r5, primask
11135 @ 0 "" 2
11136 .LVL798:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
11137 .loc 2 387 3 view .LVU3130
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
11138 .loc 2 387 3 is_stmt 0 view .LVU3131
11139 .thumb
11140 .syntax unified
11141 .LBE1093:
11142 .LBE1092:
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11143 .loc 1 1455 7 is_stmt 1 view .LVU3132
11144 .LBB1094:
11145 .LBI1094:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11146 .loc 2 412 27 view .LVU3133
11147 .LBB1095:
11148 .loc 2 414 3 view .LVU3134
11149 0038 0123 movs r3, #1
11150 .syntax divided
11151 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11152 003a 83F31088 MSR primask, r3
11153 @ 0 "" 2
11154 .LVL799:
11155 .loc 2 414 3 is_stmt 0 view .LVU3135
11156 .thumb
11157 .syntax unified
ARM GAS /tmp/ccwvDHH5.s page 322
11158 .LBE1095:
11159 .LBE1094:
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11160 .loc 1 1455 7 is_stmt 1 view .LVU3136
11161 003e 0468 ldr r4, [r0]
11162 0040 2668 ldr r6, [r4]
11163 0042 8023 movs r3, #128
11164 0044 DB04 lsls r3, r3, #19
11165 0046 3343 orrs r3, r6
11166 0048 2360 str r3, [r4]
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11167 .loc 1 1455 7 view .LVU3137
11168 .LVL800:
11169 .LBB1096:
11170 .LBI1096:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11171 .loc 2 412 27 view .LVU3138
11172 .LBB1097:
11173 .loc 2 414 3 view .LVU3139
11174 .syntax divided
11175 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11176 004a 85F31088 MSR primask, r5
11177 @ 0 "" 2
11178 .LVL801:
11179 .thumb
11180 .syntax unified
11181 .L426:
11182 .loc 2 414 3 is_stmt 0 view .LVU3140
11183 .LBE1097:
11184 .LBE1096:
11185 .LBE1091:
1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11186 .loc 1 1458 5 is_stmt 1 view .LVU3141
1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11187 .loc 1 1458 13 is_stmt 0 view .LVU3142
11188 004e FFF7FEFF bl UART_Start_Receive_IT
11189 .LVL802:
1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11190 .loc 1 1458 13 view .LVU3143
11191 0052 07E0 b .L424
11192 .LVL803:
11193 .L432:
1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11194 .loc 1 1438 56 discriminator 1 view .LVU3144
11195 0054 0369 ldr r3, [r0, #16]
11196 0056 002B cmp r3, #0
11197 0058 DFD1 bne .L425
1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11198 .loc 1 1440 7 is_stmt 1 view .LVU3145
1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11199 .loc 1 1440 10 is_stmt 0 view .LVU3146
11200 005a CB07 lsls r3, r1, #31
11201 005c DDD5 bpl .L425
1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11202 .loc 1 1442 17 view .LVU3147
11203 005e 0120 movs r0, #1
11204 .LVL804:
ARM GAS /tmp/ccwvDHH5.s page 323
1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11205 .loc 1 1442 17 view .LVU3148
11206 0060 00E0 b .L424
11207 .LVL805:
11208 .L427:
1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11209 .loc 1 1462 12 view .LVU3149
11210 0062 0220 movs r0, #2
11211 .LVL806:
11212 .L424:
1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11213 .loc 1 1464 1 view .LVU3150
11214 @ sp needed
11215 0064 70BD pop {r4, r5, r6, pc}
11216 .LVL807:
11217 .L428:
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11218 .loc 1 1432 14 view .LVU3151
11219 0066 0120 movs r0, #1
11220 .LVL808:
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11221 .loc 1 1432 14 view .LVU3152
11222 0068 FCE7 b .L424
11223 .LVL809:
11224 .L429:
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11225 .loc 1 1432 14 view .LVU3153
11226 006a 0120 movs r0, #1
11227 .LVL810:
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11228 .loc 1 1432 14 view .LVU3154
11229 006c FAE7 b .L424
11230 .LVL811:
11231 .L431:
1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11232 .loc 1 1446 5 view .LVU3155
11233 006e 0220 movs r0, #2
11234 .LVL812:
1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11235 .loc 1 1446 5 view .LVU3156
11236 0070 F8E7 b .L424
11237 .cfi_endproc
11238 .LFE50:
11240 .section .text.UART_Start_Receive_DMA,"ax",%progbits
11241 .align 1
11242 .global UART_Start_Receive_DMA
11243 .syntax unified
11244 .code 16
11245 .thumb_func
11246 .fpu softvfp
11248 UART_Start_Receive_DMA:
11249 .LVL813:
11250 .LFB88:
3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData;
11251 .loc 1 3413 1 is_stmt 1 view -0
11252 .cfi_startproc
11253 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccwvDHH5.s page 324
11254 @ frame_needed = 0, uses_anonymous_args = 0
3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->pRxBuffPtr = pData;
11255 .loc 1 3413 1 is_stmt 0 view .LVU3158
11256 0000 70B5 push {r4, r5, r6, lr}
11257 .LCFI53:
11258 .cfi_def_cfa_offset 16
11259 .cfi_offset 4, -16
11260 .cfi_offset 5, -12
11261 .cfi_offset 6, -8
11262 .cfi_offset 14, -4
11263 0002 0400 movs r4, r0
3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size;
11264 .loc 1 3414 3 is_stmt 1 view .LVU3159
3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxXferSize = Size;
11265 .loc 1 3414 21 is_stmt 0 view .LVU3160
11266 0004 4165 str r1, [r0, #84]
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11267 .loc 1 3415 3 is_stmt 1 view .LVU3161
3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11268 .loc 1 3415 21 is_stmt 0 view .LVU3162
11269 0006 5823 movs r3, #88
11270 0008 C252 strh r2, [r0, r3]
3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
11271 .loc 1 3417 3 is_stmt 1 view .LVU3163
3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
11272 .loc 1 3417 20 is_stmt 0 view .LVU3164
11273 000a 2833 adds r3, r3, #40
11274 000c 0021 movs r1, #0
11275 .LVL814:
3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
11276 .loc 1 3417 20 view .LVU3165
11277 000e C150 str r1, [r0, r3]
3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11278 .loc 1 3418 3 is_stmt 1 view .LVU3166
3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11279 .loc 1 3418 18 is_stmt 0 view .LVU3167
11280 0010 5E3B subs r3, r3, #94
11281 0012 C367 str r3, [r0, #124]
3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11282 .loc 1 3420 3 is_stmt 1 view .LVU3168
3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11283 .loc 1 3420 12 is_stmt 0 view .LVU3169
11284 0014 036F ldr r3, [r0, #112]
3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11285 .loc 1 3420 6 view .LVU3170
11286 0016 002B cmp r3, #0
11287 0018 13D0 beq .L434
3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11288 .loc 1 3423 5 is_stmt 1 view .LVU3171
3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11289 .loc 1 3423 37 is_stmt 0 view .LVU3172
11290 001a 2249 ldr r1, .L437
11291 001c 9962 str r1, [r3, #40]
3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11292 .loc 1 3426 5 is_stmt 1 view .LVU3173
3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11293 .loc 1 3426 10 is_stmt 0 view .LVU3174
ARM GAS /tmp/ccwvDHH5.s page 325
11294 001e 036F ldr r3, [r0, #112]
3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11295 .loc 1 3426 41 view .LVU3175
11296 0020 2149 ldr r1, .L437+4
11297 0022 D962 str r1, [r3, #44]
3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11298 .loc 1 3429 5 is_stmt 1 view .LVU3176
3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11299 .loc 1 3429 10 is_stmt 0 view .LVU3177
11300 0024 036F ldr r3, [r0, #112]
3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11301 .loc 1 3429 38 view .LVU3178
11302 0026 2149 ldr r1, .L437+8
11303 0028 1963 str r1, [r3, #48]
3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11304 .loc 1 3432 5 is_stmt 1 view .LVU3179
3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11305 .loc 1 3432 10 is_stmt 0 view .LVU3180
11306 002a 036F ldr r3, [r0, #112]
3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11307 .loc 1 3432 38 view .LVU3181
11308 002c 0021 movs r1, #0
11309 002e 5963 str r1, [r3, #52]
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11310 .loc 1 3435 5 is_stmt 1 view .LVU3182
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11311 .loc 1 3435 51 is_stmt 0 view .LVU3183
11312 0030 0168 ldr r1, [r0]
11313 0032 2431 adds r1, r1, #36
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11314 .loc 1 3435 9 view .LVU3184
11315 0034 1300 movs r3, r2
11316 0036 426D ldr r2, [r0, #84]
11317 .LVL815:
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11318 .loc 1 3435 9 view .LVU3185
11319 0038 006F ldr r0, [r0, #112]
11320 .LVL816:
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11321 .loc 1 3435 9 view .LVU3186
11322 003a FFF7FEFF bl HAL_DMA_Start_IT
11323 .LVL817:
3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11324 .loc 1 3435 8 view .LVU3187
11325 003e 0028 cmp r0, #0
11326 0040 26D1 bne .L436
11327 .L434:
3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11328 .loc 1 3448 3 is_stmt 1 view .LVU3188
3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11329 .loc 1 3448 3 view .LVU3189
11330 0042 7423 movs r3, #116
11331 0044 0022 movs r2, #0
11332 0046 E254 strb r2, [r4, r3]
3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11333 .loc 1 3451 3 view .LVU3190
11334 .LBB1098:
ARM GAS /tmp/ccwvDHH5.s page 326
3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11335 .loc 1 3451 3 view .LVU3191
3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11336 .loc 1 3451 3 view .LVU3192
11337 .LBB1099:
11338 .LBI1099:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11339 .loc 2 382 31 view .LVU3193
11340 .LBB1100:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
11341 .loc 2 384 3 view .LVU3194
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
11342 .loc 2 386 3 view .LVU3195
11343 .syntax divided
11344 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11345 0048 EFF31080 MRS r0, primask
11346 @ 0 "" 2
11347 .LVL818:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
11348 .loc 2 387 3 view .LVU3196
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
11349 .loc 2 387 3 is_stmt 0 view .LVU3197
11350 .thumb
11351 .syntax unified
11352 .LBE1100:
11353 .LBE1099:
3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11354 .loc 1 3451 3 is_stmt 1 view .LVU3198
11355 .LBB1101:
11356 .LBI1101:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11357 .loc 2 412 27 view .LVU3199
11358 .LBB1102:
11359 .loc 2 414 3 view .LVU3200
11360 004c 733B subs r3, r3, #115
11361 .syntax divided
11362 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11363 004e 83F31088 MSR primask, r3
11364 @ 0 "" 2
11365 .LVL819:
11366 .loc 2 414 3 is_stmt 0 view .LVU3201
11367 .thumb
11368 .syntax unified
11369 .LBE1102:
11370 .LBE1101:
3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11371 .loc 1 3451 3 is_stmt 1 view .LVU3202
11372 0052 2168 ldr r1, [r4]
11373 0054 0D68 ldr r5, [r1]
11374 0056 0132 adds r2, r2, #1
11375 0058 FF32 adds r2, r2, #255
11376 005a 2A43 orrs r2, r5
11377 005c 0A60 str r2, [r1]
3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11378 .loc 1 3451 3 view .LVU3203
11379 .LVL820:
11380 .LBB1103:
ARM GAS /tmp/ccwvDHH5.s page 327
11381 .LBI1103:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11382 .loc 2 412 27 view .LVU3204
11383 .LBB1104:
11384 .loc 2 414 3 view .LVU3205
11385 .syntax divided
11386 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11387 005e 80F31088 MSR primask, r0
11388 @ 0 "" 2
11389 .LVL821:
11390 .loc 2 414 3 is_stmt 0 view .LVU3206
11391 .thumb
11392 .syntax unified
11393 .LBE1104:
11394 .LBE1103:
11395 .LBE1098:
3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11396 .loc 1 3454 3 is_stmt 1 view .LVU3207
11397 .LBB1105:
3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11398 .loc 1 3454 3 view .LVU3208
3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11399 .loc 1 3454 3 view .LVU3209
11400 .LBB1106:
11401 .LBI1106:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11402 .loc 2 382 31 view .LVU3210
11403 .LBB1107:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
11404 .loc 2 384 3 view .LVU3211
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
11405 .loc 2 386 3 view .LVU3212
11406 .syntax divided
11407 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11408 0062 EFF31080 MRS r0, primask
11409 @ 0 "" 2
11410 .LVL822:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
11411 .loc 2 387 3 view .LVU3213
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
11412 .loc 2 387 3 is_stmt 0 view .LVU3214
11413 .thumb
11414 .syntax unified
11415 .LBE1107:
11416 .LBE1106:
3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11417 .loc 1 3454 3 is_stmt 1 view .LVU3215
11418 .LBB1108:
11419 .LBI1108:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11420 .loc 2 412 27 view .LVU3216
11421 .LBB1109:
11422 .loc 2 414 3 view .LVU3217
11423 .syntax divided
11424 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11425 0066 83F31088 MSR primask, r3
11426 @ 0 "" 2
ARM GAS /tmp/ccwvDHH5.s page 328
11427 .LVL823:
11428 .loc 2 414 3 is_stmt 0 view .LVU3218
11429 .thumb
11430 .syntax unified
11431 .LBE1109:
11432 .LBE1108:
3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11433 .loc 1 3454 3 is_stmt 1 view .LVU3219
11434 006a 2168 ldr r1, [r4]
11435 006c 8A68 ldr r2, [r1, #8]
11436 006e 1A43 orrs r2, r3
11437 0070 8A60 str r2, [r1, #8]
3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11438 .loc 1 3454 3 view .LVU3220
11439 .LVL824:
11440 .LBB1110:
11441 .LBI1110:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11442 .loc 2 412 27 view .LVU3221
11443 .LBB1111:
11444 .loc 2 414 3 view .LVU3222
11445 .syntax divided
11446 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11447 0072 80F31088 MSR primask, r0
11448 @ 0 "" 2
11449 .LVL825:
11450 .loc 2 414 3 is_stmt 0 view .LVU3223
11451 .thumb
11452 .syntax unified
11453 .LBE1111:
11454 .LBE1110:
11455 .LBE1105:
3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11456 .loc 1 3458 3 is_stmt 1 view .LVU3224
11457 .LBB1112:
3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11458 .loc 1 3458 3 view .LVU3225
3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11459 .loc 1 3458 3 view .LVU3226
11460 .LBB1113:
11461 .LBI1113:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11462 .loc 2 382 31 view .LVU3227
11463 .LBB1114:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
11464 .loc 2 384 3 view .LVU3228
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
11465 .loc 2 386 3 view .LVU3229
11466 .syntax divided
11467 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11468 0076 EFF31081 MRS r1, primask
11469 @ 0 "" 2
11470 .LVL826:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
11471 .loc 2 387 3 view .LVU3230
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
11472 .loc 2 387 3 is_stmt 0 view .LVU3231
ARM GAS /tmp/ccwvDHH5.s page 329
11473 .thumb
11474 .syntax unified
11475 .LBE1114:
11476 .LBE1113:
3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11477 .loc 1 3458 3 is_stmt 1 view .LVU3232
11478 .LBB1115:
11479 .LBI1115:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11480 .loc 2 412 27 view .LVU3233
11481 .LBB1116:
11482 .loc 2 414 3 view .LVU3234
11483 .syntax divided
11484 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11485 007a 83F31088 MSR primask, r3
11486 @ 0 "" 2
11487 .LVL827:
11488 .loc 2 414 3 is_stmt 0 view .LVU3235
11489 .thumb
11490 .syntax unified
11491 .LBE1116:
11492 .LBE1115:
3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11493 .loc 1 3458 3 is_stmt 1 view .LVU3236
11494 007e 2268 ldr r2, [r4]
11495 0080 9368 ldr r3, [r2, #8]
11496 0082 4020 movs r0, #64
11497 .LVL828:
3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11498 .loc 1 3458 3 is_stmt 0 view .LVU3237
11499 0084 0343 orrs r3, r0
11500 0086 9360 str r3, [r2, #8]
3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11501 .loc 1 3458 3 is_stmt 1 view .LVU3238
11502 .LVL829:
11503 .LBB1117:
11504 .LBI1117:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11505 .loc 2 412 27 view .LVU3239
11506 .LBB1118:
11507 .loc 2 414 3 view .LVU3240
11508 .syntax divided
11509 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11510 0088 81F31088 MSR primask, r1
11511 @ 0 "" 2
11512 .LVL830:
11513 .loc 2 414 3 is_stmt 0 view .LVU3241
11514 .thumb
11515 .syntax unified
11516 .LBE1118:
11517 .LBE1117:
11518 .LBE1112:
3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11519 .loc 1 3460 3 is_stmt 1 view .LVU3242
3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11520 .loc 1 3460 10 is_stmt 0 view .LVU3243
11521 008c 0020 movs r0, #0
ARM GAS /tmp/ccwvDHH5.s page 330
11522 .LVL831:
11523 .L435:
3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11524 .loc 1 3461 1 view .LVU3244
11525 @ sp needed
11526 .LVL832:
3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11527 .loc 1 3461 1 view .LVU3245
11528 008e 70BD pop {r4, r5, r6, pc}
11529 .LVL833:
11530 .L436:
3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11531 .loc 1 3438 7 is_stmt 1 view .LVU3246
3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11532 .loc 1 3438 24 is_stmt 0 view .LVU3247
11533 0090 8023 movs r3, #128
11534 0092 1022 movs r2, #16
11535 0094 E250 str r2, [r4, r3]
3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11536 .loc 1 3440 7 is_stmt 1 view .LVU3248
3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11537 .loc 1 3440 7 view .LVU3249
11538 0096 0C3B subs r3, r3, #12
11539 0098 0022 movs r2, #0
11540 009a E254 strb r2, [r4, r3]
3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11541 .loc 1 3443 7 view .LVU3250
3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11542 .loc 1 3443 22 is_stmt 0 view .LVU3251
11543 009c 543B subs r3, r3, #84
11544 009e E367 str r3, [r4, #124]
3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11545 .loc 1 3445 7 is_stmt 1 view .LVU3252
3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11546 .loc 1 3445 14 is_stmt 0 view .LVU3253
11547 00a0 0120 movs r0, #1
11548 00a2 F4E7 b .L435
11549 .L438:
11550 .align 2
11551 .L437:
11552 00a4 00000000 .word UART_DMAReceiveCplt
11553 00a8 00000000 .word UART_DMARxHalfCplt
11554 00ac 00000000 .word UART_DMAError
11555 .cfi_endproc
11556 .LFE88:
11558 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
11559 .align 1
11560 .global HAL_UART_Receive_DMA
11561 .syntax unified
11562 .code 16
11563 .thumb_func
11564 .fpu softvfp
11566 HAL_UART_Receive_DMA:
11567 .LVL834:
11568 .LFB52:
1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
11569 .loc 1 1574 1 is_stmt 1 view -0
ARM GAS /tmp/ccwvDHH5.s page 331
11570 .cfi_startproc
11571 @ args = 0, pretend = 0, frame = 0
11572 @ frame_needed = 0, uses_anonymous_args = 0
1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
11573 .loc 1 1574 1 is_stmt 0 view .LVU3255
11574 0000 70B5 push {r4, r5, r6, lr}
11575 .LCFI54:
11576 .cfi_def_cfa_offset 16
11577 .cfi_offset 4, -16
11578 .cfi_offset 5, -12
11579 .cfi_offset 6, -8
11580 .cfi_offset 14, -4
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11581 .loc 1 1576 3 is_stmt 1 view .LVU3256
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11582 .loc 1 1576 12 is_stmt 0 view .LVU3257
11583 0002 C36F ldr r3, [r0, #124]
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11584 .loc 1 1576 6 view .LVU3258
11585 0004 202B cmp r3, #32
11586 0006 2CD1 bne .L443
1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11587 .loc 1 1578 5 is_stmt 1 view .LVU3259
1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11588 .loc 1 1578 8 is_stmt 0 view .LVU3260
11589 0008 0029 cmp r1, #0
11590 000a 2CD0 beq .L444
1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11591 .loc 1 1578 25 discriminator 1 view .LVU3261
11592 000c 002A cmp r2, #0
11593 000e 2CD0 beq .L445
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11594 .loc 1 1586 5 is_stmt 1 view .LVU3262
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11595 .loc 1 1586 8 is_stmt 0 view .LVU3263
11596 0010 8023 movs r3, #128
11597 0012 5B01 lsls r3, r3, #5
11598 0014 8468 ldr r4, [r0, #8]
11599 0016 9C42 cmp r4, r3
11600 0018 1CD0 beq .L448
11601 .L441:
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11602 .loc 1 1594 5 is_stmt 1 view .LVU3264
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11603 .loc 1 1594 5 view .LVU3265
11604 001a 7423 movs r3, #116
11605 001c C35C ldrb r3, [r0, r3]
11606 001e 012B cmp r3, #1
11607 0020 25D0 beq .L447
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11608 .loc 1 1594 5 discriminator 2 view .LVU3266
11609 0022 7423 movs r3, #116
11610 0024 0124 movs r4, #1
11611 0026 C454 strb r4, [r0, r3]
1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11612 .loc 1 1597 5 discriminator 2 view .LVU3267
1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
ARM GAS /tmp/ccwvDHH5.s page 332
11613 .loc 1 1597 26 is_stmt 0 discriminator 2 view .LVU3268
11614 0028 0023 movs r3, #0
11615 002a 0366 str r3, [r0, #96]
1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11616 .loc 1 1600 5 is_stmt 1 discriminator 2 view .LVU3269
1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11617 .loc 1 1600 9 is_stmt 0 discriminator 2 view .LVU3270
11618 002c 0368 ldr r3, [r0]
11619 002e 5B68 ldr r3, [r3, #4]
1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11620 .loc 1 1600 8 discriminator 2 view .LVU3271
11621 0030 1B02 lsls r3, r3, #8
11622 0032 0CD5 bpl .L442
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11623 .loc 1 1603 7 is_stmt 1 view .LVU3272
11624 .LBB1119:
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11625 .loc 1 1603 7 view .LVU3273
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11626 .loc 1 1603 7 view .LVU3274
11627 .LBB1120:
11628 .LBI1120:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11629 .loc 2 382 31 view .LVU3275
11630 .LBB1121:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
11631 .loc 2 384 3 view .LVU3276
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
11632 .loc 2 386 3 view .LVU3277
11633 .syntax divided
11634 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11635 0034 EFF31085 MRS r5, primask
11636 @ 0 "" 2
11637 .LVL835:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
11638 .loc 2 387 3 view .LVU3278
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
11639 .loc 2 387 3 is_stmt 0 view .LVU3279
11640 .thumb
11641 .syntax unified
11642 .LBE1121:
11643 .LBE1120:
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11644 .loc 1 1603 7 is_stmt 1 view .LVU3280
11645 .LBB1122:
11646 .LBI1122:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11647 .loc 2 412 27 view .LVU3281
11648 .LBB1123:
11649 .loc 2 414 3 view .LVU3282
11650 0038 0123 movs r3, #1
11651 .syntax divided
11652 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11653 003a 83F31088 MSR primask, r3
11654 @ 0 "" 2
11655 .LVL836:
11656 .loc 2 414 3 is_stmt 0 view .LVU3283
ARM GAS /tmp/ccwvDHH5.s page 333
11657 .thumb
11658 .syntax unified
11659 .LBE1123:
11660 .LBE1122:
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11661 .loc 1 1603 7 is_stmt 1 view .LVU3284
11662 003e 0468 ldr r4, [r0]
11663 0040 2668 ldr r6, [r4]
11664 0042 8023 movs r3, #128
11665 0044 DB04 lsls r3, r3, #19
11666 0046 3343 orrs r3, r6
11667 0048 2360 str r3, [r4]
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11668 .loc 1 1603 7 view .LVU3285
11669 .LVL837:
11670 .LBB1124:
11671 .LBI1124:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
11672 .loc 2 412 27 view .LVU3286
11673 .LBB1125:
11674 .loc 2 414 3 view .LVU3287
11675 .syntax divided
11676 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
11677 004a 85F31088 MSR primask, r5
11678 @ 0 "" 2
11679 .LVL838:
11680 .thumb
11681 .syntax unified
11682 .L442:
11683 .loc 2 414 3 is_stmt 0 view .LVU3288
11684 .LBE1125:
11685 .LBE1124:
11686 .LBE1119:
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11687 .loc 1 1606 5 is_stmt 1 view .LVU3289
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11688 .loc 1 1606 13 is_stmt 0 view .LVU3290
11689 004e FFF7FEFF bl UART_Start_Receive_DMA
11690 .LVL839:
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11691 .loc 1 1606 13 view .LVU3291
11692 0052 07E0 b .L440
11693 .LVL840:
11694 .L448:
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11695 .loc 1 1586 56 discriminator 1 view .LVU3292
11696 0054 0369 ldr r3, [r0, #16]
11697 0056 002B cmp r3, #0
11698 0058 DFD1 bne .L441
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11699 .loc 1 1588 7 is_stmt 1 view .LVU3293
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** {
11700 .loc 1 1588 10 is_stmt 0 view .LVU3294
11701 005a CB07 lsls r3, r1, #31
11702 005c DDD5 bpl .L441
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11703 .loc 1 1590 17 view .LVU3295
ARM GAS /tmp/ccwvDHH5.s page 334
11704 005e 0120 movs r0, #1
11705 .LVL841:
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11706 .loc 1 1590 17 view .LVU3296
11707 0060 00E0 b .L440
11708 .LVL842:
11709 .L443:
1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11710 .loc 1 1610 12 view .LVU3297
11711 0062 0220 movs r0, #2
11712 .LVL843:
11713 .L440:
1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11714 .loc 1 1612 1 view .LVU3298
11715 @ sp needed
11716 0064 70BD pop {r4, r5, r6, pc}
11717 .LVL844:
11718 .L444:
1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11719 .loc 1 1580 14 view .LVU3299
11720 0066 0120 movs r0, #1
11721 .LVL845:
1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11722 .loc 1 1580 14 view .LVU3300
11723 0068 FCE7 b .L440
11724 .LVL846:
11725 .L445:
1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11726 .loc 1 1580 14 view .LVU3301
11727 006a 0120 movs r0, #1
11728 .LVL847:
1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c **** }
11729 .loc 1 1580 14 view .LVU3302
11730 006c FAE7 b .L440
11731 .LVL848:
11732 .L447:
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11733 .loc 1 1594 5 view .LVU3303
11734 006e 0220 movs r0, #2
11735 .LVL849:
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c ****
11736 .loc 1 1594 5 view .LVU3304
11737 0070 F8E7 b .L440
11738 .cfi_endproc
11739 .LFE52:
11741 .text
11742 .Letext0:
11743 .file 3 "/usr/lib/gcc/arm-none-eabi/8.3.1/include/stdint.h"
11744 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
11745 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h"
11746 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
11747 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
11748 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
11749 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h"
11750 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
11751 .file 11 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h"
11752 .file 12 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h"
ARM GAS /tmp/ccwvDHH5.s page 335
ARM GAS /tmp/ccwvDHH5.s page 336
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f0xx_hal_uart.c
/tmp/ccwvDHH5.s:16 .text.UART_EndTxTransfer:0000000000000000 $t
/tmp/ccwvDHH5.s:23 .text.UART_EndTxTransfer:0000000000000000 UART_EndTxTransfer
/tmp/ccwvDHH5.s:111 .text.UART_EndRxTransfer:0000000000000000 $t
/tmp/ccwvDHH5.s:117 .text.UART_EndRxTransfer:0000000000000000 UART_EndRxTransfer
/tmp/ccwvDHH5.s:339 .text.UART_EndRxTransfer:0000000000000058 $d
/tmp/ccwvDHH5.s:347 .text.UART_TxISR_8BIT:0000000000000000 $t
/tmp/ccwvDHH5.s:353 .text.UART_TxISR_8BIT:0000000000000000 UART_TxISR_8BIT
/tmp/ccwvDHH5.s:541 .text.UART_TxISR_16BIT:0000000000000000 $t
/tmp/ccwvDHH5.s:547 .text.UART_TxISR_16BIT:0000000000000000 UART_TxISR_16BIT
/tmp/ccwvDHH5.s:741 .text.HAL_UART_MspInit:0000000000000000 $t
/tmp/ccwvDHH5.s:748 .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit
/tmp/ccwvDHH5.s:764 .text.HAL_UART_MspDeInit:0000000000000000 $t
/tmp/ccwvDHH5.s:771 .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit
/tmp/ccwvDHH5.s:787 .text.HAL_UART_DeInit:0000000000000000 $t
/tmp/ccwvDHH5.s:794 .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit
/tmp/ccwvDHH5.s:880 .text.HAL_UART_Transmit_IT:0000000000000000 $t
/tmp/ccwvDHH5.s:887 .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT
/tmp/ccwvDHH5.s:1106 .text.HAL_UART_Transmit_IT:0000000000000098 $d
/tmp/ccwvDHH5.s:1112 .text.HAL_UART_Transmit_DMA:0000000000000000 $t
/tmp/ccwvDHH5.s:1119 .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA
/tmp/ccwvDHH5.s:1372 .text.HAL_UART_Transmit_DMA:00000000000000c8 $d
/tmp/ccwvDHH5.s:3412 .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt
/tmp/ccwvDHH5.s:3715 .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt
/tmp/ccwvDHH5.s:3817 .text.UART_DMAError:0000000000000000 UART_DMAError
/tmp/ccwvDHH5.s:1379 .text.HAL_UART_DMAPause:0000000000000000 $t
/tmp/ccwvDHH5.s:1386 .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause
/tmp/ccwvDHH5.s:1718 .text.HAL_UART_DMAPause:0000000000000098 $d
/tmp/ccwvDHH5.s:1723 .text.HAL_UART_DMAResume:0000000000000000 $t
/tmp/ccwvDHH5.s:1730 .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume
/tmp/ccwvDHH5.s:2047 .text.HAL_UART_DMAStop:0000000000000000 $t
/tmp/ccwvDHH5.s:2054 .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop
/tmp/ccwvDHH5.s:2324 .text.HAL_UART_Abort:0000000000000000 $t
/tmp/ccwvDHH5.s:2331 .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort
/tmp/ccwvDHH5.s:2800 .text.HAL_UART_Abort:0000000000000108 $d
/tmp/ccwvDHH5.s:2805 .text.HAL_UART_AbortTransmit:0000000000000000 $t
/tmp/ccwvDHH5.s:2812 .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit
/tmp/ccwvDHH5.s:3019 .text.HAL_UART_AbortReceive:0000000000000000 $t
/tmp/ccwvDHH5.s:3026 .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive
/tmp/ccwvDHH5.s:3378 .text.HAL_UART_AbortReceive:00000000000000b8 $d
/tmp/ccwvDHH5.s:3383 .text.HAL_UART_TxCpltCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:3390 .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback
/tmp/ccwvDHH5.s:3406 .text.UART_DMATransmitCplt:0000000000000000 $t
/tmp/ccwvDHH5.s:3587 .text.UART_EndTransmit_IT:0000000000000000 $t
/tmp/ccwvDHH5.s:3593 .text.UART_EndTransmit_IT:0000000000000000 UART_EndTransmit_IT
/tmp/ccwvDHH5.s:3686 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:3693 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback
/tmp/ccwvDHH5.s:3709 .text.UART_DMATxHalfCplt:0000000000000000 $t
/tmp/ccwvDHH5.s:3742 .text.HAL_UART_RxCpltCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:3749 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
/tmp/ccwvDHH5.s:3765 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:3772 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback
/tmp/ccwvDHH5.s:3788 .text.HAL_UART_ErrorCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:3795 .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback
/tmp/ccwvDHH5.s:3811 .text.UART_DMAError:0000000000000000 $t
/tmp/ccwvDHH5.s:3915 .text.UART_DMAAbortOnError:0000000000000000 $t
ARM GAS /tmp/ccwvDHH5.s page 337
/tmp/ccwvDHH5.s:3921 .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError
/tmp/ccwvDHH5.s:3957 .text.HAL_UART_AbortCpltCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:3964 .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback
/tmp/ccwvDHH5.s:3980 .text.HAL_UART_Abort_IT:0000000000000000 $t
/tmp/ccwvDHH5.s:3987 .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT
/tmp/ccwvDHH5.s:4510 .text.HAL_UART_Abort_IT:0000000000000130 $d
/tmp/ccwvDHH5.s:4609 .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback
/tmp/ccwvDHH5.s:4523 .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback
/tmp/ccwvDHH5.s:4517 .text.UART_DMARxAbortCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:4603 .text.UART_DMATxAbortCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:4683 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:4690 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback
/tmp/ccwvDHH5.s:4706 .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t
/tmp/ccwvDHH5.s:4713 .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT
/tmp/ccwvDHH5.s:4936 .text.HAL_UART_AbortTransmit_IT:0000000000000084 $d
/tmp/ccwvDHH5.s:4947 .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback
/tmp/ccwvDHH5.s:4941 .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:4983 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:4990 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback
/tmp/ccwvDHH5.s:5006 .text.HAL_UART_AbortReceive_IT:0000000000000000 $t
/tmp/ccwvDHH5.s:5013 .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT
/tmp/ccwvDHH5.s:5388 .text.HAL_UART_AbortReceive_IT:00000000000000cc $d
/tmp/ccwvDHH5.s:5400 .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback
/tmp/ccwvDHH5.s:5394 .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:5449 .text.HAL_UARTEx_RxEventCallback:0000000000000000 $t
/tmp/ccwvDHH5.s:5456 .text.HAL_UARTEx_RxEventCallback:0000000000000000 HAL_UARTEx_RxEventCallback
/tmp/ccwvDHH5.s:5473 .text.HAL_UART_IRQHandler:0000000000000000 $t
/tmp/ccwvDHH5.s:5480 .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler
/tmp/ccwvDHH5.s:6512 .text.HAL_UART_IRQHandler:00000000000002b0 $d
/tmp/ccwvDHH5.s:6521 .text.UART_RxISR_8BIT:0000000000000000 $t
/tmp/ccwvDHH5.s:6527 .text.UART_RxISR_8BIT:0000000000000000 UART_RxISR_8BIT
/tmp/ccwvDHH5.s:6835 .text.UART_RxISR_8BIT:00000000000000ac $d
/tmp/ccwvDHH5.s:6840 .text.UART_RxISR_16BIT:0000000000000000 $t
/tmp/ccwvDHH5.s:6846 .text.UART_RxISR_16BIT:0000000000000000 UART_RxISR_16BIT
/tmp/ccwvDHH5.s:7156 .text.UART_RxISR_16BIT:00000000000000ac $d
/tmp/ccwvDHH5.s:7161 .text.UART_DMARxHalfCplt:0000000000000000 $t
/tmp/ccwvDHH5.s:7167 .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt
/tmp/ccwvDHH5.s:7213 .text.UART_DMAReceiveCplt:0000000000000000 $t
/tmp/ccwvDHH5.s:7219 .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt
/tmp/ccwvDHH5.s:7538 .text.UART_DMAReceiveCplt:0000000000000090 $d
/tmp/ccwvDHH5.s:7543 .text.HAL_UART_ReceiverTimeout_Config:0000000000000000 $t
/tmp/ccwvDHH5.s:7550 .text.HAL_UART_ReceiverTimeout_Config:0000000000000000 HAL_UART_ReceiverTimeout_Config
/tmp/ccwvDHH5.s:7573 .text.HAL_UART_EnableReceiverTimeout:0000000000000000 $t
/tmp/ccwvDHH5.s:7580 .text.HAL_UART_EnableReceiverTimeout:0000000000000000 HAL_UART_EnableReceiverTimeout
/tmp/ccwvDHH5.s:7654 .text.HAL_UART_DisableReceiverTimeout:0000000000000000 $t
/tmp/ccwvDHH5.s:7661 .text.HAL_UART_DisableReceiverTimeout:0000000000000000 HAL_UART_DisableReceiverTimeout
/tmp/ccwvDHH5.s:7733 .text.HAL_UART_DisableReceiverTimeout:0000000000000038 $d
/tmp/ccwvDHH5.s:7738 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t
/tmp/ccwvDHH5.s:7745 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode
/tmp/ccwvDHH5.s:7766 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t
/tmp/ccwvDHH5.s:7773 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter
/tmp/ccwvDHH5.s:7953 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t
/tmp/ccwvDHH5.s:7960 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver
/tmp/ccwvDHH5.s:8140 .text.HAL_LIN_SendBreak:0000000000000000 $t
/tmp/ccwvDHH5.s:8147 .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak
/tmp/ccwvDHH5.s:8208 .text.HAL_UART_GetState:0000000000000000 $t
/tmp/ccwvDHH5.s:8215 .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState
ARM GAS /tmp/ccwvDHH5.s page 338
/tmp/ccwvDHH5.s:8244 .text.HAL_UART_GetError:0000000000000000 $t
/tmp/ccwvDHH5.s:8251 .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError
/tmp/ccwvDHH5.s:8272 .text.UART_SetConfig:0000000000000000 $t
/tmp/ccwvDHH5.s:8279 .text.UART_SetConfig:0000000000000000 UART_SetConfig
/tmp/ccwvDHH5.s:8628 .text.UART_SetConfig:0000000000000154 $d
/tmp/ccwvDHH5.s:8640 .text.UART_AdvFeatureConfig:0000000000000000 $t
/tmp/ccwvDHH5.s:8647 .text.UART_AdvFeatureConfig:0000000000000000 UART_AdvFeatureConfig
/tmp/ccwvDHH5.s:8801 .text.UART_AdvFeatureConfig:00000000000000bc $d
/tmp/ccwvDHH5.s:8814 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t
/tmp/ccwvDHH5.s:8821 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout
/tmp/ccwvDHH5.s:9207 .text.UART_WaitOnFlagUntilTimeout:00000000000000cc $d
/tmp/ccwvDHH5.s:9212 .text.HAL_UART_Transmit:0000000000000000 $t
/tmp/ccwvDHH5.s:9219 .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit
/tmp/ccwvDHH5.s:9481 .text.HAL_UART_Receive:0000000000000000 $t
/tmp/ccwvDHH5.s:9488 .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive
/tmp/ccwvDHH5.s:9831 .text.HAL_UART_Receive:0000000000000150 $d
/tmp/ccwvDHH5.s:9836 .text.UART_CheckIdleState:0000000000000000 $t
/tmp/ccwvDHH5.s:9843 .text.UART_CheckIdleState:0000000000000000 UART_CheckIdleState
/tmp/ccwvDHH5.s:9961 .text.UART_CheckIdleState:000000000000006c $d
/tmp/ccwvDHH5.s:9966 .text.HAL_UART_Init:0000000000000000 $t
/tmp/ccwvDHH5.s:9973 .text.HAL_UART_Init:0000000000000000 HAL_UART_Init
/tmp/ccwvDHH5.s:10081 .text.HAL_UART_Init:0000000000000068 $d
/tmp/ccwvDHH5.s:10086 .text.HAL_HalfDuplex_Init:0000000000000000 $t
/tmp/ccwvDHH5.s:10093 .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init
/tmp/ccwvDHH5.s:10206 .text.HAL_HalfDuplex_Init:0000000000000074 $d
/tmp/ccwvDHH5.s:10211 .text.HAL_LIN_Init:0000000000000000 $t
/tmp/ccwvDHH5.s:10218 .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init
/tmp/ccwvDHH5.s:10371 .text.HAL_LIN_Init:000000000000009c $d
/tmp/ccwvDHH5.s:10376 .text.HAL_MultiProcessor_Init:0000000000000000 $t
/tmp/ccwvDHH5.s:10383 .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init
/tmp/ccwvDHH5.s:10522 .text.HAL_MultiProcessor_Init:0000000000000094 $d
/tmp/ccwvDHH5.s:10528 .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 $t
/tmp/ccwvDHH5.s:10535 .text.HAL_MultiProcessor_EnableMuteMode:0000000000000000 HAL_MultiProcessor_EnableMuteMode
/tmp/ccwvDHH5.s:10647 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 $t
/tmp/ccwvDHH5.s:10654 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000000 HAL_MultiProcessor_DisableMuteMode
/tmp/ccwvDHH5.s:10764 .text.HAL_MultiProcessor_DisableMuteMode:0000000000000038 $d
/tmp/ccwvDHH5.s:10769 .text.UART_Start_Receive_IT:0000000000000000 $t
/tmp/ccwvDHH5.s:10776 .text.UART_Start_Receive_IT:0000000000000000 UART_Start_Receive_IT
/tmp/ccwvDHH5.s:11051 .text.UART_Start_Receive_IT:00000000000000cc $d
/tmp/ccwvDHH5.s:11058 .text.HAL_UART_Receive_IT:0000000000000000 $t
/tmp/ccwvDHH5.s:11065 .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT
/tmp/ccwvDHH5.s:11241 .text.UART_Start_Receive_DMA:0000000000000000 $t
/tmp/ccwvDHH5.s:11248 .text.UART_Start_Receive_DMA:0000000000000000 UART_Start_Receive_DMA
/tmp/ccwvDHH5.s:11552 .text.UART_Start_Receive_DMA:00000000000000a4 $d
/tmp/ccwvDHH5.s:11559 .text.HAL_UART_Receive_DMA:0000000000000000 $t
/tmp/ccwvDHH5.s:11566 .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA
UNDEFINED SYMBOLS
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_GetError
HAL_DMA_Abort_IT
HAL_UARTEx_WakeupCallback
__aeabi_uidiv
HAL_RCC_GetPCLK1Freq
HAL_RCC_GetSysClockFreq
HAL_GetTick
ARM GAS /tmp/ccwvDHH5.s page 339