You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
KED/bsl/cmakeTest_makefile/build/stm32f0xx_hal_uart_ex.lst

3296 lines
202 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

ARM GAS /tmp/ccUspFyj.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_ex.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.UARTEx_Wakeup_AddressConfig,"ax",%progbits
16 .align 1
17 .arch armv6s-m
18 .syntax unified
19 .code 16
20 .thumb_func
21 .fpu softvfp
23 UARTEx_Wakeup_AddressConfig:
24 .LVL0:
25 .LFB49:
26 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c"
1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ******************************************************************************
3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @file stm32f0xx_hal_uart_ex.c
4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @author MCD Application Team
5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Extended UART HAL module driver.
6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * This file provides firmware functions to manage the following extended
7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * + Peripheral Control functions
10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *
11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *
12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** @verbatim
13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ==============================================================================
14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ##### UART peripheral extended features #####
15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ==============================================================================
16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (#) Declare a UART_HandleTypeDef handle structure.
18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (#) For the UART RS485 Driver Enable mode, initialize the UART registers
20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** by calling the HAL_RS485Ex_Init() API.
21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** @endverbatim
23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ******************************************************************************
24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @attention
25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *
26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * All rights reserved.</center></h2>
28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *
29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * This software component is licensed by ST under BSD 3-Clause license,
30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * the "License"; You may not use this file except in compliance with the
31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * License. You may obtain a copy of the License at:
32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * opensource.org/licenses/BSD-3-Clause
ARM GAS /tmp/ccUspFyj.s page 2
33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *
34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ******************************************************************************
35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Includes ------------------------------------------------------------------*/
38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #include "stm32f0xx_hal.h"
39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver
41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @{
42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /** @defgroup UARTEx UARTEx
45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief UART Extended HAL module driver
46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @{
47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #ifdef HAL_UART_MODULE_ENABLED
50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Private typedef -----------------------------------------------------------*/
52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Private define ------------------------------------------------------------*/
53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Private macros ------------------------------------------------------------*/
55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Private variables ---------------------------------------------------------*/
56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Private function prototypes -----------------------------------------------*/
57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /** @defgroup UARTEx_Private_Functions UARTEx Private Functions
58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @{
59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #if defined(USART_CR1_UESM)
61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** static void UARTEx_Wakeup_AddressConfig(UART_HandleTypeDef *huart, UART_WakeUpTypeDef WakeUpSelecti
62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif /* USART_CR1_UESM */
63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @}
65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Exported functions --------------------------------------------------------*/
68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /** @defgroup UARTEx_Exported_Functions UARTEx Exported Functions
70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @{
71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /** @defgroup UARTEx_Exported_Functions_Group1 Initialization and de-initialization functions
74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Extended Initialization and Configuration Functions
75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *
76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** @verbatim
77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ===============================================================================
78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ##### Initialization and Configuration functions #####
79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ===============================================================================
80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** [..]
81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** in asynchronous mode.
83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) For the asynchronous mode the parameters below can be configured:
84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) Baud Rate
85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) Word Length
86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) Stop Bit
87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** in the data register is transmitted but is changed by the parity bit.
89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) Hardware flow control
ARM GAS /tmp/ccUspFyj.s page 3
90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) Receiver/transmitter modes
91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) Over Sampling Method
92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) One-Bit Sampling Method
93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) For the asynchronous mode, the following advanced features can be configured as well:
94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) TX and/or RX pin level inversion
95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) data logical level inversion
96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) RX and TX pins swap
97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) RX overrun detection disabling
98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) DMA disabling on RX error
99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) MSB first on communication line
100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) auto Baud rate detection
101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** [..]
102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** The HAL_RS485Ex_Init() API follows the UART RS485 mode configuration
103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** procedures (details for the procedures are available in reference manual).
104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** @endverbatim
106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** Depending on the frame length defined by the M1 and M0 bits (7-bit,
108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** 8-bit or 9-bit), the possible UART formats are listed in the
109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** following table.
110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** Table 1. UART frame format.
112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** +-----------------------------------------------------------------------+
113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** | M1 bit | M0 bit | PCE bit | UART frame |
114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** |---------|---------|-----------|---------------------------------------|
115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** | 0 | 0 | 0 | | SB | 8 bit data | STB | |
116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** |---------|---------|-----------|---------------------------------------|
117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | |
118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** |---------|---------|-----------|---------------------------------------|
119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** | 0 | 1 | 0 | | SB | 9 bit data | STB | |
120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** |---------|---------|-----------|---------------------------------------|
121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | |
122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** |---------|---------|-----------|---------------------------------------|
123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** | 1 | 0 | 0 | | SB | 7 bit data | STB | |
124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** |---------|---------|-----------|---------------------------------------|
125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | |
126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** +-----------------------------------------------------------------------+
127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @{
129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Initialize the RS485 Driver enable feature according to the specified
133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * parameters in the UART_InitTypeDef and creates the associated handle.
134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param huart UART handle.
135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param Polarity Select the driver enable polarity.
136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * This parameter can be one of the following values:
137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @arg @ref UART_DE_POLARITY_HIGH DE signal is active high
138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @arg @ref UART_DE_POLARITY_LOW DE signal is active low
139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param AssertionTime Driver Enable assertion time:
140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * 5-bit value defining the time between the activation of the DE (Driver Enable)
141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * signal and the beginning of the start bit. It is expressed in sample time
142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * units (1/8 or 1/16 bit time, depending on the oversampling rate)
143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param DeassertionTime Driver Enable deassertion time:
144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * 5-bit value defining the time between the end of the last stop bit, in a
145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * transmitted message, and the de-activation of the DE (Driver Enable) signal.
146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * It is expressed in sample time units (1/8 or 1/16 bit time, depending on the
ARM GAS /tmp/ccUspFyj.s page 4
147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * oversampling rate).
148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @retval HAL status
149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef HAL_RS485Ex_Init(UART_HandleTypeDef *huart, uint32_t Polarity, uint32_t Assertion
151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint32_t DeassertionTime)
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint32_t temp;
154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check the UART handle allocation */
156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (huart == NULL)
157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_ERROR;
159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check the Driver Enable UART instance */
161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** assert_param(IS_UART_DRIVER_ENABLE_INSTANCE(huart->Instance));
162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check the Driver Enable polarity */
164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** assert_param(IS_UART_DE_POLARITY(Polarity));
165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check the Driver Enable assertion time */
167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** assert_param(IS_UART_ASSERTIONTIME(AssertionTime));
168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check the Driver Enable deassertion time */
170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** assert_param(IS_UART_DEASSERTIONTIME(DeassertionTime));
171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (huart->gState == HAL_UART_STATE_RESET)
173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Allocate lock resource and initialize it */
175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->Lock = HAL_UNLOCKED;
176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** UART_InitCallbacksToDefault(huart);
179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (huart->MspInitCallback == NULL)
181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->MspInitCallback = HAL_UART_MspInit;
183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Init the low level hardware */
186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->MspInitCallback(huart);
187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #else
188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX */
189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_UART_MspInit(huart);
190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->gState = HAL_UART_STATE_BUSY;
194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Disable the Peripheral */
196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UART_DISABLE(huart);
197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set the UART Communication parameters */
199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (UART_SetConfig(huart) == HAL_ERROR)
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_ERROR;
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
ARM GAS /tmp/ccUspFyj.s page 5
204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** UART_AdvFeatureConfig(huart);
207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Enable the Driver Enable mode by setting the DEM bit in the CR3 register */
210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DEM);
211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set the Driver Enable polarity */
213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_DEP, Polarity);
214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set the Driver Enable assertion and deassertion times */
216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** temp = (AssertionTime << UART_CR1_DEAT_ADDRESS_LSB_POS);
217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** temp |= (DeassertionTime << UART_CR1_DEDT_ADDRESS_LSB_POS);
218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** MODIFY_REG(huart->Instance->CR1, (USART_CR1_DEDT | USART_CR1_DEAT), temp);
219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Enable the Peripheral */
221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UART_ENABLE(huart);
222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return (UART_CheckIdleState(huart));
225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @}
229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /** @defgroup UARTEx_Exported_Functions_Group2 IO operation functions
232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Extended functions
233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *
234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** @verbatim
235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ===============================================================================
236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ##### IO operation functions #####
237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ===============================================================================
238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** This subsection provides a set of Wakeup and FIFO mode related callback functions.
239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #if defined(USART_CR1_UESM)
241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #if defined(USART_CR3_WUFIE)
242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (#) Wakeup from Stop mode Callback:
243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) HAL_UARTEx_WakeupCallback()
244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif
246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** @endverbatim
248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @{
249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #if defined(USART_CR1_UESM)
252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #if defined(USART_CR3_WUFIE)
253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief UART wakeup from Stop mode callback.
255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param huart UART handle.
256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @retval None
257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __weak void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart)
259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS /tmp/ccUspFyj.s page 6
261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** UNUSED(huart);
262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** the HAL_UARTEx_WakeupCallback can be implemented in the user file.
265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif /* USART_CR3_WUFIE */
269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif /* USART_CR1_UESM */
270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @}
273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /** @defgroup UARTEx_Exported_Functions_Group3 Peripheral Control functions
276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Extended Peripheral Control functions
277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *
278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** @verbatim
279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ===============================================================================
280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ##### Peripheral Control functions #####
281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ===============================================================================
282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** [..] This section provides the following functions:
283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) HAL_MultiProcessorEx_AddressLength_Set() API optionally sets the UART node address
284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** detection length to more than 4 bits for multiprocessor address mark wake up.
285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #if defined(USART_CR1_UESM)
286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) HAL_UARTEx_StopModeWakeUpSourceConfig() API defines the wake-up from stop mode
287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** trigger: address match, Start Bit detection or RXNE bit status.
288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) HAL_UARTEx_EnableStopMode() API enables the UART to wake up the MCU from stop mode
289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) HAL_UARTEx_DisableStopMode() API disables the above functionality
290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif
291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** [..] This subsection also provides a set of additional functions providing enhanced reception
293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** services to user. (For example, these functions allow application to handle use cases
294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** where number of data to be received is unknown).
295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (#) Compared to standard reception services which only consider number of received
297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** data elements as reception completion criteria, these functions also consider additional ev
298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** as triggers for updating reception status to caller :
299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) Detection of inactivity period (RX line has not been active for a given period).
300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) RX inactivity detected by IDLE event, i.e. RX line has been in idle state (normally
301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** for 1 frame time, after last received byte.
302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (++) RX inactivity detected by RTO, i.e. line has been in idle state
303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** for a programmable time, after last received byte.
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) Detection that a specific character has been received.
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (#) There are two mode of transfer:
307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) Blocking mode: The reception is performed in polling mode, until either expected number
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** or till IDLE event occurs. Reception is handled only during function execution.
309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** When function exits, no data reception could occur. HAL status and number of actually re
310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** are returned by function after finishing transfer.
311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) Non-Blocking mode: The reception is performed using Interrupts or DMA.
312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** These API's return the HAL status.
313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** The end of the data processing will be indicated through the
314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when using DMA mode.
315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** The HAL_UARTEx_RxEventCallback() user callback will be executed during Receive process
316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** The HAL_UART_ErrorCallback()user callback will be executed when a reception error is det
317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
ARM GAS /tmp/ccUspFyj.s page 7
318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (#) Blocking mode API:
319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) HAL_UARTEx_ReceiveToIdle()
320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (#) Non-Blocking mode API with Interrupt:
322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) HAL_UARTEx_ReceiveToIdle_IT()
323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (#) Non-Blocking mode API with DMA:
325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (+) HAL_UARTEx_ReceiveToIdle_DMA()
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** @endverbatim
328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @{
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief By default in multiprocessor mode, when the wake up method is set
333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * to address mark, the UART handles only 4-bit long addresses detection;
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * this API allows to enable longer addresses detection (6-, 7- or 8-bit
335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * long).
336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note Addresses detection lengths are: 6-bit address detection in 7-bit data mode,
337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * 7-bit address detection in 8-bit data mode, 8-bit address detection in 9-bit data mode.
338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param huart UART handle.
339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param AddressLength This parameter can be one of the following values:
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @arg @ref UART_ADDRESS_DETECT_4B 4-bit long address
341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @arg @ref UART_ADDRESS_DETECT_7B 6-, 7- or 8-bit long address
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @retval HAL status
343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef HAL_MultiProcessorEx_AddressLength_Set(UART_HandleTypeDef *huart, uint32_t Addres
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check the UART handle allocation */
347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (huart == NULL)
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_ERROR;
350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check the address length parameter */
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** assert_param(IS_UART_ADDRESSLENGTH_DETECT(AddressLength));
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->gState = HAL_UART_STATE_BUSY;
356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Disable the Peripheral */
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UART_DISABLE(huart);
359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set the address length */
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADDM7, AddressLength);
362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Enable the Peripheral */
364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UART_ENABLE(huart);
365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* TEACK and/or REACK to check before moving huart->gState to Ready */
367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return (UART_CheckIdleState(huart));
368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #if defined(USART_CR1_UESM)
371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Set Wakeup from Stop mode interrupt flag selection.
373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note It is the application responsibility to enable the interrupt used as
374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * usart_wkup interrupt source before entering low-power mode.
ARM GAS /tmp/ccUspFyj.s page 8
375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param huart UART handle.
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param WakeUpSelection Address match, Start Bit detection or RXNE/RXFNE bit status.
377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * This parameter can be one of the following values:
378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @arg @ref UART_WAKEUP_ON_ADDRESS
379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @arg @ref UART_WAKEUP_ON_STARTBIT
380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @arg @ref UART_WAKEUP_ON_READDATA_NONEMPTY
381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @retval HAL status
382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef HAL_UARTEx_StopModeWakeUpSourceConfig(UART_HandleTypeDef *huart, UART_WakeUpTypeD
384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef status = HAL_OK;
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint32_t tickstart;
387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* check the wake-up from stop mode UART instance */
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** assert_param(IS_UART_WAKEUP_FROMSTOP_INSTANCE(huart->Instance));
390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* check the wake-up selection parameter */
391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** assert_param(IS_UART_WAKEUP_SELECTION(WakeUpSelection.WakeUpEvent));
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Process Locked */
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_LOCK(huart);
395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->gState = HAL_UART_STATE_BUSY;
397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Disable the Peripheral */
399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UART_DISABLE(huart);
400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #if defined(USART_CR3_WUS)
402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set the wake-up selection scheme */
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** MODIFY_REG(huart->Instance->CR3, USART_CR3_WUS, WakeUpSelection.WakeUpEvent);
404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif /* USART_CR3_WUS */
405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (WakeUpSelection.WakeUpEvent == UART_WAKEUP_ON_ADDRESS)
407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** UARTEx_Wakeup_AddressConfig(huart, WakeUpSelection);
409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Enable the Peripheral */
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UART_ENABLE(huart);
413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Init tickstart for timeout management */
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** tickstart = HAL_GetTick();
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Wait until REACK flag is set */
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_REACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE)
419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** status = HAL_TIMEOUT;
421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** else
423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Initialize the UART State */
425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->gState = HAL_UART_STATE_READY;
426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Process Unlocked */
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UNLOCK(huart);
430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return status;
ARM GAS /tmp/ccUspFyj.s page 9
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Enable UART Stop Mode.
436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note The UART is able to wake up the MCU from Stop 1 mode as long as UART clock is HSI or LSE.
437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param huart UART handle.
438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @retval HAL status
439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef HAL_UARTEx_EnableStopMode(UART_HandleTypeDef *huart)
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Process Locked */
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_LOCK(huart);
444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set UESM bit */
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_UESM);
447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Process Unlocked */
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UNLOCK(huart);
450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_OK;
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Disable UART Stop Mode.
456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param huart UART handle.
457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @retval HAL status
458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef HAL_UARTEx_DisableStopMode(UART_HandleTypeDef *huart)
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Process Locked */
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_LOCK(huart);
463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Clear UESM bit */
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_UESM);
466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Process Unlocked */
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UNLOCK(huart);
469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_OK;
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif /* USART_CR1_UESM */
474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Receive an amount of data in blocking mode till either the expected number of data
476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * is received or an IDLE event occurs.
477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note HAL_OK is returned if reception is completed (expected number of data has been received)
478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * or if reception is stopped after IDLE event (less than the expected number of data has b
479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * In this case, RxLen output parameter indicates number of data available in reception buf
480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-M
481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * of uint16_t available through pData.
483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * address of user data buffer for storing data to be received, should be aligned on a hal
485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * (16 bits) (as received data will be handled using uint16_t pointer cast). Depending on
486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * use of specific alignment compilation directives or pragmas might be required to ensure
487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * alignment for pData.
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param huart UART handle.
ARM GAS /tmp/ccUspFyj.s page 10
489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param RxLen Number of data elements finally received
492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * (could be lower than Size, in case reception ends on IDLE event)
493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param Timeout Timeout duration expressed in ms (covers the whole reception sequence).
494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @retval HAL status
495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size
497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint32_t Timeout)
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint8_t *pdata8bits;
500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint16_t *pdata16bits;
501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint16_t uhMask;
502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint32_t tickstart;
503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check that a Rx process is not already ongoing */
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (huart->RxState == HAL_UART_STATE_READY)
506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if ((pData == NULL) || (Size == 0U))
508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_ERROR;
510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter
513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** should be aligned on a uint16_t frontier, as data to be received from RDR will be
514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** handled through a uint16_t cast. */
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if ((((uint32_t)pData) & 1U) != 0U)
518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_ERROR;
520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_LOCK(huart);
524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Init tickstart for timeout management */
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** tickstart = HAL_GetTick();
531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxXferSize = Size;
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxXferCount = Size;
534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Computation of UART mask to apply to RDR register */
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** UART_MASK_COMPUTATION(huart);
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* In case of 9bits/No Parity transfer, pRxData needs to be handled as a uint16_t pointer */
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata8bits = NULL;
543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata16bits = (uint16_t *) pData;
544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** else
ARM GAS /tmp/ccUspFyj.s page 11
546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata8bits = pData;
548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata16bits = NULL;
549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UNLOCK(huart);
552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Initialize output number of received elements */
554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *RxLen = 0U;
555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* as long as data have to be received */
557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** while (huart->RxXferCount > 0U)
558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check if IDLE flag is set */
560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE))
561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Clear IDLE flag in ISR */
563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* If Set, but no data ever received, clear flag without exiting loop */
566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* If Set, and data has already been received, this means Idle Event is valid : End recepti
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (*RxLen > 0U)
568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxState = HAL_UART_STATE_READY;
570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_OK;
572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check if RXNE flag is set */
576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (__HAL_UART_GET_FLAG(huart, UART_FLAG_RXNE))
577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (pdata8bits == NULL)
579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *pdata16bits = (uint16_t)(huart->Instance->RDR & uhMask);
581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata16bits++;
582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** else
584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *pdata8bits = (uint8_t)(huart->Instance->RDR & (uint8_t)uhMask);
586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata8bits++;
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Increment number of received elements */
589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *RxLen += 1U;
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxXferCount--;
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check for the Timeout */
594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (Timeout != HAL_MAX_DELAY)
595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxState = HAL_UART_STATE_READY;
599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_TIMEOUT;
601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
ARM GAS /tmp/ccUspFyj.s page 12
603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set number of received elements in output parameter : RxLen */
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** *RxLen = huart->RxXferSize - huart->RxXferCount;
607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* At end of Rx process, restore huart->RxState to Ready */
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxState = HAL_UART_STATE_READY;
609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_OK;
611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** else
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_BUSY;
615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Receive an amount of data in interrupt mode till either the expected number of data
620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * is received or an IDLE event occurs.
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note Reception is initiated by this function call. Further progress of reception is achieved
622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * to UART interrupts raised by RXNE and IDLE events. Callback is called at end of receptio
623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * number of received data elements.
624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-M
625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * of uint16_t available through pData.
627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-M
628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * address of user data buffer for storing data to be received, should be aligned on a half
629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * (16 bits) (as received data will be handled using uint16_t pointer cast). Depending on c
630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * use of specific alignment compilation directives or pragmas might be required
631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * to ensure proper alignment for pData.
632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param huart UART handle.
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @retval HAL status
636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t S
638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef status;
640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check that a Rx process is not already ongoing */
642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (huart->RxState == HAL_UART_STATE_READY)
643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if ((pData == NULL) || (Size == 0U))
645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_ERROR;
647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter
650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** should be aligned on a uint16_t frontier, as data to be received from RDR will be
651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** handled through a uint16_t cast. */
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if ((((uint32_t)pData) & 1U) != 0U)
655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_ERROR;
657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
ARM GAS /tmp/ccUspFyj.s page 13
660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_LOCK(huart);
661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set Reception type to reception till IDLE Event*/
663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** status = UART_Start_Receive_IT(huart, pData, Size);
666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check Rx process has been successfully started */
668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (status == HAL_OK)
669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** else
676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* In case of errors already pending when reception is started,
678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** Interrupts may have already been raised and lead to reception abortion.
679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (Overrun error for instance).
680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** In such case Reception Type has been reset to HAL_UART_RECEPTION_STANDARD. */
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** status = HAL_ERROR;
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return status;
686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** else
688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_BUSY;
690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Receive an amount of data in DMA mode till either the expected number
695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * of data is received or an IDLE event occurs.
696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note Reception is initiated by this function call. Further progress of reception is achieved
697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * to DMA services, transferring automatically received data elements in user reception buf
698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * calling registered callbacks at half/end of reception. UART IDLE events are also used to
699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * reception phase as ended. In all cases, callback execution will indicate number of recei
700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note When the UART parity is enabled (PCE = 1), the received data contain
701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * the parity bit (MSB position).
702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-M
703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * the received data is handled as a set of uint16_t. In this case, Size must indicate the
704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * of uint16_t available through pData.
705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-M
706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * address of user data buffer for storing data to be received, should be aligned on a half
707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * (16 bits) (as received data will be handled by DMA from halfword frontier). Depending on
708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * use of specific alignment compilation directives or pragmas might be required
709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * to ensure proper alignment for pData.
710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param huart UART handle.
711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param pData Pointer to data buffer (uint8_t or uint16_t data elements).
712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param Size Amount of data elements (uint8_t or uint16_t) to be received.
713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @retval HAL status
714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t
716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
ARM GAS /tmp/ccUspFyj.s page 14
717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef status;
718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check that a Rx process is not already ongoing */
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (huart->RxState == HAL_UART_STATE_READY)
721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if ((pData == NULL) || (Size == 0U))
723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_ERROR;
725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* In case of 9bits/No Parity transfer, pData buffer provided as input parameter
728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** should be aligned on a uint16_t frontier, as data copy from RDR will be
729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** handled by DMA from a uint16_t frontier. */
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if ((((uint32_t)pData) & 1U) != 0U)
733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_ERROR;
735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_LOCK(huart);
739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set Reception type to reception till IDLE Event*/
741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** status = UART_Start_Receive_DMA(huart, pData, Size);
744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check Rx process has been successfully started */
746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (status == HAL_OK)
747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** else
754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* In case of errors already pending when reception is started,
756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** Interrupts may have already been raised and lead to reception abortion.
757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** (Overrun error for instance).
758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** In such case Reception Type has been reset to HAL_UART_RECEPTION_STANDARD. */
759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** status = HAL_ERROR;
760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return status;
764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** else
766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** return HAL_BUSY;
768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @}
773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
ARM GAS /tmp/ccUspFyj.s page 15
774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @}
777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /** @addtogroup UARTEx_Private_Functions
780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @{
781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #if defined(USART_CR1_UESM)
783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /**
785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @brief Initialize the UART wake-up from stop mode parameters when triggered by address detectio
786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param huart UART handle.
787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @param WakeUpSelection UART wake up from stop mode parameters.
788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * @retval None
789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** */
790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** static void UARTEx_Wakeup_AddressConfig(UART_HandleTypeDef *huart, UART_WakeUpTypeDef WakeUpSelecti
791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
27 .loc 1 791 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 8
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
32 .loc 1 791 1 is_stmt 0 view .LVU1
33 0000 82B0 sub sp, sp, #8
34 .LCFI0:
35 .cfi_def_cfa_offset 8
36 0002 0091 str r1, [sp]
37 0004 0192 str r2, [sp, #4]
792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** assert_param(IS_UART_ADDRESSLENGTH_DETECT(WakeUpSelection.AddressLength));
38 .loc 1 792 3 is_stmt 1 view .LVU2
793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set the USART address length */
795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADDM7, WakeUpSelection.AddressLength);
39 .loc 1 795 3 view .LVU3
40 0006 0268 ldr r2, [r0]
41 0008 5368 ldr r3, [r2, #4]
42 000a 1021 movs r1, #16
43 000c 8B43 bics r3, r1
44 000e 6946 mov r1, sp
45 0010 8988 ldrh r1, [r1, #4]
46 0012 0B43 orrs r3, r1
47 0014 5360 str r3, [r2, #4]
796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Set the USART address node */
798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_ADD, ((uint32_t)WakeUpSelection.Address << UART_CR2_AD
48 .loc 1 798 3 view .LVU4
49 0016 0168 ldr r1, [r0]
50 0018 4B68 ldr r3, [r1, #4]
51 001a 1B02 lsls r3, r3, #8
52 001c 1B0A lsrs r3, r3, #8
53 001e 6A46 mov r2, sp
54 0020 9279 ldrb r2, [r2, #6]
55 0022 1206 lsls r2, r2, #24
56 0024 1343 orrs r3, r2
57 0026 4B60 str r3, [r1, #4]
799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
ARM GAS /tmp/ccUspFyj.s page 16
58 .loc 1 799 1 is_stmt 0 view .LVU5
59 0028 02B0 add sp, sp, #8
60 @ sp needed
61 002a 7047 bx lr
62 .cfi_endproc
63 .LFE49:
65 .section .text.HAL_RS485Ex_Init,"ax",%progbits
66 .align 1
67 .global HAL_RS485Ex_Init
68 .syntax unified
69 .code 16
70 .thumb_func
71 .fpu softvfp
73 HAL_RS485Ex_Init:
74 .LVL1:
75 .LFB40:
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint32_t temp;
76 .loc 1 152 1 is_stmt 1 view -0
77 .cfi_startproc
78 @ args = 0, pretend = 0, frame = 0
79 @ frame_needed = 0, uses_anonymous_args = 0
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint32_t temp;
80 .loc 1 152 1 is_stmt 0 view .LVU7
81 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
82 .LCFI1:
83 .cfi_def_cfa_offset 24
84 .cfi_offset 3, -24
85 .cfi_offset 4, -20
86 .cfi_offset 5, -16
87 .cfi_offset 6, -12
88 .cfi_offset 7, -8
89 .cfi_offset 14, -4
90 0002 0400 movs r4, r0
91 0004 0F00 movs r7, r1
92 0006 1600 movs r6, r2
93 0008 1D00 movs r5, r3
153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
94 .loc 1 153 3 is_stmt 1 view .LVU8
156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
95 .loc 1 156 3 view .LVU9
156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
96 .loc 1 156 6 is_stmt 0 view .LVU10
97 000a 0028 cmp r0, #0
98 000c 39D0 beq .L6
161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
99 .loc 1 161 3 is_stmt 1 view .LVU11
164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
100 .loc 1 164 3 view .LVU12
167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
101 .loc 1 167 3 view .LVU13
170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
102 .loc 1 170 3 view .LVU14
172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
103 .loc 1 172 3 view .LVU15
172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
104 .loc 1 172 12 is_stmt 0 view .LVU16
105 000e 836F ldr r3, [r0, #120]
ARM GAS /tmp/ccUspFyj.s page 17
106 .LVL2:
172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
107 .loc 1 172 6 view .LVU17
108 0010 002B cmp r3, #0
109 0012 2CD0 beq .L7
110 .LVL3:
111 .L4:
193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
112 .loc 1 193 3 is_stmt 1 view .LVU18
193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
113 .loc 1 193 17 is_stmt 0 view .LVU19
114 0014 2423 movs r3, #36
115 0016 A367 str r3, [r4, #120]
196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
116 .loc 1 196 3 is_stmt 1 view .LVU20
117 0018 2268 ldr r2, [r4]
118 001a 1368 ldr r3, [r2]
119 001c 0121 movs r1, #1
120 001e 8B43 bics r3, r1
121 0020 1360 str r3, [r2]
199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
122 .loc 1 199 3 view .LVU21
199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
123 .loc 1 199 7 is_stmt 0 view .LVU22
124 0022 2000 movs r0, r4
125 0024 FFF7FEFF bl UART_SetConfig
126 .LVL4:
199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
127 .loc 1 199 6 view .LVU23
128 0028 0128 cmp r0, #1
129 002a 1FD0 beq .L3
204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
130 .loc 1 204 3 is_stmt 1 view .LVU24
204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
131 .loc 1 204 6 is_stmt 0 view .LVU25
132 002c 636A ldr r3, [r4, #36]
133 002e 002B cmp r3, #0
134 0030 23D1 bne .L8
135 .L5:
210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
136 .loc 1 210 3 is_stmt 1 view .LVU26
137 0032 2268 ldr r2, [r4]
138 0034 9168 ldr r1, [r2, #8]
139 0036 8023 movs r3, #128
140 0038 DB01 lsls r3, r3, #7
141 003a 0B43 orrs r3, r1
142 003c 9360 str r3, [r2, #8]
213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
143 .loc 1 213 3 view .LVU27
144 003e 2268 ldr r2, [r4]
145 0040 9368 ldr r3, [r2, #8]
146 0042 1149 ldr r1, .L9
147 0044 0B40 ands r3, r1
148 0046 1F43 orrs r7, r3
149 .LVL5:
213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
150 .loc 1 213 3 is_stmt 0 view .LVU28
ARM GAS /tmp/ccUspFyj.s page 18
151 0048 9760 str r7, [r2, #8]
216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** temp |= (DeassertionTime << UART_CR1_DEDT_ADDRESS_LSB_POS);
152 .loc 1 216 3 is_stmt 1 view .LVU29
216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** temp |= (DeassertionTime << UART_CR1_DEDT_ADDRESS_LSB_POS);
153 .loc 1 216 8 is_stmt 0 view .LVU30
154 004a 7605 lsls r6, r6, #21
155 .LVL6:
217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** MODIFY_REG(huart->Instance->CR1, (USART_CR1_DEDT | USART_CR1_DEAT), temp);
156 .loc 1 217 3 is_stmt 1 view .LVU31
217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** MODIFY_REG(huart->Instance->CR1, (USART_CR1_DEDT | USART_CR1_DEAT), temp);
157 .loc 1 217 28 is_stmt 0 view .LVU32
158 004c 2D04 lsls r5, r5, #16
159 .LVL7:
217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** MODIFY_REG(huart->Instance->CR1, (USART_CR1_DEDT | USART_CR1_DEAT), temp);
160 .loc 1 217 8 view .LVU33
161 004e 2E43 orrs r6, r5
162 .LVL8:
218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
163 .loc 1 218 3 is_stmt 1 view .LVU34
164 0050 2368 ldr r3, [r4]
165 0052 1D68 ldr r5, [r3]
166 0054 0D4A ldr r2, .L9+4
167 0056 1540 ands r5, r2
168 0058 2E43 orrs r6, r5
169 .LVL9:
218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
170 .loc 1 218 3 is_stmt 0 view .LVU35
171 005a 1E60 str r6, [r3]
221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
172 .loc 1 221 3 is_stmt 1 view .LVU36
173 005c 2268 ldr r2, [r4]
174 005e 1368 ldr r3, [r2]
175 0060 0121 movs r1, #1
176 0062 0B43 orrs r3, r1
177 0064 1360 str r3, [r2]
224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
178 .loc 1 224 3 view .LVU37
224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
179 .loc 1 224 11 is_stmt 0 view .LVU38
180 0066 2000 movs r0, r4
181 0068 FFF7FEFF bl UART_CheckIdleState
182 .LVL10:
183 .L3:
225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
184 .loc 1 225 1 view .LVU39
185 @ sp needed
186 .LVL11:
225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
187 .loc 1 225 1 view .LVU40
188 006c F8BD pop {r3, r4, r5, r6, r7, pc}
189 .LVL12:
190 .L7:
175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
191 .loc 1 175 5 is_stmt 1 view .LVU41
175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
192 .loc 1 175 17 is_stmt 0 view .LVU42
193 006e 7433 adds r3, r3, #116
ARM GAS /tmp/ccUspFyj.s page 19
194 0070 0022 movs r2, #0
195 .LVL13:
175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
196 .loc 1 175 17 view .LVU43
197 0072 C254 strb r2, [r0, r3]
189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
198 .loc 1 189 5 is_stmt 1 view .LVU44
199 0074 FFF7FEFF bl HAL_UART_MspInit
200 .LVL14:
189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
201 .loc 1 189 5 is_stmt 0 view .LVU45
202 0078 CCE7 b .L4
203 .L8:
206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
204 .loc 1 206 5 is_stmt 1 view .LVU46
205 007a 2000 movs r0, r4
206 007c FFF7FEFF bl UART_AdvFeatureConfig
207 .LVL15:
208 0080 D7E7 b .L5
209 .LVL16:
210 .L6:
158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
211 .loc 1 158 12 is_stmt 0 view .LVU47
212 0082 0120 movs r0, #1
213 .LVL17:
158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
214 .loc 1 158 12 view .LVU48
215 0084 F2E7 b .L3
216 .L10:
217 0086 C046 .align 2
218 .L9:
219 0088 FF7FFFFF .word -32769
220 008c FFFF00FC .word -67043329
221 .cfi_endproc
222 .LFE40:
224 .section .text.HAL_UARTEx_WakeupCallback,"ax",%progbits
225 .align 1
226 .weak HAL_UARTEx_WakeupCallback
227 .syntax unified
228 .code 16
229 .thumb_func
230 .fpu softvfp
232 HAL_UARTEx_WakeupCallback:
233 .LVL18:
234 .LFB41:
259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Prevent unused argument(s) compilation warning */
235 .loc 1 259 1 is_stmt 1 view -0
236 .cfi_startproc
237 @ args = 0, pretend = 0, frame = 0
238 @ frame_needed = 0, uses_anonymous_args = 0
239 @ link register save eliminated.
261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
240 .loc 1 261 3 view .LVU50
266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
241 .loc 1 266 1 is_stmt 0 view .LVU51
242 @ sp needed
243 0000 7047 bx lr
ARM GAS /tmp/ccUspFyj.s page 20
244 .cfi_endproc
245 .LFE41:
247 .section .text.HAL_MultiProcessorEx_AddressLength_Set,"ax",%progbits
248 .align 1
249 .global HAL_MultiProcessorEx_AddressLength_Set
250 .syntax unified
251 .code 16
252 .thumb_func
253 .fpu softvfp
255 HAL_MultiProcessorEx_AddressLength_Set:
256 .LVL19:
257 .LFB42:
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check the UART handle allocation */
258 .loc 1 345 1 is_stmt 1 view -0
259 .cfi_startproc
260 @ args = 0, pretend = 0, frame = 0
261 @ frame_needed = 0, uses_anonymous_args = 0
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Check the UART handle allocation */
262 .loc 1 345 1 is_stmt 0 view .LVU53
263 0000 70B5 push {r4, r5, r6, lr}
264 .LCFI2:
265 .cfi_def_cfa_offset 16
266 .cfi_offset 4, -16
267 .cfi_offset 5, -12
268 .cfi_offset 6, -8
269 .cfi_offset 14, -4
347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
270 .loc 1 347 3 is_stmt 1 view .LVU54
347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
271 .loc 1 347 6 is_stmt 0 view .LVU55
272 0002 0028 cmp r0, #0
273 0004 13D0 beq .L14
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
274 .loc 1 353 3 is_stmt 1 view .LVU56
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
275 .loc 1 355 3 view .LVU57
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
276 .loc 1 355 17 is_stmt 0 view .LVU58
277 0006 2423 movs r3, #36
278 0008 8367 str r3, [r0, #120]
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
279 .loc 1 358 3 is_stmt 1 view .LVU59
280 000a 0368 ldr r3, [r0]
281 000c 1A68 ldr r2, [r3]
282 000e 0124 movs r4, #1
283 0010 A243 bics r2, r4
284 0012 1A60 str r2, [r3]
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
285 .loc 1 361 3 view .LVU60
286 0014 0268 ldr r2, [r0]
287 0016 5368 ldr r3, [r2, #4]
288 0018 1025 movs r5, #16
289 001a AB43 bics r3, r5
290 001c 0B43 orrs r3, r1
291 001e 5360 str r3, [r2, #4]
364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
292 .loc 1 364 3 view .LVU61
ARM GAS /tmp/ccUspFyj.s page 21
293 0020 0268 ldr r2, [r0]
294 0022 1368 ldr r3, [r2]
295 0024 2343 orrs r3, r4
296 0026 1360 str r3, [r2]
367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
297 .loc 1 367 3 view .LVU62
367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
298 .loc 1 367 11 is_stmt 0 view .LVU63
299 0028 FFF7FEFF bl UART_CheckIdleState
300 .LVL20:
301 .L13:
368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
302 .loc 1 368 1 view .LVU64
303 @ sp needed
304 002c 70BD pop {r4, r5, r6, pc}
305 .LVL21:
306 .L14:
349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
307 .loc 1 349 12 view .LVU65
308 002e 0120 movs r0, #1
309 .LVL22:
349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
310 .loc 1 349 12 view .LVU66
311 0030 FCE7 b .L13
312 .cfi_endproc
313 .LFE42:
315 .section .text.HAL_UARTEx_StopModeWakeUpSourceConfig,"ax",%progbits
316 .align 1
317 .global HAL_UARTEx_StopModeWakeUpSourceConfig
318 .syntax unified
319 .code 16
320 .thumb_func
321 .fpu softvfp
323 HAL_UARTEx_StopModeWakeUpSourceConfig:
324 .LVL23:
325 .LFB43:
384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef status = HAL_OK;
326 .loc 1 384 1 is_stmt 1 view -0
327 .cfi_startproc
328 @ args = 0, pretend = 0, frame = 8
329 @ frame_needed = 0, uses_anonymous_args = 0
384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef status = HAL_OK;
330 .loc 1 384 1 is_stmt 0 view .LVU68
331 0000 10B5 push {r4, lr}
332 .LCFI3:
333 .cfi_def_cfa_offset 8
334 .cfi_offset 4, -8
335 .cfi_offset 14, -4
336 0002 84B0 sub sp, sp, #16
337 .LCFI4:
338 .cfi_def_cfa_offset 24
339 0004 0400 movs r4, r0
340 0006 0291 str r1, [sp, #8]
341 0008 0392 str r2, [sp, #12]
385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint32_t tickstart;
342 .loc 1 385 3 is_stmt 1 view .LVU69
343 .LVL24:
ARM GAS /tmp/ccUspFyj.s page 22
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
344 .loc 1 386 3 view .LVU70
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* check the wake-up selection parameter */
345 .loc 1 389 3 view .LVU71
391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
346 .loc 1 391 3 view .LVU72
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
347 .loc 1 394 3 view .LVU73
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
348 .loc 1 394 3 view .LVU74
349 000a 7423 movs r3, #116
350 000c C35C ldrb r3, [r0, r3]
351 000e 012B cmp r3, #1
352 0010 31D0 beq .L19
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
353 .loc 1 394 3 discriminator 2 view .LVU75
354 0012 0121 movs r1, #1
355 0014 7423 movs r3, #116
356 0016 C154 strb r1, [r0, r3]
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
357 .loc 1 396 3 discriminator 2 view .LVU76
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
358 .loc 1 396 17 is_stmt 0 discriminator 2 view .LVU77
359 0018 503B subs r3, r3, #80
360 001a 8367 str r3, [r0, #120]
399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
361 .loc 1 399 3 is_stmt 1 discriminator 2 view .LVU78
362 001c 0268 ldr r2, [r0]
363 001e 1368 ldr r3, [r2]
364 0020 8B43 bics r3, r1
365 0022 1360 str r3, [r2]
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** #endif /* USART_CR3_WUS */
366 .loc 1 403 3 discriminator 2 view .LVU79
367 0024 0168 ldr r1, [r0]
368 0026 8B68 ldr r3, [r1, #8]
369 0028 144A ldr r2, .L22
370 002a 1340 ands r3, r2
371 002c 029A ldr r2, [sp, #8]
372 002e 1343 orrs r3, r2
373 0030 8B60 str r3, [r1, #8]
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
374 .loc 1 406 3 discriminator 2 view .LVU80
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
375 .loc 1 406 6 is_stmt 0 discriminator 2 view .LVU81
376 0032 002A cmp r2, #0
377 0034 18D0 beq .L21
378 .LVL25:
379 .L17:
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
380 .loc 1 412 3 is_stmt 1 view .LVU82
381 0036 2268 ldr r2, [r4]
382 0038 1368 ldr r3, [r2]
383 003a 0121 movs r1, #1
384 003c 0B43 orrs r3, r1
385 003e 1360 str r3, [r2]
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
386 .loc 1 415 3 view .LVU83
ARM GAS /tmp/ccUspFyj.s page 23
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
387 .loc 1 415 15 is_stmt 0 view .LVU84
388 0040 FFF7FEFF bl HAL_GetTick
389 .LVL26:
390 0044 0300 movs r3, r0
391 .LVL27:
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
392 .loc 1 418 3 is_stmt 1 view .LVU85
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
393 .loc 1 418 7 is_stmt 0 view .LVU86
394 0046 8021 movs r1, #128
395 0048 0D4A ldr r2, .L22+4
396 004a 0092 str r2, [sp]
397 004c 0022 movs r2, #0
398 004e C903 lsls r1, r1, #15
399 0050 2000 movs r0, r4
400 .LVL28:
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
401 .loc 1 418 7 view .LVU87
402 0052 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
403 .LVL29:
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
404 .loc 1 418 6 view .LVU88
405 0056 0028 cmp r0, #0
406 0058 0BD1 bne .L20
425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
407 .loc 1 425 5 is_stmt 1 view .LVU89
425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
408 .loc 1 425 19 is_stmt 0 view .LVU90
409 005a 2023 movs r3, #32
410 005c A367 str r3, [r4, #120]
411 .L18:
412 .LVL30:
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
413 .loc 1 429 3 is_stmt 1 view .LVU91
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
414 .loc 1 429 3 view .LVU92
415 005e 7423 movs r3, #116
416 0060 0022 movs r2, #0
417 0062 E254 strb r2, [r4, r3]
431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
418 .loc 1 431 3 view .LVU93
419 .LVL31:
420 .L16:
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
421 .loc 1 432 1 is_stmt 0 view .LVU94
422 0064 04B0 add sp, sp, #16
423 @ sp needed
424 .LVL32:
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
425 .loc 1 432 1 view .LVU95
426 0066 10BD pop {r4, pc}
427 .LVL33:
428 .L21:
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
429 .loc 1 408 5 is_stmt 1 view .LVU96
430 0068 1100 movs r1, r2
ARM GAS /tmp/ccUspFyj.s page 24
431 006a 039A ldr r2, [sp, #12]
432 006c FFF7FEFF bl UARTEx_Wakeup_AddressConfig
433 .LVL34:
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
434 .loc 1 408 5 is_stmt 0 view .LVU97
435 0070 E1E7 b .L17
436 .L20:
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
437 .loc 1 420 12 view .LVU98
438 0072 0320 movs r0, #3
439 0074 F3E7 b .L18
440 .LVL35:
441 .L19:
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
442 .loc 1 394 3 view .LVU99
443 0076 0220 movs r0, #2
444 .LVL36:
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
445 .loc 1 394 3 view .LVU100
446 0078 F4E7 b .L16
447 .L23:
448 007a C046 .align 2
449 .L22:
450 007c FFFFCFFF .word -3145729
451 0080 FFFFFF01 .word 33554431
452 .cfi_endproc
453 .LFE43:
455 .section .text.HAL_UARTEx_EnableStopMode,"ax",%progbits
456 .align 1
457 .global HAL_UARTEx_EnableStopMode
458 .syntax unified
459 .code 16
460 .thumb_func
461 .fpu softvfp
463 HAL_UARTEx_EnableStopMode:
464 .LVL37:
465 .LFB44:
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Process Locked */
466 .loc 1 441 1 is_stmt 1 view -0
467 .cfi_startproc
468 @ args = 0, pretend = 0, frame = 0
469 @ frame_needed = 0, uses_anonymous_args = 0
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Process Locked */
470 .loc 1 441 1 is_stmt 0 view .LVU102
471 0000 30B5 push {r4, r5, lr}
472 .LCFI5:
473 .cfi_def_cfa_offset 12
474 .cfi_offset 4, -12
475 .cfi_offset 5, -8
476 .cfi_offset 14, -4
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
477 .loc 1 443 3 is_stmt 1 view .LVU103
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
478 .loc 1 443 3 view .LVU104
479 0002 7423 movs r3, #116
480 0004 C35C ldrb r3, [r0, r3]
481 0006 012B cmp r3, #1
ARM GAS /tmp/ccUspFyj.s page 25
482 0008 11D0 beq .L26
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
483 .loc 1 443 3 discriminator 2 view .LVU105
484 000a 7422 movs r2, #116
485 000c 0123 movs r3, #1
486 000e 8354 strb r3, [r0, r2]
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
487 .loc 1 446 3 discriminator 2 view .LVU106
488 .LBB30:
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
489 .loc 1 446 3 discriminator 2 view .LVU107
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
490 .loc 1 446 3 discriminator 2 view .LVU108
491 .LBB31:
492 .LBI31:
493 .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.
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
ARM GAS /tmp/ccUspFyj.s page 26
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
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; };
ARM GAS /tmp/ccUspFyj.s page 27
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 ****
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) );
ARM GAS /tmp/ccUspFyj.s page 28
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
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 ****
ARM GAS /tmp/ccUspFyj.s page 29
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 **** {
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
ARM GAS /tmp/ccUspFyj.s page 30
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) );
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 **** /**
ARM GAS /tmp/ccUspFyj.s page 31
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 **** }
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)
494 .loc 2 382 31 discriminator 2 view .LVU109
ARM GAS /tmp/ccUspFyj.s page 32
495 .LBB32:
383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
496 .loc 2 384 3 discriminator 2 view .LVU110
385:Drivers/CMSIS/Include/cmsis_gcc.h ****
386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
497 .loc 2 386 3 discriminator 2 view .LVU111
498 .syntax divided
499 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
500 0010 EFF31084 MRS r4, primask
501 @ 0 "" 2
502 .LVL38:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
503 .loc 2 387 3 discriminator 2 view .LVU112
504 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU113
505 .thumb
506 .syntax unified
507 .LBE32:
508 .LBE31:
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
509 .loc 1 446 3 is_stmt 1 discriminator 2 view .LVU114
510 .LBB33:
511 .LBI33:
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");
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)
512 .loc 2 412 27 discriminator 2 view .LVU115
513 .LBB34:
413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
514 .loc 2 414 3 discriminator 2 view .LVU116
515 .syntax divided
516 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
517 0014 83F31088 MSR primask, r3
518 @ 0 "" 2
ARM GAS /tmp/ccUspFyj.s page 33
519 .LVL39:
520 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU117
521 .thumb
522 .syntax unified
523 .LBE34:
524 .LBE33:
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
525 .loc 1 446 3 is_stmt 1 discriminator 2 view .LVU118
526 0018 0168 ldr r1, [r0]
527 001a 0B68 ldr r3, [r1]
528 001c 0225 movs r5, #2
529 001e 2B43 orrs r3, r5
530 0020 0B60 str r3, [r1]
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
531 .loc 1 446 3 discriminator 2 view .LVU119
532 .LVL40:
533 .LBB35:
534 .LBI35:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
535 .loc 2 412 27 discriminator 2 view .LVU120
536 .LBB36:
537 .loc 2 414 3 discriminator 2 view .LVU121
538 .syntax divided
539 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
540 0022 84F31088 MSR primask, r4
541 @ 0 "" 2
542 .LVL41:
543 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU122
544 .thumb
545 .syntax unified
546 .LBE36:
547 .LBE35:
548 .LBE30:
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
549 .loc 1 449 3 is_stmt 1 discriminator 2 view .LVU123
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
550 .loc 1 449 3 discriminator 2 view .LVU124
551 0026 0023 movs r3, #0
552 0028 8354 strb r3, [r0, r2]
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
553 .loc 1 451 3 discriminator 2 view .LVU125
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
554 .loc 1 451 10 is_stmt 0 discriminator 2 view .LVU126
555 002a 0020 movs r0, #0
556 .LVL42:
557 .L25:
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
558 .loc 1 452 1 view .LVU127
559 @ sp needed
560 002c 30BD pop {r4, r5, pc}
561 .LVL43:
562 .L26:
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
563 .loc 1 443 3 view .LVU128
564 002e 0220 movs r0, #2
565 .LVL44:
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
ARM GAS /tmp/ccUspFyj.s page 34
566 .loc 1 443 3 view .LVU129
567 0030 FCE7 b .L25
568 .cfi_endproc
569 .LFE44:
571 .section .text.HAL_UARTEx_DisableStopMode,"ax",%progbits
572 .align 1
573 .global HAL_UARTEx_DisableStopMode
574 .syntax unified
575 .code 16
576 .thumb_func
577 .fpu softvfp
579 HAL_UARTEx_DisableStopMode:
580 .LVL45:
581 .LFB45:
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Process Locked */
582 .loc 1 460 1 is_stmt 1 view -0
583 .cfi_startproc
584 @ args = 0, pretend = 0, frame = 0
585 @ frame_needed = 0, uses_anonymous_args = 0
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* Process Locked */
586 .loc 1 460 1 is_stmt 0 view .LVU131
587 0000 30B5 push {r4, r5, lr}
588 .LCFI6:
589 .cfi_def_cfa_offset 12
590 .cfi_offset 4, -12
591 .cfi_offset 5, -8
592 .cfi_offset 14, -4
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
593 .loc 1 462 3 is_stmt 1 view .LVU132
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
594 .loc 1 462 3 view .LVU133
595 0002 7423 movs r3, #116
596 0004 C35C ldrb r3, [r0, r3]
597 0006 012B cmp r3, #1
598 0008 11D0 beq .L29
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
599 .loc 1 462 3 discriminator 2 view .LVU134
600 000a 7422 movs r2, #116
601 000c 0123 movs r3, #1
602 000e 8354 strb r3, [r0, r2]
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
603 .loc 1 465 3 discriminator 2 view .LVU135
604 .LBB37:
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
605 .loc 1 465 3 discriminator 2 view .LVU136
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
606 .loc 1 465 3 discriminator 2 view .LVU137
607 .LBB38:
608 .LBI38:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
609 .loc 2 382 31 discriminator 2 view .LVU138
610 .LBB39:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
611 .loc 2 384 3 discriminator 2 view .LVU139
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
612 .loc 2 386 3 discriminator 2 view .LVU140
613 .syntax divided
ARM GAS /tmp/ccUspFyj.s page 35
614 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
615 0010 EFF31084 MRS r4, primask
616 @ 0 "" 2
617 .LVL46:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
618 .loc 2 387 3 discriminator 2 view .LVU141
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
619 .loc 2 387 3 is_stmt 0 discriminator 2 view .LVU142
620 .thumb
621 .syntax unified
622 .LBE39:
623 .LBE38:
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
624 .loc 1 465 3 is_stmt 1 discriminator 2 view .LVU143
625 .LBB40:
626 .LBI40:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
627 .loc 2 412 27 discriminator 2 view .LVU144
628 .LBB41:
629 .loc 2 414 3 discriminator 2 view .LVU145
630 .syntax divided
631 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
632 0014 83F31088 MSR primask, r3
633 @ 0 "" 2
634 .LVL47:
635 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU146
636 .thumb
637 .syntax unified
638 .LBE41:
639 .LBE40:
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
640 .loc 1 465 3 is_stmt 1 discriminator 2 view .LVU147
641 0018 0168 ldr r1, [r0]
642 001a 0B68 ldr r3, [r1]
643 001c 0225 movs r5, #2
644 001e AB43 bics r3, r5
645 0020 0B60 str r3, [r1]
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
646 .loc 1 465 3 discriminator 2 view .LVU148
647 .LVL48:
648 .LBB42:
649 .LBI42:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
650 .loc 2 412 27 discriminator 2 view .LVU149
651 .LBB43:
652 .loc 2 414 3 discriminator 2 view .LVU150
653 .syntax divided
654 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
655 0022 84F31088 MSR primask, r4
656 @ 0 "" 2
657 .LVL49:
658 .loc 2 414 3 is_stmt 0 discriminator 2 view .LVU151
659 .thumb
660 .syntax unified
661 .LBE43:
662 .LBE42:
663 .LBE37:
ARM GAS /tmp/ccUspFyj.s page 36
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
664 .loc 1 468 3 is_stmt 1 discriminator 2 view .LVU152
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
665 .loc 1 468 3 discriminator 2 view .LVU153
666 0026 0023 movs r3, #0
667 0028 8354 strb r3, [r0, r2]
470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
668 .loc 1 470 3 discriminator 2 view .LVU154
470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
669 .loc 1 470 10 is_stmt 0 discriminator 2 view .LVU155
670 002a 0020 movs r0, #0
671 .LVL50:
672 .L28:
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
673 .loc 1 471 1 view .LVU156
674 @ sp needed
675 002c 30BD pop {r4, r5, pc}
676 .LVL51:
677 .L29:
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
678 .loc 1 462 3 view .LVU157
679 002e 0220 movs r0, #2
680 .LVL52:
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
681 .loc 1 462 3 view .LVU158
682 0030 FCE7 b .L28
683 .cfi_endproc
684 .LFE45:
686 .section .text.HAL_UARTEx_ReceiveToIdle,"ax",%progbits
687 .align 1
688 .global HAL_UARTEx_ReceiveToIdle
689 .syntax unified
690 .code 16
691 .thumb_func
692 .fpu softvfp
694 HAL_UARTEx_ReceiveToIdle:
695 .LVL53:
696 .LFB46:
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint8_t *pdata8bits;
697 .loc 1 498 1 is_stmt 1 view -0
698 .cfi_startproc
699 @ args = 4, pretend = 0, frame = 8
700 @ frame_needed = 0, uses_anonymous_args = 0
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint8_t *pdata8bits;
701 .loc 1 498 1 is_stmt 0 view .LVU160
702 0000 F0B5 push {r4, r5, r6, r7, lr}
703 .LCFI7:
704 .cfi_def_cfa_offset 20
705 .cfi_offset 4, -20
706 .cfi_offset 5, -16
707 .cfi_offset 6, -12
708 .cfi_offset 7, -8
709 .cfi_offset 14, -4
710 0002 D646 mov lr, r10
711 0004 4F46 mov r7, r9
712 0006 4646 mov r6, r8
713 0008 C0B5 push {r6, r7, lr}
ARM GAS /tmp/ccUspFyj.s page 37
714 .LCFI8:
715 .cfi_def_cfa_offset 32
716 .cfi_offset 8, -32
717 .cfi_offset 9, -28
718 .cfi_offset 10, -24
719 000a 82B0 sub sp, sp, #8
720 .LCFI9:
721 .cfi_def_cfa_offset 40
722 000c 0400 movs r4, r0
723 000e 0F00 movs r7, r1
724 0010 9046 mov r8, r2
725 0012 1E00 movs r6, r3
726 0014 0A9D ldr r5, [sp, #40]
499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint16_t *pdata16bits;
727 .loc 1 499 3 is_stmt 1 view .LVU161
500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint16_t uhMask;
728 .loc 1 500 3 view .LVU162
501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uint32_t tickstart;
729 .loc 1 501 3 view .LVU163
502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
730 .loc 1 502 3 view .LVU164
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
731 .loc 1 505 3 view .LVU165
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
732 .loc 1 505 12 is_stmt 0 view .LVU166
733 0016 C36F ldr r3, [r0, #124]
734 .LVL54:
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
735 .loc 1 505 6 view .LVU167
736 0018 202B cmp r3, #32
737 001a 00D0 beq .LCB629
738 001c B4E0 b .L49 @long jump
739 .LCB629:
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
740 .loc 1 507 5 is_stmt 1 view .LVU168
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
741 .loc 1 507 8 is_stmt 0 view .LVU169
742 001e 0029 cmp r1, #0
743 0020 00D1 bne .LCB632
744 0022 B8E0 b .L50 @long jump
745 .LCB632:
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
746 .loc 1 507 25 discriminator 1 view .LVU170
747 0024 002A cmp r2, #0
748 0026 00D1 bne .LCB634
749 0028 B7E0 b .L51 @long jump
750 .LCB634:
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
751 .loc 1 515 5 is_stmt 1 view .LVU171
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
752 .loc 1 515 8 is_stmt 0 view .LVU172
753 002a 8023 movs r3, #128
754 002c 5B01 lsls r3, r3, #5
755 002e 8268 ldr r2, [r0, #8]
756 .LVL55:
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
757 .loc 1 515 8 view .LVU173
ARM GAS /tmp/ccUspFyj.s page 38
758 0030 9A42 cmp r2, r3
759 0032 23D0 beq .L56
760 .L32:
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
761 .loc 1 523 5 is_stmt 1 view .LVU174
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
762 .loc 1 523 5 view .LVU175
763 0034 7423 movs r3, #116
764 0036 E35C ldrb r3, [r4, r3]
765 0038 012B cmp r3, #1
766 003a 00D1 bne .LCB649
767 003c AFE0 b .L53 @long jump
768 .LCB649:
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
769 .loc 1 523 5 discriminator 2 view .LVU176
770 003e 0123 movs r3, #1
771 0040 7422 movs r2, #116
772 0042 A354 strb r3, [r4, r2]
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
773 .loc 1 525 5 discriminator 2 view .LVU177
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
774 .loc 1 525 22 is_stmt 0 discriminator 2 view .LVU178
775 0044 0C32 adds r2, r2, #12
776 0046 0021 movs r1, #0
777 .LVL56:
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
778 .loc 1 525 22 discriminator 2 view .LVU179
779 0048 A150 str r1, [r4, r2]
526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
780 .loc 1 526 5 is_stmt 1 discriminator 2 view .LVU180
526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->ReceptionType = HAL_UART_RECEPTION_TOIDLE;
781 .loc 1 526 20 is_stmt 0 discriminator 2 view .LVU181
782 004a 5E3A subs r2, r2, #94
783 004c E267 str r2, [r4, #124]
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
784 .loc 1 527 5 is_stmt 1 discriminator 2 view .LVU182
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
785 .loc 1 527 26 is_stmt 0 discriminator 2 view .LVU183
786 004e 2366 str r3, [r4, #96]
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
787 .loc 1 530 5 is_stmt 1 discriminator 2 view .LVU184
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
788 .loc 1 530 17 is_stmt 0 discriminator 2 view .LVU185
789 0050 FFF7FEFF bl HAL_GetTick
790 .LVL57:
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
791 .loc 1 530 17 discriminator 2 view .LVU186
792 0054 8146 mov r9, r0
793 .LVL58:
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxXferCount = Size;
794 .loc 1 532 5 is_stmt 1 discriminator 2 view .LVU187
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxXferCount = Size;
795 .loc 1 532 24 is_stmt 0 discriminator 2 view .LVU188
796 0056 5823 movs r3, #88
797 0058 4246 mov r2, r8
798 005a E252 strh r2, [r4, r3]
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
ARM GAS /tmp/ccUspFyj.s page 39
799 .loc 1 533 5 is_stmt 1 discriminator 2 view .LVU189
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
800 .loc 1 533 24 is_stmt 0 discriminator 2 view .LVU190
801 005c 0233 adds r3, r3, #2
802 005e E252 strh r2, [r4, r3]
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
803 .loc 1 536 5 is_stmt 1 discriminator 2 view .LVU191
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
804 .loc 1 536 5 discriminator 2 view .LVU192
805 0060 A368 ldr r3, [r4, #8]
806 0062 8022 movs r2, #128
807 0064 5201 lsls r2, r2, #5
808 0066 9342 cmp r3, r2
809 0068 0FD0 beq .L57
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
810 .loc 1 536 5 discriminator 2 view .LVU193
811 006a 002B cmp r3, #0
812 006c 1CD1 bne .L36
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
813 .loc 1 536 5 discriminator 5 view .LVU194
814 006e 2269 ldr r2, [r4, #16]
815 0070 002A cmp r2, #0
816 0072 15D1 bne .L37
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
817 .loc 1 536 5 discriminator 7 view .LVU195
818 0074 5C32 adds r2, r2, #92
819 0076 FF21 movs r1, #255
820 0078 A152 strh r1, [r4, r2]
821 007a 1CE0 b .L35
822 .LVL59:
823 .L56:
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
824 .loc 1 515 56 is_stmt 0 discriminator 1 view .LVU196
825 007c 0369 ldr r3, [r0, #16]
826 007e 002B cmp r3, #0
827 0080 D8D1 bne .L32
517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
828 .loc 1 517 7 is_stmt 1 view .LVU197
517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
829 .loc 1 517 10 is_stmt 0 view .LVU198
830 0082 CB07 lsls r3, r1, #31
831 0084 D6D5 bpl .L32
519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
832 .loc 1 519 17 view .LVU199
833 0086 0120 movs r0, #1
834 .LVL60:
519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
835 .loc 1 519 17 view .LVU200
836 0088 7FE0 b .L31
837 .LVL61:
838 .L57:
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
839 .loc 1 536 5 is_stmt 1 discriminator 1 view .LVU201
840 008a 2269 ldr r2, [r4, #16]
841 008c 002A cmp r2, #0
842 008e 03D1 bne .L34
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
ARM GAS /tmp/ccUspFyj.s page 40
843 .loc 1 536 5 discriminator 3 view .LVU202
844 0090 5C32 adds r2, r2, #92
845 0092 4449 ldr r1, .L64
846 0094 A152 strh r1, [r4, r2]
847 0096 0EE0 b .L35
848 .L34:
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
849 .loc 1 536 5 discriminator 4 view .LVU203
850 0098 5C22 movs r2, #92
851 009a FF21 movs r1, #255
852 009c A152 strh r1, [r4, r2]
853 009e 0AE0 b .L35
854 .L37:
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
855 .loc 1 536 5 discriminator 8 view .LVU204
856 00a0 5C22 movs r2, #92
857 00a2 7F21 movs r1, #127
858 00a4 A152 strh r1, [r4, r2]
859 00a6 06E0 b .L35
860 .L36:
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
861 .loc 1 536 5 discriminator 6 view .LVU205
862 00a8 8022 movs r2, #128
863 00aa 5205 lsls r2, r2, #21
864 00ac 9342 cmp r3, r2
865 00ae 10D0 beq .L58
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
866 .loc 1 536 5 discriminator 10 view .LVU206
867 00b0 5C22 movs r2, #92
868 00b2 0021 movs r1, #0
869 00b4 A152 strh r1, [r4, r2]
870 .L35:
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
871 .loc 1 537 5 view .LVU207
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
872 .loc 1 537 12 is_stmt 0 view .LVU208
873 00b6 5C22 movs r2, #92
874 00b8 A25A ldrh r2, [r4, r2]
875 00ba 0192 str r2, [sp, #4]
876 .LVL62:
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
877 .loc 1 540 5 is_stmt 1 view .LVU209
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
878 .loc 1 540 8 is_stmt 0 view .LVU210
879 00bc 8022 movs r2, #128
880 00be 5201 lsls r2, r2, #5
881 00c0 9342 cmp r3, r2
882 00c2 11D0 beq .L59
548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
883 .loc 1 548 19 view .LVU211
884 00c4 0023 movs r3, #0
885 00c6 9A46 mov r10, r3
886 .LVL63:
887 .L40:
551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
888 .loc 1 551 5 is_stmt 1 view .LVU212
551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
ARM GAS /tmp/ccUspFyj.s page 41
889 .loc 1 551 5 view .LVU213
890 00c8 0023 movs r3, #0
891 00ca 7422 movs r2, #116
892 00cc A354 strb r3, [r4, r2]
554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
893 .loc 1 554 5 view .LVU214
554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
894 .loc 1 554 12 is_stmt 0 view .LVU215
895 00ce 3380 strh r3, [r6]
557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
896 .loc 1 557 5 is_stmt 1 view .LVU216
557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
897 .loc 1 557 11 is_stmt 0 view .LVU217
898 00d0 29E0 b .L41
899 .LVL64:
900 .L58:
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
901 .loc 1 536 5 is_stmt 1 discriminator 9 view .LVU218
902 00d2 2269 ldr r2, [r4, #16]
903 00d4 002A cmp r2, #0
904 00d6 03D1 bne .L39
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
905 .loc 1 536 5 discriminator 11 view .LVU219
906 00d8 5C32 adds r2, r2, #92
907 00da 7F21 movs r1, #127
908 00dc A152 strh r1, [r4, r2]
909 00de EAE7 b .L35
910 .L39:
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** uhMask = huart->Mask;
911 .loc 1 536 5 discriminator 12 view .LVU220
912 00e0 5C22 movs r2, #92
913 00e2 3F21 movs r1, #63
914 00e4 A152 strh r1, [r4, r2]
915 00e6 E6E7 b .L35
916 .LVL65:
917 .L59:
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
918 .loc 1 540 56 is_stmt 0 discriminator 1 view .LVU221
919 00e8 2369 ldr r3, [r4, #16]
920 00ea 002B cmp r3, #0
921 00ec 02D0 beq .L55
548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
922 .loc 1 548 19 view .LVU222
923 00ee 0023 movs r3, #0
924 00f0 9A46 mov r10, r3
925 00f2 E9E7 b .L40
926 .L55:
543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
927 .loc 1 543 19 view .LVU223
928 00f4 BA46 mov r10, r7
542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata16bits = (uint16_t *) pData;
929 .loc 1 542 19 view .LVU224
930 00f6 0027 movs r7, #0
931 .LVL66:
542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata16bits = (uint16_t *) pData;
932 .loc 1 542 19 view .LVU225
933 00f8 E6E7 b .L40
ARM GAS /tmp/ccUspFyj.s page 42
934 .LVL67:
935 .L62:
569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
936 .loc 1 569 11 is_stmt 1 view .LVU226
569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
937 .loc 1 569 26 is_stmt 0 view .LVU227
938 00fa 2023 movs r3, #32
939 00fc E367 str r3, [r4, #124]
571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
940 .loc 1 571 11 is_stmt 1 view .LVU228
571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
941 .loc 1 571 18 is_stmt 0 view .LVU229
942 00fe 0020 movs r0, #0
943 0100 43E0 b .L31
944 .L63:
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata16bits++;
945 .loc 1 580 11 is_stmt 1 view .LVU230
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata16bits++;
946 .loc 1 580 52 is_stmt 0 view .LVU231
947 0102 9B8C ldrh r3, [r3, #36]
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata16bits++;
948 .loc 1 580 26 view .LVU232
949 0104 019A ldr r2, [sp, #4]
950 0106 1340 ands r3, r2
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata16bits++;
951 .loc 1 580 24 view .LVU233
952 0108 5246 mov r2, r10
953 010a 1380 strh r3, [r2]
581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
954 .loc 1 581 11 is_stmt 1 view .LVU234
581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
955 .loc 1 581 22 is_stmt 0 view .LVU235
956 010c 0223 movs r3, #2
957 010e 9C46 mov ip, r3
958 0110 E244 add r10, r10, ip
959 .LVL68:
960 .L45:
589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxXferCount--;
961 .loc 1 589 9 is_stmt 1 view .LVU236
589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** huart->RxXferCount--;
962 .loc 1 589 16 is_stmt 0 view .LVU237
963 0112 3388 ldrh r3, [r6]
964 0114 0133 adds r3, r3, #1
965 0116 3380 strh r3, [r6]
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
966 .loc 1 590 9 is_stmt 1 view .LVU238
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
967 .loc 1 590 14 is_stmt 0 view .LVU239
968 0118 5A22 movs r2, #90
969 011a A35A ldrh r3, [r4, r2]
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
970 .loc 1 590 27 view .LVU240
971 011c 013B subs r3, r3, #1
972 011e 9BB2 uxth r3, r3
973 0120 A352 strh r3, [r4, r2]
974 .L43:
594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
ARM GAS /tmp/ccUspFyj.s page 43
975 .loc 1 594 7 is_stmt 1 view .LVU241
594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
976 .loc 1 594 10 is_stmt 0 view .LVU242
977 0122 6B1C adds r3, r5, #1
978 0124 1AD1 bne .L60
979 .L41:
557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
980 .loc 1 557 17 view .LVU243
981 0126 5A23 movs r3, #90
982 0128 E35A ldrh r3, [r4, r3]
983 012a 9BB2 uxth r3, r3
557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
984 .loc 1 557 11 view .LVU244
985 012c 002B cmp r3, #0
986 012e 21D0 beq .L61
560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
987 .loc 1 560 7 is_stmt 1 view .LVU245
560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
988 .loc 1 560 11 is_stmt 0 view .LVU246
989 0130 2368 ldr r3, [r4]
990 0132 DA69 ldr r2, [r3, #28]
560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
991 .loc 1 560 10 view .LVU247
992 0134 D206 lsls r2, r2, #27
993 0136 04D5 bpl .L42
563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
994 .loc 1 563 9 is_stmt 1 view .LVU248
995 0138 1022 movs r2, #16
996 013a 1A62 str r2, [r3, #32]
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
997 .loc 1 567 9 view .LVU249
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
998 .loc 1 567 13 is_stmt 0 view .LVU250
999 013c 3388 ldrh r3, [r6]
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1000 .loc 1 567 12 view .LVU251
1001 013e 002B cmp r3, #0
1002 0140 DBD1 bne .L62
1003 .L42:
576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1004 .loc 1 576 7 is_stmt 1 view .LVU252
576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1005 .loc 1 576 11 is_stmt 0 view .LVU253
1006 0142 2368 ldr r3, [r4]
1007 0144 DA69 ldr r2, [r3, #28]
576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1008 .loc 1 576 10 view .LVU254
1009 0146 9206 lsls r2, r2, #26
1010 0148 EBD5 bpl .L43
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1011 .loc 1 578 9 is_stmt 1 view .LVU255
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1012 .loc 1 578 12 is_stmt 0 view .LVU256
1013 014a 002F cmp r7, #0
1014 014c D9D0 beq .L63
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata8bits++;
1015 .loc 1 585 11 is_stmt 1 view .LVU257
ARM GAS /tmp/ccUspFyj.s page 44
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata8bits++;
1016 .loc 1 585 50 is_stmt 0 view .LVU258
1017 014e 9B8C ldrh r3, [r3, #36]
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata8bits++;
1018 .loc 1 585 58 view .LVU259
1019 0150 6A46 mov r2, sp
1020 0152 1279 ldrb r2, [r2, #4]
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata8bits++;
1021 .loc 1 585 25 view .LVU260
1022 0154 1340 ands r3, r2
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** pdata8bits++;
1023 .loc 1 585 23 view .LVU261
1024 0156 3B70 strb r3, [r7]
586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1025 .loc 1 586 11 is_stmt 1 view .LVU262
586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1026 .loc 1 586 21 is_stmt 0 view .LVU263
1027 0158 0137 adds r7, r7, #1
1028 .LVL69:
586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1029 .loc 1 586 21 view .LVU264
1030 015a DAE7 b .L45
1031 .L60:
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1032 .loc 1 596 9 is_stmt 1 view .LVU265
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1033 .loc 1 596 15 is_stmt 0 view .LVU266
1034 015c FFF7FEFF bl HAL_GetTick
1035 .LVL70:
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1036 .loc 1 596 29 view .LVU267
1037 0160 4B46 mov r3, r9
1038 0162 C01A subs r0, r0, r3
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1039 .loc 1 596 12 view .LVU268
1040 0164 A842 cmp r0, r5
1041 0166 01D8 bhi .L47
1042 .LVL71:
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1043 .loc 1 596 53 discriminator 1 view .LVU269
1044 0168 002D cmp r5, #0
1045 016a DCD1 bne .L41
1046 .L47:
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1047 .loc 1 598 11 is_stmt 1 view .LVU270
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1048 .loc 1 598 26 is_stmt 0 view .LVU271
1049 016c 2023 movs r3, #32
1050 .LVL72:
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1051 .loc 1 598 26 view .LVU272
1052 016e E367 str r3, [r4, #124]
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1053 .loc 1 600 11 is_stmt 1 view .LVU273
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1054 .loc 1 600 18 is_stmt 0 view .LVU274
1055 0170 0320 movs r0, #3
ARM GAS /tmp/ccUspFyj.s page 45
1056 0172 0AE0 b .L31
1057 .L61:
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* At end of Rx process, restore huart->RxState to Ready */
1058 .loc 1 606 5 is_stmt 1 view .LVU275
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* At end of Rx process, restore huart->RxState to Ready */
1059 .loc 1 606 19 is_stmt 0 view .LVU276
1060 0174 5833 adds r3, r3, #88
1061 0176 E35A ldrh r3, [r4, r3]
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* At end of Rx process, restore huart->RxState to Ready */
1062 .loc 1 606 39 view .LVU277
1063 0178 5A22 movs r2, #90
1064 017a A25A ldrh r2, [r4, r2]
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* At end of Rx process, restore huart->RxState to Ready */
1065 .loc 1 606 32 view .LVU278
1066 017c 9B1A subs r3, r3, r2
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** /* At end of Rx process, restore huart->RxState to Ready */
1067 .loc 1 606 12 view .LVU279
1068 017e 3380 strh r3, [r6]
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1069 .loc 1 608 5 is_stmt 1 view .LVU280
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1070 .loc 1 608 20 is_stmt 0 view .LVU281
1071 0180 2023 movs r3, #32
1072 0182 E367 str r3, [r4, #124]
610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1073 .loc 1 610 5 is_stmt 1 view .LVU282
610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1074 .loc 1 610 12 is_stmt 0 view .LVU283
1075 0184 0020 movs r0, #0
1076 0186 00E0 b .L31
1077 .LVL73:
1078 .L49:
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1079 .loc 1 614 12 view .LVU284
1080 0188 0220 movs r0, #2
1081 .LVL74:
1082 .L31:
616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1083 .loc 1 616 1 view .LVU285
1084 018a 02B0 add sp, sp, #8
1085 @ sp needed
1086 .LVL75:
1087 .LVL76:
616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1088 .loc 1 616 1 view .LVU286
1089 018c 1CBC pop {r2, r3, r4}
1090 018e 9046 mov r8, r2
1091 0190 9946 mov r9, r3
1092 0192 A246 mov r10, r4
1093 0194 F0BD pop {r4, r5, r6, r7, pc}
1094 .LVL77:
1095 .L50:
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1096 .loc 1 509 15 view .LVU287
1097 0196 0120 movs r0, #1
1098 .LVL78:
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
ARM GAS /tmp/ccUspFyj.s page 46
1099 .loc 1 509 15 view .LVU288
1100 0198 F7E7 b .L31
1101 .LVL79:
1102 .L51:
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1103 .loc 1 509 15 view .LVU289
1104 019a 0120 movs r0, #1
1105 .LVL80:
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1106 .loc 1 509 15 view .LVU290
1107 019c F5E7 b .L31
1108 .LVL81:
1109 .L53:
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1110 .loc 1 523 5 view .LVU291
1111 019e 0220 movs r0, #2
1112 .LVL82:
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1113 .loc 1 523 5 view .LVU292
1114 01a0 F3E7 b .L31
1115 .L65:
1116 01a2 C046 .align 2
1117 .L64:
1118 01a4 FF010000 .word 511
1119 .cfi_endproc
1120 .LFE46:
1122 .section .text.HAL_UARTEx_ReceiveToIdle_IT,"ax",%progbits
1123 .align 1
1124 .global HAL_UARTEx_ReceiveToIdle_IT
1125 .syntax unified
1126 .code 16
1127 .thumb_func
1128 .fpu softvfp
1130 HAL_UARTEx_ReceiveToIdle_IT:
1131 .LVL83:
1132 .LFB47:
638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef status;
1133 .loc 1 638 1 is_stmt 1 view -0
1134 .cfi_startproc
1135 @ args = 0, pretend = 0, frame = 0
1136 @ frame_needed = 0, uses_anonymous_args = 0
638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef status;
1137 .loc 1 638 1 is_stmt 0 view .LVU294
1138 0000 70B5 push {r4, r5, r6, lr}
1139 .LCFI10:
1140 .cfi_def_cfa_offset 16
1141 .cfi_offset 4, -16
1142 .cfi_offset 5, -12
1143 .cfi_offset 6, -8
1144 .cfi_offset 14, -4
1145 0002 0400 movs r4, r0
639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1146 .loc 1 639 3 is_stmt 1 view .LVU295
642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1147 .loc 1 642 3 view .LVU296
642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1148 .loc 1 642 12 is_stmt 0 view .LVU297
ARM GAS /tmp/ccUspFyj.s page 47
1149 0004 C36F ldr r3, [r0, #124]
642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1150 .loc 1 642 6 view .LVU298
1151 0006 202B cmp r3, #32
1152 0008 30D1 bne .L70
644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1153 .loc 1 644 5 is_stmt 1 view .LVU299
644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1154 .loc 1 644 8 is_stmt 0 view .LVU300
1155 000a 0029 cmp r1, #0
1156 000c 30D0 beq .L71
644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1157 .loc 1 644 25 discriminator 1 view .LVU301
1158 000e 002A cmp r2, #0
1159 0010 30D0 beq .L72
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1160 .loc 1 652 5 is_stmt 1 view .LVU302
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1161 .loc 1 652 8 is_stmt 0 view .LVU303
1162 0012 8023 movs r3, #128
1163 0014 5B01 lsls r3, r3, #5
1164 0016 8068 ldr r0, [r0, #8]
1165 .LVL84:
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1166 .loc 1 652 8 view .LVU304
1167 0018 9842 cmp r0, r3
1168 001a 11D0 beq .L76
1169 .L68:
660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1170 .loc 1 660 5 is_stmt 1 view .LVU305
660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1171 .loc 1 660 5 view .LVU306
1172 001c 7423 movs r3, #116
1173 001e E35C ldrb r3, [r4, r3]
1174 0020 012B cmp r3, #1
1175 0022 29D0 beq .L74
660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1176 .loc 1 660 5 discriminator 2 view .LVU307
1177 0024 0123 movs r3, #1
1178 0026 7420 movs r0, #116
1179 0028 2354 strb r3, [r4, r0]
663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1180 .loc 1 663 5 discriminator 2 view .LVU308
663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1181 .loc 1 663 26 is_stmt 0 discriminator 2 view .LVU309
1182 002a 2366 str r3, [r4, #96]
665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1183 .loc 1 665 5 is_stmt 1 discriminator 2 view .LVU310
665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1184 .loc 1 665 15 is_stmt 0 discriminator 2 view .LVU311
1185 002c 2000 movs r0, r4
1186 002e FFF7FEFF bl UART_Start_Receive_IT
1187 .LVL85:
668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1188 .loc 1 668 5 is_stmt 1 discriminator 2 view .LVU312
668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1189 .loc 1 668 8 is_stmt 0 discriminator 2 view .LVU313
ARM GAS /tmp/ccUspFyj.s page 48
1190 0032 0028 cmp r0, #0
1191 0034 1BD1 bne .L67
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1192 .loc 1 670 7 is_stmt 1 view .LVU314
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1193 .loc 1 670 16 is_stmt 0 view .LVU315
1194 0036 236E ldr r3, [r4, #96]
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1195 .loc 1 670 10 view .LVU316
1196 0038 012B cmp r3, #1
1197 003a 08D0 beq .L77
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1198 .loc 1 681 16 view .LVU317
1199 003c 0120 movs r0, #1
1200 .LVL86:
685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1201 .loc 1 685 5 is_stmt 1 view .LVU318
685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1202 .loc 1 685 12 is_stmt 0 view .LVU319
1203 003e 16E0 b .L67
1204 .LVL87:
1205 .L76:
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1206 .loc 1 652 56 discriminator 1 view .LVU320
1207 0040 2369 ldr r3, [r4, #16]
1208 0042 002B cmp r3, #0
1209 0044 EAD1 bne .L68
654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1210 .loc 1 654 7 is_stmt 1 view .LVU321
654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1211 .loc 1 654 10 is_stmt 0 view .LVU322
1212 0046 CB07 lsls r3, r1, #31
1213 0048 E8D5 bpl .L68
656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1214 .loc 1 656 17 view .LVU323
1215 004a 0120 movs r0, #1
1216 004c 0FE0 b .L67
1217 .LVL88:
1218 .L77:
672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
1219 .loc 1 672 9 is_stmt 1 view .LVU324
1220 004e 2368 ldr r3, [r4]
1221 0050 1021 movs r1, #16
1222 0052 1962 str r1, [r3, #32]
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1223 .loc 1 673 9 view .LVU325
1224 .LBB44:
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1225 .loc 1 673 9 view .LVU326
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1226 .loc 1 673 9 view .LVU327
1227 .LBB45:
1228 .LBI45:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1229 .loc 2 382 31 view .LVU328
1230 .LBB46:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/ccUspFyj.s page 49
1231 .loc 2 384 3 view .LVU329
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1232 .loc 2 386 3 view .LVU330
1233 .syntax divided
1234 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1235 0054 EFF31085 MRS r5, primask
1236 @ 0 "" 2
1237 .LVL89:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1238 .loc 2 387 3 view .LVU331
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1239 .loc 2 387 3 is_stmt 0 view .LVU332
1240 .thumb
1241 .syntax unified
1242 .LBE46:
1243 .LBE45:
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1244 .loc 1 673 9 is_stmt 1 view .LVU333
1245 .LBB47:
1246 .LBI47:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1247 .loc 2 412 27 view .LVU334
1248 .LBB48:
1249 .loc 2 414 3 view .LVU335
1250 0058 0123 movs r3, #1
1251 .syntax divided
1252 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1253 005a 83F31088 MSR primask, r3
1254 @ 0 "" 2
1255 .LVL90:
1256 .loc 2 414 3 is_stmt 0 view .LVU336
1257 .thumb
1258 .syntax unified
1259 .LBE48:
1260 .LBE47:
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1261 .loc 1 673 9 is_stmt 1 view .LVU337
1262 005e 2268 ldr r2, [r4]
1263 0060 1368 ldr r3, [r2]
1264 0062 0B43 orrs r3, r1
1265 0064 1360 str r3, [r2]
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1266 .loc 1 673 9 view .LVU338
1267 .LVL91:
1268 .LBB49:
1269 .LBI49:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1270 .loc 2 412 27 view .LVU339
1271 .LBB50:
1272 .loc 2 414 3 view .LVU340
1273 .syntax divided
1274 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1275 0066 85F31088 MSR primask, r5
1276 @ 0 "" 2
1277 .thumb
1278 .syntax unified
1279 006a 00E0 b .L67
ARM GAS /tmp/ccUspFyj.s page 50
1280 .LVL92:
1281 .L70:
1282 .loc 2 414 3 is_stmt 0 view .LVU341
1283 .LBE50:
1284 .LBE49:
1285 .LBE44:
689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1286 .loc 1 689 12 view .LVU342
1287 006c 0220 movs r0, #2
1288 .LVL93:
1289 .L67:
691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1290 .loc 1 691 1 view .LVU343
1291 @ sp needed
1292 .LVL94:
691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1293 .loc 1 691 1 view .LVU344
1294 006e 70BD pop {r4, r5, r6, pc}
1295 .LVL95:
1296 .L71:
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1297 .loc 1 646 14 view .LVU345
1298 0070 0120 movs r0, #1
1299 .LVL96:
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1300 .loc 1 646 14 view .LVU346
1301 0072 FCE7 b .L67
1302 .LVL97:
1303 .L72:
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1304 .loc 1 646 14 view .LVU347
1305 0074 0120 movs r0, #1
1306 .LVL98:
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1307 .loc 1 646 14 view .LVU348
1308 0076 FAE7 b .L67
1309 .L74:
660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1310 .loc 1 660 5 view .LVU349
1311 0078 0220 movs r0, #2
1312 007a F8E7 b .L67
1313 .cfi_endproc
1314 .LFE47:
1316 .section .text.HAL_UARTEx_ReceiveToIdle_DMA,"ax",%progbits
1317 .align 1
1318 .global HAL_UARTEx_ReceiveToIdle_DMA
1319 .syntax unified
1320 .code 16
1321 .thumb_func
1322 .fpu softvfp
1324 HAL_UARTEx_ReceiveToIdle_DMA:
1325 .LVL99:
1326 .LFB48:
716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef status;
1327 .loc 1 716 1 is_stmt 1 view -0
1328 .cfi_startproc
1329 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccUspFyj.s page 51
1330 @ frame_needed = 0, uses_anonymous_args = 0
716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** HAL_StatusTypeDef status;
1331 .loc 1 716 1 is_stmt 0 view .LVU351
1332 0000 70B5 push {r4, r5, r6, lr}
1333 .LCFI11:
1334 .cfi_def_cfa_offset 16
1335 .cfi_offset 4, -16
1336 .cfi_offset 5, -12
1337 .cfi_offset 6, -8
1338 .cfi_offset 14, -4
1339 0002 0400 movs r4, r0
717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1340 .loc 1 717 3 is_stmt 1 view .LVU352
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1341 .loc 1 720 3 view .LVU353
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1342 .loc 1 720 12 is_stmt 0 view .LVU354
1343 0004 C36F ldr r3, [r0, #124]
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1344 .loc 1 720 6 view .LVU355
1345 0006 202B cmp r3, #32
1346 0008 30D1 bne .L82
722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1347 .loc 1 722 5 is_stmt 1 view .LVU356
722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1348 .loc 1 722 8 is_stmt 0 view .LVU357
1349 000a 0029 cmp r1, #0
1350 000c 30D0 beq .L83
722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1351 .loc 1 722 25 discriminator 1 view .LVU358
1352 000e 002A cmp r2, #0
1353 0010 30D0 beq .L84
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1354 .loc 1 730 5 is_stmt 1 view .LVU359
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1355 .loc 1 730 8 is_stmt 0 view .LVU360
1356 0012 8023 movs r3, #128
1357 0014 5B01 lsls r3, r3, #5
1358 0016 8068 ldr r0, [r0, #8]
1359 .LVL100:
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1360 .loc 1 730 8 view .LVU361
1361 0018 9842 cmp r0, r3
1362 001a 11D0 beq .L88
1363 .L80:
738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1364 .loc 1 738 5 is_stmt 1 view .LVU362
738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1365 .loc 1 738 5 view .LVU363
1366 001c 7423 movs r3, #116
1367 001e E35C ldrb r3, [r4, r3]
1368 0020 012B cmp r3, #1
1369 0022 29D0 beq .L86
738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1370 .loc 1 738 5 discriminator 2 view .LVU364
1371 0024 0123 movs r3, #1
1372 0026 7420 movs r0, #116
ARM GAS /tmp/ccUspFyj.s page 52
1373 0028 2354 strb r3, [r4, r0]
741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1374 .loc 1 741 5 discriminator 2 view .LVU365
741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1375 .loc 1 741 26 is_stmt 0 discriminator 2 view .LVU366
1376 002a 2366 str r3, [r4, #96]
743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1377 .loc 1 743 5 is_stmt 1 discriminator 2 view .LVU367
743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1378 .loc 1 743 15 is_stmt 0 discriminator 2 view .LVU368
1379 002c 2000 movs r0, r4
1380 002e FFF7FEFF bl UART_Start_Receive_DMA
1381 .LVL101:
746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1382 .loc 1 746 5 is_stmt 1 discriminator 2 view .LVU369
746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1383 .loc 1 746 8 is_stmt 0 discriminator 2 view .LVU370
1384 0032 0028 cmp r0, #0
1385 0034 1BD1 bne .L79
748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1386 .loc 1 748 7 is_stmt 1 view .LVU371
748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1387 .loc 1 748 16 is_stmt 0 view .LVU372
1388 0036 236E ldr r3, [r4, #96]
748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1389 .loc 1 748 10 view .LVU373
1390 0038 012B cmp r3, #1
1391 003a 08D0 beq .L89
759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1392 .loc 1 759 16 view .LVU374
1393 003c 0120 movs r0, #1
1394 .LVL102:
763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1395 .loc 1 763 5 is_stmt 1 view .LVU375
763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1396 .loc 1 763 12 is_stmt 0 view .LVU376
1397 003e 16E0 b .L79
1398 .LVL103:
1399 .L88:
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1400 .loc 1 730 56 discriminator 1 view .LVU377
1401 0040 2369 ldr r3, [r4, #16]
1402 0042 002B cmp r3, #0
1403 0044 EAD1 bne .L80
732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1404 .loc 1 732 7 is_stmt 1 view .LVU378
732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** {
1405 .loc 1 732 10 is_stmt 0 view .LVU379
1406 0046 CB07 lsls r3, r1, #31
1407 0048 E8D5 bpl .L80
734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1408 .loc 1 734 17 view .LVU380
1409 004a 0120 movs r0, #1
1410 004c 0FE0 b .L79
1411 .LVL104:
1412 .L89:
750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** ATOMIC_SET_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
ARM GAS /tmp/ccUspFyj.s page 53
1413 .loc 1 750 9 is_stmt 1 view .LVU381
1414 004e 2368 ldr r3, [r4]
1415 0050 1021 movs r1, #16
1416 0052 1962 str r1, [r3, #32]
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1417 .loc 1 751 9 view .LVU382
1418 .LBB51:
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1419 .loc 1 751 9 view .LVU383
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1420 .loc 1 751 9 view .LVU384
1421 .LBB52:
1422 .LBI52:
382:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1423 .loc 2 382 31 view .LVU385
1424 .LBB53:
384:Drivers/CMSIS/Include/cmsis_gcc.h ****
1425 .loc 2 384 3 view .LVU386
386:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
1426 .loc 2 386 3 view .LVU387
1427 .syntax divided
1428 @ 386 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1429 0054 EFF31085 MRS r5, primask
1430 @ 0 "" 2
1431 .LVL105:
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1432 .loc 2 387 3 view .LVU388
387:Drivers/CMSIS/Include/cmsis_gcc.h **** }
1433 .loc 2 387 3 is_stmt 0 view .LVU389
1434 .thumb
1435 .syntax unified
1436 .LBE53:
1437 .LBE52:
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1438 .loc 1 751 9 is_stmt 1 view .LVU390
1439 .LBB54:
1440 .LBI54:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1441 .loc 2 412 27 view .LVU391
1442 .LBB55:
1443 .loc 2 414 3 view .LVU392
1444 0058 0123 movs r3, #1
1445 .syntax divided
1446 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1447 005a 83F31088 MSR primask, r3
1448 @ 0 "" 2
1449 .LVL106:
1450 .loc 2 414 3 is_stmt 0 view .LVU393
1451 .thumb
1452 .syntax unified
1453 .LBE55:
1454 .LBE54:
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1455 .loc 1 751 9 is_stmt 1 view .LVU394
1456 005e 2268 ldr r2, [r4]
1457 0060 1368 ldr r3, [r2]
1458 0062 0B43 orrs r3, r1
ARM GAS /tmp/ccUspFyj.s page 54
1459 0064 1360 str r3, [r2]
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1460 .loc 1 751 9 view .LVU395
1461 .LVL107:
1462 .LBB56:
1463 .LBI56:
412:Drivers/CMSIS/Include/cmsis_gcc.h **** {
1464 .loc 2 412 27 view .LVU396
1465 .LBB57:
1466 .loc 2 414 3 view .LVU397
1467 .syntax divided
1468 @ 414 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1469 0066 85F31088 MSR primask, r5
1470 @ 0 "" 2
1471 .thumb
1472 .syntax unified
1473 006a 00E0 b .L79
1474 .LVL108:
1475 .L82:
1476 .loc 2 414 3 is_stmt 0 view .LVU398
1477 .LBE57:
1478 .LBE56:
1479 .LBE51:
767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1480 .loc 1 767 12 view .LVU399
1481 006c 0220 movs r0, #2
1482 .LVL109:
1483 .L79:
769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1484 .loc 1 769 1 view .LVU400
1485 @ sp needed
1486 .LVL110:
769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1487 .loc 1 769 1 view .LVU401
1488 006e 70BD pop {r4, r5, r6, pc}
1489 .LVL111:
1490 .L83:
724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1491 .loc 1 724 14 view .LVU402
1492 0070 0120 movs r0, #1
1493 .LVL112:
724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1494 .loc 1 724 14 view .LVU403
1495 0072 FCE7 b .L79
1496 .LVL113:
1497 .L84:
724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1498 .loc 1 724 14 view .LVU404
1499 0074 0120 movs r0, #1
1500 .LVL114:
724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** }
1501 .loc 1 724 14 view .LVU405
1502 0076 FAE7 b .L79
1503 .L86:
738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c ****
1504 .loc 1 738 5 view .LVU406
1505 0078 0220 movs r0, #2
ARM GAS /tmp/ccUspFyj.s page 55
1506 007a F8E7 b .L79
1507 .cfi_endproc
1508 .LFE48:
1510 .text
1511 .Letext0:
1512 .file 3 "/usr/lib/gcc/arm-none-eabi/8.3.1/include/stdint.h"
1513 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
1514 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h"
1515 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
1516 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
1517 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
1518 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h"
1519 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h"
1520 .file 11 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
ARM GAS /tmp/ccUspFyj.s page 56
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f0xx_hal_uart_ex.c
/tmp/ccUspFyj.s:16 .text.UARTEx_Wakeup_AddressConfig:0000000000000000 $t
/tmp/ccUspFyj.s:23 .text.UARTEx_Wakeup_AddressConfig:0000000000000000 UARTEx_Wakeup_AddressConfig
/tmp/ccUspFyj.s:66 .text.HAL_RS485Ex_Init:0000000000000000 $t
/tmp/ccUspFyj.s:73 .text.HAL_RS485Ex_Init:0000000000000000 HAL_RS485Ex_Init
/tmp/ccUspFyj.s:219 .text.HAL_RS485Ex_Init:0000000000000088 $d
/tmp/ccUspFyj.s:225 .text.HAL_UARTEx_WakeupCallback:0000000000000000 $t
/tmp/ccUspFyj.s:232 .text.HAL_UARTEx_WakeupCallback:0000000000000000 HAL_UARTEx_WakeupCallback
/tmp/ccUspFyj.s:248 .text.HAL_MultiProcessorEx_AddressLength_Set:0000000000000000 $t
/tmp/ccUspFyj.s:255 .text.HAL_MultiProcessorEx_AddressLength_Set:0000000000000000 HAL_MultiProcessorEx_AddressLength_Set
/tmp/ccUspFyj.s:316 .text.HAL_UARTEx_StopModeWakeUpSourceConfig:0000000000000000 $t
/tmp/ccUspFyj.s:323 .text.HAL_UARTEx_StopModeWakeUpSourceConfig:0000000000000000 HAL_UARTEx_StopModeWakeUpSourceConfig
/tmp/ccUspFyj.s:450 .text.HAL_UARTEx_StopModeWakeUpSourceConfig:000000000000007c $d
/tmp/ccUspFyj.s:456 .text.HAL_UARTEx_EnableStopMode:0000000000000000 $t
/tmp/ccUspFyj.s:463 .text.HAL_UARTEx_EnableStopMode:0000000000000000 HAL_UARTEx_EnableStopMode
/tmp/ccUspFyj.s:572 .text.HAL_UARTEx_DisableStopMode:0000000000000000 $t
/tmp/ccUspFyj.s:579 .text.HAL_UARTEx_DisableStopMode:0000000000000000 HAL_UARTEx_DisableStopMode
/tmp/ccUspFyj.s:687 .text.HAL_UARTEx_ReceiveToIdle:0000000000000000 $t
/tmp/ccUspFyj.s:694 .text.HAL_UARTEx_ReceiveToIdle:0000000000000000 HAL_UARTEx_ReceiveToIdle
/tmp/ccUspFyj.s:1118 .text.HAL_UARTEx_ReceiveToIdle:00000000000001a4 $d
/tmp/ccUspFyj.s:1123 .text.HAL_UARTEx_ReceiveToIdle_IT:0000000000000000 $t
/tmp/ccUspFyj.s:1130 .text.HAL_UARTEx_ReceiveToIdle_IT:0000000000000000 HAL_UARTEx_ReceiveToIdle_IT
/tmp/ccUspFyj.s:1317 .text.HAL_UARTEx_ReceiveToIdle_DMA:0000000000000000 $t
/tmp/ccUspFyj.s:1324 .text.HAL_UARTEx_ReceiveToIdle_DMA:0000000000000000 HAL_UARTEx_ReceiveToIdle_DMA
UNDEFINED SYMBOLS
UART_SetConfig
UART_CheckIdleState
HAL_UART_MspInit
UART_AdvFeatureConfig
HAL_GetTick
UART_WaitOnFlagUntilTimeout
UART_Start_Receive_IT
UART_Start_Receive_DMA