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 **** *

© Copyright (c) 2016 STMicroelectronics. 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c **** * All rights reserved.

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